您的位置 首页 新能源

根据CPLD的CMI编码的完成

本文针对光纤通信传输码型的要求和CMI码的编码原理,介绍了一种以EPM系列7064芯片为硬件平台,以Max+PlusⅡ为软件平台,以VHDL为开发工具,适合于CPLD实现的CMI编码器的设计方案。

导言

CMI码是传号反转码的简称,它是一种使用于PCM四次群和光纤传输体系中的常用线路码型,具有码改换设备简略、有较多的电平跃变,含有丰厚的守时信息,便于时钟提取,有必定的纠错才能等长处。
在高次脉冲编码调制终端设备中广泛使用作接口码型,在速率低于8 448 Kb/s的光纤数字传输体系中也被主张作为线路传输码型。

本文针对光纤通信传输码型的要求和CMI码的编码原理,介绍了一种以EPM系列7064芯片为硬件渠道,以Max+PlusⅡ为软件渠道,以VHDL为开发工具,适合于CPLD完成的CMI编码器的规划方案。

1 CMI码的编码规矩

CMI编码规矩如表1所示。

CMI编码中,输入码字0直接输出01码型,较为简略。关于输入为1的码字,其输出CMI码字存在两种成果OO或11码,因而对输入1的状况有必要回忆。一起,编码后的速率增加一倍。

2 CMI编码器的建模与完成

首先在原始时钟MUX_Clk的上升沿进行翻转得到二分频时钟Clk,周期为原始时钟的2倍。
然后发生伪随机序列,由3个D触发器发生7位伪随机序列,序列发生原理如图1所示。

任何一个D触发器的输出都能够作为要发生的m序列,则序列以7为周期循环呈现,在3个D触发器输出都为0时,句子m_buffer(2)=(m_bu-ffer(1)xor m_buffer(O))Or((not m_buffer(2))and(not m_buffer(1))and(not m_buffer(O))),能够使第一个D触发器在Clk上升沿到来时输出为1,然后防止堕入“000的死循环。

最终为“O”码、“1”码的编码:

“O”编码的完成:在原始时钟信号的下降沿对m序列进行检测,当其值为“0”时,将原始信号的二分频后的信号求非赋值给编码输出,即可完成对“O”进行“01”编码。

“1”编码的完成:在原始时钟信号的二分频信号的上升沿对m序列进行检测,假如其值为“1”,用表达式statel=statel X0R m_buff(O)对“1”的奇偶进行记载;在原始时钟的下降沿,将statel的值赋给编码输出即可完成对“1”的“00”,“11”替换编码。

其间:m_test:发生的m序列;
MUX_DT:CMI编码输出;
MUX_CLK:原始时钟。

3 仿真成果

在Max+PlusⅡ渠道下对CMI编码进行编译和仿真,最终得到CMI编码仿真成果。图2是CMI码编码波形图。

在时钟MUX_CLK驱动下作业,m_test是发生的m序列1011100,MUX_的DT为CMI编码输出,能够看到,编码为11010011000101,有必定延时,但编码完全正确。

4 结语

该规划具体介绍了根据CPLD的CMI编码的完成办法。提出使用原始信号的二分频后的信号求非赋值给编码输出,得到“0”的编码,使用缓存对“1”的个数进行记载,而对“1”进行编码的编程思路,使用VHDL进行程序规划完成,在Max+PlusⅡ渠道下对规划成果进行仿真,成果完全正确。
实践标明,运用CPLD完成CMI编码具有软件开发周期短、成本低、履行速度高、实时性强、晋级便利等特色,并且能够把该电路和其他功用电路集成在同一块CPLD/FPGA中,减少了外接元件的数目,提高了集成度,并且有很大的编程灵活性,很强的移植性,因此有很好的使用远景。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/195395.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部