Mapa rejestrów CMIS: dolna strona · Specyfikacje i normy · Transceivery optyczne i kable · Dokumentacja · CodingBox
CodingBox Dokumentacja

Mapa rejestrów CMIS: dolna strona

Dolne 128 bajtów modułu CMIS (QSFP-DD, OSFP, QSFP112, SFP-DD z CMIS…) są zawsze widoczne i niosą interfejs działania na poziomie modułu: identyfikator i wersję CMIS, stan modułu, flagi i maski, monitory modułu, sterowanie globalne, stan CDB, typ medium, pierwszych osiem deskryptorów aplikacji, wpis hasła oraz selektory banku/strony. Ta strona wymienia je bajt po bajcie i bit po bicie, zgodnie z CMIS 5.x, z odnotowanymi różnicami dla 4.x. Opis: CMIS; strony górne w mapie górnych stron CMIS; strony poszczególnych linii w mapie stron linii CMIS.

Legenda: rsvd = zarezerwowane · custom = specyficzne dla producenta · flagi są zatrzaskiwane, kasowane przy odczycie; bit maski = 1 tłumi wkład flagi do IntL.

Identyfikacja i stan — bajty 0–7

BajtPoleBity / wartości
0IdentyfikatorSFF-8024, tabela 4-1: 18h QSFP-DD · 19h OSFP · 1Eh QSFP+/28/56 z CMIS · 1Fh SFP-DD z CMIS · 20h SFP+ z CMIS (SFP112) · 21h OSFP-XD
1Rewizja CMIS7–4 główna · 3–0 pomocnicza: 30h = 3.0 · 40h = 4.0 · 41h = 4.1 · 50h = 5.0 · 51h–53h = 5.1–5.3
2Charakterystyki pamięci7 MemoryModel (1 = płaska, bez stronicowania) · 6 SteppedConfigOnly (1 = konfigurację ścieżki danych trzeba stosować linia po linii) · 5–4 rsvd · 3–2 MciMaxSpeed: 00 = 400 kHz · 01 = 1 MHz · 1–0 rsvd
3Stan modułu7–4 rsvd · 3–1 ModuleState: 001 ModuleLowPwr · 010 ModulePwrUp · 011 ModuleReady · 100 ModulePwrDn · 101 ModuleFault · 0 InterruptDeasserted (1 = brak oczekującego przerwania)
4Podsumowanie flag banku 0jeden bit na grupę flag obecną na stronach linii banku 0 (zmiana stanu ścieżki danych, flagi Tx/Rx, alarmy) — odczytaj, aby wiedzieć, który bank sprawdzić
5Podsumowanie flag banku 1jak bajt 4, dla linii 9–16
6Podsumowanie flag banku 2linie 17–24
7Podsumowanie flag banku 3linie 25–32

Flagi modułu — bajty 8–11

BajtPoleBity
8Flagi na poziomie modułu7–5 rsvd · 4 CdbCmdComplete2 · 3 CdbCmdComplete1 · 2 DataPathFirmwareFault · 1 ModuleFirmwareFault · 0 ModuleStateChanged
9Flagi temperatury / Vcc7 niskie ostrzeżenie Vcc · 6 wysokie ostrzeżenie Vcc · 5 niski alarm Vcc · 4 wysoki alarm Vcc · 3 niskie ostrzeżenie temperatury · 2 wysokie ostrzeżenie temperatury · 1 niski alarm temperatury · 0 wysoki alarm temperatury
10Flagi Aux1 / Aux27 niskie ostrzeżenie Aux2 · 6 wysokie ostrzeżenie Aux2 · 5 niski alarm Aux2 · 4 wysoki alarm Aux2 · 3 niskie ostrzeżenie Aux1 · 2 wysokie ostrzeżenie Aux1 · 1 niski alarm Aux1 · 0 wysoki alarm Aux1
11Flagi Aux3 / custom7–4 niskie ostrzeżenie / wysokie ostrzeżenie / niski alarm / wysoki alarm monitora custom · 3 niskie ostrzeżenie Aux3 · 2 wysokie ostrzeżenie Aux3 · 1 niski alarm Aux3 · 0 wysoki alarm Aux3
12–13rsvd—

Monitory modułu — bajty 14–25

BajtyWielkość mierzonaFormat
14–15Temperatura16-bitowa ze znakiem, 1/256 °C
16–17Vcc16-bitowa bez znaku, 100 µV
18–19Aux1prąd TEC (ze znakiem, % maksimum ×100/32767) albo temperatura lasera (1/256 °C) — typ zgłoszony na stronie 01h
20–21Aux2temperatura lasera albo prąd TEC
22–23Aux3temperatura lasera albo dodatkowe napięcie zasilania (100 µV)
24–25Monitor customdefiniowany przez producenta

Sterowanie globalne i maski — bajty 26–36

BajtPoleBity
26Sterowanie globalne modułuCMIS 5.x: 7 rsvd · 6 LowPwrAllowRequestHW (1 = pin LPMode może żądać niskiej mocy) · 5 SquelchMethodSelect (0 = squelch OMA, 1 = Pave) · 4 LowPwrRequestSW (1 = żądanie niskiej mocy) · 3 SoftwareReset · 2–0 rsvd · 4.x: 6 = LowPwr (programowe żądanie niskiej mocy) · 4 = ForceLowPwr · 5 i 3 jak wyżej
27Maski flag modułumaski dla bajtu 8 (te same pozycje bitów)
28Maski temperatury / Vccmaski dla bajtu 9
29Maski Aux1 / Aux2maski dla bajtu 10
30Maski Aux3 / custommaski dla bajtu 11
31–36rsvd—

Stan CDB i firmware — bajty 37–41

BajtPoleBity / wartości
37CdbStatus1 (blok poleceń 1)7 CdbIsBusy · 6 CdbHasFailed · 5–0 CdbCommandResult: podczas zajętości — 01h przechwytywanie polecenia, 02h sprawdzanie, 03h wykonywanie; przy sukcesie — 01h sukces, 02h brak odpowiedzi? ; przy niepowodzeniu — 01h nieznane polecenie, 02h parametr poza zakresem, 03h błąd długości, 04h błąd sumy kontrolnej, 05h błąd hasła, 06h niewłączone, 07h przerwane? … (zobacz CMIS, tabela 8-20)
38CdbStatus2 (blok poleceń 2)ten sam układ
39Aktywny firmware modułu — głównawersja działającego obrazu
40Aktywny firmware modułu — pomocnicza—
41ModuleFaultCause00h brak usterki · 01h ucieczka TEC · 02h uszkodzona pamięć danych · 03h uszkodzona pamięć programu · 04h–1Fh rsvd · 20h–FFh custom
42–63rsvd—
64–84rsvd / customzależnie od rewizji

Typ medium i aplikacje — bajty 85–117

BajtPoleZawartość
85MediaType00h niezdefiniowany · 01h MMF (SFF-8024, tabela 4-6) · 02h SMF (4-7) · 03h miedź pasywna (4-8) · 04h kabel aktywny (4-9) · 05h BASE-T (4-10) · 06h–3Fh rsvd · 40h–8Fh custom
86–89Deskryptor aplikacji 1bajt 86 HostInterfaceID (SFF-8024, tabela 4-5) · 87 MediaInterfaceID (tabela wg bajtu 85) · 88 bity 7–4 HostLaneCount, 3–0 MediaLaneCount · 89 HostLaneAssignmentOptions — bit n = 1: linia n+1 może być pierwszą linią ścieżki danych tej aplikacji
90–93Deskryptor aplikacji 2ten sam układ
94–97Deskryptor aplikacji 3—
98–101Deskryptor aplikacji 4—
102–105Deskryptor aplikacji 5—
106–109Deskryptor aplikacji 6—
110–113Deskryptor aplikacji 7—
114–117Deskryptor aplikacji 8—

FFh w pierwszym bajcie deskryptora kończy listę. Deskryptory 9–15 są kontynuowane na stronie 01h, bajty 223–250; ich opcje przypisania linii medium są na stronie 01h 176–190. Przykład: 12 1C 84 01 = 400GAUI-8 C2M ↔ 400GBASE-DR4, 8 linii hosta / 4 linie medium, start od linii hosta 1; 0E 14 21 55 = 100GAUI-2 ↔ 100GBASE-DR, 2/1 linii, może startować na liniach 1, 3, 5, 7 (breakout 4 × 100G).

Hasła i selektory — bajty 118–127

BajtPoleZawartość
118–121Wpis zmiany hasładefiniowany przez producenta
122–125Wpis hasładefiniowany przez producenta — Rodzaje zabezpieczenia przed zapisem
126BankSelect00h bank 0 (linie 1–8) · 01h bank 1 (9–16) · 02h bank 2 · 03h bank 3; dotyczy stron bankowanych 10h–3Fh
127PageSelect00h dane identyfikacyjne · 01h zgłaszanie możliwości · 02h progi · 04h możliwości lasera · 10h sterowanie liniami · 11h stan linii · 12h sterowanie przestrajaniem · 13h–14h diagnostyka · 20h–2Fh VDM · 9Fh CDB · A0h–AFh CDB EPL · 80h–8Fh… custom

Odczyt dolnej strony QSFP-DD w praktyce

  1. Bajt 0 = 18h, bajt 1 = 50h → QSFP-DD, CMIS 5.0; bajt 2 bit 7 = 0 → pamięć stronicowana.
  2. Bajt 3 = 03h → ModuleLowPwr (001 w bitach 3–1, przerwanie dezaktywowane) — normalne zaraz po włożeniu; 07h → ModuleReady.
  3. Bajt 85 = 02h → tabela medium SMF; bajty 86–89 → pierwsza aplikacja (np. DR4).
  4. Bajty 8–11 → czy ustawiona jest jakaś flaga modułu? Odczytaj dwukrotnie, aby wyczyścić historię.
  5. Bajty 14–17 → temperatura i Vcc.
  6. Aby opuścić tryb niskiej mocy w 5.x: wyczyść bajt 26 bit 4 (LowPwrRequestSW) i upewnij się, że pin LPMode jest niski albo bit 6 wynosi 0; następnie poczekaj, aż bajt 3 osiągnie 07h.

Powiązane mapy


Jeśli znajdziesz nieścisłość lub błąd w tym materiale, zaznacz odpowiedni fragment i naciśnij Ctrl+Enter, aby .