FPGA的实时PCM遥测数据传输系统设计

2018-01-15 06:18
单片机与嵌入式系统应用 2018年1期
关键词:双口码元遥测

(91404部队,秦皇岛 066001)

引 言

在无人机遥测系统中,机载脉冲编码调制(Pulse Code Modulation,PCM)数据是飞行参数传输的重要载体。为保证无人机飞行过程的可靠性和实时性,在航空遥测系统中通常需要进行多台计算机组网接收遥测基带数据,并完成PCM数据在遥测通道和以太网之间的转换等任务。传统的PCM遥测数据传输模块通常采用工控机或加固计算机方案,受设备体积、重量的限制,不适合无人机等小型航空器的使用。为此,本文设计了基于嵌入式系统的遥测数据传输模块,采用FPGA和ARM架构完成PCM数据收发、解调和控制逻辑功能,实现了遥测PCM关键飞行参数的实时监控。

1 总体设计和工作流程

系统主要实现外部遥测PCM数据收发、FPGA与ARM接口数据的快速交互,以及ARM控制以太网芯片完成网络数据收发功能。系统总体设计框图如图1所示,主要由三部分组成:信号预处理模块、FPGA组帧处理模块和ARM显示处理模块。其中,前端预处理模块主要将外部送来的PCM码流数据转换成对应通道RS422串行接口电平信号,以便匹配FPGA电路的采集和处理。FPGA组帧处理模块完成对RS422串行遥测数据的解帧和组帧功能,最终以并行交互的方式将PCM 数据提交至ARM显示处理模块。ARM显示处理模块主要用于存储协议格式和配置参数,筛选、过滤和处理PCM数据,并将需要实时监测的数据显示在液晶屏上。

图1 系统设计框图

在设备工作之前,需要对PCM遥测数据所需的配置参数和协议格式进行装订。上位计算机通过以太网将参数依次发送给ARM显示处理模块和FPGA组帧处理模块,二者分别将需要的参数存储至本地内部的RAM缓存。FPGA外挂SRAM可以用来作为外部数据缓存,通过ARM控制网络控制芯片完成以太网数据传输。

FPGA选择Altera(现被英特尔收购)公司的EP3C25系列芯片,时钟频率可达50 MHz,等效逻辑门数约65万门级,RAM容量为594 KB。ARM选择LPC435X系列芯片,CPU为Cortex-M4架构,工作频率可达204 MHz,片内有高达1 MB Flash、136 KB的SRAM和16 KB的EEPROM存储器,同样片外采用SRAM缓存用于存储大容量数据[1]。

2 信号预处理模块

遥测PCM数据码流通信协议的帧格式普遍采用NRZ_L码型,该码型信号为RS422差分电平信号,而后级FPGA组帧处理模块采集的是LVTTL信号。因此,在进行PCM解调前需要将这种差分接口信号转换为单端接口信号。采用差分驱动芯片DS26C32进行信号电平转换,得到单端接口的PCM数据。

3 FPGA组帧处理模块

PCM码流解调电路的核心是将串行PCM码转换为并行数据,该任务通过FPGA组帧处理模块完成。实现PCM码流串并转换需要依次完成时码信息解调、位同步、帧同步处理。

3.1 时码信息解调

IRIG-B时码[2]包含3种码元,即0码元、1码元、P码元。每个码元持续10 ms,其中0码元是持续2 ms的高电平,1码元是持续5 ms的高电平,P码源是持续8 ms的高电平,因此通过检测各个码元高电平持续时间即可实现码元解码。

由于遥测数据中含有大量飞行状态信息,反映了设备的性能和各项指标,带有大量涉密信息。为防止第三方非法获取这些涉密信息,接收到的遥测数据都是加密后的数据,密文数据中包含N字节的IRIG-B时码信息。接收到的密文数据在进行解密前,需要预先将时码PCM帧数据流中N字节的IRIG-B时码信息提取并缓存,对没有时码信息的数据流输出进行解密处理;当数据解密后将缓存的该时码信息恢复到原帧格式数据中正确位置,之后将数据传输做后续处理。实现原理框图如图2所示。

图2 时码信息提取原理图

3.2 位同步数据处理

图3 位同步原理图

位同步数据处理电路主要用于将本地的同步脉冲与输入PCM码流实现精确同频同相,并输出位同步脉冲序列。位同步处理电路主要由鉴相器、分频器、数字序列滤波器以及时钟源等部分组成,如图3所示。位同步处理主要通过数字锁相环原理[3]实现,在接收端使用二元鉴相器比较接收码元和本地同步信号的相位,当二者相位不一致(滞后或者超前)时,鉴相器产生相位误差信号以调整本地同步信号的相位,直至获得准确的位同步信息。

3.3 帧同步数据处理

帧同步数据处理的功能是从位同步器的输出信号中提取帧同步码组,以产生帧同步信号,从而实现并行数据和时钟信号的数据分离。为了实现帧同步处理,帧同步处理电路在数字信息流中插入帧头EB90H、帧尾146FH等特殊码组,帧同步处理电路需要准确识别出这些码组,以确定帧结构。

图4 帧同步原理图

帧同步原理见图4。PCM数据按时钟脉冲进行串/并转换,与本地帧同步码、屏蔽位进行同或相关检测后,并与校验门限值进行判别比较,经输出控制最终得到帧数据脉冲、帧同步脉冲。

为避免漏检和虚假字节,保证帧同步器能够可靠稳定地工作,采用搜索、校验和锁定三态逻辑[4]。系统首先处于搜索态,符合帧同步字格式后转入校验态。在校核验态中如果没有预期收到的帧格式长度和同步字,则转入搜索态;如果连续收到预定校验次数m的帧格式数据后,转入锁定态。为了避免出现帧同步码漏检的风险,提高帧同步器工作稳定性,在锁定态中当连续漏检达到预定漏检次数n值时,帧同步才重新跳回搜索态,否则继续保持在锁定态[5]。

3.4 FPGA与ARM接口数据收发处理

FPGA与ARM之间采用并行接口通信,将FPGA作为ARM主机的一个存储设备,通过ARM地址资源访问FPGA接口,从而实现ARM与FPGA的并行数据交互。

为了提升FPGA与ARM之间数据传输速率,在FPGA内部的FIFO电路中调用双口RAM模块,将该双口RAM分成若干个分区,其中缓存区A0和缓存区B0用来存储来自ARM的网络密文数据,缓存区A1和缓存区B1用来存储来自FPGA传输给ARM的解密后的数据。根据功能要求,为实现收发数据的单向码流达到20 Mbps,采用了数据乒乓缓存操作原理,即将存储数据收发分成“A0/B0组”和“A1/B1组”,使得网络数据的收发不间断传输,从而提高数据吞吐能力[5]。双口RAM内部地址空间分配乒乓操作原理框图如图5所示。

图5 双口RAM地址空间分配

ARM向FPGA发送数据过程如下:来自ARM的数据按照帧格式长度存入内部双口RAM缓存区A0(或B0)中,同时FPGA通过控制逻辑预先读取字节缓存区B0的数据,将指定地址的时码数据提取后存入内部寄存器中,将剔除时码信息的剩余帧字节数据通过并串转换后输出并进行加密。下一次数据操作与前一次相似,即:先将网络密文数据保存在缓存区B0中,读取并发送缓存区A0中的数据,通过控制切换完成网络PCM数据发送的乒乓操作。

ARM从FPGA接收数据过程如下:接收来自信道的PCM数据按照帧格式长度存入外部SRAM缓存区A1(或B1)中,将内部寄存器缓存的时码信息与输入比特流组合成对应字节数,保存到外部SRAM缓存区A1中,然后通过半区指示和中断信号通知ARM处理器读取数据,继续接收数据,同样加入时码信息后,存入缓存区B1中,存满后通知ARM将数据读取,通过控制切换完成信道PCM数据接收的乒乓操作。

4 ARM显示处理模块

图6 ARM显示处理 流程图

ARM显示处理模块是整个传输系统的主控制器,主要完成参数存储、系统状态监测、重要参数实时显示、数据本地存储和网络上传等功能。根据流驱动的特点,通过在应用层调用相关函数,用C++语言实现整体的设计,具体的设计主流程如图6所示。首先,系统加电初始化,ARM主机自检,并扫描FPGA、网口状态信息,然后读取本地Flash存储器中的配置信息,开放中断。当FPGA的双口RAM半满时,产生中断信号,ARM读取RAM中缓存的PCM数据字。当ARM收到整帧PCM字后,根据预存配置信息挑选相应的飞行参数信息,完成液晶屏显示、本地存储和网络上传工作。

5 实现结果

通过搭建测试环境对系统的软硬件功能和性能进行了验证。系统输入采用串口调试助手发送一组固定帧结果的遥测PCM数据流,经过本文传输系统处理后,得到液晶屏显示结果以及本地存储的数据文件。使用UltraEdit软件打开和分析存储的数据文件,经同步比较输入输出内容,可以发现,帧头、帧尾标志分别为EB90H、146FH,固定帧数据为3C92 1B08 069D 0843H,附加4个字节帧计数器。大量试验表明,本系统传输PCM数据稳定可靠,实时传输能力强,满足了设计要求。数据格式如图7所示。

图7 PCM数据存储结果

结 语

[1] Altera Corporation.Cyclone device handbook,2008.

[2] 孙秋野,孙凯,冯健.ARM嵌入式系统开发典型模块[M].北京:人民邮电大学出版社,2007.

[3] 单立超,谢雪松.基于FPGA的混合遥测数据复接技术的研究[J].电子技术应用, 2013,38(10):12-14.

[4] 吴静.基于USB总线的PCM解调器研制[J].科学技术与工程,2009,9(8):2068-2070.

[5] 田宝泉,李国星.机载PCM数据流实时监控显示系统的设计[J].科学技术与工程,2013,13(19):34-37.

严平(工程师),主要从事嵌入式软件设计和测试方面的研究。

猜你喜欢
双口码元遥测
双口形式的戴维宁定理在电路分析中的应用
LFM-BPSK复合调制参数快速估计及码元恢复
基于WPF的遥测CAS信息实时监控系统设计开发
自适应模糊PID控制的遥测方舱温度调节方法
Matching mechanism analysis on an adaptive cycle engine
基于极大似然准则的短猝发信号盲解调
浅谈如何提高遥测状态估计合格率
双口RAM读写正确性自动测试的有限状态机控制器设计方法
双口RAM在无人机三余度飞控计算机数据交换中的应用
利用VBA处理邻近气象站的相关遥测数据