CMI码解析:它真的是我国PCM数字设备间的标准传输接口码型吗?
2026/3/24 16:03:26 网站建设 项目流程


CMI码解析:它真的是我国PCM数字设备间的标准传输接口码型吗?

1. 背景:接口码型“张冠李戴”的日常

做 PCM 接口开发时,最怕的不是调不通,而是“调通了却用错了码型”。
现场常见对话:

甲方:板卡输出口是 PCM 码流,你们直接接光模块就行。
乙方:收到,我们按 CMI 码布线。
三个月后:系统误码率 10⁻³,互相甩锅。

CMI(Coded Mark Inversion)因为名字里带“码”,常被默认成“中国 PCM 接口码”。
实际上,国内运营商级 PCM 一次群(2 Mbit/s)只认 HDB3,CMI 被标准安排在四次群(139 Mbit/s)及以上,用于 ** coax / 光线路侧**,并非设备间通用背板码。
把 CMI 当“万能接口”塞到 2 M 口,结果时钟恢复困难、直流漂移、误码飙升,就成了日常踩坑三连。

2. 核心指标对比:一张表看清仨码型

指标CMIHDB3AMI
编码效率50%(1→2 bit)100%100%
最大连零33
时钟恢复优(定时跳变丰富)差(长零失步)
直流分量零(平衡)近零
检错能力极性违例可检极性违例可检
典型速率139 Mbit/s±2 Mbit/s2 Mbit/s
标准定位线路侧四次群设备口一次群设备口一次群

结论:CMI 的“主场”在高速线路,不是 2 M 背板。

3. 标准溯源:GB/T 7611-2016 原文截图级摘要

GB/T 7611-2016《数字网系列比特率接口》写道:

139 264 kbit/s 接口电气特性应符合CMI编码;
2 048 kbit/s 接口电气特性应符合HDB3编码。

一句话:CMI 只活在139 M 口,2 M 口请自觉 HDB3。
其他行标 YD/T 1011、YD/T 1071 对 SDH 光口也重复了这条底线。

4. 实测:FPGA 实现 CMI 编解码 + 示波器波形

4.1 编码规则(复习)

  • “0” → 01
  • “1” → 交替 00 / 11

4.2 Verilog 关键片段(125 MHz 系统时钟,线速 139 Mbit/s)

// cmi_encoder.v module cmi_encoder( input clk_125m, // 125 MHz 系统时钟 input dat_in, // 串行 NRZ 输入 input dat_val, // 输入有效 output reg cmi_p, // 正端输出 output reg cmi_n, // 负端输出 output reg cmi_val ); reg [1:0] shf = 2'b01; reg last_1 = 0; always @(posedge clk_125m) begin if (dat_val) begin if (!dat_in) begin // 0 -> 01 {cmi_p,cmi_n} <= 2'b01; cmi_val <= 1'b1; end else begin // 1 -> 00/11 交替 last_1 <= ~last_1; {cmi_p,cmi_n} <= last_1 ? 2'b11 : 2'b00; cmi_val <= 1'b1; end end else cmi_val <== 1'b0; end endmodule

4.3 时钟恢复(数字 PLL 简化版)

// simple_cdr.v module simple_cdr( input clk_125m, input cmi_p, input cmi_n, output reg recovered_clk ); reg [7:0] edge_cnt = 0; wire edge = cmi_p ^ cmi_n; // 检测跳变 always @(posedge clk_125m) begin if (edge) edge_cnt <= 0; else edge_cnt <= edge_cnt + 1; // 每 8 个 125M 周期近似 15.6 MHz,与 139 M/8 对齐 recovered_clk <= (edge_cnt == 8'd4); end endmodule

4.4 示波器抓拍

  • 通道 1:CMI-P,通道 2:CMI-N
  • 每bit 双跳变,眼图交叉点干净,时钟恢复裕度 > 0.4 UI
  • 139 M 速率下,RJ45 同轴 20 m 无误码;换成 2 M 速率,因跳变密度过高反而 EMI 超标——再次验证“场合不对,努力白费”。

5. 避坑指南:三个典型误用与解药

  1. 误把 CMI 当 2 M 背板码

    • 现象:接收端失步、BER 10⁻⁴
    • 解决:2 M 口请换 HDB3,硬件动不了就 FPGA 做桥接。
  2. 长距离铜缆仍用 CMI

    • 现象:139 M 速率 100 m 误码山型上升
    • 解决:>50 m 直接改光模块,CMI 只保短距同轴。
  3. 光模块侧 SFP 把 CMI 当 NRZ 透传

    • 现象:光功率正常但误码率飘
    • 解决:确认 SFP 是“透明”还是“带码型判决”,后者需关闭线路编码功能,否则双编乱码。

6. 延伸:5G 前传 25G/100G 时代,码型再洗牌

eCPRI 7.0 把 25 Gb/s 前传切成 n×25G 通道,线路侧码型候选:

  • NRZ + KP4-FEC
  • PAM4 + LDPC
  • 低复杂度 CMI-Variant(研究性)

传统 CMI 50% 效率在 25 G 时代直接让带宽翻倍,显然不划算;但“零直流 + 跳变丰富”的思想被重新包装进 PAM4 的Tomlinson-Harashima 预编码
作为硬件工程师,与其死记码型,不如盯紧“时钟恢复”、“DC 平衡”、“FEC 亲和度”三指标,再在手头 FPGA 上快速 A/B 测试——工具链已成熟,验证一周比拍脑袋一年更省钱。

7. 资源下载

  • GB/T 7611-2016 电子版(需登录):
    https://openstd.samr.gov.cn 搜索 7611-2016
  • 本文 FPGA 工程(MIT 协议):
    https://github.com/yourname/cmi_verilog
  • 示波器眼图模板文件:
    同仓库/doc/tek_cmi_139m.set

把 CMI 放回 139 M 的“坑位”,让 HDB3 守好 2 M 的大门,接口选型就不会再背“误码黑锅”。祝各位调试顺利,眼图常开!


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询