基于FPGA的34位串行编码信号设计与实现

2012-08-04 12:47:24来源: 现代电子技术
   

电磁干扰,普通数字信号不能够满足可靠传输的要求,对普通串行码进行调制后传输信息,可使信号的抗干扰性能大大增加。RS232、RS422、RS485以及ARINC429等都是电子设备中常用的串行数据传输标准。
    某专用接口装置采用一种点对点的34位串行编码数据传输标准,34位串行编码经耦合变压器调制后进行信息传输,能够在恶劣的电磁环境下可靠传输数据。为实现对该接口装置的测试,研制了针对该装置的检测设备,可用于该装置接口功能的检查和故障排除。
    与其他常用的串行编码(如异步串行码等)相比,专用接口装置所采用的34位串行编码的格式有所不同,常用串行编码的收发大都有专用的芯片来完成,而该类型的34位串行编码没有相应的号用收发芯片直接应用,因此在该专用接口装置检测设备研制中,基于FPGA芯片设计了34位串行编码信号的检测电路,实现了34位串行编码信号的可靠收发。

1 34位串行编码的格式
    专用接口装置收发信息使用的34位串行编码为归零码,解决了数位难以分辨的问题,接收端可以利用编码自身携带的时钟信息。34位串行编码的收发采用耦合变压器方式,加大了高电平和低电平之间的电位差,有利于提高传输的可靠性。串行编码信号高低电平幅度分别为4 V和0 V,一个码位的高电平脉冲宽度为0.5μs,归零时间为0.75μs,传输速率为800 kbps。为进一步增强通信的可靠性,串行数据采用双线传输。传输信息时,信息“1”和信息“0”分别由两个电缆传输,称为信息“1”线和信息“0”线。
    对于信息“1”线,数据位为“1”时,发送一个归零脉冲,数据位为“0”时,发送低电平;信息“0”线则正好相反,数据位为“0”时,发送一个归零脉冲,数据位为“1”时,发送低电平。连续发送两个34位串行数据时,时间间隔最短不得小于4个归零脉冲周期。

比较器电路以及双耦合变乐器。

移位寄存器进行收发,发送数据校验位的产生和接收数据校验位的验证需要用到运算模块,电路设计比较复杂,所需硬件较多,而且由于34位编码传输速率较高,为了保证收发可靠、不漏码,从功能和实现成本上考虑,在电路设计上,采用了大规模可编程逻辑芯片实现34位串行编码信号的接收和发送。所用FPGA芯片为Altera公司的CvcloneⅡ系列中的EP2C8,该芯片内核电压为1.2 V,输入输出口为3.3 V逻辑电平,功耗很低。核心模块设计采用原理图输入和VHDL语言相结合的方式,利用OuartusⅡ软件和SignalTap功能进行逻辑电路的开发和调试。
2.1 34位串行编码的接收
    34位串行编码接收模块结构图见图3。在接收34位串行码时,首先要对接收信号进行解调,来自耦合变压器的34位串行码经过高速比较器CMP401电路进行整形处理,转变成普通数字电路容易处理的单极性归零码。

串入并出移位寄存器模块中,在移位时钟的作用下,单极性归零码信号在串入并出移位寄存器模块内逐位移动,形成34位并行码,并由锁存脉冲(Latch)锁存并行数据,校验位验证模块对并行数据进行模3校验位验证,当校验位正确时,产生确认脉冲,作为嵌入式控制器SPOC模块的中断信号,SOPC模块响应中断并执行中断服务程序,读出并行数据,存储在存储器中。
    串入并出移位寄存器模块由FPGA芯片的LPM_SHIFT-REG(移位寄存器)兆功能实现。校验位验证模块用到了LPM_DIVIDE(除法)和LPM_COMPA RE(比较器)兆功能。
    SOPC模块设计基于NiosⅡ软核嵌入式微处理器,利用FPGA 中的可编程逻辑资源和IP软核可以方便地构成嵌入式微处理器的接口功能模块,SOPC模块包括NiosⅡ处理器、Avalon交换式总线、片内外存储器以及外设模块等。根据需要,可对NiosⅡ嵌入式系统裁剪,进行自己定制。SOPCBuilder软件自动生成Avalon总线,用户可以将处理器、存储器和其他外设模块连接起来,形成一个完整的系统。在本部分电路设计中,用到了NiosⅡ嵌入式处理器的片内存储器和中断功能。
    在接收模块设计中,应着重考虑如何找到34位串行编码的起始位,这也是保证接收模块可靠性的关键。由于两个相邻码位的时间间隔为一个码位周期,所以可以采用计数超时方法对移位脉冲进行串行编码起始位检测,寻找起始位。起始位检测模块主要由计数器构成。超时门限的设定原则上应大于一个码位周期,而小于两个码位周期。该模块的输入时钟来自分频模块的32 MHz高稳定晶振。分频后的输入时钟为16 MHz,即以串行编码传输速率20倍的频率进行超时计数检测。
    具体电路实现还要考虑串行信号传输时产生的信号畸变等因素,上述门限设定原则应有所冗余。从接收到一个码位到设定的时间门限之间,如果没有接收到其他码位,则可认为即将到来的下一个码位就是一个34位编码的起始位,此时将串入并出移位寄存器做清零处理,每接收完一个34位串行编码都应重新找一次起始位。从可靠性考虑,设计了移位时钟脉冲完整性检测电路,这样,即使接收偶尔出现误码,也不会影响其他34位串行编码的接收。
2.2 34位串行编码的发送
    进行34位编码发送时,需要将所发送的32位并行数据转换为带有校验位的34位并行数据。SOPC模块将32位并行数据送入到校验位运箅模块,计算出两位校验位,32位并行数据与两位校验位送入34位并行编码合成模块,合并成34位并行编码。SOPC模块发出使能信号(Enable),使能移位时钟产生模块,该模块产乍移位时钟脉冲(Shift-clk),移位时钟脉冲经过时延电路后,产生归零同步时钟脉冲(Rz-clk)。
    在移位时钟脉冲的作用下,34位并行数据在并入串出移位寄存器中逐位移出,形成两路极性相反的非归零串行编码(Nrz-code),与34个归零同步时钟脉冲相或后,即产生信息“1”和信息“0”的单檄性归零脉冲。单极性归零脉冲经电流驱动电路后,送入耦合变压器输出。在编码发送模块设计时,需要注意归零同步时钟脉冲与非归零串行编码的时序控制,防止出现“毛刺”信号,这可以采用触发器延时的方法实现。34位串行编码发送模块结构图如图5所示。

关键字:串行编码  FPGA  电路  设计

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2012/0804/article_3089.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
串行编码
FPGA
电路
设计

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved