Length matching برای پروتکل های مختلف (usb و spi و pci و ...)

میخواستم ببینم هنگام طراحی pcb برای برد هایی که دارای سیگنال کلاک و دیتا هستند در چه صورتی نیاز به length matching یا تطبیق طول داریم و آیا نوع پروتکل هم مهم هست ؟!
یعنی مثلا برای اتصال SD card آیا نیاز هست که lengh matching انجام بدیم ؟

1 پسندیده

سرعت سیگنال در PCB تقریبا نصف سرعت نور است ، یعنی 15 سانتی متر در نانو ثانیه .
حداکثر اختلاف طول بین دو سیگنال ، یا به طور دقیق تر ، اختلاف بین سیگنال کلاک و سیگنال های دیتا بستگی به فرکانس کلاک دارد.

در فرکانس 50 مگاهرتر ، هر چرخه کلاک 20 نانو ثانیه است. که به ما اجازه 300 سانتی متر اختلاف طول رو میده (15*20=300) . در 50 مگاهرتز setup time برابر 6ns و hold time هم 2ns است(بر اساس داکیومنت های sd card).

اگر بخواهیم که سیگنال دیتا کاملا همزمان با کلاک تغییر کند با احتساب 2ns زمان hold میتونیم 30 سانتی متر اختلاف طول ترک ها رو داشته باشیم.
در صورت تغییر دیتا در بقیه فضای لبه بالای کلاک که 8ns است (10ns-2ns) است تا 120سانتی متر میتونیم اختلاف طول ترک داشته باشیم.
پس مهم ترین نکته بررسی فرکانس دیتای شما هست (نه نوع پروتکل) ، در همه پروتکل ها هم دیتا با سرعت های مختلفی میتونند انتقال پیدا کنند.

8 پسندیده

سلام برادر

------ بخش اول: یک مثال ساده
ببین با یه مثال ساده شروع میکنیم:
دو تا پراید داریم :joy: که قراره یه تنه درخت رو با همکاری هم توی یه خیابون از نقطه شروع تا نقطه پایان با هم جابجا کنن.

نکته خیلی مهم اول: این دوتا ماشین موازی هم قرار دارن

نکته خیلی مهم دوم: ابتدای تنه درخت روی سقف ماشین سمت راست و انتهای تنه درخت روی سقف ماشین سمت چپ قرار داره.(ابتدا و انتهای درخت مهم نیست، نکته در روی سقف بودن هستش)

------ بخش دوم: لازمه تحقق هدف مثال
حالا برای اینکه این دوتا ماشین بتونن این تنه درخت رو بدون اینکه از سقف کنده بشه به مقصد برسونن باید نکاتی رو رعایت کنن:

  • سرعت هر دو ماشین باید برابر باشه
  • هر دو ماشین باید با هم شروع به حرکت کنن
  • مسیر حرکت برای هر دو ماشین باید یه مسافت برابر باشه
  • توی مسیر نباید مانعی با تنه درخت یا ماشین ها برخورد کنه
  • هر دو ماشین باید در انتهای مسیر با شیوه مناسب توقف کنن(ناگهانی ترمز نکنن)

اگر تمامی این مسایل رعایت بشه این دوتا ماشین میتونن تنه درخت رو بدون اینکه سقوط کنه به مقصد برسونن

------ بخش سوم: تطبیق مثال با سوال
بر میگردیم به طراحی مدار:

  • مسیر حرکت ماشین ها: ترک های مدار هستن
  • این دوتا ماشین: ولتاژ، جریان و فرکانس سیگنالمون هستن
  • تنه درخت: دیتای ارسالی هستش
  • موانع توی مسیر: نویز ها هستن

خوب حالا میرسیم به نکات کلیدی:
اگر یکی از این ماشین ها شروع به حرکت کنه و یکی دیگه نکنه چی میشه؟ بعد از گذشت مثلا 5 متر باعث میشه تنه درخت بیفته
اگر هر دو ماشین با اختلاف تنها چند ثانیه از هم شروع به حرکت کنن و با سرعت ثابت تا انتهای مسیر برن و مسافت برای هردو هم یکی باشه شاید ماشینی که زودتر حرکت کرده باشه حدود 1 متر جلو تر باشه اما تنه درخت سقوط نمیکنه و بدرستی به مقصد میرسه

این کاریه که باید طراح انجام بده.

تقریبا تمامی نکات این مثال توسط سازنده قطعات انجام میشه و تنها طراح باید مسافت شروع تا پایان مسیر سیگنال رو جوری رسم کنه که دیتا ها اگر هم با اختلاف به مقصد میرسن این اختلاف قابل قبول باشه.
برای اینکه بفهمیم این اختلاف تا چه اندازه میتونه باشه باید به دیتاشیت قطعات و بخش زمان های خواندن و نوشتن رجوع کنی

مثلا گفته که SD card پایه خواندن دیتا هاش طی زمانی 4 میکرو ثانیه باید به مدت 100 نانو ثانیه صفر یا یک ثابت بمونه تا بدرستی عمل خوندن دیتا صورت بگیره. یعنی کل بازه خواندن 4 میکروثانیه هست که از این 4 میکرو ثانیه باید 100 نانو ثانیه اش دیتا ثابت بمونه. پس اگر این دوتا رو از هم کم کنی میرسی به زمان 3.9 میکرو ثانیه یا 3900 نانو ثانیه برای یک بار عملیات خواندن دیتا(مدت زمانی که شما باید دیتای جدید رو به sd card رسونده باشی)

حالا شما فرکانس کاری اون واحد از میکرویی که داره دیتا میفرسته رو بررسی میکنی و میبینی که زیر 3 میکرو ثانیه تغییرات رو اعمال میکنه و اگر شما 3 میکرو ثانیه سرعت میکرو رو از مدت زمان مورد نیاز برای یک عملیات خواندن که 3.9 میکرو ثانیه بود کم کنی به زمان 900 نانو ثانیه میرسی
پس شما باید طی 900 نانو ثانیه باقی مونده دیتا رو از پین میکرو به پین sd card برسونی
در واقع این بازه زمانی توی مثال ماشین ها میشه همون اختلاف فاصله ماشین ها از هم که اگر مثلا 10 متر میشد باعث میشد تنه درخت بیفته و اگر زیر 10 متر بود مشکلی نداشت و سالم به مقصد میرسید.


موانع مسیر هم که نویز ها هستن: مثلا ترکی که کشیده شده موقع اسید کاری بدرستی صاف و یکدست ساخته نشده (اینکه میتونه این مورد یک مانع باشه یا نه به سرعت سیگنال بر میگرده و معمولا برای فرکانس های تا زیر چند گیگا هرتز هم مشکلی نداره و مانعی نیست)

  • موقع لحیم کاری یکی از ترک های دیتا به قلع زیادی توی مسیر آغشته شده و ضخامت ترک رو زیاد کرده و درواقع طول مسیر متفاوت از بقیه مسیر های دیتا شده که این مورد ها هم باز برای فرکان های تا چند گیگا هرتز مشکلی ایجاد نمیکنه


— بخش آخر: جواب های ساده

سوال شما: میخواستم ببینم هنگام طراحی pcb برای برد هایی که دارای سیگنال کلاک و دیتا هستند در چه صورتی نیاز به length matching یا تطبیق طول داریم؟
جواب: در صورتی که اختلاف مسیر ترک های دیتا اینقدر زیاد باشه که خواسته های زمانی ارسال و دریافت دیتا که در دیتاشیت قطعه اومده رو براورده نکنه.

سوال شما: آیا نوع پروتکل هم مهم هست ؟!
جواب: بله و خیر و بله!
بله چون در بعضی ازپروتکل ها بعد از دریافت دیتا صحت و درستی دیتا دریافت شده با فرستنده مورد بررسی قرار میگیره و اگر مورد تایید نبود دوباره ارسال میشه
خیر چون اگر طراحی مسیر سیگنال ها خیلی خیلی خیلی بد طراحی شده باشه هر چقدر هم درخواست دوباره ارسال دیتا فرستاده بشه باز هم فایده ای نداره
بله چون در بعضی از پروتکل ها زمان بندی ها در نظر گرفته نمیشن و بجاش بعد از هر بار ارسال کامل دیتا یک سیگنال اعلام پایان ارسال به گیرنده فرستاده میشه و بعد از دریافت این سیگنال در بخش گیرنده عملیات خواندن صورت میگیره و در بعضی از مواقع بهشون سیگنال سنکرون یا همام سازی هم میشه گفت و در بعضی از مواقع نمیشه اینجوری بهشون گفت.

سوال شما: یعنی مثلا برای اتصال SD card آیا نیاز هست که lengh matching انجام بدیم ؟
تقریبا با توجه به فرکانس کاری میکرو ها که امروزه خیلی زیاد شده اینجور مشکلات دارن رفع میشن و حتی بدون تطابق طول مسیر یا همون length matching هم مشکلی بوجود نمیاد.(اگر به مثال 4 میکرو ثانیه برای انجام کل عملیات خوانده نگاه کنی میبینی که اگر طرعت میکرو خیلی زیاد بشه زمان باقیمانده برای ارسال دیتا از پایه های میکرو به قطعه گیرنده هم خیلی زیاد میشه که میبینیم با افزایش طول مسیر حتی چندین سانت و اختلاف طول مسیر ها هم باز مشکلی بوجود نمیاد) اما نباید از مشکلا نویز چشم پوشی کرد چون هرچی طول یک ترک بیشتر بشه وضعیت دریافت نویزش هم به مراتب بیشتر میشه


این نکته رو هم داشته باش که length matching تنها یک بخش از چنیدن قابلیت هایی هست که در دست طراح برای اطمینان از درست رسیدن دیتا ها بین فرستنده و گیرنده هست و قابلیت های دیگه رو هم نباید ازشون غافل شد

6 پسندیده

خیلی زیبا و کامل توضیح دادید :heart_eyes:

1 پسندیده