虽然计算机通信的方法和手段多种多样,但都必须依靠数据通信技术。数据通信就是将数据信号加到数据传输信道上进行传输,并在接收点将原始发送的数据正确地恢复过来。由于计算机产生的一般都是数字信号,因此计算机之间的通信实际上都属于数据通信。曼彻斯特码编解码器是1553B总线接口中不可缺少的重要组成部分。曼彻斯特码编解码器设计的好坏直接影响总线接口的性能。在数控测井系统和无线监控等领域,曼彻斯特码编解码器都有广泛应用。
1 数据通信系统结构
2 曼彻斯特编解码器的设计
可编程逻辑器件的出现为数字系统的设计带来了很大的灵活性.而VHDL (VHSIC HardwareDescription Language)是一种功能强大的硬件设计语言,可用简洁的代码来进行复杂控制逻辑的设计。为此,本文采用VHDL语言来对曼彻斯特编解码器进行描述,并用Active-HDL进行编译,用Synplify进行综合。
2.1 解码
根据曼彻斯特码的特点,可将该码的解码过程分成三部分:一是启动解码时钟,即通过检测一个数据跳变沿来使能时钟。二是对曼彻斯特码形式的数据进行解码。三是将串行数据转换成并行数据。解码器的逻辑框图如图3所示。
图4所示是采用该设计的曼彻斯特码的时序仿真波形,clkl6x采用16 MHz的时钟,mdi为输入的曼码(10101100)。输出dout为十六进制AC,这说明该解码过程是正确的。
编码是解码的逆过程。编码的过程也可以分为两部分:一是检测编码周期是否开始,以决定产生正跳变沿;二是对串行的数据进行编码,之后编码周期结束。编码器的输入时钟(clk2x)为2MHz。当写信号(wr)为高电平时,开始产生正跳变沿,并使clklx-enable为高电平,这样,正跳变沿产生完成即开始编码过程。将clk2x进行二分频可得到clklx,这样可使归零制的数据(nrz)与clklx相对应。此后再在clklx_enable高电平和clk2x正跳变的情况下,将归零制码(nrz)转换成相应的曼彻斯特码(meo)。,当写信号(wr)为低电平时,以使clklx_enable为低电平,结束编码过程。
3 基于CPLD的曼彻斯特码实现
为了确保设计的可行性,操作时必须对设计进行时序仿真。为了提高CPLD芯片的性能及资源利用率,应采用专门的综合软件来对设计进行优化和综合。本设计采用Synplify7.3进行综合,并采用Active-HDL6.1进行时序仿真。在Synplify中使用有效的代码可以优化组合逻辑、减少逻辑延时,从而提高整体性能。此外,本设计还进行了多个文件的分块设计,然后将这些文件映射到顶层文件进行综合,并运用VHDL对单个文件进行编写、仿真和优化。在用到组合逻辑时,Syn-plify会尽量避免锁存器的出现,节省逻辑单元。Synplify和其它综合软件一样,编译后所生成的电子设计交换格式文件(EDIF)可以在Active-HDL中进行编译、仿真、分配引脚和其它优化处理。因此,采用Active-HDL6.1和Synplify7.3相结合对CPLD进行设计、优化、综合,可以提高系统性能和
芯片资源的利用率。
CPLD(Complex Programmable Logic Device复杂可编程逻辑器件)的内部结构为“与或阵列”。该结构来自于典型的PAL、GAL器件结构。由于任意一个组合逻辑都可以用“与一或”表达式来描述,所以该“与或阵列”结构能实现大量的组合逻辑功能。CPLD和FPGA的主要区别如下:
(1) 布线能力
CPLD内连率高,不需要人工布局布线来优化速度和面积,较FPGA更适合于EDA芯片设计的可编程验证;
(2) 延迟可预测能力
CPLD连续式布线结构决定了时序延时是均匀的和可预测的,而FPGA的分段式布线结构则决定了其不可预测时间延迟;
(3) 集成度的不同
CPLD的集成度一般在500~50000门。而FP-GA的集成度一般在1K~10M门;
(4) 应用范围的不同
CPLD逻辑能力强而寄存器少,适用于控制密集型系统,而FPGA逻辑能力较弱但寄存器多,适于数据密集型系统。
CPLD和FPGA的共同优点一是规模越来越大,实现功能越来越强,同时可以实现系统集成。二是研制开发费用低,不承担投片风险,使用方便。三是通过开发工具在计算机上完成设计,电路设计周期短,同时不需要设计人员了解很深的IC知识,EDA软件易学易用。此外通过FPGA和CPLD开发的系统成熟后,还可以进行A-SIC设计,以形成批量生产。
事实上,本设计在Xilinx公司的XC9500系列CPLD(xc95108pq100-7)芯片上进行了实现。并针对其特点对设计进行了的优化。该编解码器共占用了149个逻辑单元,占总逻辑资源的8%,因此,十分有利于今后对其进行完善和功能的添加。
4 结束语
本设计具有一定的通用性,它的逻辑大部分只涉及到编、解码器本身;而它与外部的接口十分简单,只要对其读、写并对跳变沿信号进行有效控制,就能使其正常工作。本设计十分独立,由于选用器件资源比较丰富,故对其进行功能添加也十分方便,只需添加电路设计而不必对原有电路进行修改。