تولزبازار
Collision Avoidance و مبانی سیگنالینگ BMC در USB Power Delivery
1405/05/19 5 دقیقه مطالعه

Collision Avoidance و مبانی سیگنالینگ BMC در USB Power Delivery

مجموعه مرجع تخصصی USB Power Delivery — مقاله ۵ از ۵۲

Collision Avoidance و مبانی سیگنالینگ BMC در USB Power Delivery

در مقاله پنجم، قواعد دسترسی امن به لاین CC، نقش SinkTxOK / SinkTxNG، منطق کدگذاری صفر و یک با Bi-phase Mark Coding، آغاز و پایان Frame، ماسک‌های ارسال و دریافت و مدل بار فرستنده BMC را بررسی می‌کنیم.

دامنه این مقاله

محتوای این مقاله فقط بر بخش‌های 5.7 تا 5.8.3 و صفحات ۹۱ تا ۱۰۴ سند USB Power Delivery Specification, Revision 3.2, Version 1.1, 2024-10 استوار است. مشخصات عددی کامل فرستنده و گیرنده، تعریف دقیق Idle، زمان‌بندی‌های PHY و BIST که از بخش 5.8.4 به بعد می‌آیند، عمداً به مقاله ۶ واگذار شده‌اند.

وقتی هر دو طرف یک لاین CC مشترک دارند، چه کسی اول صحبت می‌کند؟

Collision Avoidance مالکیت کانال را تنظیم می‌کند و BMC بیت‌ها را به Transitionهای قابل‌تشخیص روی همان کانال تبدیل می‌کند.

در مقاله قبل دیدیم PHY چگونه Packet را با Preamble، SOP*، Payload، CRC و EOP می‌سازد. اما ساختن Packet به‌تنهایی برای ارسال کافی نیست. ارتباط USB PD روی لاین CC ماهیت Half Duplex دارد؛ بنابراین اگر Source و Sink هم‌زمان انتقال مستقل خود را آغاز کنند، شکل موج‌ها روی یک رسانه مشترک با یکدیگر تداخل پیدا می‌کنند و Packet قابل بازیابی نخواهد بود. نخستین مسئولیت PHY پیش از فعال‌کردن فرستنده، اطمینان از آزادبودن کانال است.

پس از به‌دست‌آوردن فرصت ارسال، بیت‌های منطقی باید به شکلی تبدیل شوند که گیرنده بتواند بدون Clock جداگانه مرز هر بیت را پیدا کند. USB PD برای این کار از Bi-phase Mark Coding یا BMC استفاده می‌کند. در BMC شروع هر Unit Interval با یک Transition مشخص می‌شود و وجود یا نبود Transition دوم در نیمه همان بازه، مقدار منطقی بیت را تعیین می‌کند. نتیجه، سیگنالی Self-clocking با DC Balance مناسب و Disparity محدود است.

این مقاله دو لایه مکمل را کنار هم قرار می‌دهد: لایه دسترسی به رسانه که تعیین می‌کند چه زمانی انتقال مجاز است، و لایه شکل موج که تعیین می‌کند انتقال مجاز چگونه روی لاین CC ظاهر شود. سپس به ماسک‌های Tx/Rx و مدل بار می‌رسیم؛ دو ابزاری که شکل موج «قابل‌قبول» را نه فقط در خروجی کنترلر، بلکه پس از اثر کابل و ورودی گیرنده تعریف می‌کنند.

Collision Avoidance؛ شرط اولیه هر انتقال روی لاین CC

PHY باید کانال را پایش کند و فقط زمانی انتقال را آغاز نماید که لاین CC در وضعیت Idle باشد. این بررسی باید بلافاصله پیش از شروع واقعی ارسال انجام شود؛ یعنی آزادبودن کانال در چند لحظه قبل، مجوز دائمی ایجاد نمی‌کند. علاوه بر Idle بودن، فاصله لازم میان دو Frame یا Inter-Frame Gap نیز باید رعایت شود. جزئیات عددی Idle و زمان‌بندی این فاصله در بخش‌های بعدی استاندارد قرار دارد و در مقاله ۶ بررسی می‌شود.

اگر PHY نتواند انتقال را آغاز کند، Packet منتظر نمی‌ماند تا در زمان نامشخصی دوباره امتحان شود؛ طبق استاندارد باید Discard شود. اگر علت حذف، Idle نبودن لاین CC باشد، PHY پس از Idle شدن کانال در سریع‌ترین زمان ممکن به Protocol Layer اعلام می‌کند که Message را حذف کرده است. این مرزبندی مهم است: Protocol Layer درباره تکرار یا ادامه تبادل تصمیم می‌گیرد و PHY نباید Packet قدیمی را خودسرانه در صف نگه دارد.

Packet Ready
Check CC Idle
Check Inter-Frame Gap
Transmit
or
Discard + Notify

کنترل شروع AMS با تغییر Rp در Explicit Contract

Idle بودن کانال از برخورد لحظه‌ای جلوگیری می‌کند، اما برای کنترل اینکه Source یا Sink کدام‌یک حق آغاز یک Atomic Message Sequence را دارد، استاندارد در زمان Explicit Contract از مقدار Rp نیز استفاده می‌کند. Source با تغییر اعلان Rp روی لاین CC، وضعیت مجاز یا غیرمجاز بودن آغاز AMS توسط Sink را منتقل می‌کند.

مقدار متناظر با 3A@5V به نام SinkTxOK یعنی Sink اجازه دارد AMS را آغاز کند؛ در همین وضعیت Source حق آغاز AMS مستقل ندارد. مقدار متناظر با 1.5A@5V به نام SinkTxNG برعکس عمل می‌کند: پس از سپری‌شدن tSinkDelay، Sink نباید AMS جدیدی را شروع کند و فقط می‌تواند در چارچوب AMS موجود به Messageها پاسخ دهد. Source نیز پس از تنظیم این مقدار و رعایت tSinkTx می‌تواند AMS خود را آغاز کند.

این کاربرد Rp فقط در Explicit Contract معتبر است. در Implicit Contract پیش از آن، از جمله در جریان Power Role Swap و Fast Role Swap، مقدار Rp همچنان برای اعلام جریان USB Type-C به‌کار می‌رود و نباید آن را نشانه Collision Avoidance تفسیر کرد. بنابراین مشاهده 1.5A یا 3A بدون دانستن وضعیت Contract برای نتیجه‌گیری درباره مالک AMS کافی نیست.

پارامتر Source Rp نام وضعیت عملکرد Sink عملکرد Source
1.5A@5V SinkTxNG پس از tSinkDelay نباید AMS آغاز کند؛ فقط در AMS موجود پاسخ می‌دهد. پس از تنظیم Rp و سپری‌شدن tSinkTx می‌تواند AMS آغاز کند.
3A@5V SinkTxOK می‌تواند AMS آغاز کند. تا وقتی این مقدار تنظیم است، نباید AMS آغاز کند.

Table 5.13 — Rp Values Used for Collision Avoidance

BMC چگونه صفر و یک را روی لاین CC نمایش می‌دهد؟

BMC نسخه‌ای از Manchester Coding است و هر Bit Time در آن یک Unit Interval یا UI نام دارد. در شروع هر UI همیشه یک Transition وجود دارد؛ این Transition ثابت به گیرنده امکان می‌دهد Clock را از خود داده بازیابی کند. تفاوت صفر و یک در نیمه UI دیده می‌شود: برای بیت 1 یک Transition دوم در مرکز UI رخ می‌دهد، اما برای بیت 0 هیچ Transition میانی وجود ندارد.

بنابراین سطح High یا Low به‌تنهایی معنای صفر و یک ندارد. یک بیت 1 می‌تواند با High-to-Low و سپس Low-to-High نمایش داده شود یا برعکس؛ آنچه معنی دارد تعداد و محل Transitionها درون UI است. همین ویژگی باعث می‌شود تحلیل Capture خام بر مبنای سطح ولتاژ ثابت اشتباه باشد. Decoder ابتدا مرز UIها را از Transitionهای آغازین پیدا می‌کند و سپس وجود Edge میانی را می‌سنجد.

BMC عملاً DC Balanced است: هر بیت 1 به‌تنهایی بالانس DC دارد و دو صفر متوالی نیز مستقل از تعداد یک‌های میان آن‌ها بالانس می‌شوند. Disparity در یک Packet دلخواه به یک بیت محدود می‌ماند؛ در نتیجه مؤلفه DC بسیار کمی ایجاد می‌شود. این رفتار برای سیگنال Baseband با اتصال DC روی لاین CC اهمیت دارد.

نمودار نمونه کدگذاری BMC در USB Power Delivery شامل Data In، شکل موج BMC، Preamble و دو K-code از نوع Sync-1
Figure 5.7 — BMC Example
Transition در آغاز هر UI و Transition میانی فقط برای بیت 1؛ نمونه گذار از Preamble به K-codeهای Sync-1 در SOP.
BMC ZERO

یک Transition در آغاز UI

مرز بیت با Transition آغازین مشخص می‌شود، اما در نقطه 0.5UI هیچ Edge دیگری رخ نمی‌دهد.

BMC ONE

دو Transition در یک UI

علاوه بر Edge ابتدای UI، یک Edge دوم دقیقاً در نیمه Unit Interval مقدار منطقی 1 را می‌سازد.

زنجیره Encoding و Decoding در فرستنده و گیرنده BMC

BMC روی لاین CC به‌صورت DC-coupled Baseband Signaling اجرا می‌شود. در مسیر ارسال، Data و CRC پیش از رسیدن به BMC Encoder از 4b5b Encoder عبور می‌کنند. در مسیر دریافت، سیگنال ابتدا BMC Decode می‌شود، سپس SOP تشخیص داده می‌شود و Symbolهای پنج‌بیتی با 5b4b Decoder به داده و CRC بازمی‌گردند. این ترتیب نشان می‌دهد BMC جایگزین 4b5b نیست؛ این دو مرحله روی یکدیگر قرار می‌گیرند.

Transmitter
Data + CRC 4b5b Encoder BMC Encoder CC
Receiver
CC BMC Decoder SOP Detect 5b4b Data + CRC

خروجی با یک Tristate Driver روی لاین CC اعمال می‌شود و دامنه‌ای برابر vSwing ایجاد می‌کند. این Driver باید Slew-rate محدود داشته باشد تا کوپل‌شدن سیگنال PD به D+/D- و دیگر خطوط کابل USB Type-C کاهش یابد. محدودسازی می‌تواند در طراحی خود Driver یا با RC Filter در خروجی آن انجام شود. بنابراین Edge ایده‌آل و کاملاً عمودی هدف استاندارد نیست؛ سرعت لبه بخشی از انطباق الکتریکی است.

همین نکته توضیح می‌دهد چرا مشاهده Transition در اسیلوسکوپ با یک Threshold ساده برای قضاوت نهایی کافی نیست. شکل موج باید هم Transitionهای زمانی BMC را حفظ کند و هم در پنجره‌های ولتاژ-زمانی تعریف‌شده توسط ماسک قرار بگیرد. کابل، Rp/Rd، نویز، Offset زمین و پهنای باند گیرنده همگی روی چیزی که Receiver واقعاً می‌بیند اثر دارند.

شروع Preamble؛ نخستین Drive همیشه Low است

پیش از شروع انتقال، Driver در High Impedance قرار دارد و سطح لاین CC توسط شبکه Rp/Rd تعیین می‌شود. هنگام ارسال Preamble، فرستنده باید کار را با Drive کردن سطح Low آغاز کند. گیرنده نیز باید از دست رفتن نخستین Edge را تحمل کند؛ زیرا زمان دقیق آغاز Drive می‌تواند در محدوده tStartDrive تغییر کند و اولین Transition در شرایط واقعی همیشه به‌شکل ایده‌آل دیده نمی‌شود.

Preamble الگوی متناوب 0 و 1 را فراهم می‌کند تا گیرنده Clock خود را قفل کند. الزام تحمل ازدست‌رفتن Edge نخست به این معنی است که Synchronization نباید به یک Transition منفرد وابسته باشد. Decoder باید از توالی ادامه‌دار Preamble برای تثبیت زمان‌بندی UI استفاده کند و سپس به Ordered Set آغازین برسد.

نمودار آغاز Preamble کدگذاری‌شده با BMC در USB Power Delivery شامل خروج از High Impedance، شروع Drive با سطح Low، بازه tStartDrive و UIهای ابتدایی Preamble
Figure 5.10 — BMC Encoded Start of Preamble
خروج از High Impedance، آغاز Drive با سطح Low و امکان تغییر نقطه شروع در محدوده tStartDrive.

پایان Frame؛ Trailing Edge، Hold Low و بازگشت به High Impedance

فرستنده باید بیت نهایی Frame را با یک Edge پایانی یا Trailing Edge تمام کند تا گیرنده آخرین بیت را Clock کند. رفتار پس از این Edge به سطحی بستگی دارد که فرستنده در آن قرار می‌گیرد. اگر Edge نهایی باعث Drive شدن CC به Low شود، فرستنده باید Low را به‌مدت tHoldLowBMC نگه دارد و سپس هرچه زودتر پس از حداقل این زمان، خروجی را High Impedance کند؛ بااین‌حال آزادسازی نباید از حداکثر tEndDriveBMC دیرتر شود.

اگر Trailing Edge فرستنده را به سطح High ببرد، ابتدا باید High برای یک UI کامل حفظ شود، سپس CC به Low رانده و همان قاعده tHoldLowBMC اجرا شود. بعد از آن Driver به High Impedance بازمی‌گردد. این توالی اجازه نمی‌دهد پایان Frame با یک سطح شناور یا Edge ناقص اشتباه شود و نقطه خروج فرستنده از کانال را برای گیرنده قابل‌پیش‌بینی می‌کند.

پس از پایان Drive، انتقال بعدی تنها بعد از tInterFrameGap مجاز است؛ این الزام چه Port قبلاً فرستنده بوده باشد و چه گیرنده، اعمال می‌شود. در عین حال هیچ الزامی وجود ندارد که Packetهای پشت‌سرهم Phase زمانی مشترکی داشته باشند. گیرنده باید هر Preamble جدید را مستقل ببیند و دوباره روی آن قفل شود.

Last Transition → LOW
  1. نگه‌داشتن Low برای tHoldLowBMC.
  2. آزادسازی در اولین فرصت پس از حداقل زمان.
  3. بازگشت قطعی به High Impedance تا tEndDriveBMC max.
Last Transition → HIGH
  1. نگه‌داشتن High برای یک UI.
  2. Drive کردن Low برای tHoldLowBMC.
  3. بازگشت قطعی به High Impedance تا tEndDriveBMC max.

ماسک فرستنده BMC؛ شکل موج ONE و ZERO باید از کجا عبور کند؟

استاندارد برای خروجی فرستنده دو ماسک جداگانه تعریف می‌کند: یکی برای BMC ONE و دیگری برای BMC ZERO. سیگنال اندازه‌گیری‌شده در خروجی باری معادل مدل کابل و گیرنده نباید نواحی ممنوعه ماسک را نقض کند. این قاعده در کل محدوده مقادیر Rp/Rd معتبر است و شکل موج را هم‌زمان از نظر دامنه، محل Edge، زمان خیز و زمان افت محدود می‌کند.

ONE در نیمه UI یک Transition اضافه دارد، درحالی‌که ZERO بدون Transition میانی ادامه می‌یابد؛ به همین علت شکل ناحیه مجاز این دو ماسک متفاوت است. سیگنال نباید Rise Time سریع‌تر از tRise یا Fall Time سریع‌تر از tFall داشته باشد. حدهای بیشینه زمان خیز و افت نیز توسط Inner Mask کنترل می‌شوند. این طراحی میان دو هدف تعادل برقرار می‌کند: Edge باید برای Decode به‌اندازه کافی سریع باشد، اما آن‌قدر تند نباشد که کوپلینگ ناخواسته افزایش یابد.

ماسک فرستنده BMC برای بیت ONE در USB Power Delivery شامل پنجره‌های مجاز ولتاژ و زمان و Transition میانی در نیمه Unit Interval
Figure 5.15 — BMC Tx “ONE” Mask
پنجره مجاز شکل موج فرستنده برای بیت ONE؛ Transition دوم در نقطه میانی UI رخ می‌دهد.
ماسک فرستنده BMC برای بیت ZERO در USB Power Delivery شامل پنجره‌های مجاز ولتاژ و زمان و نبود Transition در نیمه Unit Interval
Figure 5.16 — BMC Tx “ZERO” Mask
پنجره مجاز شکل موج فرستنده برای بیت ZERO؛ در نقطه 0.5UI هیچ Transition میانی وجود ندارد.
X1X2X3X4X5X6X7X8X9X10X11X12X13X14
0.0150.070.150.250.350.430.4850.5150.570.650.750.850.930.985

مقادیر افقی ماسک فرستنده بر حسب UI مطابق Table 5.14.

پارامترتعریفمقدار
Y1Txحد پایین Outer Mask-0.075 V
Y2Txحد پایین Inner Mask0.075 V
Y3Txنقطه مرجع ماسک0.15 V
Y4Txنقطه مرجع ماسک0.325 V
Y5Txنقطه میانی عمودی Inner Mask0.5625 V
Y6Txنقطه مرجع ماسک0.8 V
Y7Txنقطه مرجع ماسک0.975 V
Y8Txنقطه مرجع ماسک1.04 V
Y9Txحد بالای Outer Mask1.2 V

Table 5.15 — BMC Tx Mask Definition, Y Values

ماسک گیرنده؛ چرا وضعیت توان شکل پنجره دریافت را تغییر می‌دهد؟

گیرنده باید سیگنال منطبق با ماسک مربوط به وضعیت واقعی توان را Decode کند. Source هنگام تأمین توان از ماسک Sourcing Power، Consumer هنگام دریافت توان از ماسک Sinking Power و همه محصولات در وضعیت Power Neutral از ماسک مستقل همان وضعیت پیروی می‌کنند. Dual-Role Power Device باید متناسب با نقش لحظه‌ای خود الزام Source یا Sink را برآورده کند؛ Cable Plug نیز باید الزامات هر دو حالت Source و Sink را پوشش دهد.

دلیل جداسازی این حالت‌ها فقط نام نقش نیست. جریان عبوری در کابل می‌تواند Ground Offset یا vIRDropGNDC ایجاد کند و مرکز سیگنال دریافتی را جابه‌جا نماید. افزون بر آن، vNoiseActive ناشی از کوپلینگ کابل به شکل موج اضافه می‌شود. ماسک گیرنده با درنظرگرفتن سیگنال مجاز Tx، نویز فعال، Offset زمین و اثر فیلتر محدودکننده پهنای باند Rx ساخته می‌شود.

مرکز Inner Mask در حالت Power Neutral برابر 0.5625V است. این مرکز هنگام Sourcing Power به 0.6875V بالا می‌رود و هنگام Sinking Power به 0.4375V پایین می‌آید. در مقابل، حدود Outer Mask برای همه این حالت‌ها از -0.3325V تا 1.5325V تعریف شده است. ارتفاع Inner Mask در حالت خنثی بیشتر است و در حالت‌های عبور توان به‌دلیل بودجه نویز و Offset کوچک‌تر می‌شود.

حساسیت گیرنده نیز نباید آن‌قدر زیاد باشد که نویز مسیر بدون Drive را به‌عنوان Packet تشخیص دهد. دامنه‌های کمتر از vNoiseIdle max هنگام Idle بودن BMC باید نویز تلقی شوند. این الزام مکمل توانایی Decode سیگنال ضعیف است: Receiver هم باید سیگنال معتبر را بپذیرد و هم فعالیت کاذب روی کانال آزاد را رد کند.

پارامترتعریفمقدارواحد
X1Rxلبه چپ ماسک0.07UI
X2Rxلبه بالایی ماسک0.15UI
X3Rx / X4Rxمرزهای داخلی پیش از 0.5UI0.35 / 0.43UI
X5Rx / X6Rxمرزهای داخلی پس از 0.5UI0.57 / 0.65UI
X7Rx / X8Rxمرزهای انتهایی ماسک0.85 / 0.93UI
Y1Rxحد پایین Outer Mask-0.3325V
Y2Rxحد پایین Inner MaskY3Rx - 0.205 (power) / Y3Rx - 0.33 (neutral)V
Y3Rxخط مرکزی Inner Mask0.6875 Source / 0.5625 Neutral / 0.4375 SinkV
Y4Rxحد بالای Inner MaskY3Rx + 0.205 (power) / Y3Rx + 0.33 (neutral)V
Y5Rxحد بالای Outer Mask1.5325V

Table 5.16 — BMC Rx Mask Definition

Sourcing Power
Y3Rx = 0.6875 V
Power Neutral
Y3Rx = 0.5625 V
Sinking Power
Y3Rx = 0.4375 V

مدل بار فرستنده؛ شکل موج در حضور کابل و گیرنده سنجیده می‌شود

ماسک Tx مستقیماً روی خروجی بی‌بار کنترلر اعمال نمی‌شود. مدل بار فرستنده از اتصال پشت‌سرهم مدل کابل و مدل ورودی Receiver ساخته می‌شود و برای Tx از Source و Tx از Sink دو مدار متناظر دارد. تفاوت اصلی در جایگاه Rp و Rd است، اما مدل انتقال کابل در هر دو مسیر شامل اندوکتانس معادل La، خازن توزیع‌شده Ca/2 در دو سمت و ظرفیت کانکتورهای کابل است.

rOutput و cShunt که در سمت سیستم فرستنده رسم شده‌اند صرفاً Informative هستند و بخشی از بار استاندارد محسوب نمی‌شوند. در سمت مقابل، cReceiver ظرفیت ورودی گیرنده را مدل می‌کند و cCablePlug_CC ظرفیت Plug را در هر انتهای کابل نشان می‌دهد. برای این ظرفیت‌ها باید بیشترین مقدار مجاز به‌کار رود تا آزمون در شرایط بار سنگین انجام شود.

مدل بار فرستنده BMC هنگام ارسال از Source در USB Power Delivery شامل Rp، مدل کابل و بار ورودی گیرنده
Figure 5.23 — Transmitter Load Model for BMC Tx from Source
مدل بار آزمون فرستنده هنگام ارسال Source؛ مسیر CC با Rp، مدل کابل و ورودی Receiver خاتمه می‌یابد.
مدل بار فرستنده BMC هنگام ارسال از Sink در USB Power Delivery شامل Rd، مدل کابل و بار ورودی گیرنده
Figure 5.24 — Transmitter Load Model for BMC Tx from Sink
مدل بار آزمون فرستنده هنگام ارسال Sink؛ جایگاه Rd و جهت نقش توان با مدار Source متفاوت است.

هر دو مدل، اثر کابل و بار گیرنده را هنگام سنجش انطباق شکل موج فرستنده با ماسک BMC بازسازی می‌کنند.

اندوکتانس معادل کابل

La = tCableDelay_CCmax × zCable_CCmin

برای تأخیر 20ns و امپدانس 32Ω، مقدار La برابر 640nH است.

خازن معادل کابل

Ca = tCableDelay_CCmax ÷ zCable_CCmin

در همان شرایط، Ca برابر 625pF و هر نیمه آن Ca/2 برابر 312.5pF است.

مدل بار فرض می‌کند جریان بازگشتی دیگری روی مسیر Ground وجود ندارد. اگر در یک Setup واقعی جریان‌های بازگشتی اضافی، اتصال زمین بلند یا Fixture نامناسب وجود داشته باشد، اندازه‌گیری می‌تواند اثری را نشان دهد که متعلق به DUT نیست. بنابراین انطباق با ماسک بدون کنترل مدل بار و مسیر Ground نتیجه قابل‌اعتمادی نمی‌دهد.

چگونه Capture یا آزمون BMC را مرحله‌به‌مرحله تحلیل کنیم؟

تحلیل باید پیش از Decode بیت‌ها با وضعیت کانال آغاز شود. ابتدا مشخص کنید لاین CC واقعاً Idle بوده و Inter-Frame Gap رعایت شده است. سپس در Explicit Contract بررسی کنید Source کدام Rp را اعلام کرده و آیا آغاز AMS با SinkTxOK یا SinkTxNG سازگار است. دو Packet سالم که تقریباً هم‌زمان آغاز می‌شوند می‌توانند نشانه نقص در Arbitration باشند، نه مشکل Decoder.

در سطح شکل موج، Preamble را پیدا کنید و مرز UIها را از Transition آغازین هر بیت بسازید. برای هر UI، وجود Edge در 0.5UI به معنی 1 و نبود آن به معنی 0 است. دامنه High و Low را به‌عنوان مقدار منطقی مستقیم تفسیر نکنید. پس از Preamble، Decode BMC باید قبل از 5b4b و تشخیص SOP انجام شود.

پایان Frame را جداگانه کنترل کنید: Trailing Edge باید وجود داشته باشد، سپس بسته به سطح نهایی توالی Hold High یا Hold Low اجرا و Driver در محدوده زمانی مجاز به High Impedance بازگردد. اگر انتهای Frame زود رها شود یا Low بیش از حد ادامه پیدا کند، Packet بعدی و تشخیص Idle می‌توانند تحت‌تأثیر قرار گیرند.

برای قضاوت Compliance، شکل موج خام را روی Tx Mask مناسب ONE یا ZERO و سپس روی شرایط بار استاندارد قرار دهید. در سمت دریافت نیز نقش توان را درست انتخاب کنید: ماسک Sourcing، Sinking و Power Neutral مرکز یکسانی ندارند. در نهایت Fixture، مدل کابل، ظرفیت ورودی و مسیر Ground را بررسی کنید تا خطای Setup به دستگاه نسبت داده نشود.

1. CC Idle
2. Rp Arbitration
3. Preamble / UI
4. BMC Decode
5. Tx/Rx Mask
6. Load Model

چهار برداشت اشتباه رایج درباره Collision Avoidance و BMC

۱. Idle بودن قبلی برای ارسال کافی است

خیر؛ وضعیت Idle باید بلافاصله پیش از Transmission دوباره بررسی و Inter-Frame Gap نیز رعایت شود.

۲. Rp همیشه مجوز آغاز AMS را نشان می‌دهد

خیر؛ نقش SinkTxOK و SinkTxNG به Explicit Contract محدود است. پیش از آن Rp اعلان جریان Type-C است.

۳. سطح High یعنی 1 و Low یعنی 0

در BMC مقدار بیت از Transition میانی تعیین می‌شود، نه از سطح مطلق ولتاژ در یک لحظه.

۴. یک ماسک Rx برای همه نقش‌ها کافی است

خیر؛ عبور جریان و Ground Offset مرکز Inner Mask را برای Source، Sink و Power Neutral تغییر می‌دهد.

نکته محوری مقاله پنجم
یک انتقال معتبر BMC فقط مجموعه‌ای از Transitionهای قابل Decode نیست؛ PHY باید ابتدا مالکیت کانال را درست به‌دست آورد، Frame را با شروع و پایان کنترل‌شده ارسال کند و شکل موج را در حضور کابل، نویز، Offset و بار گیرنده داخل ماسک‌های مجاز نگه دارد.

جمع‌بندی

PHY فقط در حالت Idle و پس از رعایت Inter-Frame Gap اجازه آغاز انتقال دارد. Packetی که به‌دلیل مشغول‌بودن CC شروع نمی‌شود، حذف و نتیجه پس از Idle شدن به Protocol Layer اعلام می‌شود.

در Explicit Contract، Source با 3A@5V یا SinkTxOK مجوز آغاز AMS را به Sink می‌دهد و با 1.5A@5V یا SinkTxNG آن را پس می‌گیرد. این تفسیر برای Implicit Contract معتبر نیست.

BMC در شروع هر UI یک Transition دارد و فقط برای بیت 1 در نیمه UI Transition دوم ایجاد می‌کند. سطح High یا Low به‌تنهایی مقدار بیت را مشخص نمی‌کند.

فرستنده Data و CRC را از 4b5b و سپس BMC عبور می‌دهد. گیرنده ابتدا BMC را Decode، SOP را Detect و سپس با 5b4b داده و CRC را بازسازی می‌کند.

Preamble با Drive سطح Low آغاز می‌شود و Receiver باید ازدست‌رفتن Edge نخست را تحمل کند. پایان Frame نیز با Trailing Edge، tHoldLowBMC و بازگشت زمان‌بندی‌شده به High Impedance بسته می‌شود.

ماسک‌های Tx/Rx شکل موج مجاز را در حوزه زمان و ولتاژ تعیین می‌کنند. نقش توان، نویز فعال و Ground Offset محل Inner Mask گیرنده را تغییر می‌دهند.

مدل بار Tx اثر کابل، ظرفیت Plug و ظرفیت Receiver را وارد آزمون می‌کند. برای کابل نمونه 20ns و 32Ω، La برابر 640nH و Ca برابر 625pF است.

ادامه مجموعه

مقاله ۶: مشخصات فرستنده و گیرنده BMC و آزمون داخلی BIST

در مقاله بعدی، Sections 5.8.4 تا 5.9 و صفحات ۱۰۵ تا ۱۱۳ بررسی می‌شوند: Receiver و Transmitter Specifications، تعریف Idle، Inter-Frame Gap، پاسخ زمانی PHY و حالت‌های BIST در لایه فیزیکی.

مرجع انحصاری مقاله
Universal Serial Bus Power Delivery Specification, Revision 3.2, Version 1.1

دیدگاه‌ها (0)

برای ثبت دیدگاه لازم است

هنوز دیدگاهی برای این مقاله ثبت نشده است.