Peta register CMIS: halaman lane (10h, 11h, VDM, CDB)
Semua hal per lane pada modul CMIS berada dalam halaman berbank: bank b (byte bawah 126) mencakup lane 8b+1 … 8b+8. Halaman 10h adalah tempat host menulis — inisialisasi data-path, Tx disable, polaritas, squelch, ekualisasi, dan staged control set yang memilih aplikasi; halaman 11h adalah tempat ia membaca kembali — state data-path, flag per-lane, monitor, status konfigurasi, dan control set yang aktif. Halaman 20h–2Fh menyimpan VDM dan 9Fh menyimpan mailbox CDB. Halaman ini mencantumkan byte-byte kunci, disusun berdasarkan CMIS 5.x (posisi byte dari sebagian bidang signal-integrity berbeda antara 4.x dan 5.x; itu diberikan sebagai rentang). Narasi: CMIS.
Legenda: byte per-lane menggunakan bit n−1 untuk lane n (bit 0 = lane 1 … bit 7 = lane 8); bidang nibble menggunakan bit 7–4 untuk lane ganjil dan 3–0 untuk lane genap pada setiap pasangan kecuali dinyatakan lain · rsvd = dicadangkan.
Halaman 10h — kontrol lane (ditulis oleh host)
| Byte | Bidang | Bit / isi |
|---|---|---|
| 128 | DPDeinitLane | bit per lane: 1 = deinisialisasi (bawa data path lane ke DPDeactivated) |
| 129 | rsvd | — |
| 130 | OutputDisableTx | bit per lane: 1 = output Tx (laser) mati |
| 131 | PolarityFlipTx | bit per lane: membalik input elektrik Tx |
| 132 | SquelchDisableTx | bit per lane: 1 = nonaktifkan squelch Tx otomatis |
| 133 | ForceSquelchTx | bit per lane: 1 = paksa squelch Tx |
| 134 | rsvd | — |
| 135 | AdaptiveInputEqEnableTx | bit per lane: 1 = ekualisasi input adaptif sisi host |
| 136 | AdaptiveInputEqRecallTx | bit per lane: panggil kembali pengaturan EQ tersimpan (4.x: freeze) |
| 137 | rsvd | — |
| 138–141 | FixedInputEqTargetTx | nibble per lane (138: lane 1–2 … 141: lane 7–8): kode EQ input tetap 0–15 |
| 142 | rsvd | — |
| 143 | ApplyDPInitLane | bit per lane: 1 = terapkan Staged Control Set 0 dan jalankan DPInit |
| 144 | ApplyImmediateLane | bit per lane: terapkan SCS0 tanpa menginisialisasi ulang data path |
| 145–152 | Staged Control Set 0 — konfigurasi data-path | satu byte per lane (145 = lane 1 … 152 = lane 8): bit 7–4 AppSelCode (1–15 = indeks descriptor, 0 = tidak ada) · 3–1 DataPathID (lane host pertama dari data path − 1) · 0 ExplicitControl (1 = gunakan pengaturan SI di bawah, bukan default aplikasi) |
| 153 | SCS0 AdaptiveInputEqEnableTx | bit per lane |
| 154 | SCS0 AdaptiveInputEqRecallTx | bit per lane |
| 155 | rsvd | — |
| 156–159 | SCS0 FixedInputEqTargetTx | nibble per lane |
| 160 | SCS0 CDREnableTx | bit per lane: 1 = CDR Tx aktif, 0 = bypass |
| 161 | SCS0 CDREnableRx | bit per lane |
| 162–165 | SCS0 OutputEqPreCursorTargetRx | nibble per lane |
| 166–169 | SCS0 OutputEqPostCursorTargetRx | nibble per lane |
| 170–173 | SCS0 OutputAmplitudeTargetRx | nibble per lane |
| 174–177 | rsvd | — |
| 178–210 | Staged Control Set 1 | tata letak sama seperti 145–177 (178–185 konfigurasi data-path, 186–210 target SI) |
| 211–255 | Kontrol dan mask output Rx | OutputDisableRx, PolarityFlipRx, SquelchDisableRx per lane; mask flag untuk halaman 11h (posisi byte per revisi) |
Alur pemilihan: tulis 145–152 → set 143 untuk lane-nya → poll halaman 11h 202–205 untuk ConfigStatus → baca 128–131 untuk state data-path — CMIS, Kecepatan & rate.
Halaman 11h — status lane (dibaca oleh host)
| Byte | Bidang | Bit / isi |
|---|---|---|
| 128 | DPStateHostLane 1–2 | 3–0 state lane 1 · 7–4 state lane 2 (tabel kode di bawah) |
| 129 | DPStateHostLane 3–4 | seperti di atas |
| 130 | DPStateHostLane 5–6 | — |
| 131 | DPStateHostLane 7–8 | — |
| 132–133 | rsvd | — |
| 134 | DPStateChangedFlag | bit per lane; di-latch |
| 135 | TxFaultFlag | bit per lane |
| 136 | TxLOSFlag | bit per lane (LOS input sisi host) |
| 137 | TxCDRLOLFlag | bit per lane |
| 138 | TxAdaptiveInputEqFailFlag | bit per lane |
| 139 | alarm tinggi daya Tx | bit per lane |
| 140 | alarm rendah daya Tx | — |
| 141 | peringatan tinggi daya Tx | — |
| 142 | peringatan rendah daya Tx | — |
| 143 | alarm tinggi bias Tx | — |
| 144 | alarm rendah bias Tx | — |
| 145 | peringatan tinggi bias Tx | — |
| 146 | peringatan rendah bias Tx | — |
| 147 | RxLOSFlag | bit per lane (LOS sisi media) |
| 148 | RxCDRLOLFlag | bit per lane |
| 149 | alarm tinggi daya Rx | — |
| 150 | alarm rendah daya Rx | — |
| 151 | peringatan tinggi daya Rx | — |
| 152 | peringatan rendah daya Rx | — |
| 153 | OutputStatusRx | bit per lane: 1 = output Rx aktif/valid |
| 154–169 | Monitor daya Tx | 2 byte per lane (154–155 lane 1 … 168–169 lane 8), tak bertanda, 0,1 µW |
| 170–185 | Monitor bias Tx | 2 byte per lane, 2 µA × pengali |
| 186–201 | Monitor daya Rx | 2 byte per lane, 0,1 µW |
| 202 | ConfigStatus lane 1–2 | 3–0 lane 1 · 7–4 lane 2 (tabel kode di bawah) |
| 203 | ConfigStatus lane 3–4 | — |
| 204 | ConfigStatus lane 5–6 | — |
| 205 | ConfigStatus lane 7–8 | — |
| 206–213 | Active Control Set — konfigurasi data-path | satu byte per lane, tata letak sama seperti halaman 10h 145–152: konfigurasi yang sebenarnya berlaku |
| 214–234 | Active Control Set — pengaturan SI | adaptive EQ enable/recall, fixed EQ, CDR Tx/Rx, Rx pre/post-cursor, amplitudo Rx — cerminan dari tata letak SCS |
| 235 | DPInitPending | bit per lane: 1 = sebuah konfigurasi staged menunggu ApplyDPInit |
| 236–255 | rsvd / flag per revisi | — |
Kode state data-path (byte 128–131)
| Kode | State | Arti |
|---|---|---|
| 1h | DPDeactivated | lane idle; Tx mati |
| 2h | DPInit | menginisialisasi dengan konfigurasi yang diterapkan |
| 3h | DPDeinit | membongkar |
| 4h | DPActivated | Tx aktif, data mengalir |
| 5h | DPTxTurnOn | laser sedang menyala |
| 6h | DPTxTurnOff | laser sedang mati |
| 7h | DPInitialized | terkonfigurasi, menunggu Tx enable |
| 0h, 8h–Fh | rsvd | — |
Kode ConfigStatus (byte 202–205)
| Kode | Status | Arti |
|---|---|---|
| 0h | ConfigUndefined | belum ada konfigurasi yang diterapkan |
| 1h | ConfigSuccess | staged set diterima dan berlaku |
| 2h | ConfigRejected | penolakan generik |
| 3h | ConfigRejectedInvalidAppSel | kode AppSel tidak diiklankan |
| 4h | ConfigRejectedInvalidDataPath | DataPathID tidak diperbolehkan untuk aplikasi tersebut |
| 5h | ConfigRejectedInvalidSI | target signal-integrity di luar rentang |
| 6h | ConfigRejectedLaneInUse | lane sudah menjadi bagian dari data path aktif lain |
| 7h | ConfigRejectedPartialDataPath | tidak semua lane dari data path dikonfigurasi |
| 8h–Bh | rsvd | — |
| Ch | ConfigInProgress | sedang diterapkan |
| Dh–Fh | kustom | vendor |
Halaman 12h — kontrol laser tunable (per lane)
Set nomor kanal, set panjang gelombang/frekuensi, offset fine-tuning, status tuning, dan flag per lane, dengan kapabilitas pada halaman 04h — Peta memori tunable.
Halaman 20h–2Fh — VDM (Versatile Diagnostics Monitoring)
| Halaman | Isi | Tata letak |
|---|---|---|
| 20h–23h | Descriptor | 2 byte per besaran (128–255 → 64 per halaman, 256 total): byte 0 bit 7–4 ID threshold-set, 3–0 lane (0 = level-modul); byte 1 tipe besaran (1 usia laser · 2 arus TEC · 3 kesalahan frekuensi laser · 4 suhu laser · 5/6 eSNR media/host · 7/8 transisi level PAM4 media/host · 9–16 min/maks/rata-rata/saat-ini BER pre-FEC media/host · 17–24 min/maks/rata-rata/saat-ini FERC media/host · 128+ set koheren) |
| 24h–27h | Sampel | 2 byte per besaran, indeks sama dengan descriptor-nya; format U16 / S16 / F16 |
| 28h–2Bh | Ambang | 8 byte per threshold set: alarm tinggi, alarm rendah, peringatan tinggi, peringatan rendah |
| 2Ch–2Fh | Flag dan mask | flag alarm/peringatan per besaran (2Ch–2Dh) dan mask (2Eh–2Fh) |
Format rasio F16: bit 15–11 eksponen e, bit 10–0 mantissa m; nilai = m × 10^(e − 24). Detail: Metrik VDM & FEC.
Halaman 9Fh — blok perintah CDB
| Byte | Bidang | Isi |
|---|---|---|
| 128–129 | CMD ID | identifier perintah, MSB lebih dulu (0000h query status · 0040h fitur modul · 0041h fitur manajemen firmware · 0100h ambil info firmware · 0101h mulai unduh firmware · 0102h batalkan · 0103h tulis blok firmware LPL · 0104h tulis blok firmware EPL · 0107h selesaikan unduhan · 0109h jalankan image · 010Ah commit image) |
| 130–131 | panjang EPL | byte dari extended payload pada halaman A0h–AFh |
| 132 | panjang LPL | byte dari local payload (0–120) |
| 133 | CdbChkCode | checksum atas 128–132 dan LPL: komplemen satu dari (Σ) mod 256 |
| 134 | panjang RPL | panjang reply payload yang ditulis oleh modul |
| 135 | RplChkCode | checksum reply |
| 136–255 | LPL | local payload (parameter perintah / reply) |
| A0h–AFh 128–255 | EPL | hingga 2048 byte extended payload |
Menulis byte 129 (LSB dari CMD ID) terakhir memicu eksekusi; host kemudian melakukan poll pada byte bawah 37–38 (CdbStatus) sampai CdbIsBusy bersih.
Peta terkait
- Peta halaman bawah CMIS — state modul, flag, aplikasi.
- Peta halaman atas CMIS — identitas, advertising, ambang.
- Peta halaman bawah SFF-8636 — pendahulu 4-lane.