摘 要:在航空电子系统中,经常需要对1553B总线和ARINC429总线进行双向数据转换以适应不同电子设备的接口要求。由于两种总线标准传输协议不同,传输速率和数据格式有较大差异,常规系统需要多种专业数据转换芯片以满足数据转换要求。本文介绍一种基于FPGA的通用数据转换模块设计。
引言
在航空领域,1553B总线和ARINC429总线是应用较为广泛的两种总线标准,载机航电系统较多应用1553B总线,而机载武器系统则较多应用ARINC429总线,作为武器系统和航电系统通信控制中介的发射装置则需对两种总线标准进行数据转换。现将两种总线数据格式进行简单介绍。
1)GJB1553B总线简介
GJB1553B数据总线采用Manchester编码解码协议,以异步、命令/响应方式执行数据传输,通常采用半双工方式,其传输速率为1Mbit/s.Manchester码与常用的不归零码(NRZ)的编码不同,在电路中,NRZ码的“0”用低电平表示;Manchester码的“0”用由低到高的电平跳变表示。同理,NRZ码的“1”用高电平表示;Manchester码的“1”用由高到低的电平跳变表示。在实际应用中采用差分Manchester码。差分Manchester码与不归零(NRZ)的波形对照如图1所示。
2)ARINC 429 简介
ARINC429总线是目前应用较多的机载航空总线之一,它是一种单向是一种单向广播式总线,其信息传输速率为12.5~100kbit/s[2].ARINC429规定数据传输采用双极性归零码(如图2所示),即调制信号有“高”、“零”、“低”状态组成,传输介质为双绞屏蔽电缆。
1 基于FPGA的转换电路硬件设计
数据转换核心工作是对各种总线标准的数据进行编解码。在传统数据转换电路中,一般先由各种总线标准的专业编辑码芯片对数据进行编解码,再对数据进行处理,传统的转换电路设计较为简单,但功耗较高,可编程逻辑的资源未能充分利用。现介绍一种基于FPGA的数据转换电路设计。
数据转换硬件电路设计:
数据转换电路主要包括FPGA、DSP和外围驱动调理电路。其中DSP控制各模块工作时序,FPGA负责曼码编解码、DSP外围控制逻辑、数据格式转换、时钟信号产生及数据暂存等功能实现,数据存储在高速低功耗的CMOS静态RAM中。数据转换电路硬件设计框图如图3所示。
考虑到电路各模块间数据通讯,数据线需要占用大面积的PCB空间,切高速信号间可能产生串扰。故在此处我们将1553B芯片的编解码部分集成到FPGA中,外围通过模式变压器和简单的整形电路将数据电平调理到适合FPGA接收的范围。这样可以降低整个数据转换电路的功耗,提高CPU控制板的集成度,减小发热量,简化PCB板的布线,提高整个系统的稳定性。
2 系统仿真验证
整个FPGA功能模块采用Verilog语言进行集成,利用FPGA仿真工具对设计中的关键信号和模块进行仿真可极大节省开发时间,提高系统运行的稳定性,降低开发成本。
1)GJB1533B数据转换实现
GJB1553B数据采用曼彻斯特编码,要实现数据转换必须对曼码进行解码,曼彻斯特编码解码逻辑电路由同步头识别逻辑电路、数据采样逻辑电路和译码逻辑电路构成。同步头的识别较为关键,如果不能正确的识别可能导致命令丢失或者参数设置错误。在此我们采用的技术是:数据采样逻辑电路时钟监测数据输入线路,把数据输入线路上的电平的跳变作为一个触发事件,这个触发事件是否有效由以下条件决定:
如果在后来采集到的数据队列中连续存在1.5位的低电平和两个有效的Manchester码位,就认为命令字同步头有效;如果在后来采集到的数据队列中连续存在1.5位的高电平和两个有效的Manchester码位,就认为数据字同步头有效。在随后连续收到17位Manchester码,最后一位是奇校验位,如果奇校验位正确,说明收到一个正确完整的字,这个十六位字是命令字还是数据字由同步头的格式确定。
在FPGA中进行仿真,其波形如图4所示。
由图可以看出,在FPGA内部曼彻斯特码顺利转换了计算机通用的二进制数据。
2)ARINC429数据转换实现
ARINC429数据的基本信息单元是由32位构成的一个数据字,每个数据字被分为5组,即: 第1~8位为标志位(LABEL)、第9~10位为源/目的识别位(SDI)、第11~29位为数据区(DATA)、第30~31位为符号位(SSM)、第32位为奇偶校验位(PARITY)。实际上,ARINC429对数据位的使用在很大程度上可以由系统设计者自己定义,在32bit串行传输的基本特征下,只要收发双方使用相同的约定即可。根据429数据格式在FPGA中用Verilog语言对编解码格式进行集成,其仿真波形如图5所示。
由图可以看出, 在F P G A 内部ARINC429数据顺利转换了计算机通用的二进制数据。
3 结语
通过仿真可以看到, G J B 1 5 5 3 B 和ARINC429在FPGA内部经过各自编解码模块解码后都准确稳定地转换为二进制数据,由于Verilog语言的强移植性,编解码模块可直接移植到其他模块达到两种总线数据的通信传输