Bản đồ thanh ghi CMIS: các trang làn (10h, 11h, VDM, CDB)
Mọi thứ theo từng làn trong một module CMIS đều nằm trên các trang theo bank: bank b (byte dưới 126) bao phủ các làn 8b+1 … 8b+8. Trang 10h là nơi host ghi vào — khởi tạo luồng dữ liệu, Tx disable, cực tính, squelch, cân bằng tín hiệu và các staged control set chọn ứng dụng; trang 11h là nơi host đọc lại — trạng thái luồng dữ liệu, cờ theo từng làn, giám sát, trạng thái cấu hình và active control set. Các trang 20h–2Fh chứa VDM và 9Fh là hộp thư CDB. Trang này liệt kê các byte quan trọng, biên soạn theo CMIS 5.x (vị trí byte của một số trường toàn vẹn tín hiệu khác nhau giữa 4.x và 5.x; những trường đó được cho theo dạng khoảng). Diễn giải: CMIS.
Chú giải: byte theo từng làn dùng bit n−1 cho làn n (bit 0 = làn 1 … bit 7 = làn 8); trường nibble dùng bit 7–4 cho làn lẻ và 3–0 cho làn chẵn của mỗi cặp trừ khi có ghi chú khác · dự trữ = để dành, chưa dùng.
Trang 10h — điều khiển làn (host ghi)
| Byte | Trường | Bit / nội dung |
|---|---|---|
| 128 | DPDeinitLane | bit theo từng làn: 1 = hủy khởi tạo (đưa luồng dữ liệu của làn về DPDeactivated) |
| 129 | dự trữ | — |
| 130 | OutputDisableTx | bit theo từng làn: 1 = tắt đầu ra Tx (laser) |
| 131 | PolarityFlipTx | bit theo từng làn: đảo cực đầu vào điện của Tx |
| 132 | SquelchDisableTx | bit theo từng làn: 1 = tắt squelch Tx tự động |
| 133 | ForceSquelchTx | bit theo từng làn: 1 = ép squelch Tx |
| 134 | dự trữ | — |
| 135 | AdaptiveInputEqEnableTx | bit theo từng làn: 1 = cân bằng đầu vào thích ứng phía host |
| 136 | AdaptiveInputEqRecallTx | bit theo từng làn: gọi lại cài đặt EQ đã lưu (4.x: đóng băng) |
| 137 | dự trữ | — |
| 138–141 | FixedInputEqTargetTx | nibble theo từng làn (138: làn 1–2 … 141: làn 7–8): mã EQ đầu vào cố định 0–15 |
| 142 | dự trữ | — |
| 143 | ApplyDPInitLane | bit theo từng làn: 1 = áp dụng Staged Control Set 0 và chạy DPInit |
| 144 | ApplyImmediateLane | bit theo từng làn: áp dụng SCS0 mà không khởi tạo lại luồng dữ liệu |
| 145–152 | Staged Control Set 0 — cấu hình luồng dữ liệu | một byte trên mỗi làn (145 = làn 1 … 152 = làn 8): bit 7–4 AppSelCode (1–15 = chỉ số descriptor, 0 = không có) · 3–1 DataPathID (làn host đầu tiên của luồng dữ liệu − 1) · 0 ExplicitControl (1 = dùng các cài đặt SI bên dưới thay vì mặc định của ứng dụng) |
| 153 | SCS0 AdaptiveInputEqEnableTx | bit theo từng làn |
| 154 | SCS0 AdaptiveInputEqRecallTx | bit theo từng làn |
| 155 | dự trữ | — |
| 156–159 | SCS0 FixedInputEqTargetTx | nibble theo từng làn |
| 160 | SCS0 CDREnableTx | bit theo từng làn: 1 = bật CDR Tx, 0 = bypass |
| 161 | SCS0 CDREnableRx | bit theo từng làn |
| 162–165 | SCS0 OutputEqPreCursorTargetRx | nibble theo từng làn |
| 166–169 | SCS0 OutputEqPostCursorTargetRx | nibble theo từng làn |
| 170–173 | SCS0 OutputAmplitudeTargetRx | nibble theo từng làn |
| 174–177 | dự trữ | — |
| 178–210 | Staged Control Set 1 | bố cục giống 145–177 (178–185 cấu hình luồng dữ liệu, 186–210 các mục tiêu SI) |
| 211–255 | Điều khiển và mask đầu ra Rx | OutputDisableRx, PolarityFlipRx, SquelchDisableRx theo từng làn; mask cờ cho trang 11h (vị trí byte theo từng phiên bản) |
Quy trình chọn: ghi 145–152 → đặt bit 143 cho các làn → hỏi vòng trang 11h 202–205 để lấy ConfigStatus → đọc 128–131 để biết trạng thái luồng dữ liệu — CMIS, Tốc độ & tốc độ truyền.
Trang 11h — trạng thái làn (host đọc)
| Byte | Trường | Bit / nội dung |
|---|---|---|
| 128 | DPStateHostLane 1–2 | 3–0 trạng thái làn 1 · 7–4 trạng thái làn 2 (bảng mã bên dưới) |
| 129 | DPStateHostLane 3–4 | như trên |
| 130 | DPStateHostLane 5–6 | — |
| 131 | DPStateHostLane 7–8 | — |
| 132–133 | dự trữ | — |
| 134 | DPStateChangedFlag | bit theo từng làn; được chốt lại |
| 135 | TxFaultFlag | bit theo từng làn |
| 136 | TxLOSFlag | bit theo từng làn (LOS đầu vào phía host) |
| 137 | TxCDRLOLFlag | bit theo từng làn |
| 138 | TxAdaptiveInputEqFailFlag | bit theo từng làn |
| 139 | Báo động cao công suất Tx | bit theo từng làn |
| 140 | Báo động thấp công suất Tx | — |
| 141 | Cảnh báo cao công suất Tx | — |
| 142 | Cảnh báo thấp công suất Tx | — |
| 143 | Báo động cao dòng phân cực Tx | — |
| 144 | Báo động thấp dòng phân cực Tx | — |
| 145 | Cảnh báo cao dòng phân cực Tx | — |
| 146 | Cảnh báo thấp dòng phân cực Tx | — |
| 147 | RxLOSFlag | bit theo từng làn (LOS phía media) |
| 148 | RxCDRLOLFlag | bit theo từng làn |
| 149 | Báo động cao công suất Rx | — |
| 150 | Báo động thấp công suất Rx | — |
| 151 | Cảnh báo cao công suất Rx | — |
| 152 | Cảnh báo thấp công suất Rx | — |
| 153 | OutputStatusRx | bit theo từng làn: 1 = đầu ra Rx được bật/hợp lệ |
| 154–169 | Giám sát công suất Tx | 2 byte mỗi làn (154–155 làn 1 … 168–169 làn 8), không dấu, 0,1 µW |
| 170–185 | Giám sát dòng phân cực Tx | 2 byte mỗi làn, 2 µA × hệ số nhân |
| 186–201 | Giám sát công suất Rx | 2 byte mỗi làn, 0,1 µW |
| 202 | ConfigStatus làn 1–2 | 3–0 làn 1 · 7–4 làn 2 (bảng mã bên dưới) |
| 203 | ConfigStatus làn 3–4 | — |
| 204 | ConfigStatus làn 5–6 | — |
| 205 | ConfigStatus làn 7–8 | — |
| 206–213 | Active Control Set — cấu hình luồng dữ liệu | một byte trên mỗi làn, bố cục giống trang 10h 145–152: cấu hình thực sự đang có hiệu lực |
| 214–234 | Active Control Set — cài đặt SI | bật/gọi lại EQ thích ứng, EQ cố định, CDR Tx/Rx, pre/post-cursor của Rx, biên độ Rx — phản chiếu bố cục của SCS |
| 235 | DPInitPending | bit theo từng làn: 1 = có một cấu hình staged đang chờ ApplyDPInit |
| 236–255 | dự trữ / cờ theo từng phiên bản | — |
Mã trạng thái luồng dữ liệu (byte 128–131)
| Mã | Trạng thái | Ý nghĩa |
|---|---|---|
| 1h | DPDeactivated | làn đang chờ; Tx tắt |
| 2h | DPInit | đang khởi tạo với cấu hình đã áp dụng |
| 3h | DPDeinit | đang dỡ bỏ |
| 4h | DPActivated | Tx bật, dữ liệu đang truyền |
| 5h | DPTxTurnOn | laser đang bật |
| 6h | DPTxTurnOff | laser đang tắt |
| 7h | DPInitialized | đã cấu hình, đang chờ bật Tx |
| 0h, 8h–Fh | dự trữ | — |
Mã ConfigStatus (byte 202–205)
| Mã | Trạng thái | Ý nghĩa |
|---|---|---|
| 0h | ConfigUndefined | chưa áp dụng cấu hình nào |
| 1h | ConfigSuccess | tập staged được chấp nhận và đang có hiệu lực |
| 2h | ConfigRejected | từ chối chung |
| 3h | ConfigRejectedInvalidAppSel | mã AppSel không được quảng bá |
| 4h | ConfigRejectedInvalidDataPath | DataPathID không được phép cho ứng dụng đó |
| 5h | ConfigRejectedInvalidSI | mục tiêu toàn vẹn tín hiệu nằm ngoài phạm vi |
| 6h | ConfigRejectedLaneInUse | làn đã thuộc một luồng dữ liệu đang hoạt động khác |
| 7h | ConfigRejectedPartialDataPath | không phải mọi làn của luồng dữ liệu đều được cấu hình |
| 8h–Bh | dự trữ | — |
| Ch | ConfigInProgress | đang áp dụng |
| Dh–Fh | riêng nhà sản xuất | nhà sản xuất |
Trang 12h — điều khiển laser điều chỉnh được (theo từng làn)
Đặt số kênh, đặt bước sóng/tần số, offset tinh chỉnh, trạng thái tinh chỉnh và cờ theo từng làn, với khả năng hỗ trợ ở trang 04h — Bản đồ tunable.
Trang 20h–2Fh — VDM (Versatile Diagnostics Monitoring)
| Trang | Nội dung | Bố cục |
|---|---|---|
| 20h–23h | Descriptor | 2 byte trên mỗi đại lượng quan sát (128–255 → 64 trên mỗi trang, 256 tổng cộng): byte 0 bit 7–4 ID bộ ngưỡng, 3–0 làn (0 = mức module); byte 1 loại đại lượng quan sát (1 tuổi laser · 2 dòng TEC · 3 sai số tần số laser · 4 nhiệt độ laser · 5/6 eSNR phía media/host · 7/8 chuyển mức PAM4 phía media/host · 9–16 BER trước FEC nhỏ nhất/lớn nhất/trung bình/hiện tại, phía media/host · 17–24 FERC nhỏ nhất/lớn nhất/trung bình/hiện tại, phía media/host · 128+ bộ coherent) |
| 24h–27h | Mẫu | 2 byte trên mỗi đại lượng quan sát, cùng chỉ số với descriptor của nó; định dạng U16 / S16 / F16 |
| 28h–2Bh | Ngưỡng | 8 byte trên mỗi bộ ngưỡng: báo động cao, báo động thấp, cảnh báo cao, cảnh báo thấp |
| 2Ch–2Fh | Cờ và mask | cờ báo động/cảnh báo theo từng đại lượng quan sát (2Ch–2Dh) và mask (2Eh–2Fh) |
Định dạng tỷ số F16: bit 15–11 là số mũ e, bit 10–0 là phần định trị (mantissa) m; giá trị = m × 10^(e − 24). Chi tiết: Chỉ số VDM & FEC.
Trang 9Fh — khối lệnh CDB
| Byte | Trường | Nội dung |
|---|---|---|
| 128–129 | CMD ID | định danh lệnh, byte cao trước (MSB first) (0000h truy vấn trạng thái · 0040h tính năng module · 0041h tính năng quản lý firmware · 0100h lấy thông tin firmware · 0101h bắt đầu tải firmware xuống · 0102h hủy · 0103h ghi khối firmware qua LPL · 0104h ghi khối firmware qua EPL · 0107h hoàn tất tải xuống · 0109h chạy ảnh · 010Ah xác nhận ảnh) |
| 130–131 | Độ dài EPL | số byte payload mở rộng trong các trang A0h–AFh |
| 132 | Độ dài LPL | số byte payload cục bộ (0–120) |
| 133 | CdbChkCode | checksum trên 128–132 và LPL: bù một (one's complement) của (Σ) mod 256 |
| 134 | Độ dài RPL | độ dài payload trả lời do module ghi vào |
| 135 | RplChkCode | checksum của phản hồi |
| 136–255 | LPL | payload cục bộ (tham số lệnh / phản hồi) |
| A0h–AFh 128–255 | EPL | tối đa 2048 byte payload mở rộng |
Ghi byte 129 (LSB của CMD ID) sau cùng sẽ kích hoạt thực thi; sau đó host hỏi vòng byte dưới 37–38 (CdbStatus) cho tới khi CdbIsBusy được xóa.
Các bản đồ liên quan
- Bản đồ trang dưới của CMIS — trạng thái module, cờ, ứng dụng.
- Bản đồ các trang trên của CMIS — nhận dạng, quảng bá, ngưỡng.
- Bản đồ trang dưới của SFF-8636 — phiên bản tiền nhiệm 4 làn.