CodingBox الوثائق

MII وRMII وGMII وRGMII: واجهات متوازية إلى PHY

تصل الواجهات المتوازية المستقلة عن الوسط بين MAC ورقاقة PHY نحاسية عبر بضعة سنتيمترات من لوحة الدارة المطبوعة — داخل الموجِّهات، والمبدّلات الصغيرة، ونقاط الوصول، والمتحكمات الصناعية، وكل لوحة مدمجة بها منفذ RJ45. لا تصل هذه الواجهات أبدًا إلى قفص وحدة إرسال واستقبال، لكنها المرجع لكل ما يصل إليه: فـSGMII هي «GMII مسلسَلة»، وXGMII هي «GMII بسرعة 10G»، وPHY داخل SFP نحاسي يتحدث بإحداها داخليًا. تعرض هذه الصفحة الأطراف والسّاعات والتوقيت لكل من MII وRMII وGMII وRGMII، ومشكلة التأخير في RGMII، والحالة ضمن النطاق (in-band status)، وإدارة MDIO، والأعطال التي تنتجها كل واجهة.

MII (IEEE 802.3 Clause 22)

البندالقيمة
المعدلات10 و100 Mb/s
البياناتTXD[3:0] بعرض 4 بتات، وRXD[3:0] بعرض 4 بتات
الساعاتTX_CLK وRX_CLK من PHY: 25 MHz (عند 100M)، و2.5 MHz (عند 10M)
التحكمTX_EN، وTX_ER، وRX_DV، وRX_ER، وCRS (استشعار الناقل)، وCOL (التصادم)
الإدارةMDC، وMDIO (مشتركان)
عدد الإشارات16 للبيانات/التحكم + 2 للإدارة
المستوياتTTL بجهد 5 V / 3.3 V
المدىبضعة سنتيمترات؛ PHY واحد لكل MAC

لا تزال موجودة في المتحكمات الدقيقة وFPGA؛ وحلّت محلها RMII من حيث عدد الأطراف.

RMII (مواصفة RMII Consortium v1.2)

البندالقيمة
المعدلات10 و100 Mb/s
البياناتTXD[1:0] وRXD[1:0] بعرض بتّين
الساعةREF_CLK واحدة بتردد 50 MHz، مشتركة بين MAC وPHY؛ مصدرها مذبذب، أو MAC، أو PHY (نمط PHY-clock-out)
التحكمTX_EN، وCRS_DV (استشعار الناقل + صلاحية البيانات مُجمَّعتان)، وRX_ER (اختياري)
عدد الإشارات7–9
نمط 10 Mb/sتتكرر كل نيبل (nibble) 10 مرات عند 50 MHz
المدىسنتيمترات

طوبولوجيا ساعة الإسناد بتردد 50 MHz هي خلل RMII الكلاسيكي: PHY ينتظر ساعة خارجية بينما تنتظر SoC أن يولّدها PHY يعطي واجهة ميتة مع مصباح LED للوصلة يبدو سليمًا.

GMII (Clause 35)

البندالقيمة
المعدلات1000 Mb/s؛ وتتراجع إلى إشارات MII عند 10/100
البياناتTXD[7:0] وRXD[7:0] بعرض 8 بتات
الساعاتGTX_CLK بتردد 125 MHz من MAC للإرسال؛ وRX_CLK بتردد 125 MHz من PHY للاستقبال؛ وTX_CLK من PHY تُستخدم فقط عند التراجع إلى 10/100
التحكمTX_EN، وTX_ER، وRX_DV، وRX_ER، وCRS، وCOL
عدد الإشارات24 + إشارات الإدارة
المستويات2.5 V (وتتحمل 3.3 V في كثير من التصاميم)
المدىسنتيمترات؛ وميزانية التوقيت ضيقة عند 125 MHz بمعدل بيانات مفرد

أصبحت اليوم في الغالب واجهة داخل الرقاقة أو في FPGA؛ وحلّت RGMII محلها على الألواح.

RGMII (نسخة مختصرة من GMII، مواصفة HP/Marvell الإصدار 1.3 و2.0)

البندالقيمة
المعدلات10/100/1000
البياناتTXD[3:0] وRXD[3:0] بعرض 4 بتات بمعدل بيانات مضاعف: النيبل المنخفض عند الحافة الصاعدة، والنيبل المرتفع عند الحافة الهابطة
الساعاتTXC بتردد 125 MHz (من MAC)، وRXC بتردد 125 MHz (من PHY)؛ و25/2.5 MHz عند 100M/10M
التحكمTX_CTL (تحمل الحافة الصاعدة TX_EN، والهابطة TX_EN xor TX_ER)، وRX_CTL (RX_DV / RX_DV xor RX_ER)
عدد الإشارات12
المستويات2.5 V (الإصدار 1.3)، وHSTL بجهد 1.5 V أو 1.8 V (خيار الإصدار 2.0)؛ و3.3 V على بعض رقاقات PHY
المدى≤ 10–15 cm بمسارات متطابقة الطول

مشكلة التأخير

تتطلب RGMII وصول الساعة بعد حواف البيانات بمقدار 1.5–2.0 ns عند المستقبل (نافذة الإعداد/الاستبقاء). ثلاث طرق لتحقيق ذلك:

النمطمن يضيف التأخيرphy-mode في شجرة الجهازملاحظات
تأخير في اللوحة (الإصدار 1.3)نحو 5 cm من مسار ساعة إضافيrgmiiكلاسيكي وهش
تأخير داخلي في PHY (RGMII-ID، الإصدار 2.0)تضيف PHY 2 ns على ساعتي TX وRXrgmii-idالأكثر شيوعًا اليوم
تأخير داخلي في MAC/SoCتضيفه SoCrgmii مع سجل تأخير من جهة MAC
مختلطPHY في اتجاه واحد فقطrgmii-txid، وrgmii-rxidعندما يدعمه طرف واحد فقط

إضافة التأخير مرتين (في اللوحة وفي PHY) أو عدم إضافته إطلاقًا ينتج عنه عطل RGMII المميِّز: الوصلة نشطة عند 1G مع أخطاء CRC أو بلا حركة، بينما يعمل 100M بسلاسة (فترة 100M هي 40 ns وتتحمل الانزياح). الإصلاح بتغيير سجل التأخير في PHY أو phy-mode.

الحالة ضمن النطاق

عند الخمول، تضبط PHY حالة الوصلة والسرعة والازدواجية على RXD[3:0] بحيث يمكن لـMAC إعادة ضبط مقسّم الساعة دون قراءة MDIO: RXD[0] الوصلة، وRXD[2:1] السرعة (00 = 10، و01 = 100، و10 = 1000)، وRXD[3] الازدواجية. تتجاهل بعض وحدات MAC ذلك وتعتمد على استقصاء MDIO؛ وعدم تطابق التوقعات ينتج عنه وصلة نشطة من جهة PHY ومعطَّلة من جهة MAC.

TBI وRTBI

واجهة Ten-Bit: رموز 1000BASE-X المرمَّزة بطريقة 8b/10b (10 بتات عند 125 MHz، وRTBI بمعدل بيانات مضاعف بـ5 بتات) بين MAC/PCS وSerDes خارجي أو PHY ضوئي. أصبحت قديمة على الألواح؛ وخَلَفها التسلسلي هو 1000BASE-X/SGMII (SGMII وGigabit التسلسلي).

مقارنة

الواجهةالأطراف (بيانات + تحكم)الساعةأقصى معدلالجهدالاستخدام النموذجي
MII1625 MHz من PHY100M3.3/5 Vمتحكمات دقيقة، أنظمة قديمة
RMII7–950 MHz مشتركة100M3.3 VSoC مدمجة + PHY
SMII2–3/منفذ125 MHz100M3.3 Vرقاقات PHY متعددة المنافذ (Cisco)
GMII24125 MHz (إرسال MAC / استقبال PHY)1G2.5 VFPGA، داخل الرقاقة
RGMII12125 MHz DDR1G2.5/1.8/1.5 VSoC ↔ PHY على الألواح
SGMII4 (زوجان)1.25 GBd مدمجة1G10/100 بالتكرار)CMLSoC ↔ PHY، أقفاص SFP

إدارة PHY: MDIO/MDC

البندClause 22Clause 45
العنونةعنوان PHY بعرض 5 بتات، وسجل بعرض 5 بتات (32 سجلًا)منفذ بعرض 5 بتات، وجهاز بعرض 5 بتات (PMA/PMD، وPCS، وPHY XS، وDTE XS، وAN، والمورّد)، وسجل بعرض 16 بتًا
السجلات الرئيسية0 تحكم (إعادة ضبط، سرعة، تفعيل AN، حلقي)، و1 حالة (وصلة، اكتمال AN)، و2–3 معرّف PHY (OUI + الطراز)، و4 إعلان AN، و5 قدرة الطرف النظير، و9/10 تحكم/حالة 1000BASE-T، و17 فأكثر خاص بالمورّد (تأخير RGMII، مصابيح LED)1.x PMA، و3.x PCS، و7.x AN، و30.x/31.x خاص بالمورّد
السرعةMDC ≤ 2.5 MHz (وغالبًا أسرع عمليًا)نفسها
أدوات Linuxmii-tool -v eth0، وphytool read eth0/1/0، وethtool eth0؛ وبرنامج التشغيل عبر phylib، وphylinkphytool read eth0/1:1/0

على النقيض من ذلك، تُدار الوحدات القابلة للتوصيل عبر I²C لا عبر MDIO (الواجهة ثنائية الأسلاك). أما PHY الداخلية في SFP النحاسي فهي الاستثناء: يمكن الوصول إلى سجلات MDIO الخاصة بها عبر I²C الوحدة على عنوان ثانوي في كثير من التصاميم، وهذه هي الطريقة التي يضبط بها الموردون سلوك التراجع إلى 10/100 والتفاوض التلقائي.

رقاقات PHY الشائعة وواجهاتها

عائلة PHYالواجهاتاللوحة النموذجية
Marvell 88E1111 / 88E1512 / 88E1510GMII، وRGMII، وSGMII، وTBIالموجِّهات، ووحدات SFP النحاسية (88E1111)
Realtek RTL8211F / RTL8201RGMII / RMIIلوحات SBC، وموجِّهات المستهلكين
Microchip KSZ9031 / KSZ8081 / LAN8720RGMII / RMII / RMIIصناعية، ولوحات MCU
TI DP83867 / DP83848RGMII، وSGMII / MII، وRMIIصناعية
Broadcom BCM54xxxRGMII، وSGMII، وQSGMIIمبدّلات المؤسسات (رقاقات PHY رباعية/ثمانية)
Marvell 88E1543 / 88E1548QSGMII رباعيةمبدّلات وصول بـ48 منفذًا

الأعطال حسب الواجهة

العَرَضالواجهةالسبب
لا وصلة إطلاقًا، ومعرّف PHY يُقرأ بشكل سليمRMIIعدم تطابق اتجاه/مصدر REF_CLK
100M تعمل، و1G بلا حركة أو بأخطاء CRCRGMIIنمط التأخير (ID) خاطئ أو مضاعف
مصباح LED الخاص بـPHY يشير إلى وصلة نشطة، وMAC يقول معطَّلةRGMII/SGMIIالحالة ضمن النطاق معطَّلة على أحد الطرفين، أو غياب استقصاء MDIO
فقد نصف الحزم عند 1GGMII/RGMIIانزياح طول المسار، أو مستوى جهد خاطئ
PHY غير موجودة على MDIOأي واجهةعنوان PHY خاطئ (أطراف الضبط strapping)، أو غياب مقاومة سحب MDIO
السرعة عالقة عند 10/100أي واجهةسجل إعلان AN محدود، أو الكبل، أو phy-mode بلا دعم لـ1G

في CodingBox

لا شيء في هذه الصفحة يمر عبر EEPROM الوحدة — باستثناء SFP النحاسي، الذي تقع PHY الداخلية فيه (عادة من فئة 88E1111) خلف I²C نفسها التي تقرأها CodingBox. عندما تعمل وحدة نحاسية عند 1G لكن ليس عند 10/100، يكمن الجواب في ضبط تلك الـPHY ونمط SGMII/1000BASE-X الخاص بالمضيف، لا في بايتات بيانات التعريف على A0h (النحاس في Ethernet وDAC، SGMII وGigabit التسلسلي).


إذا وجدت معلومة غير دقيقة أو خطأً في هذه المادة، فحدِّد المقطع المعني واضغط Ctrl+Enter .