微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种基于ARM的航空总线通讯卡设计与实现

一种基于ARM的航空总线通讯卡设计与实现

时间:05-03 来源:互联网 点击:

向的,即只能由处理器到ARINC429接口芯片,故负责地址总线电压转换的两片SN74LVC4245-DBL芯片DIR引脚可以接死;而负责双向数据总线电压转换的两片SN74LVC4245-DBL芯片DIR脚则需要通过CPLD进行逻辑控制。

2.2 DEI1016/BD429与CPLD的接口逻辑设计

ARINC429通讯卡片选由LPC3250的CS1和地址BA11~BA4共同控制,即当CS1有效且BA(11 to 4)=“00000000”时选通,全译码,地址空间为E100 0000-E100000F

1)数据发送逻辑设计

DEI1016是16位数据线,所以32位数据字必须分成两个16位写入,而控制字只需一次写入即可。以下VHDL代码实现了对429数据发送的控制:

LD_1(0)<=‘0’WHEN WR=‘0’AND A=X“4”ELSE‘1’;--第1片429发送低字

LD_1(1)<=‘0’WHEN WR=‘0’AND A=X“5”ELSE‘1’;--第1片429发送高字

LDCW_1<=‘0’WHEN WR=‘0’AND A=X“6”ELSE‘1’;--装载控制字

ENTX_1<=‘0’WHEN WR=‘0’AND (A=X“0”OR A=X“1”)ELSE‘1’;--置使能发送有效

2)数据接收逻辑设计

本通信系统实现两发四收,4个接收通道接收到的数据放在各自独立的FIFO中。数据接收采用中断-查询方式实现,即由接口芯片DEI1016的DR信号有效产生中断,通知处理器有新的有效数据到达。由于四路接收通道共用一个中断,所以必须在CPLD逻辑中实现中断屏蔽,并在中断有效时可查询是哪一路接收通道引发的中断,对于中断的处理逻辑为

INT<=RDY_429_1(0)AND RDY_429_1(1)AND RDY_429_2(0)AND RDY_429_2(1);--中断信号处理

以上逻辑表明,4个接收通道中任一路有数据时都会引发中断,此时查询数据线,即可得出是哪一路接收引发的中断。

3 ARM固件程序设计

同件程序担任着通讯系统最基础最底层的工作,是硬件设备的灵魂,且由于硬件设备除了固件以外没有其它软件组成,所以固件也就决定着硬件设备的功能及性能。本系统中ARM固件中断源为一个六位的寄存器,高位到低位分别标志:第一路发送、第二路发送、第一片两路接收、第二片两路接收路接收。

在本系统中,ARM固件程序需循环装载控制字,然后检查中断控制寄存器(PORT_CPLD_INT_SOURCE)的值,根据该值做具体的发送和接收操作。中断控制寄存器的取值及其对应的操作在表1中给出。

根据以上的分析阐述,给出程序的伪代码如图3所示。

4 结束语

ARINC429是航空电子系统中应用广泛的通信标准,而ARM微处理器在目前的测控领域也占有相当重要的位置,因此基于ARM微处理器的ARINC429通信系统无疑有着很好的适用范围和实用意义。同时,上述设计的接口通信板在多个不同的航空电子系统中成功的应用,证明了其正确性和高效性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top