Peta register CMIS: halaman bawah
128 byte bawah dari modul CMIS (QSFP-DD, OSFP, QSFP112, SFP-DD dengan CMIS…) selalu terlihat dan membawa antarmuka runtime level-modul: identifier dan versi CMIS, state modul, flag dan mask, monitor modul, kontrol global, status CDB, jenis media, delapan descriptor aplikasi pertama, entri kata sandi, dan selector bank/halaman. Halaman ini mencantumkannya byte demi byte dan bit demi bit, disusun berdasarkan CMIS 5.x dengan perbedaan 4.x dicatat. Narasi: CMIS; halaman atas di Peta halaman atas CMIS; halaman per-lane di Peta halaman lane CMIS.
Legenda: rsvd = dicadangkan · custom = spesifik vendor · flag di-latch, dibersihkan saat dibaca; bit mask = 1 menekan kontribusi flag tersebut terhadap IntL.
Identifikasi dan state — byte 0–7
| Byte | Bidang | Bit / nilai |
|---|
| 0 | Identifier | SFF-8024 Table 4-1: 18h QSFP-DD · 19h OSFP · 1Eh QSFP+/28/56 dengan CMIS · 1Fh SFP-DD dengan CMIS · 20h SFP+ dengan CMIS (SFP112) · 21h OSFP-XD |
| 1 | Revisi CMIS | 7–4 major · 3–0 minor: 30h = 3.0 · 40h = 4.0 · 41h = 4.1 · 50h = 5.0 · 51h–53h = 5.1–5.3 |
| 2 | Karakteristik memori | 7 MemoryModel (1 = flat, tanpa paging) · 6 SteppedConfigOnly (1 = konfigurasi data-path harus diterapkan lane demi lane) · 5–4 rsvd · 3–2 MciMaxSpeed: 00 = 400 kHz · 01 = 1 MHz · 1–0 rsvd |
| 3 | State modul | 7–4 rsvd · 3–1 ModuleState: 001 ModuleLowPwr · 010 ModulePwrUp · 011 ModuleReady · 100 ModulePwrDn · 101 ModuleFault · 0 InterruptDeasserted (1 = tidak ada interrupt pending) |
| 4 | Ringkasan flag bank 0 | satu bit per grup flag yang ada di halaman lane bank 0 (state data-path berubah, flag Tx/Rx, alarm) — baca untuk mengetahui bank mana yang perlu diperiksa |
| 5 | Ringkasan flag bank 1 | seperti byte 4 untuk lane 9–16 |
| 6 | Ringkasan flag bank 2 | lane 17–24 |
| 7 | Ringkasan flag bank 3 | lane 25–32 |
Flag modul — byte 8–11
| Byte | Bidang | Bit |
|---|
| 8 | Flag level-modul | 7–5 rsvd · 4 CdbCmdComplete2 · 3 CdbCmdComplete1 · 2 DataPathFirmwareFault · 1 ModuleFirmwareFault · 0 ModuleStateChanged |
| 9 | Flag suhu / Vcc | 7 peringatan rendah Vcc · 6 peringatan tinggi Vcc · 5 alarm rendah Vcc · 4 alarm tinggi Vcc · 3 peringatan rendah suhu · 2 peringatan tinggi suhu · 1 alarm rendah suhu · 0 alarm tinggi suhu |
| 10 | Flag Aux1 / Aux2 | 7 peringatan rendah Aux2 · 6 peringatan tinggi Aux2 · 5 alarm rendah Aux2 · 4 alarm tinggi Aux2 · 3 peringatan rendah Aux1 · 2 peringatan tinggi Aux1 · 1 alarm rendah Aux1 · 0 alarm tinggi Aux1 |
| 11 | Flag Aux3 / custom | 7–4 peringatan rendah / peringatan tinggi / alarm rendah / alarm tinggi monitor custom · 3 peringatan rendah Aux3 · 2 peringatan tinggi Aux3 · 1 alarm rendah Aux3 · 0 alarm tinggi Aux3 |
| 12–13 | rsvd | — |
Monitor modul — byte 14–25
| Byte | Besaran yang dipantau | Format |
|---|
| 14–15 | Suhu | 16-bit bertanda, 1/256 °C |
| 16–17 | Vcc | 16-bit tak bertanda, 100 µV |
| 18–19 | Aux1 | arus TEC (bertanda, % dari maks ×100/32767) atau suhu laser (1/256 °C) — tipe diiklankan pada halaman 01h |
| 20–21 | Aux2 | suhu laser atau arus TEC |
| 22–23 | Aux3 | suhu laser atau tegangan suplai tambahan (100 µV) |
| 24–25 | Monitor custom | ditentukan vendor |
Kontrol global dan mask — byte 26–36
| Byte | Bidang | Bit |
|---|
| 26 | Kontrol global modul | CMIS 5.x: 7 rsvd · 6 LowPwrAllowRequestHW (1 = pin LPMode boleh meminta daya rendah) · 5 SquelchMethodSelect (0 = squelch OMA, 1 = Pave) · 4 LowPwrRequestSW (1 = minta daya rendah) · 3 SoftwareReset · 2–0 rsvd · 4.x: 6 = LowPwr (permintaan daya rendah via software) · 4 = ForceLowPwr · 5 dan 3 seperti di atas |
| 27 | Mask flag modul | mask untuk byte 8 (posisi bit sama) |
| 28 | Mask suhu / Vcc | mask untuk byte 9 |
| 29 | Mask Aux1 / Aux2 | mask untuk byte 10 |
| 30 | Mask Aux3 / custom | mask untuk byte 11 |
| 31–36 | rsvd | — |
Status CDB dan firmware — byte 37–41
| Byte | Bidang | Bit / nilai |
|---|
| 37 | CdbStatus1 (command block 1) | 7 CdbIsBusy · 6 CdbHasFailed · 5–0 CdbCommandResult: saat busy — 01h menangkap perintah, 02h memeriksa, 03h mengeksekusi; saat berhasil — 01h berhasil, 02h tidak ada respons? ; saat gagal — 01h perintah tidak dikenal, 02h parameter di luar rentang, 03h kesalahan panjang, 04h kesalahan checksum, 05h kesalahan kata sandi, 06h tidak diaktifkan, 07h abort? … (lihat CMIS Table 8-20) |
| 38 | CdbStatus2 (command block 2) | tata letak sama |
| 39 | Firmware aktif modul — major | versi image yang berjalan |
| 40 | Firmware aktif modul — minor | — |
| 41 | ModuleFaultCause | 00h tidak ada gangguan · 01h TEC runaway · 02h memori data rusak · 03h memori program rusak · 04h–1Fh rsvd · 20h–FFh custom |
| 42–63 | rsvd | — |
| 64–84 | rsvd / custom | per revisi |
| Byte | Bidang | Isi |
|---|
| 85 | MediaType | 00h tidak terdefinisi · 01h MMF (SFF-8024 Table 4-6) · 02h SMF (4-7) · 03h tembaga pasif (4-8) · 04h kabel aktif (4-9) · 05h BASE-T (4-10) · 06h–3Fh rsvd · 40h–8Fh custom |
| 86–89 | Descriptor aplikasi 1 | byte 86 HostInterfaceID (SFF-8024 Table 4-5) · 87 MediaInterfaceID (tabel per byte 85) · 88 bit 7–4 HostLaneCount, 3–0 MediaLaneCount · 89 HostLaneAssignmentOptions — bit n = 1: lane n+1 boleh menjadi lane pertama dari data path aplikasi ini |
| 90–93 | Descriptor aplikasi 2 | tata letak sama |
| 94–97 | Descriptor aplikasi 3 | — |
| 98–101 | Descriptor aplikasi 4 | — |
| 102–105 | Descriptor aplikasi 5 | — |
| 106–109 | Descriptor aplikasi 6 | — |
| 110–113 | Descriptor aplikasi 7 | — |
| 114–117 | Descriptor aplikasi 8 | — |
FFh pada byte pertama sebuah descriptor mengakhiri daftar. Descriptor 9–15 berlanjut pada halaman 01h byte 223–250; opsi penempatan media-lane-nya ada pada halaman 01h 176–190. Contoh: 12 1C 84 01 = 400GAUI-8 C2M ↔ 400GBASE-DR4, 8 lane host / 4 lane media, dimulai pada lane host 1; 0E 14 21 55 = 100GAUI-2 ↔ 100GBASE-DR, 2/1 lane, boleh dimulai pada lane 1, 3, 5, 7 (breakout 4 × 100G).
Kata sandi dan selector — byte 118–127
| Byte | Bidang | Isi |
|---|
| 118–121 | Entri ubah kata sandi | ditentukan vendor |
| 122–125 | Entri kata sandi | ditentukan vendor — Jenis proteksi tulis |
| 126 | BankSelect | 00h bank 0 (lane 1–8) · 01h bank 1 (9–16) · 02h bank 2 · 03h bank 3; berlaku untuk halaman berbank 10h–3Fh |
| 127 | PageSelect | 00h identitas · 01h advertising · 02h ambang · 04h kapabilitas laser · 10h kontrol lane · 11h status lane · 12h kontrol tunable · 13h–14h diagnostik · 20h–2Fh VDM · 9Fh CDB · A0h–AFh CDB EPL · 80h–8Fh… custom |
Membaca halaman bawah QSFP-DD dalam praktik
- Byte 0 = 18h, byte 1 = 50h → QSFP-DD, CMIS 5.0; byte 2 bit 7 = 0 → memori berhalaman.
- Byte 3 = 03h → ModuleLowPwr (001 pada bit 3–1, interrupt deasserted) — normal segera setelah modul dipasang; 07h → ModuleReady.
- Byte 85 = 02h → tabel media SMF; byte 86–89 → aplikasi pertama (misalnya DR4).
- Byte 8–11 → adakah flag modul yang ter-set? Baca dua kali untuk membersihkan riwayat.
- Byte 14–17 → suhu dan Vcc.
- Untuk keluar dari low power pada 5.x: bersihkan byte 26 bit 4 (LowPwrRequestSW) dan pastikan pin LPMode low atau bit 6 = 0; lalu tunggu byte 3 mencapai 07h.
Peta terkait