林芳媛
摘 要:介绍了一种FPGA(现场可编程门阵列)平台上的通信信号处理方法,该方法具有快捷、简单、可靠的特点,能够实现数据的快速处理,具有较强的灵活性与或扩展性,在数据处理与信号处理中的应用前景非常广阔。本文主要对FPGA信号处理设计的要点及实现方法进行简单分析。
关键词:FPGA 信号处理 设计 实现
中图分类号:TN96 文献标识码:A 文章编号:1674-098X(2014)06(b)-0061-01
一般通信信号处理中,通过各种算法来实现,包含可编程信号处理器或专用DSP芯片等,但是这些处理方法的处理速度相对比较慢,而且需要很多辅助器件来支持。而完全符合要求的芯片需要专门定制,增加的费用,存在一定的风险问题。而采用FPGA能够对这些问题有效的解决,在不改变外围电路的情况下,通过内逻辑实现不同电路的功能,而且FPGA具有强大的开发功能,逐步成为复杂数字硬件电路设计中的理想选择。
1 硬件总体设计
通信卡一般采用的是32位PCI接口,在3.3 V信号环境下与主机进行数据通信,而通信卡之间采用光纤通信,速率能够达到1.25 Gbit/s。通信卡包含SFP光收发模块、FPGA、电源模块、时钟产生模块、CPCI接口及ISP配置PROM等。
2 EDK模块设计
在Virtex-II Pro器件内部构建处理器硬核为中心的计算机应用系统,然后在FPGA内部进行总线架构、地址译码、数据存储、外设接口等,每一个部件都以IP核形式进行连接。
JTAG调试接口在FPGA内部连接JTAG链与处理器核,FPGA内各模块的输入输出及复位信号由复位模块控制;通过OPB总线和PLB总线,处理器与外设IP核连接,OPB-PLB桥将OPB总线和PLB总线连接在一起,实现二者之间的通信;为了将用户的程序存储起来,系统采用PLB总线块RAM,PC机串口之间通过异步收发机(URAT)连接,实现串口之间的通信,除此以外,通信数据还存储于两个OPB总线块BRAM中,其中光纤通信模块接收的数据存储于接收存储器中,而光纤通信模块待发送的数据存储于发送存储器中,两个RAM都采用双接口RAM模块,一端与串行通信模块连接,一端与OPB总线连接,两块RAM内的数据可以通过PCI-OPB桥直接访问。
PCI-OPB桥的应用方式包含两种:主桥与从桥方式。作为主桥时,PCI桥对PCI总线完全控制,系统作为主机直接连接到PCI总线,开始对PCI设备进行初始化配置。而作为从桥时,系统通电后,主机对PCI总线及设备进行扫描,然后配置PCI-OPB桥寄存器,完成初始化配置。PCI-OPB桥的操作方式可以通过修改参数来改变。OPB总线地址与PCI总线地址之间的转换时,PCI桥作为一个设备与总线连接,主机分配器三个缓冲区,通过缓冲区实现对PCI设备的数据传输。在PCI-OPB桥上设置地质变换寄存器,一个PCI地址传输过来以后,低位地址比便,高位地址被寄存器内地址替换,形成OPB总线侧地址,最终对OPB总线上的RAM进行访问,反之同样。
3 光纤通信模块设计
通过对FPGA器件内嵌入RocketIO实现光纤通信,RocketIO是一种成熟的高速串行收发器,具有时钟数据恢复功能,每一个RocketIO支持多个信道数据传输速率,还可以利用通道绑定功能,进行更高速率的传输。RocketIO模块包含物理介质接入层、物理编码子层,集成了串化器、解串器等功能,还具有可编程能力。
基于Aurora协议及高速串行接口IP核,实现Aurora IP核,该核内嵌RocketIO模块,在其内部实现了Aurora协议,提供灵活的用户接口。在对该IP核进行使用的时候,用户可以将复杂的结构转换为简单用户接口,实现数据的收发。Aurora IP核包含NFC流控制、LocalLink接口、时钟输入、时钟修正、UFC流控制、状态控制、RocketIO收发器等基本构造。其中,LocalLink接口实现了帧方式与流方式传输;时钟输入与修正为该核提供必需的时钟及修正功能,防止时钟误差造成传输错误;NFC流控制实现链路层传输的流控制;状态信息是对该核的工作状态进行显示,控制信息能够对该核进行控制。
两个存储器主要满足数据的存储要求,实现对收发数据的读写。状态机是对两个存储器之间状态转换的设备,其转换过程如图1所示。Aurora核的主要功能是对待发送数据进行封装为数据包以后通过RocketIO发送出去。两台主机进行通信时,包含接收数据与发送数据这两个过程,数据传输时,接收与发送存储器具有数据缓冲区的功能。
4 结语
文章主要针对FPGA内部嵌入RocketIO与Aurora核实现光纤通信信号处理的设计方法,并通过对EDK集成开发工具的应用,以及FPGA内嵌PC机的方式,生成整个系统,由于芯片具有可编程的特点,在以后的开发过程中,可以根据数据处理过程中,根据不同的设计要求,来选择不同的软件及硬件实现方案,表明了系统的具有较高的灵活性,在实践应用中,是一种处理信号快速、使用的方法。
参考文献
[1] 周武杰,禹思敏.基于现场可编程门阵列技术的混沌数字通信系统——设计与实现[J].物理学报,2009(15).
[2] 闵小平,陆达,洪鸿榕.基于现场可编程门阵列的高速光纤通信的实现[J].厦门大学学报(自然科学版),2007(15).
[3] 李进,李忠.采用FPGA的集群通信移动终端设计方案的研究[J].电子产品世界,2011(10).endprint