自定制IP核的开发及应用
2018-03-11石梅林
石梅林
摘 要:IP核是具有特定功能的可移植的电子单元,根据产品交付方式可分为软核、硬核和固核。IP软核是用硬件描述语言描述的功能块,与工艺无关,可灵活应用于电子系统设计中。本文开发具有自主知识产权的ARINC429总线IP核,可用于429总线通信应用场合。本文首先介绍了ARINC429总线及其应用,接下来就主要针对ARINC429总线IP核设计进行了介绍,以期可以更好地了解ARINC429总线IP核。
关键词:IP核 总线 应用 设计
中图分类号:TP311.52 文献标识码:A 文章编号:1672-3791(2018)09(a)-0007-02
1 ARINC429总线及其应用
ARINC429总线是一种广泛用于航空领域的数据传输协议,是一种发送和接收通道相互独立的单工传输的自同步数据总线协议,采用点对点通信方式[1]。ARINC429总线由2根带有差分信号的双绞线实现物理连接,数据传输速率有低速和高速两种,低速通信位速率通常使用12.5kb/s,高速通信最常用的速率为100kb/s。429总线编码方式采用双极型归零码,如图1所示。
目前国内电子设计领域实现429通信的常用形式有以下几种。
(1)处理器+协议芯片。
(2)处理器+FPGA。
(3)IP核。
其中,通过IP核的实现方式基于自带处理器核的可编程的FPGA,可根据系统应用需求灵活定制相关功能,可裁剪,可升级。本文进行具有自主知识产权的429总线IP核设计,可有效节省成本,提高设计灵活性
本文采用100kb/s的高速通信设计,码元周期为10μs。本文的设计中,在FPGA芯片IO口产生TTL电平信号,通过与429总线驱动器配合使用产生符合429编码格式的信号。数据字格式如表1所示。
2 ARINC429總线IP核设计
本文设计了一个基于FPGA的ARINC429总线IP核,以MicroBlaze软核处理器为中心,实现符合429总线协议的通信功能。
系统功能结构中接收通道和发送通道分别设计为独立的IP核,系统中所用通道数可根据应用需求定制。
2.1 接收模块设计
该IP核的接收模块主要功能是通过FPGA端口接收外部的串行数据,进行串并转换供处理器读取。接收模块各个通道相互独立。
该模块工作过程为:ARINC429数据经过转换变为一组TTL电平的串行数据Ain、Bin,数据线初始为低电平,数据起始检测模块以20倍数据传输速率对数据进行采集,当出现连续5个Ain高电平或Bin高电平时,产生数据起始信号start,开始采集数据并将串行数据转换为并行数据,完成32位数据采集与转换后进行奇偶校验,若数据正确则存入寄存器中供CPU读取,否则返回错误状态。本文采用一个16×32位的FIFO进行数据缓存,超过16个数据则溢出,丢弃旧数据。
2.2 发送模块设计
该IP核的发送模块主要功能是将需要发送的32位并行429总线数据转换为相应的串行格式并进行输出。发送模块各个通道相互独立,某一通道的结构框图如图2所示。
该模块的工作过程为:在数据加载信号load的作用下,将需要发送的数据产生奇偶校验位后存入一个16×32位的数据缓存模块中,同时用状态信号empty_s表示数据缓存模块的状态;当数据发送使能信号en为低电平时,将数据依次进行并串转换,然后转换为符合相关标准的串行数据TXA、TXB,进行数据发送。
2.3 IP核封装及寄存器设置
完成IP核的用户逻辑设计并验证之后,通过EDK的IPIF把它包装成一个具有通用接口、符合总线规范并能在系统中集成的IP核。IPIF(IP Interface)是EDK为定制IP核推出的IP接口,可生成符合标准的IP接口,用户可根据自己的需要选择系统总线连接方式和交互的总线信号,EDK工具会根据用户选择的系统总线方式实现相应的总线接口逻辑,合成完整的IP核模块。
3 IP核功能验证
将前文所开发的429总线IP核添加到FPGA的硬件编程文件中,并烧写到FPGA芯片中。然后在SDK开发平台中编写功能测试软件,分别测试其接收与发送功能,其中接收功能测试时,外接429数据,在软件内读取接收数据寄存器以验证接收功能。测试发送功能时,外接发送驱动器,并在程序内定义发送数据,用示波器分别抓取FPGA芯片数据输出管脚和驱动器数据输出管脚的数据波形,与发送数据对比以验证发送功能。
试验结果表明,本文所开发的429总线IP核可按照规定的波特率和数据格式进行正确的数据收发,并进行奇偶校验。
参考文献
[1] 周前柏,马伟勃.ARINC429通信方式的研究与实现[J].航空计算技术,2010(7):121-124.
[2] 付军立.ARINC429总线接收器极限参数测试方法[J].测试技术学报,2017,31(6):519-523.
[3] 索晓杰,王建生,李明,等.ARINC429总线发送端软硬件隔离控制技术研究[J].航空计算技术,2017,47(5):97-100.
[4] 潘亮,司斌,张从霞,等.基于FPGA的1553B总线曼彻斯特编解码器设计与实现[J].航空兵器,2018(2):83-88.