原创 用CPLD控制曼彻斯特编解码器

2006-11-5 00:33 2623 3 5 分类: FPGA/CPLD

 在油田测井中,井下仪在井下采集大量信息,并传送给地面测井系统;但井下仪到地面这段信道的传输性能并不好,常用的NRZ码不适合在这样的信道里传输,而且NRZ码含有丰富的直流分量,容易引起滚筒的磁化,因而选用了另外一种编码 ——曼彻斯特码。曼彻斯特编码是串行数据传输的一种重要的编码方式。和最常用的NRZ码相比,曼彻斯特码具有很多优点。例如,消除了NRZ码的直流成分,具有时钟恢复和更好的抗干扰性能,这使它更适合于信道传输。


  但曼彻斯特码的时序比较复杂,实现编解码器和单片机的接口需要添加大量的逻辑电路,给电路设计和调试带来很多困难。使用CPLD可大大简化这一过程。CPLD(Complex Programmable Logic Devices)具有用户可编程、时序可预测、速度高和容易使用等优点,这几年得到了飞速发展和广泛应用。上至高性能CPU,下至简单的74电路,都可以用CPLD来实现。而且CPLD的可编程性,使修改和产品升级变得十分方便。用户可以根据原理图或硬件描述语言自由地设计一个数字系统,然后通过软件仿真,事先验证设计的正确性。PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路,从而大大缩短了设计和调试时间,减少了 PCB面积,提高了系统的可靠性。


1 选用器件和开发软件


1.1 选用器件


  (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语言描述。控制器是核心部分,实现对HD-6408接收和HD-6409发送的时序控制。


2.2.2 HD-6408解码时序


  HD-6408的接收时序如图2所示。




    
  (1)引脚定义



VW:输出字有效信号。
DSC:解码移位时钟。
TD:接收数据信号。
SDO:串行数据输出。
BZI、BOI:双极性数据输入。


  (2)解码时序过程


  解码器一直监视数据输入线,当接收到有效的同步头和两个有效的曼彻斯特码数据位后,便开始输出。当同步头被识别后,CDS引脚输出同步的类型:如果接收的是命令,便输出高并保持16个DSC周期;如果接收的是数据,就继续保持低电平。TD变高,并在SDO输出 NRZ数据期间一直为高。SDO输出一个字后,开始检验奇偶位。如果曼彻斯特码和奇偶位都正确,VW信号输出高,此时解码器开始寻找新的同步头,开始下一个接收周期。接收到新的有效的同步头和两个曼彻斯特码位后,VW信号被复位;否则,在持续大约20个DSC周期后,VW信号变低。


2.2.3 HD-6409发送时序


HD-6409发送时序如图3所示。  




(1)引脚定义



SD/CDS:串行NRZ码数据输入。
CTS:清除准备发送信号。
ECLK:编码时钟。
BZO、BOO:曼彻斯特编码数据输出。


(2)编码时序过程


  CTS信号高无效,低有效。在CTS信号的下降沿,引脚BZO和BOO开始发送同步序列(8个曼码“0”组成)。同步序列后就是命令同步脉冲(由1.5位高电平和1.5位低电平组成)。在输出命令同步脉冲时,NRZ数据在ECLK的下降沿通过SD/CDS引脚输入,这些数据编码后在命令同步序列后持续输出。这些码字没有奇偶校验和字结构。编码数据块的长度由CTS决定。


2.2.4 VHDL源程序



  控制器的VHDL源文件如下(程序较长,附核心部分):



process (controlcs)
begin
if(controlcs 'vent and controlcs= '1') then
control_data <= databus;
end if;
end process;


ee08 <= reset and control_data(0);
lclk595 <= not td08;
sclk595 <=td08 and dsc08;
lclk597 <=control_data(3) and qq_out;
sclk597 <= (not(esc08 and sd08)) and (not eclk09);
tdd08 <= not(td08);
cdss08 <=not(cds08);
cts09 <= control_data(1);
load <=(ee_bit or (not(control_data(1))))and qq_out;
dr08 <= control_data(2);
ss08 <=control_data(4);
mr08 <= control_data(5);



信号说明如下:
control_data——8位控制寄存器;
controlcs——控制寄存器片选信号,低有效;
mr08——hd-6408的主复位信号,高有效;
dr08——hd-6408的编码器复位信号,高有效;
ee08——hd-6408的使能信号,高有效;
ss08——编码同步头选择;
cts09——hd-6409的使能信号,低有效;
lclk595——串并转换器的载入数据信号;
sclk595——串并转换器的时钟信号;
lclk597——并串转换器的载入数据信号;
sclk597——并串转换器的时钟信号;
load——16位计数器载入初值信号;
qq_out——16位边界指示器;
tdd08——触发中断信号。 3 仿真与实现


  本系统采用Xilinx公司生产的XC95144芯片,使用Xilinx Foudation 3.1i软件进行开发。所用VHDL程序通过时序仿真和下载后,观察波形并进行实际验证,可以正确地接收和发送曼彻斯特码,符合设计要求。


4 结 论



本系统时序配合严格,运行可靠,易于修改;可以根据需要,灵活地加入各种各样的使用曼彻斯特码通信的系统中。

文章评论2条评论)

登录后参与讨论

用户408829 2010-11-15 22:44

能不能实现高速的manchester编码呢,几个G速度的,请指教,谢谢

用户209042 2009-1-4 15:37

怎么图都没有啊,呵呵
相关推荐阅读
用户64191 2006-11-27 17:35
MAX1148型高精度14位串行A/D转换器
1 概述    模/数转换器(ADC)是现代测控中非常重要的环节。它有并行和串行两种数据输出形式。并行ADC虽然数据传输速度快,但有引脚多、体积大、占用微处理器接口多的缺点;而串行ADC的传输速率目前...
用户64191 2006-11-27 17:29
模拟信号隔离放大器技术应用
   无源型IC 内部包含有电流信号调制解调电路、信号耦合隔离变换电路等,很小的输入等效电阻,使该IC的输入电压达到超宽范围(7.5—32V),以满足用户无需外接电源而实现信号远距离、无失真传输的需要...
用户64191 2006-11-27 17:23
构成信号发生器的DDS和变换器
许多设备需要使用能产生高性能、高分辩率信号的低频信号发生器。本实例提供一种能产生0~1MHz频率的电路。你利用这种电路就可产生正弦波、三角波和方波,并能达到优于0.1Hz的频率分辨率和优于0.1○ 的...
用户64191 2006-11-27 17:17
内容可寻址存储器CAM在交换机中的应用
内容可寻址存储器CAM(Content Addressable Memory是一种特殊的存储阵列。它具有将输入数据与CAM中存储的所有数据项同时进行比较,迅速判断输入数据是否与CAM中存储的数据项相...
用户64191 2006-11-25 21:09
BGA布线规则
BGA是PCB上常用的组件,通常CPU、NORTH BRIDGE、SOUTH BRIDGE、AGP CHIP、CARD BUS CHIP…等,大多是以bga的型式包装,简言之,80﹪的高频信号及特殊信...
用户64191 2006-11-25 20:35
数据统计在印制电路板品质控制的重要性
     在印制电路板生产过程中,经常出现诸多的质量缺陷,有许多质量问题很难及时而又快速地解决之。为此,要确保印制板的高品质,就必须对发现的问题进行有计划的、按程序和规程、步骤进行数据统计,以便于更好...
我要评论
2
3
关闭 站长推荐上一条 /2 下一条