Mapa rejestrów CMIS: strony kanałowe (10h, 11h, VDM, CDB)
Wszystko, co dotyczy poszczególnych linii w module CMIS, mieszka na stronach bankowanych: bank b (bajt dolny 126) obejmuje linie 8b+1 … 8b+8. Strona 10h to miejsce, gdzie zapisuje host — inicjalizacja ścieżki danych, wyłączenie Tx, polaryzacja, squelch, ekwalizacja oraz staged control sets, które wybierają aplikacje; strona 11h to miejsce, skąd host odczytuje z powrotem — stany ścieżki danych, flagi dla poszczególnych linii, monitory, stan konfiguracji i active control set. Strony 20h–2Fh przechowują VDM, a 9Fh — mailbox CDB. Ta strona wymienia kluczowe bajty, zgodnie z CMIS 5.x (pozycje bajtów niektórych pól integralności sygnału różnią się między 4.x i 5.x; podano je jako zakresy). Opis: CMIS.
Legenda: bajty dla poszczególnych linii używają bitu n−1 dla linii n (bit 0 = linia 1 … bit 7 = linia 8); pola półbajtowe używają bitów 7–4 dla nieparzystej linii i 3–0 dla parzystej linii każdej pary, o ile nie zaznaczono inaczej · rsvd = zarezerwowane.
Strona 10h — sterowanie liniami (zapis hosta)
| Bajt | Pole | Bity / zawartość |
|---|---|---|
| 128 | DPDeinitLane | bit na linię: 1 = deinicjalizuj (przenieś ścieżkę danych linii do DPDeactivated) |
| 129 | rsvd | — |
| 130 | OutputDisableTx | bit na linię: 1 = wyjście Tx (laser) wyłączone |
| 131 | PolarityFlipTx | bit na linię: odwróć elektryczne wejście Tx |
| 132 | SquelchDisableTx | bit na linię: 1 = wyłącz automatyczny squelch Tx |
| 133 | ForceSquelchTx | bit na linię: 1 = wymuś squelch Tx |
| 134 | rsvd | — |
| 135 | AdaptiveInputEqEnableTx | bit na linię: 1 = adaptacyjna ekwalizacja wejścia po stronie hosta |
| 136 | AdaptiveInputEqRecallTx | bit na linię: przywołaj zapisane ustawienie EQ (4.x: zamrożenie) |
| 137 | rsvd | — |
| 138–141 | FixedInputEqTargetTx | półbajt na linię (138: linie 1–2 … 141: linie 7–8): stały kod EQ wejścia 0–15 |
| 142 | rsvd | — |
| 143 | ApplyDPInitLane | bit na linię: 1 = zastosuj Staged Control Set 0 i uruchom DPInit |
| 144 | ApplyImmediateLane | bit na linię: zastosuj SCS0 bez ponownej inicjalizacji ścieżki danych |
| 145–152 | Staged Control Set 0 — konfiguracja ścieżki danych | jeden bajt na linię (145 = linia 1 … 152 = linia 8): bity 7–4 AppSelCode (1–15 = indeks deskryptora, 0 = brak) · 3–1 DataPathID (pierwsza linia hosta ścieżki danych − 1) · 0 ExplicitControl (1 = użyj poniższych ustawień SI zamiast domyślnych aplikacji) |
| 153 | SCS0 AdaptiveInputEqEnableTx | bit na linię |
| 154 | SCS0 AdaptiveInputEqRecallTx | bit na linię |
| 155 | rsvd | — |
| 156–159 | SCS0 FixedInputEqTargetTx | półbajt na linię |
| 160 | SCS0 CDREnableTx | bit na linię: 1 = CDR Tx włączony, 0 = bypass |
| 161 | SCS0 CDREnableRx | bit na linię |
| 162–165 | SCS0 OutputEqPreCursorTargetRx | półbajt na linię |
| 166–169 | SCS0 OutputEqPostCursorTargetRx | półbajt na linię |
| 170–173 | SCS0 OutputAmplitudeTargetRx | półbajt na linię |
| 174–177 | rsvd | — |
| 178–210 | Staged Control Set 1 | ten sam układ co 145–177 (178–185 konfiguracja ścieżki danych, 186–210 cele SI) |
| 211–255 | Sterowanie wyjściem Rx i maski | OutputDisableRx, PolarityFlipRx, SquelchDisableRx na linię; maski flag dla strony 11h (pozycje bajtów zależne od rewizji) |
Przebieg wyboru: zapisz 145–152 → ustaw 143 dla linii → odpytuj stronę 11h 202–205 o ConfigStatus → odczytaj 128–131, aby poznać stan ścieżki danych — CMIS, Prędkość i przepływność.
Strona 11h — stan linii (odczyt hosta)
| Bajt | Pole | Bity / zawartość |
|---|---|---|
| 128 | DPStateHostLane 1–2 | 3–0 stan linii 1 · 7–4 stan linii 2 (tabela kodów poniżej) |
| 129 | DPStateHostLane 3–4 | jak wyżej |
| 130 | DPStateHostLane 5–6 | — |
| 131 | DPStateHostLane 7–8 | — |
| 132–133 | rsvd | — |
| 134 | DPStateChangedFlag | bit na linię; zatrzaskiwany |
| 135 | TxFaultFlag | bit na linię |
| 136 | TxLOSFlag | bit na linię (LOS wejścia po stronie hosta) |
| 137 | TxCDRLOLFlag | bit na linię |
| 138 | TxAdaptiveInputEqFailFlag | bit na linię |
| 139 | Wysoki alarm mocy Tx | bit na linię |
| 140 | Niski alarm mocy Tx | — |
| 141 | Wysokie ostrzeżenie mocy Tx | — |
| 142 | Niskie ostrzeżenie mocy Tx | — |
| 143 | Wysoki alarm polaryzacji Tx | — |
| 144 | Niski alarm polaryzacji Tx | — |
| 145 | Wysokie ostrzeżenie polaryzacji Tx | — |
| 146 | Niskie ostrzeżenie polaryzacji Tx | — |
| 147 | RxLOSFlag | bit na linię (LOS po stronie medium) |
| 148 | RxCDRLOLFlag | bit na linię |
| 149 | Wysoki alarm mocy Rx | — |
| 150 | Niski alarm mocy Rx | — |
| 151 | Wysokie ostrzeżenie mocy Rx | — |
| 152 | Niskie ostrzeżenie mocy Rx | — |
| 153 | OutputStatusRx | bit na linię: 1 = wyjście Rx włączone/ważne |
| 154–169 | Monitory mocy Tx | 2 bajty na linię (154–155 linia 1 … 168–169 linia 8), bez znaku, 0,1 µW |
| 170–185 | Monitory polaryzacji Tx | 2 bajty na linię, 2 µA × mnożnik |
| 186–201 | Monitory mocy Rx | 2 bajty na linię, 0,1 µW |
| 202 | ConfigStatus linie 1–2 | 3–0 linia 1 · 7–4 linia 2 (tabela kodów poniżej) |
| 203 | ConfigStatus linie 3–4 | — |
| 204 | ConfigStatus linie 5–6 | — |
| 205 | ConfigStatus linie 7–8 | — |
| 206–213 | Active Control Set — konfiguracja ścieżki danych | jeden bajt na linię, ten sam układ co strona 10h 145–152: konfiguracja faktycznie obowiązująca |
| 214–234 | Active Control Set — ustawienia SI | włączenie/przywołanie adaptacyjnego EQ, stałe EQ, CDR Tx/Rx, pre/post-kursor Rx, amplituda Rx — odzwierciedlenie układu SCS |
| 235 | DPInitPending | bit na linię: 1 = skonfigurowane ustawienie oczekuje na ApplyDPInit |
| 236–255 | rsvd / flagi zależne od rewizji | — |
Kody stanu ścieżki danych (bajty 128–131)
| Kod | Stan | Znaczenie |
|---|---|---|
| 1h | DPDeactivated | linia bezczynna; Tx wyłączony |
| 2h | DPInit | inicjalizacja z zastosowaną konfiguracją |
| 3h | DPDeinit | zamykanie |
| 4h | DPActivated | Tx włączony, dane płyną |
| 5h | DPTxTurnOn | laser się włącza |
| 6h | DPTxTurnOff | laser się wyłącza |
| 7h | DPInitialized | skonfigurowany, czeka na włączenie Tx |
| 0h, 8h–Fh | rsvd | — |
Kody ConfigStatus (bajty 202–205)
| Kod | Status | Znaczenie |
|---|---|---|
| 0h | ConfigUndefined | żadna konfiguracja nie została jeszcze zastosowana |
| 1h | ConfigSuccess | zastosowany zestaw zaakceptowany i obowiązujący |
| 2h | ConfigRejected | odrzucenie ogólne |
| 3h | ConfigRejectedInvalidAppSel | kod AppSel niezgłoszony |
| 4h | ConfigRejectedInvalidDataPath | DataPathID niedozwolony dla tej aplikacji |
| 5h | ConfigRejectedInvalidSI | cel integralności sygnału poza zakresem |
| 6h | ConfigRejectedLaneInUse | linia już należy do innej aktywnej ścieżki danych |
| 7h | ConfigRejectedPartialDataPath | nie wszystkie linie ścieżki danych zostały skonfigurowane |
| 8h–Bh | rsvd | — |
| Ch | ConfigInProgress | trwa stosowanie |
| Dh–Fh | custom | producent |
Strona 12h — sterowanie laserem przestrajalnym (na linię)
Ustawianie numeru kanału, ustawianie długości fali/częstotliwości, offset dostrajania precyzyjnego, stan przestrajania i flagi dla każdej linii, z możliwościami na stronie 04h — Mapy przestrajalne.
Strony 20h–2Fh — VDM (Versatile Diagnostics Monitoring)
| Strony | Zawartość | Układ |
|---|---|---|
| 20h–23h | Deskryptory | 2 bajty na wielkość obserwowaną (128–255 → 64 na stronę, 256 łącznie): bajt 0 bity 7–4 identyfikator zestawu progów, 3–0 linia (0 = poziom modułu); bajt 1 typ wielkości obserwowanej (1 wiek lasera · 2 prąd TEC · 3 błąd częstotliwości lasera · 4 temperatura lasera · 5/6 eSNR media/host · 7/8 przejście poziomów PAM4 media/host · 9–16 BER przed FEC min/maks/śr./bieżąca media/host · 17–24 FERC min/maks/śr./bieżąca media/host · 128+ zestaw koherentny) |
| 24h–27h | Próbki | 2 bajty na wielkość obserwowaną, ten sam indeks co jej deskryptor; formaty U16 / S16 / F16 |
| 28h–2Bh | Progi | 8 bajtów na zestaw progów: alarm wysoki, alarm niski, ostrzeżenie wysokie, ostrzeżenie niskie |
| 2Ch–2Fh | Flagi i maski | flagi alarmu/ostrzeżenia na wielkość obserwowaną (2Ch–2Dh) i maski (2Eh–2Fh) |
Format ułamkowy F16: bity 15–11 wykładnik e, bity 10–0 mantysa m; wartość = m × 10^(e − 24). Szczegóły: Metryki VDM i FEC.
Strona 9Fh — blok poleceń CDB
| Bajty | Pole | Zawartość |
|---|---|---|
| 128–129 | CMD ID | identyfikator polecenia, MSB pierwszy (0000h odpytanie o stan · 0040h funkcje modułu · 0041h funkcje zarządzania firmware · 0100h pobranie informacji o firmware · 0101h rozpoczęcie pobierania firmware · 0102h przerwanie · 0103h zapis bloku firmware LPL · 0104h zapis bloku firmware EPL · 0107h zakończenie pobierania · 0109h uruchomienie obrazu · 010Ah zatwierdzenie obrazu) |
| 130–131 | Długość EPL | bajty rozszerzonego payloadu na stronach A0h–AFh |
| 132 | Długość LPL | bajty payloadu lokalnego (0–120) |
| 133 | CdbChkCode | suma kontrolna po 128–132 i LPL: dopełnienie do jedynki (Σ) mod 256 |
| 134 | Długość RPL | długość payloadu odpowiedzi zapisywana przez moduł |
| 135 | RplChkCode | suma kontrolna odpowiedzi |
| 136–255 | LPL | payload lokalny (parametry polecenia / odpowiedź) |
| A0h–AFh 128–255 | EPL | do 2048 bajtów rozszerzonego payloadu |
Zapisanie bajtu 129 (LSB CMD ID) jako ostatniego wyzwala wykonanie; host odpytuje potem bajty dolne 37–38 (CdbStatus), aż CdbIsBusy się wyzeruje.
Powiązane mapy
- Mapa dolnej strony CMIS — stan modułu, flagi, aplikacje.
- Mapa górnych stron CMIS — dane identyfikacyjne, zgłaszanie możliwości, progi.
- Mapa dolnej strony SFF-8636 — 4-liniowy poprzednik.