基于PCI总线的ARINC429接口卡设计
扫描二维码
随时随地手机看文章
摘要:利用PCI专用接口芯片PCI9052和DEI1016 429总线收发芯片设计了ARINC429接口卡,采用DSP作为主控CPU完成数据自动处理,用双口RAM完成DSP与PCI总线数据交换。实验表明:所设计的接口卡传输效率高,可靠性好,开发简单。
关键词:PCI总线;ARINC429总线;DSP;双口RAM;WinDriver
在现代军、民用飞机和导弹上,系统间需要传输大量信息,随着数字技术的发展和微型电子计算机的出现,越来越多的航空电子设备已经采用航空数据总线进行通讯。其中ARINC429作为一种数字信息传输系统已成为航空电子系统通讯规定的航空工业标准。目前,ARINC429总线广泛应用与军事科技领域。从战斗机到直升机甚至应用于导弹系统中。现有产品中,对ARINC429电路形式各具特点,接口上有基于PCI、ISA、PC/104和VXI,板载处理器有的为MCS-51、Intel80196、Intel80386、FPGA等,功能繁多,使用复杂,也势必造成了数据通讯板卡价格昂贵。采用FPGA现场可编程门阵列的设计虽然能够简化硬件设计,但开发难度大、周期长。本文综合各个方案特点提出了一种周期短、低成本、具有很高实用价值的基于PCI接口和DSP为主控CPU的ARINC429数据接口实施方案,并简要介绍了软硬件实现。
1 ARINC429总线简介
ARINC429是一种单向式广播式数字总线,传输的介质由双绞线组成,本质属于串行通讯范畴。系统规定,在一对传输线上,不允许双向传输数据信息,调制方式采用双极归零制(BPRZ)三态码方式,数据发送时经过二级差分驱动,如图1所示,前级V+、V-是TTL电平,ARINC429正常传输电压在10±1 V范围内,并有正负电压之分,信号电平范围可以表征3个状态,逻辑“1”电平电压7.25:11V(A B之间),逻辑“0”电平电压-7.25:-11 V(AB之间),空状态电平电压-0.5:0.5V(AB之间),在连续传送数据时,每32位字之间至少插入个空状态进行隔离,总线数据传输顺序为1,2,3,4,5,6,7,8,9,10,11,12,13…32。
2 总体方案设计
ARINC429总线接口卡主要功能是在ARINC429总线与PCI总线之间起到桥梁作用,实现429总线数据信息的接收和发送。本文总体设计思想是:选用TI公司的TMS320LF2407作为主控CPU;以ARINC429专用芯片DEI1016和BD429为核心设计了ARINC429总线通讯模块来完成数据的收发任务;CPU与计算机数据交换采用PCI总线,为了缩短开发时间与难度,选用PCI专用接口芯片PCI9052来实现。
2.1 CPU模块的选择
TMS320LF2407是TI公司推出的成本低,高性能的面向控制的16位定点DSP,其片内32K Flash,2k字SRAM,544字的DARAM可省去片外固化存储器,简化接口电路设计,TMS320L22407具有40个可单独编程或复用通用IO口,可部分实现429收发芯片的控制工作。
2.2 429总线接口电路
目前ARINC429收发器以Device Engineering公司的DEI1016和BD429以及HARRIS公司的HS3282和HS3281应用最为广泛,2种芯片逻辑上完全兼容,DEI1016是高性能COMS型429接口,能够满足类似的时分多路串行数据通讯,整个芯片只需单5 V工作电源,它具有2路接收一路发送,接收器和发送器相互独立,同时工作,BD429是满足ARINC429规范的,双极数据输入的线驱动器。图2为ARINC429总线收发的经典电路,发送时DEI1016为前极输出,BD429为正式差分输出。
2.3 数据缓冲器
DSP与PCI桥接芯片实现实时数据传输,本设计选择双口RAM的通讯方式,双口RAM具有2套完全独立的数据、地址和控制总线,内部含有总线仲裁电路,可以实现PCI总线与DSP之间高速的数据缓冲和交换。
2.4 系统的总体设计
ARINC429接口卡硬件总体设计如图3所示,由于PCI9052是PCI总线专用桥接芯片,所以在PCI侧的硬件连接上只需要将PCI9052芯片上和PCI总线有关的地址、数据、控制和状态信号线直接挂接到计算机PCI总线上即可。对于DSP,双口RAM作为LF2407片外数据存储器,需要将其映射到片外数据空间地址为8000h~FFFFh处,如图4所示,只有当有效和A15为高电平时选中双端口RAM芯片,此时DSP占有的片外数据空间地址为8000h~FFFFh;在PCI9052一侧,由于IDT7027数据总线为16位,所以在配置EEPROM时把PCI9052局部总线配置成16位宽的数据总线,PCI总线按字节(8bit)寻址,局部总线以字(16bit)寻址,所以双口RAM地址线AL[14:1]由PCI9052局部端地址总线LA[15:2]提供,AID由LBE1单独提供。这样完成了数据存储空间与地址的一一对应,系统译码,电平转换采用CPLD来实现。
3 软件设计
3.1 PCI设备驱动程序
本ARINC429接口卡为一个PCI设备,必须在Windows下自行开发该PCI设备的驱动程序,驱动程序用WinDriver来编写,它以通用设备驱动程序Windrvr.vxd和Windrvr.sys为核心,包含一个WinDriver Wizard代码生成器,一个WinDriver发行包,该软件针对PLX和AMCC的专用接口芯片特别编写了API函数包,这些函数可以方便的实现中断处理,DMA传输,I/O操作、内存映射以及即插即用等功能,为系统程序的开发提供了便利,降低了难度。
3.2 DSP控制程序
上位机程序通过PCI总线将待发送的数据块写入到双口RAM中并通知DSP读取信息,由于PCI侧与DSP侧的RAM地址一一对应,这样DSP只需在相应的内存地址读取相应的信息,完成对DSP的初始化,DEI1016的配置及其429数据的发送和接收。DEI1016初始化时可以配置字长为32 Bit或25 Bit,发送和接收的速率可以设置为工作时钟的十分之一或八十分之一,当DEI1016接收到完整429数据后向DSP申请中断,响应的双口RAM中与PCI见图5。
4 结束语
由整个设计方案看出,主要的功能芯片都是选用专用的芯片来完成,用DSP实现429总线和PCI总线之间的数据通讯,省去了EPROM、RA M,锁存器等外围电路,使设计简单、有效、又能保证可靠性,合理使用CPLD又增强了板卡的集成度。该接口卡通过与某型导弹产品试验室联试证明其设计上能够满足ARINC429数据传输要求,通讯协议帧数、发送周期等通过DSP灵活定制,降低了应用程序开发复杂度,数据传输快,可靠性高。