基于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
电路
设计

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 

夏宇闻老师专栏

你问我答FPGA设计

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

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