CodingBox Документация

Карта регистров CMIS: канальные страницы (10h, 11h, VDM, CDB)

Всё поканальное в CMIS-модуле живёт на банковых страницах: банк b (нижний байт 126) покрывает каналы 8b+1 … 8b+8. Страница 10h — куда пишет хост: инициализация тракта, Tx disable, полярность, squelch, эквализация и staged control sets, выбирающие применения; страница 11h — что он читает обратно: состояния трактов, поканальные флаги, мониторы, статус конфигурации и active control set. Страницы 20h–2Fh несут VDM, 9Fh — почтовый ящик CDB. Здесь перечислены ключевые байты по CMIS 5.x (позиции части полей целостности сигнала различаются между 4.x и 5.x; они даны диапазонами). Пояснения: CMIS.

Обозначения: в поканальных байтах бит n−1 = канал n (бит 0 = канал 1 … бит 7 = канал 8); ниббловые поля используют биты 7–4 для нечётного и 3–0 для чётного канала каждой пары, если не сказано иное · резерв = зарезервировано.

Страница 10h — управление каналами (хост пишет)

БайтПолеБиты / содержимое
128DPDeinitLaneбит на канал: 1 = деинициализировать (перевести тракт канала в DPDeactivated)
129резерв
130OutputDisableTxбит на канал: 1 = выход Tx (лазер) выключен
131PolarityFlipTxбит на канал: инвертировать электрический вход Tx
132SquelchDisableTxбит на канал: 1 = отключить автоматический squelch Tx
133ForceSquelchTxбит на канал: 1 = принудительный squelch Tx
134резерв
135AdaptiveInputEqEnableTxбит на канал: 1 = адаптивная входная эквализация со стороны хоста
136AdaptiveInputEqRecallTxбит на канал: вызвать сохранённую настройку EQ (4.x: заморозить)
137резерв
138–141FixedInputEqTargetTxниббл на канал (138: каналы 1–2 … 141: каналы 7–8): код фиксированной входной EQ 0–15
142резерв
143ApplyDPInitLaneбит на канал: 1 = применить Staged Control Set 0 и запустить DPInit
144ApplyImmediateLaneбит на канал: применить SCS0 без переинициализации тракта
145–152Staged Control Set 0 — конфигурация трактапо байту на канал (145 = канал 1 … 152 = канал 8): биты 7–4 AppSelCode (1–15 = индекс дескриптора, 0 = нет) · 3–1 DataPathID (первый канал хоста тракта − 1) · 0 ExplicitControl (1 = использовать настройки SI ниже вместо умолчаний применения)
153SCS0 AdaptiveInputEqEnableTxбит на канал
154SCS0 AdaptiveInputEqRecallTxбит на канал
155резерв
156–159SCS0 FixedInputEqTargetTxниббл на канал
160SCS0 CDREnableTxбит на канал: 1 = CDR Tx включён, 0 = обход
161SCS0 CDREnableRxбит на канал
162–165SCS0 OutputEqPreCursorTargetRxниббл на канал
166–169SCS0 OutputEqPostCursorTargetRxниббл на канал
170–173SCS0 OutputAmplitudeTargetRxниббл на канал
174–177резерв
178–210Staged Control Set 1раскладка как у 145–177 (178–185 конфигурация тракта, 186–210 цели SI)
211–255Управление выходами Rx и маскиOutputDisableRx, PolarityFlipRx, SquelchDisableRx по каналам; маски флагов страницы 11h (позиции байтов по ревизии)

Процесс выбора: записать 145–152 → выставить 143 для каналов → опрашивать страницу 11h 202–205 на ConfigStatus → читать 128–131 на состояние тракта — CMIS, Скорость и режимы.

Страница 11h — состояние каналов (хост читает)

БайтПолеБиты / содержимое
128DPStateHostLane 1–23–0 состояние канала 1 · 7–4 состояние канала 2 (таблица кодов ниже)
129DPStateHostLane 3–4как выше
130DPStateHostLane 5–6
131DPStateHostLane 7–8
132–133резерв
134DPStateChangedFlagбит на канал; защёлкивается
135TxFaultFlagбит на канал
136TxLOSFlagбит на канал (LOS входа со стороны хоста)
137TxCDRLOLFlagбит на канал
138TxAdaptiveInputEqFailFlagбит на канал
139Мощность Tx верхняя авариябит на канал
140Мощность Tx нижняя авария
141Мощность Tx верхнее предупреждение
142Мощность Tx нижнее предупреждение
143Ток Tx верхняя авария
144Ток Tx нижняя авария
145Ток Tx верхнее предупреждение
146Ток Tx нижнее предупреждение
147RxLOSFlagбит на канал (LOS со стороны среды)
148RxCDRLOLFlagбит на канал
149Мощность Rx верхняя авария
150Мощность Rx нижняя авария
151Мощность Rx верхнее предупреждение
152Мощность Rx нижнее предупреждение
153OutputStatusRxбит на канал: 1 = выход Rx включён/валиден
154–169Мониторы мощности Txпо 2 байта на канал (154–155 канал 1 … 168–169 канал 8), беззнаковые, 0,1 мкВт
170–185Мониторы тока Txпо 2 байта на канал, 2 мкА × множитель
186–201Мониторы мощности Rxпо 2 байта на канал, 0,1 мкВт
202ConfigStatus каналов 1–23–0 канал 1 · 7–4 канал 2 (таблица кодов ниже)
203ConfigStatus каналов 3–4
204ConfigStatus каналов 5–6
205ConfigStatus каналов 7–8
206–213Active Control Set — конфигурация трактапо байту на канал, раскладка как у 145–152 страницы 10h: действующая конфигурация
214–234Active Control Set — настройки SIвключение/вызов адаптивной EQ, фиксированная EQ, CDR Tx/Rx, пре-/посткурсор Rx, амплитуда Rx — зеркало раскладки SCS
235DPInitPendingбит на канал: 1 = подготовленная конфигурация ждёт ApplyDPInit
236–255резерв / флаги по ревизии

Коды состояния тракта (байты 128–131)

КодСостояниеСмысл
1hDPDeactivatedканал простаивает; Tx выключен
2hDPInitинициализация с применённой конфигурацией
3hDPDeinitразборка
4hDPActivatedTx включён, данные идут
5hDPTxTurnOnлазер включается
6hDPTxTurnOffлазер выключается
7hDPInitializedсконфигурирован, ждёт включения Tx
0h, 8h–Fhрезерв

Коды ConfigStatus (байты 202–205)

КодСтатусСмысл
0hConfigUndefinedконфигурация ещё не применялась
1hConfigSuccessподготовленный набор принят и действует
2hConfigRejectedобщий отказ
3hConfigRejectedInvalidAppSelкод AppSel не объявлен
4hConfigRejectedInvalidDataPathDataPathID недопустим для этого применения
5hConfigRejectedInvalidSIцель целостности сигнала вне диапазона
6hConfigRejectedLaneInUseканал уже часть другого активного тракта
7hConfigRejectedPartialDataPathсконфигурированы не все каналы тракта
8h–Bhрезерв
ChConfigInProgressприменяется
Dh–Fhвендорские

Страница 12h — управление перестраиваемым лазером (по каналам)

Установка номера канала, установка длины волны/частоты, смещение тонкой подстройки, статус перестройки и флаги по каналам, возможности — на странице 04h — Карты tunable.

Страницы 20h–2Fh — VDM (Versatile Diagnostics Monitoring)

СтраницыСодержимоеРаскладка
20h–23hДескрипторыпо 2 байта на наблюдаемую (128–255 → 64 на страницу, 256 всего): байт 0 биты 7–4 ID набора порогов, 3–0 канал (0 = уровень модуля); байт 1 тип наблюдаемой (1 возраст лазера · 2 ток TEC · 3 ошибка частоты лазера · 4 температура лазера · 5/6 eSNR среда/хост · 7/8 переходы уровней PAM4 среда/хост · 9–16 BER до FEC мин/макс/среднее/текущее среда/хост · 17–24 FERC мин/макс/среднее/текущее среда/хост · 128+ когерентный набор)
24h–27hВыборкипо 2 байта на наблюдаемую, тот же индекс, что у дескриптора; форматы U16 / S16 / F16
28h–2BhПорогипо 8 байт на набор порогов: верхняя авария, нижняя авария, верхнее предупреждение, нижнее предупреждение
2Ch–2FhФлаги и маскифлаги аварий/предупреждений по наблюдаемым (2Ch–2Dh) и маски (2Eh–2Fh)

Формат отношений F16: биты 15–11 экспонента e, биты 10–0 мантисса m; значение = m × 10^(e − 24). Детали: VDM и метрики FEC.

Страница 9Fh — командный блок CDB

БайтыПолеСодержимое
128–129CMD IDидентификатор команды, старший байт первым (0000h запрос статуса · 0040h возможности модуля · 0041h возможности управления прошивкой · 0100h сведения о прошивке · 0101h начать загрузку прошивки · 0102h прервать · 0103h записать блок прошивки LPL · 0104h записать блок прошивки EPL · 0107h завершить загрузку · 0109h запустить образ · 010Ah зафиксировать образ)
130–131Длина EPLбайт расширенной нагрузки на страницах A0h–AFh
132Длина LPLбайт локальной нагрузки (0–120)
133CdbChkCodeконтрольная сумма по 128–132 и LPL: дополнение до единицы (Σ) mod 256
134Длина RPLдлина ответной нагрузки, записываемая модулем
135RplChkCodeконтрольная сумма ответа
136–255LPLлокальная нагрузка (параметры команды / ответ)
A0h–AFh 128–255EPLдо 2048 байт расширенной нагрузки

Запись байта 129 (младшего байта CMD ID) последним запускает исполнение; затем хост опрашивает нижние байты 37–38 (CdbStatus), пока не сбросится CdbIsBusy.

Связанные карты