用CPLD控制曼彻斯特编解码器
关键词:曼彻斯特编解码器 T2模式 T5模式
引 言
在油田测井中,井下仪在井下采集大量信息,并传送给地面测井系统;但井下仪到地面这段信道的传输性能并不好,常用的NRZ码不适合在这样的信道里传输,而且NRZ码含有丰富的直流分量,容易引起滚筒的磁化,因而选用了另外一种编码 ——曼彻斯特码。曼彻斯特编码是串行数据传输的一种重要的编码方式。和最常用的NRZ码相比,曼彻斯特码具有很多优点。例如,消除了NRZ码的直流成分,具有时钟恢复和更好的抗干扰性能,这使它更适合于信道传输。
但曼彻斯特码的时序比较复杂,实现编解码器和单片机的接口需要添加大量的逻辑电路,给电路设计和调试带来很多困难。使用CPLD可大大简化这一过程。CPLD(Complex Programmable Logic Devices)具有用户可编程、时序可预测、速度高和容易使用等优点,这几年得到了飞速发展和广泛应用。上至高性能CPU,下至简单的74电路,都可以用CPLD来实现。而且CPLD的可编程性,使修改和产品升级变得十分方便。用户可以根据原理图或硬件描述语言自由地设计一个数字系统,然后通过软件仿真,事先验证设计的正确性。PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路,从而大大缩短了设计和调试时间,减少了PCB面积,提高了系统的可靠性。
1 选用器件和开发软件
1.1 选用器件(凹丫丫范文网fanwen.oyaya.net收集整理)
(1)XC95144
Xilinx公司的XC9500系列产品具有业界领先的速度,同时,具有增强引脚锁定结构和支持全面的IEEE Std. 1149.1 JTAG边界扫描,向用户提供了更高的灵活性。XC9500体系由多个同一功能块组成,每个功能块内含18个宏单元,引脚到引脚速度最快支持到5 ns;支持125 MHz时钟速率,I/O口接口电平5 V、3.3 V或两者皆可。其中XC95144内部有144个宏单元。
(2)HD-6408和HD-6409
HD-6408和HD-6409是Intersil公司的产品,两者均是曼彻斯特编解码器。
HD-6408编码器转换串行NRZ数据(通常来自移位寄存器)为曼彻斯特编码,增加一个同步头和一个奇偶位。解码器识别这个同步头,并判断出这是数据同步,还是命令同步,数据解码后移出NRZ码(通常送到移位寄存器中)。最后检查奇偶校验位。如果没有编码或奇偶校验方面的错误,解码器将输出一个有效信号,表明接收到一个有效的字。解码器能够向输入的曼彻斯特码字以很高的速率提供时钟恢复和优异的抗干扰能力。HD-6408使用在很多商业应用场合,例如安全系统、环境控制系统及串行数据链等。它的数据传输速率高达1 Mb/s,开销很小,20位中有16位可用来传输数据。
HD-6409曼彻斯特编解码器使用原理与HD-6408略有差别,但基本相似。
1.2 使用软件
CPLD编程软件选择Xilinx Foundation 3.1i。该软件界面友好,功能强大,提供了开发CPLD所需的整个流程,包括:编辑、综合、实现、仿真及 下载等。该软件可人工指定引脚,编译各个子模块文件,并提供了两种仿真:功能仿真和时序仿真。其中时序仿真对时序提出了要求,是更严格的仿真。
2 曼码控制系统设计
2.1 系统说明
系统中,HD-6408以T2模式(20.8 Kb/s)从地面接收数据,HD-6409以T5模式 ( 93.75 Kb/s)向地面发送数据。
接收时,HD-6408接收外部传来的曼码数据,转换成NRZ码在CPLD里进行串并转换,转换完成后产生接收中断,通知单片机取数据;发送时,单片机送给CPLD数据,进行并串转换,移位输出到HD-6409的输入端,由HD-6409编码发送出去。接收地址和发送地址均由CPLD解码产生。HD-6408和HD-6409所需的外部时钟源,通过CPLD对外部晶振分频得到。
2.2 CPLD内部功能设计
2.2.1 系统总体框图
设计CPLD内部电路时,采用了模块化设计方法,内含5个模块:16位串并转换器、16位并串转换器、分频器、解码器及控制器。系统顶层逻辑框图如图1所示。
以上模块均采用VHDL语言描述。控制器是