基于HI—3593的ARINC429通讯模块设计研究
2018-06-17姬盼盼单如月战京景
姬盼盼 单如月 战京景
摘要:HI-3593可单片实现ARINC429通讯功能。使用DSP2812的SPI接口控制HI-3593进行ARINC429总线通讯,软硬件设计实现简单、方便,可在航空领域广泛应用。
关键词:ARINC429 HI-3593;SPI
Design and Research of ARINC429 communication module Based on HI-3593
1.引言
随着航空技术的发展,航空电气设备小型化的需求越来越迫切。HOLT公司的HI-3593单片芯片具有总线接口和总现驱动功能,单片实现ARINC429通讯功能。
2.通讯系统硬件设计
如图1所示,采用DSP2812作为主控制器。采用HI-3593接收器1作为总线接收端口,MR端实现HI-3593复位功能。HI-3593与DSP2812的SPI连接关系:
DSP2812 的SPI_STEA、SPI_SIMO、SPI_SOMI、SPI_CLK分别连接HI3593的/CS、SI、SO、CLK。
HI3593要求时钟频率为1MHz[1]。可通过外接时钟和配置内部分频寄存器(ACLK)实现。外部有源晶振为10MHz,内部分频寄存器可配置为0x00。
3.通讯系统软件设计
HI-3593的SPI通讯过程中,采用“操作码+数据码”的形式[2]。HI-3593软件初始化配置流程如下:
1)配置时钟,由于外部有缘时钟为1MHz,使用“操作码+数据码”格式“0x38+0x00”,配置HI-3593时钟为1MHz;
2)使用“操作码+数据码”格式“0x04”,复位HI-3593;
3)使用“操作码+数据码”格式“0x08+0x64”,配置发送控制寄存器,实现波特率100Kbps、奇校验、发送先发高字节再发低字节,数据写入寄存器后立即发送的方式;
4)使用“操作碼+数据码”格式“0x10+0x80”,配置接收器1控制寄存器,实现禁止SDI匹配、无校验、禁止Lale滤波、波特率100Kbps。
软件编程需要注意的是,DSP2812 的所有的控制寄存器都是8位,当寄存器被访问时,数据位位于低8位,高8位为0,因此,写入SPI这6个控制寄存器的高8位时无效的。但是数据寄存器SPIRXBUF、SPITXBUF都是16位的。SPITXBUF寄存器内存存放为左对齐,也就是从高位开始存储,发送时现发送高位。数据在SPIRXBUF中存放是右对齐,也就是从低位开始存储[3]。因此,通过SPITXBUF发送8位数据时,先将DPS2812发送给HI-3593的8位操作码左移8位后,写入SPITXBUF。例如SPI发送操作码0x38时,需要左移8位,发送0x3800。
HI-3593发送操作流程如下:
将32位ARINC429 总线字存入数组data[4]中,其中,bit32-bit25放入data[0]中,bit34-bit17放入data[1]中,依次类推,先存高字节,后存低字节;查询发送寄存器为空时,发送数据,具体流程图见图2右边部分所示。
HI-3593接收操作流程如下:
使用操作码“0xA0”,进行ARINC429接收操作,先接收低字节,在接收高字节。其中,bit3-bit0放入Rcvdata[0]中,bit7-bit4放入Rcvdata[1]中,依次类推。如图2左边部分所示。
4 结束语
本文叙述了使用DSP2812控制HI-3593进行ARINC429总线通讯的设计方法。可使用SPI进行控制,软件、硬件设计简单,在航电系统中具有较强的实用性。
参考文献
[1]HOLT.HI -3593 3.3V ARINC429 Dual Receiver [A].SingleTransmitter with SPI Interface,2013:1-24
[2]张妙琳.基于VxWorks 的ARINC429总线驱动开发[J].工业控制计算机,2016(29):3-4
[3]顾卫钢.手把手教你学DSP--基于TMS320X281[M].北京:北京航空航天大学出版社,2011
作者简介:姬盼盼(1987.12.03)男,汉族,天津人,硕士学历,中级职称,从航空电气研究工作。现就职于天津航空机电有限公司。
(作者单位:天津航空机电有限公司)