Ngưỡng, báo động và cờ
Module không chỉ báo cáo giá trị — nó còn mang theo giới hạn dùng để đánh giá các giá trị đó, và bật cờ khi một giới hạn bị vượt qua. Switch đọc toàn bộ điều này từ bộ nhớ của module; nó không tự bịa ra bất cứ điều gì. Đó là lý do vì sao hai module trông giống hệt nhau có thể hoạt động khác nhau trên cùng một liên kết.
Bốn ngưỡng cho mỗi tham số
Mỗi tham số DDM có bốn giới hạn được lập trình sẵn từ nhà máy:
| Ngưỡng | Ý nghĩa |
|---|---|
| Báo động cao | giá trị vượt trên mức này → module có thể đang hỏng hoặc liên kết không dùng được |
| Cảnh báo cao | đang tiến gần giới hạn cao |
| Cảnh báo thấp | đang tiến gần giới hạn thấp |
| Báo động thấp | giá trị dưới mức này → ví dụ Rx thấp hơn độ nhạy bộ thu |
Chúng xác định ba vùng: bình thường (giữa hai mức cảnh báo), cảnh báo (giữa một mức cảnh báo và báo động tương ứng) và báo động (vượt ngoài một mức báo động). Một module 10 km bình thường có thể xuất xưởng với ngưỡng Rx khoảng +0,5 / −2 / −18 / −22 dBm (HA / HW / LW / LA) — nhưng mỗi nhà sản xuất tự đặt ngưỡng riêng.
Nơi chúng được lưu — SFF-8472
Byte 0–39 của A2h, hai byte cho mỗi ngưỡng, cùng đơn vị với các đại lượng giám sát (Tham số và đơn vị):
| Byte | Tham số (HA, LA, HW, LW) |
|---|---|
| 0–7 | Nhiệt độ |
| 8–15 | Vcc |
| 16–23 | Dòng phân cực Tx |
| 24–31 | Công suất Tx |
| 32–39 | Công suất Rx |
| 40–55 | ngưỡng mở rộng tùy chọn (nhiệt độ laser, TEC) |
Thứ tự trong mỗi nhóm là báo động cao, báo động thấp, cảnh báo cao, cảnh báo thấp.
Cờ — thứ mà host thực sự dựa vào để hành động
| Byte A2h | Nội dung |
|---|---|
| 110 | trạng thái/điều khiển: trạng thái TX_DISABLE, trạng thái RS0/RS1, TX_FAULT, RX_LOS, data-ready |
| 112–113 | cờ báo động — một bit cho mỗi tham số, cao và thấp |
| 116–117 | cờ cảnh báo — một bit cho mỗi tham số, cao và thấp |
Module bật một cờ khi giá trị vượt qua ngưỡng của nó và tắt cờ khi giá trị trở lại bình thường. Một host hiển thị “công suất Rx ở mức báo động thấp” thực chất chỉ đang đọc bit 1 của byte 113 — không hơn không kém. Việc cờ có được triển khai hay không được khai báo tại A0h byte 93 bit 7.
QSFP và CMIS
Cùng một mô hình được áp dụng, kèm theo cờ theo từng làn:
- SFF-8636 — ngưỡng của module trên trang trên 03h byte 128–175 (nhiệt độ, Vcc), ngưỡng kênh byte 176–223 (công suất Rx, dòng phân cực Tx, công suất Tx); cờ nằm trong trang dưới byte 3–14 (LOS/fault/LOL trong 3–5, báo động nhiệt độ và Vcc trong 6–7, báo động công suất và dòng theo từng làn trong 9–14).
- CMIS — ngưỡng của module trên trang 02h, ngưỡng làn nằm tiếp theo trên cùng trang; cờ của module trong byte dưới 8–13, cờ làn trên trang 11h byte 134–153.
Vì sao “không báo động” không có nghĩa là “ổn”
Ngưỡng là ý kiến của nhà sản xuất module về giới hạn của chính nó, không phải của liên kết. Các hệ quả thường gặp:
- Ngưỡng rộng rãi — một module có báo động Rx thấp đặt ở −24 dBm sẽ vẫn im lặng trên một bộ thu vốn đã lỗi ở −20 dBm.
- Tx giả — một giá trị Tx không đổi sẽ không bao giờ vượt qua được một ngưỡng.
- Quỹ công suất tuyến nói về dự trữ, không phải giới hạn: một liên kết ở −17 dBm với cảnh báo −18 dBm có 1 dB dự trữ và sẽ lỗi ngay tại đầu nối bẩn đầu tiên.
Vì vậy, cảnh báo vận hành nên dựa trên giá trị tham chiếu và mức chênh lệch của riêng bạn (Giám sát), còn cờ của module chỉ là lớp phòng vệ cuối cùng.
Chỉnh sửa ngưỡng
Vì ngưỡng nằm trong bộ nhớ của module, chúng có thể được đọc và ghi lại. Các trường hợp sử dụng hợp lý: khôi phục các giới hạn hợp lý cho một module bị lập trình toàn số 0, đồng bộ hóa cả một đội thiết bị, hoặc đặt một cảnh báo chặt hơn để được thông báo sớm hơn. Vùng A2h được bảo vệ thường yêu cầu mật khẩu của module.
Trong CodingBox
Màn hình DDM vẽ trực tiếp các ngưỡng báo động và cảnh báo của module lên biểu đồ và tô màu giá trị theo từng vùng. Byte ngưỡng 0–39 và cờ 112–117 hiển thị và có thể chỉnh sửa được trong EEPROM editor, với checksum CC_DMI (byte 95) được tính lại khi ghi.
Vị trí byte chính xác của mọi ngưỡng, cờ và mask: Bản đồ A2h của SFF-8472, trang dưới của SFF-8636 và trang 03h, trang 02h của CMIS và trang 11h.