مشخصات فرستنده و گیرنده BMC و آزمون داخلی BIST در USB Power Delivery
در مقاله ششم، حدود عددی مشترک BMC، الزامات الکتریکی Transmitter / Receiver، تعریف دقیق Idle، زمانبندی Inter-Frame Gap، سیگنال Fast Role Swap و دو حالت آزمون داخلی BIST را بررسی میکنیم.
دامنه این مقاله
محتوای این مقاله فقط بر بخشهای 5.8.4 تا 5.9.2 و صفحات ۱۰۵ تا ۱۱۳ سند USB Power Delivery Specification, Revision 3.2, Version 1.1, 2024-10 استوار است. ساختار Message، Header، Extended Message و Chunking که با Chapter 6 آغاز میشوند، عمداً به مقاله ۷ واگذار شدهاند. جزئیات Data Object مربوط به BIST نیز در مقاله ۱۰ بررسی خواهد شد.
از یک شکل موج قابل Decode تا یک PHY واقعاً منطبق با استاندارد
ماسک صحیح فقط یکی از شروط انطباق است؛ نرخ بیت، ظرفیت، امپدانس، نویزپذیری و زمانبندی نیز باید همزمان کنترل شوند.
در مقاله قبل دیدیم BMC چگونه صفر و یک را با Transitionهای ابتدای UI و نیمه UI روی لاین CC نمایش میدهد و چرا شکل موج باید از ماسکهای Tx و Rx عبور کند. اما ماسک بهتنهایی پاسخ نمیدهد که Clock تا چه اندازه میتواند تغییر کند، فرستنده چه مدت اجازه دارد کانال را Drive کند، گیرنده چه مقدار نویز را باید تحمل کند یا PHY دقیقاً چه زمانی لاین را Idle اعلام میکند. این موارد در مشخصات عددی فرستنده و گیرنده تعریف میشوند.
این اعداد صرفاً برای آزمایشگاه Compliance نیستند. یک نرخ بیت خارج از محدوده میتواند Clock Recovery را مختل کند؛ ظرفیت بیش از حد ورودی میتواند Edgeها را کند سازد؛ خروجی با امپدانس نامناسب میتواند نویز واردشده از کابل را افزایش دهد؛ و تعریف اشتباه Idle ممکن است دو انتقال مستقل را روی یک لاین مشترک روبهروی هم قرار دهد. بنابراین هر پارامتر به یک رفتار قابل مشاهده در ارتباط واقعی متصل است.
بخش پایانی فصل نیز BIST را معرفی میکند. BIST در اینجا یک ابزار تشخیصی نرمافزاری عمومی نیست، بلکه مجموعهای از الگوهای مشخص در PHY است که برای سنجش فرستنده یا گیرنده بهکار میرود. Carrier Mode یک رشته پیوسته و بدون Packet میسازد و Test Data Mode یک Frame کنترلشده را به Unit Under Test میفرستد. تفاوت این دو، تعیین میکند Setup آزمون در حال اندازهگیری کدام سمت لینک است.
پارامترهای مشترک BMC؛ نرخ بیت و Unit Interval
استاندارد ابتدا دو الزام مشترک برای فرستنده و گیرنده تعریف میکند. نرخ اسمی BMC برابر 300Kbps است، اما محدوده مجاز از 270 تا 330Kbps امتداد دارد. در نتیجه مدت یک Unit Interval که معکوس نرخ بیت است، بین 3.03 و 3.70µs قرار میگیرد. این بازه باید هم توسط فرستنده تولید و هم توسط گیرنده پذیرفته شود.
Unit Interval در این جدول مدت انتقال یک بیت داده پیش از کدگذاری را نشان میدهد، نه کوتاهترین زمان High یا Low روی سیم. بیت 1 در BMC علاوه بر Transition ابتدای Cell، یک Transition دیگر در مرکز آن دارد؛ بنابراین هر نیمه سطح میتواند تقریباً 0.5UI طول داشته باشد، درحالیکه خود Data Bit همچنان دقیقاً یک UI است. اشتباهگرفتن این دو مفهوم باعث میشود نرخ سیگنال از روی فاصله کوتاهترین Edgeها دو برابر محاسبه شود.
| پارامتر | تعریف | حداقل | اسمی | حداکثر | واحد |
|---|---|---|---|---|---|
| fBitRate | نرخ بیت | 270 | 300 | 330 | Kbps |
| tUnitInterval | مدت یک بیت کدگذارینشده؛ برابر معکوس fBitRate | 3.03 | — | 3.70 | µs |
Table 5.17 — BMC Common Normative Requirements
الزامات فرستنده BMC؛ دامنه، لبه، زمان و امپدانس
جدول فرستنده چند گروه الزام را کنار هم قرار میدهد. گروه نخست زمانبندی Frame است: فرستنده باید آغاز Drive را در محدوده tStartDrive نسبت به نخستین بیت Preamble قرار دهد، پس از آخرین Transition سطح Low را حداقل tHoldLowBMC حفظ کند، حداکثر تا tEndDriveBMC خروجی را رها کند و پیش از Frame بعدی حداقل tInterFrameGap منتظر بماند. این پارامترها مرز مالکیت کانال را به رفتار فیزیکی قابل اندازهگیری تبدیل میکنند.
گروه دوم کیفیت شکل موج است. دامنه vSwing باید هم در حالت بیبار و هم زیر مدل بار مقاله قبل در محدوده 1.05 تا 1.2V باقی بماند و مقدار اسمی آن 1.125V است. حداقل Rise و Fall برابر 300ns تعریف شده؛ یعنی Edge نباید بیش از حد تند باشد. حد بالای سرعت لبه را نیز ماسک داخلی BMC کنترل میکند. خروجی سریعتر الزاماً بهتر نیست، زیرا Edge بسیار تند میتواند کوپلینگ ناخواسته در کابل را بیشتر کند.
گروه سوم رفتار خاص Fast Role Swap است. Initial Source برای درخواست FRS لاین CC را با مقاومت کمتر از 5Ω برای 60 تا 120µs به زمین میکشد. از آنجا که این سیگنال ممکن است وسط یک Transmission ظاهر شود، فرستنده باید اتصال کوتاه خروجی به Ground را تا حداکثر مدت tFRSwapTx تحمل کند. مقاومت کابل در بدترین حالت 15Ω فرض میشود؛ بنابراین مجموع مقاومت Driver و کابل حداکثر 20Ω خواهد بود.
| پارامتر | تعریف | حداقل | اسمی | حداکثر | واحد |
|---|---|---|---|---|---|
| pBitRate | بیشترین اختلاف نرخ بیت پس از Preamble با نرخ مرجع | — | — | 0.25 | % |
| rFRSwapTx | مقاومت Driver هنگام ارسال درخواست FRS، بدون مقاومت کابل | — | — | 5 | Ω |
| tEndDriveBMC | حداکثر زمان ادامه Drive پس از آخرین بیت Frame | — | — | 23 | µs |
| tFall | زمان افت میان نقاط 10% و 90% دامنه | 300 | — | — | ns |
| tHoldLowBMC | حداقل زمان حفظ Low پس از آخرین Transition نزولی | 1 | — | — | µs |
| tInterFrameGap | فاصله آخرین بیت یک Frame تا نخستین بیت Preamble بعدی | 25 | — | — | µs |
| tFRSwapTx | مدت Drive کردن CC به Low برای درخواست FRS | 60 | — | 120 | µs |
| tRise | زمان خیز میان نقاط 10% و 90% دامنه | 300 | — | — | ns |
| tStartDrive | زمان آغاز Drive نسبت به نخستین بیت Preamble | -1 | — | 1 | µs |
| vSwing | دامنه ولتاژ BMC در بیباری و زیر بار استاندارد | 1.05 | 1.125 | 1.2 | V |
| zDriver | امپدانس خروجی Source هنگام Drive لاین CC در 750kHz | 33 | — | 75 | Ω |
Table 5.18 — BMC Transmitter Normative Requirements
ظرفیت در حالت عدم ارسال و امپدانس خروجی Source
وقتی DFP یا UFP در حال ارسال نیست، ظرفیتی که Receiver آن روی لاین CC ایجاد میکند باید در محدوده cReceiver باقی بماند. Transmitter هنگام Drive میتواند ظرفیت بیشتری به مدار وارد کند، مشروط بر اینکه شکل موج هنوز ماسک BMC را رعایت کند. با پایان Transmission، هر ظرفیت اضافه باید حداکثر تا tInterFrameGap از لاین جدا شود؛ در غیر این صورت Frame بعدی با بار باقیمانده آغاز خواهد شد.
امپدانس zDriver فقط یک مقاومت DC نیست. این پارامتر از مقاومت خروجی rOutput و ظرفیت موازی cShunt ساخته میشود و به فرکانس وابسته است. استاندارد آن را در فرکانس Nyquist مربوط به USB 2.0 Low Speed یعنی 750kHz محدود میکند تا میزان نفوذ نویز کابل در ورودی Receiver قابل کنترل باقی بماند. مقدار zDriver باید میان 33 و 75Ω باشد.
ظرفیت cShunt در حال ارسال میتواند به شکلدهی Edge کمک کند، اما در وضعیت عدم ارسال نباید باعث نقض cReceiver شود. بنابراین یک طراحی که فقط در Capture فعال شکل موج زیبایی دارد ولی پس از آزادکردن کانال ظرفیت زیادی روی CC باقی میگذارد، از دید PHY منطبق نیست. این موضوع در مدارهایی که Driver با مسیر RC خارجی پیادهسازی شده اهمیت بیشتری دارد.
با افزایش فرکانس، اثر cShunt پررنگتر میشود و امپدانس مؤثر خروجی تغییر میکند.
مدل معادل خروجی فرستنده؛ ترکیب rOutput و cShunt، امپدانس مؤثر zDriver را در فرکانس اندازهگیری تعیین میکند.
Bit Rate Drift؛ چرا میانگین ۳۲ بیت آخر Preamble مرجع است؟
گیرندههای ساده برای بازیابی زمانبندی به Preamble تکیه میکنند. به همین دلیل نرخ مرجع refBitRate از میانگین نرخ ۳۲ بیت آخر Preamble ساخته میشود. در هر نقطه از بخش بعد از Preamble، fBitRate از معکوس میانگین مدت ۳۲ بیت قبلی بهدست میآید و اختلاف آن با نرخ مرجع باید کمتر از pBitRate باشد. حداکثر pBitRate فقط 0.25% است.
این محدودیت تمام Packet تا EOP را در بر میگیرد و برای همه Packet Typeها یکسان است. ممکن است Oscillator از نظر مقدار مطلق در محدوده 270 تا 330Kbps باشد، اما درون یک Packet اجازه ندارد ناگهان سرعت خود را تغییر دهد. پس دو آزمون جدا وجود دارد: یکی محدوده مطلق نرخ بیت و دیگری Drift کوتاهمدت نسبت به Preamble همان انتقال.
در BIST Carrier Mode و Bit Stream سیگنال پیوسته است و Payload معمولی وجود ندارد. برای ارزیابی pBitRate در این حالت، هر مجموعه ۱۰۴۴بیتی شامل ۲۰ بیت SOP و ۱۰۲۴ بیت PRBS میتواند بخش پس از Preamble در نظر گرفته شود و ۳۲ بیت پیش از آن نقش آخرین ۳۲ بیت Preamble را برای محاسبه refBitRate داشته باشند. این تعریف امکان سنجش Drift روی یک سیگنال بیانتها را فراهم میکند.
حداکثر اختلاف مجاز در تمام بخش پس از Preamble، از جمله EOP، برابر 0.25% است.
Inter-Frame Gap؛ فاصلهای که بعد از ارسال، دریافت یا مشاهده Idle لازم است
tInterFrameGap از انتهای آخرین بیت یک Frame تا ابتدای نخستین بیت Preamble بعدی اندازهگیری میشود و حداقل 25µs است. بخشی از این فاصله ممکن است هنوز تحت Drive فرستنده قبلی باشد، زیرا خروجی میتواند تا tEndDriveBMC ادامه یابد. در سوی دیگر، فرستنده بعدی میتواند آغاز Drive را در محدوده tStartDrive نسبت به Preamble جابهجا کند؛ اما مجموع رفتار نباید حداقل فاصله Frameها را نقض کند.
این انتظار فقط وقتی Port خودش Frame قبلی را ارسال کرده نیست. اگر Port Frame قبلی را دریافت کرده و میخواهد GoodCRC یا پاسخ بعدی را بفرستد، باز هم باید tInterFrameGap را رعایت کند. همین قاعده برای Portی که منتظر آغاز AMS بوده و تازه وضعیت Idle را مشاهده کرده نیز اعمال میشود: ابتدا Idle تشخیص داده میشود، سپس فاصله لازم سپری میگردد و درست پیش از Transmission وضعیت Idle دوباره کنترل میشود.
این ترتیب دو نوع خطا را جدا میکند. نبود Transition برای مدتی مشخص، تشخیص Idle را میسازد؛ اما Idle بهتنهایی مجوز آغاز فوری نیست. tInterFrameGap زمان محافظی است که پس از آن قرار دارد. اگر Firmware فقط یکی از این دو شرط را بررسی کند، ممکن است در Capture فاصله Frameها کوتاه باشد یا Port روی آخرین بخش آزادسازی Driver طرف مقابل شروع به ارسال کند.
فاصله زمانی میان پایان Frame قبلی و آغاز Preamble بعدی با درنظرگرفتن آزادسازی Driver قبلی و شروع Drive فرستنده جدید.
Fast Role Swap از دید فرستنده؛ یک Low قدرتمند که میتواند Transmission را قطع کند
سناریوی FRS برای هابی در نظر گرفته شده که با منبع خارجی، هم دستگاههای Downstream و هم Host بالادست را تغذیه میکند. با حذف آداپتور خارجی، Hub که Initial Source است افت VBUS را پیشبینی میکند و روی CC درخواست Fast Role Swap میفرستد تا Host پس از تشخیص درخواست و افت VBUS، تأمین vSafe5V را بر عهده بگیرد. سپس AMS مربوط به FRS نقشهای Source و Sink و مقاومتهای Rp/Rd را همگام میکند.
درخواست فیزیکی FRS یک Packet کدگذاریشده نیست. Initial Source با مقاومت کمتر از rFRSwapTx، لاین CC را برای مدت tFRSwapTx به Ground میکشد. ارسال این درخواست فقط در وجود Explicit Contract مجاز است، اما لازم نیست Initial Sink قبلاً Sink Capabilities آن را پرسیده باشد. همزمان هر Message در انتظار حذف میشود و سیگنال FRS حتی میتواند Transmission فعال را Override کند.
پس از پایان سیگنال، Initial Sink باید FR_Swap Message را بفرستد. به همین دلیل Initial Source موظف است Rp را روی SinkTxOK قرار دهد تا Sink جدید اجازه آغاز AMS را داشته باشد. این اتصال مستقیم میان سیگنال فیزیکی Low و Arbitration مقاله قبل نشان میدهد که FRS تنها یک رویداد ولتاژی نیست؛ PHY و Policy باید بلافاصله نقش مالک کانال را نیز هماهنگ کنند.
CC را با مقاومت کمتر از 5Ω برای 60 تا 120µs به Ground میکشد.
Transmission فعال میتواند قطع و Messageهای معلق Discard شوند.
Rp روی SinkTxOK قرار میگیرد تا Initial Sink پیام FR_Swap را آغاز کند.
الزامات گیرنده BMC؛ ظرفیت، BER، نویز و آستانه FRS
Receiver باید هم سیگنال معتبر را در حضور نویز Decode کند و هم نویز Idle را با فعالیت واقعی اشتباه نگیرد. استاندارد برای نسبت سیگنال به نویز 25dB، نرخ خطای بیت حداکثر 10-6 را تعیین میکند. پیش از تصمیمگیری نیز یک فیلتر محدودکننده پهنای باند با ثابت زمانی حداقل 100ns اعمال میشود تا نویز پهنباند ناشی از کوپلینگ کابل کاهش یابد.
ظرفیت ورودی cReceiver در حالت عدم ارسال باید بین 200 و 600pF و امپدانس ورودی zBmcRx حداقل 1MΩ باشد. محدودکردن ظرفیت از کندشدن Edge جلوگیری میکند و امپدانس بالا مانع بارگذاری مقاومتی شدید لاین CC میشود. این دو پارامتر همراه با ظرفیت Plug و مدل کابل تعیین میکنند چه شکل موجی واقعاً به Comparator یا Front End گیرنده میرسد.
بودجه نویز در حالت فعال و Idle متفاوت است. هنگام BMC فعال، گیرنده باید تا 165mVpp نویز پس از فیلتر را تحمل کند؛ در Idle این مقدار تا 300mVpp افزایش مییابد، اما نباید به تشخیص کاذب Packet منجر شود. Receiver همچنین باید افت زمین کابل تا 250mV را مطابق مشخصات Type-C در نظر بگیرد.
| پارامتر | تعریف | حداقل | اسمی | حداکثر | واحد |
|---|---|---|---|---|---|
| cReceiver | ظرفیت ورودی گیرنده روی لاین CC در حالت عدم ارسال | 200 | — | 600 | pF |
| nBER | نرخ خطای بیت در S/N برابر 25dB | — | — | 10-6 | — |
| nTransitionCount | تعداد Transition لازم برای اعلام non-Idle | 3 | — | — | — |
| tFRSwapRx | زمان تشخیص درخواست Fast Role Swap | 30 | — | 50 | µs |
| tRxFilter | ثابت زمانی فیلتر محدودکننده پهنای باند Rx | 100 | — | — | ns |
| tTransitionWindow | پنجره زمانی تشخیص non-Idle | 12 | — | 20 | µs |
| vFRSwapCableTx | آستانه ولتاژ تشخیص درخواست FRS | 490 | 520 | 550 | mV |
| vIRDropGNDC | افت ولتاژ Ground کابل | — | — | 250 | mV |
| vNoiseActive | نویز پیکتوپیک مجاز هنگام فعال بودن BMC، پس از فیلتر | — | — | 165 | mV |
| vNoiseIdle | نویز پیکتوپیک مجاز هنگام Idle بودن BMC، پس از فیلتر | — | — | 300 | mV |
| zBmcRx | امپدانس ورودی Receiver | 1 | — | — | MΩ |
Table 5.19 — BMC Receiver Normative Requirements
تعریف دقیق Idle؛ تصمیم بر اساس شمارش Transition
Collision Avoidance در گیرنده بر مبنای سطح ثابت High یا Low نیست؛ PHY فعالیت BMC را با شمارش Transitionها تشخیص میدهد. اگر حداقل nTransitionCount یعنی سه Transition در پنجره tTransitionWindow رخ دهد، Detection فعال و کانال non-Idle اعلام میشود. این پنجره باید در محدوده 12 تا 20µs باشد.
برای بازگشت به Idle، گیرنده باید یک پنجره کامل tTransitionWindow را بدون مشاهده سه Transition سپری کند. وجود یک یا دو Edge پراکنده برای مشغول اعلامکردن دائمی کانال کافی نیست؛ این انتخاب به PHY امکان میدهد نویز گذرا را از جریان واقعی BMC جدا کند. از سوی دیگر، یک Preamble معتبر بهسرعت Transitionهای لازم را تولید میکند و کانال پیش از Decode کامل Packet به non-Idle میرود.
اعلام Idle پایان کار نیست. فرستنده پس از تشخیص Idle باید tInterFrameGap را رعایت کند و بلافاصله پیش از شروع Preamble کانال را دوباره بررسی نماید. بنابراین الگوریتم عملی سه مرحله دارد: نبود فعالیت کافی در یک پنجره، انتظار فاصله بین Frameها، و بازبینی نهایی کانال. این همان پل عددی میان Receiver Specification و Collision Avoidance مقاله پنجم است.
سه Transition داخل پنجره
وقوع حداقل سه Edge در tTransitionWindow به معنی مشاهده فعالیت BMC است.
کمتر از سه Transition در یک پنجره کامل
پس از سپریشدن tTransitionWindow بدون رسیدن به شمارش لازم، کانال Idle اعلام میشود.
Multi-Drop؛ وقتی Cable Plug نیز روی همان لاین CC حضور دارد
BMC برای پیکربندی Multi-Drop مناسب است؛ یعنی علاوه بر دو Port انتهایی، یک یا دو Transceiver دیگر در Cable Plugها نیز به همان لاین CC متصل باشند. استاندارد محل این گره را Cable Plug مینامد، اما ترنسیور میتواند در هر نقطهای از طول کابل، از جمله داخل Plug، قرار گیرد. فاصله آن از انتهای Plug محدود نشده است.
Multi-Drop Transceiver باید تمام مشخصات الکتریکی این بخش را رعایت کند، با یک استثنا: ظرفیت آن با cReceiver تعریف نمیشود و حداکثر ظرفیت گره غیرفعال برابر cCablePlug_CC در مشخصات USB Type-C است. این گره نسبت به ترنسیورهای داخل Host یا Device کمتر تحتتأثیر Ground Offset قرار میگیرد و بازتاب قابل توجهی به مسیر اضافه نمیکند.
نمونه نخست دو DRP را نشان میدهد که هرکدام Switch مربوط به VCONN دارند. نمونه دوم یک DFP با Switch را به UFP بدون Switch متصل میکند. نبود قابلیت VCONN Source در Port دوم، آن را از محدودیت cReceiver معاف نمیکند؛ ظرفیت لاین CC آن Port در حالت عدم ارسال همچنان باید داخل محدوده Receiver باشد.
نمونه Multi-Drop شامل دو پورت DRP که هر دو از سوئیچ VCONN و مسیر مشترک سیگنالینگ BMC استفاده میکنند.
نمونه Multi-Drop شامل یک DFP دارای سوئیچ VCONN و یک UFP بدون سوئیچ روی مسیر مشترک سیگنالینگ BMC.
Fast Role Swap از دید گیرنده؛ چه زمانی Low واقعاً درخواست FRS است؟
Initial Sink فقط وقتی برای FRS آماده میشود که سه شرط برقرار باشد: Explicit Contract تشکیل شده باشد؛ Sink Capabilities مربوط به Initial Source به درخواست Sink دریافت شده و حداقل یکی از بیتهای FRS در Fixed Supply PDO پنجولت تنظیم شده باشد؛ و Initial Sink واقعاً قادر و مایل باشد جریان اعلامشده را پس از Swap تأمین کند. صرف پشتیبانی سختافزار از Comparator پایینولتاژ برای فعالکردن FRS کافی نیست.
در حالت Idle و با Rp برابر 1.5A یا 3A، میانگین ولتاژ CC روی tFRSwapRx min بالاتر از 0.7V میماند؛ هرچند vNoiseIdle ممکن است برای لحظه کوتاهی سطح را پایینتر بیاورد. وقتی Initial Source همزمان با Transmission درخواست FRS میفرستد، سیگنال انتقال تضعیف میشود و قله CC نباید از vFRSwapCableTx min عبور کند. Receiver نباید ولتاژ میانگین بالاتر از 0.7V را FRS تشخیص دهد، اما باید ولتاژ کمتر از آستانه حداقل را برای مدت tFRSwapRx بهعنوان درخواست معتبر بپذیرد.
زمان tFRSwapRx از 30 تا 50µs است، درحالیکه پالس فرستنده 60 تا 120µs طول دارد؛ این همپوشانی اجازه میدهد Receiver پیش از پایان بدترین پالس معتبر تصمیم بگیرد. پس از تشخیص، Messageهای معلق Discard میشوند و Initial Sink باید AMS مربوط به FRS را در محدوده tFRSwapInit آغاز کند. سپس New Source باید حداکثر تا tSrcFRSwap پس از افت VBUS زیر vSafe5V، تأمین vSafe5V را با جریان USB Type-C شروع کند.
هنگام فعالبودن FRS Detection، Initial Sink باید مدار تشخیص قطع VBUS خود را غیرفعال کند؛ زیرا افت VBUS جزئی از فرآیند Swap است و نباید Detach اشتباه ایجاد کند. استاندارد همچنین یادآوری میکند که در زمان گذار توان، تداوم VCONN برای Cable Plugها تضمینشده نیست.
Built-In Self-Test؛ دو حالت برای آزمون دو سمت متفاوت PHY
BIST بخشی الزامی از عملکرد لایه فیزیکی است، اما دو حالت معرفیشده هدف یکسانی ندارند. BIST Carrier Mode فرستنده DUT را به تولید جریان پیوستهای از یکها و صفرهای متناوب و کدگذاریشده با BMC وادار میکند. این سیگنال Packet نیست و Preamble، Header، CRC یا EOP ندارد. شکل پایدار آن برای اندازهگیری نویز منبع تغذیه و Drift فرکانس مناسب است.
در مقابل، BIST Test Data Mode توسط Tester برای آزمودن Receiver داخل Unit Under Test یا UUT استفاده میشود. Tester یک Test Frame مشخص میسازد که از Preamble، SOP*، Message Header با تعداد هفت Data Object، یک BIST Test Data BDO، شش Data Object حاوی ۱۹۲ بیت Test Data، CRC و EOP تشکیل شده است. گیرنده باید این ساختار را در شرایط الگوی آزمون دریافت و پردازش کند.
مرز مسئولیت لایهها در Test Frame واضح است. Preamble با 4b5b کدگذاری نمیشود. SOP* توسط PHY فراهم و با 4b5b کدگذاری میگردد. Header، BDO، Test Data و CRC از Protocol Layer میآیند و هنگام عبور از PHY با 4b5b و سپس BMC روی لاین CC قرار میگیرند. EOP نیز پایان فیزیکی Frame را مشخص میکند.
بنابراین Carrier Mode برای مشاهده کیفیت خروجی Transmitter و پایداری زمانبندی مناسب است، اما Test Data Mode مسیر Receiver را با Pattern کنترلشده تحریک میکند. استفاده از Carrier Mode برای نتیجهگیری مستقیم درباره Decode Packet اشتباه است، چون این حالت اصلاً Packet Format ندارد. به همین ترتیب، موفقبودن Test Data Mode بهتنهایی تمام مشخصات دامنه، Edge و امپدانس فرستنده را اثبات نمیکند.
| حالت BIST | سیگنال | هدف اصلی | Packet Format |
|---|---|---|---|
| BIST Carrier Mode | رشته پیوسته یک و صفر متناوب با کدگذاری BMC | سنجش نویز منبع تغذیه و Drift فرکانس فرستنده | ندارد |
| BIST Test Data Mode | Test Frame با هفت Data Object و ۱۹۲ بیت Test Data | آزمون Receiver داخل UUT با الگوی تولیدشده توسط Tester | دارد |
ساختار کامل فریم BIST Test Data؛ از Preamble و SOP* تا Header، BDO، داده آزمایشی ۱۹۲ بیتی، CRC و EOP.
برای تحلیل یک PHY یا Capture از چه ترتیبی استفاده کنیم؟
بررسی را با Timebase آغاز کنید. نرخ بیت متوسط Preamble باید در محدوده 270 تا 330Kbps باشد و UI متناظر 3.03 تا 3.70µs بهدست آید. سپس refBitRate را از ۳۲ بیت آخر Preamble بسازید و Drift بخش باقیمانده Packet را کنترل کنید. اگر نرخ مطلق درست ولی Drift بیش از 0.25% است، مشکل احتمالاً به پایداری Clock یا تغییر بار پردازشی هنگام ارسال مربوط میشود.
بعد شکل موج و خروجی را بسنجید: vSwing زیر بار استاندارد، Rise/Fall، zDriver و آزادشدن ظرفیت اضافه پس از Transmission. Inter-Frame Gap را از آخرین بیت تا نخستین بیت Preamble بعدی اندازه بگیرید، نه صرفاً از لحظه High Impedance شدن Driver. همچنین بررسی کنید Port پیش از Frame جدید Idle را دوباره تأیید کرده باشد.
در سمت Receiver، ابتدا شرایط Fixture و بودجه نویز را مشخص کنید. ظرفیت ورودی، فیلتر 100ns، نویز فعال 165mVpp، نویز Idle تا 300mVpp و Ground Offset کابل همگی بخشی از محیطی هستند که Receiver باید در آن کار کند. تشخیص non-Idle باید بر پایه سه Transition در پنجره 12 تا 20µs باشد؛ یک Edge منفرد یا یک افت کند ولتاژ نباید فعالیت BMC تلقی شود.
برای FRS، مسیر عادی Decode Packet را کنار بگذارید و Low طولانی CC را اندازهگیری کنید. مدت ارسال 60 تا 120µs، زمان تشخیص 30 تا 50µs و آستانه 490 تا 550mV سه محور اصلیاند. در پایان، نوع BIST را متناسب با هدف انتخاب کنید: Carrier Mode برای کیفیت فرستنده و Test Data Mode برای تحریک Receiver.
شش برداشت اشتباه رایج درباره مشخصات BMC و BIST
۱. فاصله دو Edge کوتاه، همان Unit Interval است
خیر؛ در بیت 1 یک Edge میانی وجود دارد. UI مدت کامل Bit Cell پیش از کدگذاری است.
۲. Rate داخل بازه باشد، Clock کاملاً صحیح است
خیر؛ علاوه بر نرخ مطلق، Drift نسبت به ۳۲ بیت آخر Preamble باید کمتر از 0.25% بماند.
۳. Idle یعنی CC در یک سطح ولتاژ ثابت قرار دارد
Idle با کمتر از سه Transition در یک tTransitionWindow کامل تعریف میشود، نه با High یا Low مطلق.
۴. تشخیص Idle اجازه ارسال فوری میدهد
خیر؛ tInterFrameGap باید رعایت و وضعیت Idle بلافاصله پیش از Transmission دوباره بررسی شود.
۵. Fast Role Swap یک Packet خاص BMC است
خیر؛ درخواست فیزیکی FRS با کشیدن CC به Ground ارسال میشود و میتواند Transmission فعال را Override کند.
۶. هر دو حالت BIST یک کار انجام میدهند
Carrier Mode بیشتر برای Tx و Test Data Mode برای آزمون Receiver UUT طراحی شدهاند و ساختار سیگنال متفاوتی دارند.
جمعبندی
نرخ BMC باید بین 270 و 330Kbps و مدت UI بین 3.03 و 3.70µs باشد. UI مدت کامل بیت پیش از کدگذاری است، نه کوتاهترین فاصله دو Edge.
فرستنده باید vSwing برابر 1.05 تا 1.2V، حداقل Rise/Fall برابر 300ns، zDriver برابر 33 تا 75Ω و Drift حداکثر 0.25% نسبت به Preamble را رعایت کند.
tInterFrameGap حداقل 25µs است و پس از ارسال، دریافت یا مشاهده Idle اعمال میشود. کانال باید درست پیش از آغاز Frame بعدی دوباره Idle دیده شود.
گیرنده باید cReceiver بین 200 و 600pF، امپدانس حداقل 1MΩ، BER حداکثر 10-6 در S/N برابر 25dB و بودجه نویز مشخص Active و Idle را پوشش دهد.
سه Transition در پنجره 12 تا 20µs کانال را non-Idle میکند. سپریشدن یک پنجره بدون رسیدن به این شمارش، تعریف Idle است.
در Multi-Drop، ترنسیور Cable Plug بیشتر الزامات الکتریکی BMC را رعایت میکند، اما ظرفیت گره آن با cCablePlug_CC محدود میشود.
درخواست FRS با Drive کردن CC به Ground برای 60 تا 120µs ارسال و در 30 تا 50µs تشخیص داده میشود؛ این سیگنال میتواند انتقال فعال را قطع کند.
BIST Carrier Mode رشته پیوسته بدون Packet برای سنجش Tx میسازد؛ BIST Test Data Mode یک Test Frame ساختاریافته برای آزمودن Receiver UUT ارسال میکند.
مقاله ۷: ساخت Message، هدرها، Extended Message و Chunking
در مقاله بعدی، Sections 6.1 تا 6.2 و صفحات ۱۱۴ تا ۱۲۷ بررسی میشوند: تفاوت Control، Data و Extended Message، ساختار Header و Extended Header، طول Payload و روش Chunking برای انتقال پیامهای بزرگ.