Hiệu chuẩn trong và ngoài
Một photodiode không xuất ra dBm và một thermistor không xuất ra °C. Ở đâu đó, giá trị thô từ cảm biến phải được chuyển thành một giá trị kỹ thuật — và SFF-8472 cho phép việc đó xảy ra hoặc bên trong module, hoặc trên host, dùng các hằng số do module cung cấp. Làm sai bước này là lý do thường gặp khiến một switch hiển thị giá trị DDM vô lý cho một module vẫn hoạt động hoàn toàn bình thường.
Hai chế độ hiệu chuẩn
| Chế độ | Được khai báo bởi | Ai chuyển đổi | Byte giám sát chứa gì |
|---|---|---|---|
| Nội bộ | A0h byte 92 bit 5 | vi điều khiển của module | giá trị cuối cùng theo đơn vị chuẩn (1/256 °C, 100 µV, 2 µA, 0,1 µW) |
| Bên ngoài | A0h byte 92 bit 4 | host | số đếm A/D thô; host áp dụng các hằng số từ A2h 56–95 |
Hầu như mọi module hiện đại đều được hiệu chuẩn nội. Module hiệu chuẩn ngoài là các thiết kế cũ hơn hoặc được tối ưu chi phí; giá trị của chúng đọc như rác trên các host bỏ qua bước chuyển đổi.
Hằng số hiệu chuẩn ngoài — byte 56–95 của A2h
| Byte | Hằng số | Định dạng | Áp dụng cho |
|---|---|---|---|
| 56–75 | Rx_PWR(4) … Rx_PWR(0) | năm số thực dấu phẩy động đơn (IEEE-754) | công suất Rx (đa thức bậc 4) |
| 76–77 | độ dốc Tx_I | fixed-point 8.8 không dấu | dòng phân cực Tx |
| 78–79 | offset Tx_I | 16-bit có dấu | dòng phân cực Tx |
| 80–81 | độ dốc Tx_PWR | 8.8 không dấu | công suất Tx |
| 82–83 | offset Tx_PWR | 16-bit có dấu | công suất Tx |
| 84–85 | độ dốc T | 8.8 không dấu | nhiệt độ |
| 86–87 | offset T | 16-bit có dấu | nhiệt độ |
| 88–89 | độ dốc V | 8.8 không dấu | Vcc |
| 90–91 | offset V | 16-bit có dấu | Vcc |
| 92–94 | dự trữ | — | — |
| 95 | CC_DMI | checksum của byte 0–94 | — |
Các công thức chuyển đổi
Rx_PWR (µW) = Rx4·raw⁴ + Rx3·raw³ + Rx2·raw² + Rx1·raw + Rx0
Tx_I (µA) = Tx_I_slope · raw + Tx_I_offset
Tx_PWR (0.1 µW) = Tx_PWR_slope · raw + Tx_PWR_offset
T (1/256 °C)= T_slope · raw + T_offset
V (100 µV) = V_slope · raw + V_offset
Với một module hiệu chuẩn nội, các hằng số này bị bỏ qua; nhiều nhà sản xuất vẫn điền vào đó các giá trị đồng nhất (độ dốc 1,0, offset 0, đa thức Rx là 0,0,0,1,0) để nếu host vẫn áp dụng chúng thì kết quả vẫn đúng.
Trung bình so với OMA
Bit 3 của byte 92 trong A0h cho biết công suất Rx được biểu diễn theo cách nào: công suất trung bình (1) hoặc OMA — biên độ điều chế quang (0). Gần như mọi module đều báo cáo công suất trung bình; OMA xuất hiện trên một số quang học Ethernet đa mode, nơi tiêu chuẩn quy định độ nhạy theo cách đó. So sánh một con số OMA với một spec độ nhạy tính theo công suất trung bình có thể gây hiểu sai tới ~3 dB.
Dấu hiệu của sự cố hiệu chuẩn
| Bạn thấy gì | Nguyên nhân khả dĩ |
|---|---|
| Nhiệt độ 0 °C hoặc −128 °C, Vcc 0,00 V | host đọc số đếm thô từ một module hiệu chuẩn ngoài mà không chuyển đổi |
| Công suất Rx cao vô lý (+10 dBm) hoặc luôn là −40 dBm | giả định sai chế độ hiệu chuẩn, hoặc các hằng số bị đặt về 0 |
| Giá trị khác nhau rất nhiều giữa hai model switch dùng cùng một module | một host tôn trọng byte 92, host kia mặc định là hiệu chuẩn nội |
| Công suất Tx giống hệt nhau trên mọi module trong một lô | không phải do hiệu chuẩn — đó là một Tx hằng số (Mức DDM) |
Trong CodingBox
CodingBox đọc byte 92, áp dụng các hằng số hiệu chuẩn ngoài khi module khai báo chúng, và hiển thị cả giá trị thô lẫn đã chuyển đổi, nhờ đó một module mà switch hiển thị sai có thể được đánh giá ngay trên bàn thử. Khối hằng số 56–95 có thể chỉnh sửa trong EEPROM editor, với CC_DMI được tính lại tự động — hữu ích khi sửa các module có vùng hiệu chuẩn bị ghi đè.
Các hằng số này được tạo ra như thế nào tại trạm kiểm tra ở nhà máy, và firmware lưu chúng ở đâu: Sản xuất và kiểm tra, Bộ điều khiển và firmware.