基于FPGA的多接口PCM传输系统的设计*
2016-10-13刘晨晖任勇峰李辉景王广才
刘晨晖,任勇峰*,李辉景,王广才
(1.中北大学,电子测试技术国家重点实验室,仪器科学与动态测试教育部重点实验室,太原030051;2.北京导航技术控制股份有限公司,北京100176)
基于FPGA的多接口PCM传输系统的设计*
刘晨晖1,任勇峰1*,李辉景1,王广才2
(1.中北大学,电子测试技术国家重点实验室,仪器科学与动态测试教育部重点实验室,太原030051;2.北京导航技术控制股份有限公司,北京100176)
遥测系统中,为解决PCM传输系统单一接口通用性不强、应用条件局限的问题,设计了一种以FPGA为控制核心的多接口数据传输系统,该系统通过RS422接口发送帧同步信号和移位脉冲信号并接收PCM码,以USB串行接口和PCI并行接口与上位机进行通信,读取PCM数据并分析。设计中PCI接口采用单次访问结合突发访问的数据传输模式,USB采用具有完整协议的FT245。长期试验证明:该系统工作稳定可靠,数据传输无误,通用性强,满足设计要求。
遥测系统;多接口;PCM传输;PCI;USB
遥测系统设计中,脉冲编码调制(PCM)的遥测系统由于其自身的各种优点而得到广泛应用,然而由于遥测信息传输距离较短,易受干扰,所以将遥测数据转化为一种更为可靠的传输信号将是一种较好的解决方法。RS422作为一种广泛使用的传输协议,其可靠性经过大量的实际验证,是极好的替代方式[1-2]。读取数据并分析的接口设计中,为增强本系统的通用性,集成了一个串行接口和一个并行接口。现在一般的PC机中都包含2个以上的PCI插槽,而且对于时下流行的PCI-E总线接口,更改相应的接口插槽标准,便能在PCI-E总线接口上使用。其对PCI总线接口的兼容使得基于PCI总线结构的设备在以后若干年依然能持续使用。由于USB接口占用资源少,易于开发和集成的优点,串行接口选用了USB接口,两种典型的串并接口,使得本系统的适应性和灵活性更强,更易于移植和改进。
1 系统总体设计
本传输系统通过上位机下发指令监测两个接口是否正常通信,然后控制RS422接口进行PCM码接收,并选择其中一个接口把数据回读到上位机进行分析。系统总体设计如图1所示。
图1 系统总体设计框图
本系统主要实现3个功能:(1)通过RS422接口给PCM信号源发送帧同步信号和移位脉冲信号;(2)通过RS422接收PCM码;(3)通过PCI或者USB与FPGA通信,并将数据回读给上位机,并对数据进行分析。RS422以差动形式进行信息的发生和接收,不需要以往所采用的数据地线,通过两对双绞线可以全双工工作收发互不影响,同时采用双端线传送信号,具有很强的抗干扰能力[3];并行接口总线采用PCI总线,以其独立于CPU、即插即用、数据传输率高、功耗低等诸多特点而受到广泛使用,PCI总线芯片PCI9054技术成熟,使用便利,与其配合的基于即插即用思想的WDM式驱动程序,在使用Driverstudio开发工具时也非常方便,且传输速率较快,可达132 Mbit/s,满足各项参数设计要求,适用于本系统的开发设计[4];USB芯片采用FT245RL,FT245RL是具有完整USB协议的芯片,数据传输速率可达1Mbyte/s,而USB接口本身体积小,便于携带,便于集成到系统模块中使用,传输性能稳定可靠,在数据传输中扮演着重要的角色。
2 硬件电路设计
2.1RS422接口电路设计
RS422总线的4线接口采用了单独的发送和接收通道,因此不必考虑每条走线的数据方向,各装置之间的信号交换均可以按照硬件方式(一对单独的双绞线),发送通道采用ER26C31S芯片,其配置电路如图2(b),接收通道采用ER26C32S芯片,配置电路如图2(a),发送和接收通道相互独立,具有很强的抗干扰特性。由于ER26C32S输出的是TTL电平,所以要将输出的4路电平经74LVC4245A电平转换芯片将TTL电平转换为CMOS电平以后与FPGA进行通信,配置电路如图2(c)。
2.2PCI接口电路设计
PCI接口选用PLX公司的PCI9054芯片,PCI9054的本地总线端共有3种不同的本地总线接口类型,分别为,M模式、C模式、J模式,分别适合于不同的本地总线逻辑控制端。C模式数据线与地址线分开使用,适合有本地端主设备的情形。而本采集系统的PCI采集板卡具有本地逻辑控制主设备,则使用C模式。PCI9054支持握手信号控制、中断产生控制,握手信号实现控制信号触发相应的功能控制,而中断信号产生控制则很好的切合了计算机内部的各模块的管理控制[5]。这样可以实现采集板卡与上位机的有效通信,而不会额外占用电脑的CPU等资源。图3为PCI9054进行目标设备I/O读写时的结构图,3(a)为读结构图,3(b)为写结构图。每个图中的左半部分为PCI9054与PCI局部总线的交互,右半部分为PCI9054与FPGA之间的交互,右半部分包含的控制线、地址线及数据线就是进行I/O操作时需要在FPGA内进行的接口设计[6]。
图2 RS422接口配置电路
图3 PCI9054目标设备I/O读写结构图
2.3USB接口电路设计
普通的USB接口虽然通信速度快,但接口电路复杂,且底层驱动程序不易编写.为了保证接口的数据传输速率,并能避免常规USB接口设计的复杂性,选择了FTDI公司的FT245RL USB接口芯片。FT245RL是与并行FIFO双向数据传输的USB独立芯片,是完整的USB协议处理芯片,不需具体的USB固件编程,可以实现USB和FIFO并行接口之间的数据双向转换。它128B的FIFO发送缓冲区和256 byte的FIFO接收缓冲器能够实现高数据吞吐量,且操作电流低,功耗低[7]。FT245提供了VCP 和D2XX两种驱动程序,设计选用D2XX作为USB接口的设备驱动程序,编写程序时,只需要调用FTD2XX.DLL中的函数即可实现对FT245的读写。FT245RL通过8 bit并行数据口AD[7:0]和4个读写状态,控制口RXF、TXE、RD、WR与微控制器进行数据传输,硬件电路设计如图4所示,为了防止信号受到干扰,在USBDM和USBDP接口加一个EMC元件TDK的共模电感(共模滤波器)ACM-2012-900。
图4 USB接口电路
3 软件设计
控制单元FPGA以XILINX公司的ISE13.2作为开发环境,使用VHDL语言进行编写,可开发性高。FPGA与PCI9054端的接口通信功能为:上位机控制字下传(PCI至本地端)、采集器中断申请上传、采集器的采集数据上传(本地端至PCI端)。其中上位机控制字下传与采集数据上传均是采用DMA数据传输方式。DMA数据传输控制,是在驱动程序中通过设置PCI9054与DMA数据传输相关的寄存器实现的。FPGA与PCI9054的通信的VH⁃DL程序流程图如图5(a)所示。
图5 PCI接口和USB接口的VHDL流程图
FPGA与FT245RL通信实现的功能主要是下发指令和回传数据:上位机下发命令字,FT245RL通过RXF、WR信号的控制,将串行命令字通过内部的SIE转换成8位并行数据写到FT245RL的发送缓冲区,发送给FPGA,由FPGA根据指令执行相关操作;FPGA采集到PCM数据后,先将数据写到FT245RL接收缓冲区,然后通过SIE将并行数据转换为串行差分信号上传给上位机,这个过程通过TXE、RD两个信号来控制[8]。FT245RL的工作方式是单工,因此需要通过一个三态门来控制双向端口的输入与输出,即OE为1时,双向端口只能作为输入端口,接收指令;OE为0时,双向端口只能作为输出端口,回传数据给上位机。FT245的读写程序流程图如图5(b)所示。此外,主程序中还包括信号RS422发送和接收模块、消抖模块、数据采集模块等。
4 测量结果与分析
本文设计的多接口PCM数据传输系统,目的是将RS422接口接收的PCM码通过USB接口或者PCI接口上传给上位机,并对数据进行分析。在调试过程中,为了测试相关功能我们做了一块模拟PCM信号源的发射系统,信号源接收移位脉冲和帧同步信号,发送由设计人员自定的数据格式。在本系统接收数据并上传给上位机后用UltraEdit打开并对数据分析,经过长期试验证明,本系统读取数据稳定可靠,没有丢帧及误码现象,满足了设计要求。数据格式如图6所示。
5 小结
航天系统中遥测数据的采集与分析是必不可少的环节,本系统实现了PCM采集与上传分析的硬件设计,并通过ISE进行了软件设计,实现了多接口数据传输的逻辑时序控制,系统同时集成了PCI并行接口和USB串行接口,并通过RS422接口进行PCM通信,使得本系统的通用性更强,应用范围得到进一步拓展。
[1]肖扬彪.基于FPGA的PCM遥测采编器的设计与实现[D].南昌:南昌大学,2013.
[2]马睿,张会新,翟成瑞.一种新型遥测模拟测试系统的设计与实现[J].电子器件,2015,38(1):160-165.
[3]彭涛,刘亚斌.高速并行遥测数据转RS422长线传输的设计[J].电子设计工程,2013,21(22):49-51.
[4]董海兰,康怀祺,钟午.基于FPGA的多接口高速PCI传输系统设计[J].火控雷达技术,2012,41(4):43-47.
[5]张丹红,张孝勇,刘文,等.基于PCI9054的数据通信接口卡设计[J].武汉理工大学学报,2013,35(3):49-54
[6]张会新,陈嫣然,郑燕露.基于PCI9054的通信卡设计[J].电视技术,2012,36(5):33-34.
[7]张会新,凌伟,马志刚,等.一种新型GPS实时定位系统的设计[J].电子器件,2014,37(6):1204-1208.
[8]刁兆奎,张鹏飞,熊继军,等.基于FT245BM的数据采集系统设计[J].测试技术学报,2011,25(2):163-167.
刘晨晖(1991-),男,汉族,现为中北大学在读硕士研究生,研究方向为动态测试技术;
任勇峰(1968-),男,汉族,教授,博士生导师,主要研究方向为微电路系统,动态测试技术与仪器。
Multi-Interface PCM Transmission System Design Based on FPGA*
LIU Chenhui1,REN Yongfeng1*,LI Huijing1,WANG Guangcai2
(1.North University of China,National Key Laboratory For Electronic Measurement Technology,Key Laboratory of Instrumentation Science&Dynamic Measurement,Ministry of Education,Taiyuan 030051,China;2.North Navigation Control Technology Co.Ltd,Beijing 100176,China)
In telemetry systems,in order to solve the problems that single-interface test system is not universal,and the application conditions are limited comparatively,a multi-interface data transmission system using FPGA as control core was designed.The system transmits frame synchronization signals and the shift pulse signals through the RS422 interface meanwhile receiving PCM code,communicates with the host computer by serial inter⁃face USB and parallel interface PCI,and then read PCM data and analysis.PCI interface using a single access combined with burst access data transfer mode,USB interface adopts the FT245 with integrated agreement.The long-term tests prove that the system work stably and transmitted reliably with good genarality,which meets the re⁃quirements of design.
telemetry systems;multi-interface;PCM transmission;PCI;USB
TP274.2
A
1005-9490(2016)02-0324-05
EEACC:6210J;7210B10.3969/j.issn.1005-9490.2016.02.016
项目来源:国家杰出青年科学基金项目(51425505)
2015-06-07修改日期:2015-07-10