韩 冲
(中国商飞有限责任公司上海飞机设计研究院,上海 200235)
随着航空电子系统综合性的增强,各个系统之间的数据通讯,变得尤为重要。ARINC429作为最常用的通讯总线,广泛使用在波音系列飞机、欧洲空中客车等机种,成为机载设备之间通讯的主要接口。我国的惯导系统,也以ARINC429为主要通讯总线。ANINC 429数字信息传输规范(DITS)33为在航空电子设备之间传输数字信息,制定了航空运输工业标准。
ANINC 429的发送速度有高速(100 kbps)和低速(12.5 kbps)两种。对于低速发送,一般的嵌入式处理器(如8051系列单片机)即可满足;而对于高速发送,虽然采用性能更好的80C196单片机可以满足,但其外围电路繁冗,会影响板卡的性能。
同上述两种单片机相比,TMS320F206采用了先进的改进型哈佛结构及流水线技术,指令执行速度快,1个机器周期仅为50 ns。同时TMS320F206的数据、地址总线(均为16位)分开,片内带有32 k字的闪速存储器和544个字的RAM。构成最小系统时非常简单,不需EPROM、RAM、地址数据锁存器。虽然用其构成ANINC 429数据传输系统时的指令同80C196类似,但由于每条指令的执行时间很短,至少为80C196的1/20,故可使速度提高20多倍。从而不但可以满足高速ANINC 429数据传输的要求,而且能够减化板卡设计,提高板卡的性能。
HS3282是HARRIS公司推出的一款高性能的COMS型429总线接口电路,其工作频率为100 k bit或者12.5 k bit,单电源+5V供电,低功耗,直接与ARINC总线连接,一路发送,两路接收。接收器和发送器相互独立,同时工作。双通道接收器之间也是独立的并行接收,可以直接连接到ARINC429总线,而不需电平转换。字长25位或者32位,接收数据时进行校验,而发送数据时产生校验,内部定时器可自动调整字间隙。其发送缓冲是一个8×32 Bit的FIFO。
429总线接口板的主要功能,是在429总线和PC机之间起到桥梁作用,实现429总线数据信息的接收和发送。当有数据从429总线上传输时,429接口电路能够准确地将其接收,并把它送到DSP,经DSP处理后,继续向PC机发送;当PC机的信号传输到来时,由DSP进行实时处理后,控制429收发模块将数据传送到429总线上。系统的总体框架如图1所示。
图中,主要设计模块有以下部分:
图1 系统的总体框架
(1)板卡CPU。选用TI公司的TMS320F206,是设计成本最低、结构功能复杂度也较低的定点DSP,其片内32 k Flash、4.5 k RAM可以满足处理规模适中的应用。可省去片外固化存储器,简化接口电路设计。但TMS320F206的I/O引脚数只有4个,远不能满足设计需要,因此还需要选用CPLD作为接口的扩展,并完成译码和部分控制工作。
(2)429总线接口电路。HS3282是ARINC429的协议芯片,发送时,常配合HS3182共同作为一组ARINC 429总线的接口电路。本板卡具有4发8收的功能,根据上述介绍,这里须要选用4组这样的总线接口电路。
(3)数据缓冲器。为避免PC机从双口存储器中读取数据时,DSP再次对该数据区进行写操作而产生冲突,选用双端口RAM连接ISA总线和DSP处理器。
(4)译码、控制和中断逻辑。这里采用CPLD来实现。因为CPLD具有编程方便、集成度高、速度快、价格低等特点,而且CPLD软件包中有各种输入工具、仿真工具、版图设计工具和编程器等全线产品,使设计人员在很短时间内,就可以完成电路的输入、编译、优化、仿真,直至芯片的制作。
429接口从外部接收到数据时,采用中断方式向F206发出请求,F206接到中断请求后,进入中断服务子程序。F206在处理完接收数据及对相应的状态进行设置后,向PC机发出中断请求信号。PC机接收到中断请求信号后,通过查询各个状态字来获得接收口的通道号和数据量等信息,区分不同的中断源,若为接收中断,则首先通过查询缓冲状态位来判断接收通道,在将数据取走后,将此缓冲区的状态位清零。PC机每隔一段时间,将要发送的数据(若有数据)送到相应得缓冲区中,并以中断的方式通知429板,F206接收到中断请求后,将中断请求清除,再将数据取走并通知接口板进行发送。
(1)F206向PC机发送中断的逻辑模块。图2中,中断拨码器的输出XIRQ的8个引脚分别与ISA总线的 3,4,5,7,10,11,12,15 这 8 个中断引脚相连,通过拨码,可以选择这8个中的一个。当F206要向PC机发送中断时,通过A1~A5将中断入口地址写到中断寄存器中,并通过CPLD的译码逻辑模块产生一个向PC机的中断请求INTPC,INTPC经过中断寄存器产生INTRPC信号并通过拨码器SW产生一个中断信号 XIRQx(3,4,5,7,10,11,12,15 中的一个),发往 PC机。PC机接到F206发来的中断后,产生一个中断应答信号CLRINTPC,这个信号使中断寄存器复位,其作用相当于清中断,以便继续接收F206发来的中断。
图2 F206向PC机发送中断逻辑图
(2)PC机向F206发送中断的逻辑模块。同样,当PC机要向F206发送中断时,它也要通过地址信号线XA1,XA9~XA13将中断地址写到中断寄存器中,并产生中断请求信号INTDP。F206接到此中断请求信号后,产生中断应答信号CLRINTDP,使中断寄存器复位,清中断,以便接收PC机的新的中断请求信号(如图3所示)。
图3 PC机向F206发送中断逻辑图
(3)中断扩充逻辑模块。由于F206的IO引脚数量及其有限,要在F206上实现所有的IO中断是不可能的,所以我们利用CPLD,通过F206的8个数据线D0~D7对IO中断进行了扩充。逻辑图如图4所示。
图4 中断扩充逻辑模块
当HS3282产生中断时,F206通过这8个数据线读取中断信号(/DR11~/DR42,分别对应 4块HS3282 的 /DR1、/DR2)并传输至 F206,进行相应的中断控制;同时这8个数据线还作为F206向HS3282发出控制信号/MR1~/MR4(主复位信号)和ENTX1~ENTX4(允许发送信号)的传输线,将控制信号传输给HS3282,如图 4(a),显然,D0~D7 是双向传输的。所以在设计时,采用三态缓冲器74240和八D触发器74273来实现它们的双向传输,如图4(b)。
根据板卡要求,HS3282的发射时钟有两个可选频率480 k和1M。我们利用一个48M的外部晶振来驱动,使得它通过CPLD进行100分频和48分频分别得到这两个频率。其中100分频通过两个10分频逻辑实现,48分频先后通过8分频和6分频逻辑来实现。
除上述几个模块外,CPLD中还集成了板卡地址选择模块、HS3282读写信号的产生模块、提高板卡可靠性的复位模块等等。由于这些模块实现简单,在此就不再一一详述了。
F206与HS3282的接口电路如图5所示。
图5 F206与HS3282的接口电路
(1)/MR信号。主复位,低脉冲有效,通常只用于加电和系统重启。
(2)ENTX信号。发送使能标志,用于从先进先出存储器开始数据传输。
(3)TX/R信号。发送器输出标志,表明存储器空。
(4)/DR11和/DR12/信号。终端请求,通过数据线D0和D1将终端信号传输给F206。
(5)/RD信号。F206向HS3282发出的读取信号,用于读取HS3282缓存中的数据。
(6)/WR信号。F206向HS3282发出的写信号,用于向HS3282缓存中写数据。
这只是F206与一片HS3282的接口电路,F206与其他3片HS3282的接口电路与之类似。
当接口板实现数据的发送功能时,数据首先从ISA总线读入,并存储在双口RAMIDT7025中,当适合发送数据时,F206发出读取信号,将存储在IDT7025中的数据通过D0~D15数据总线传输给HS3282,通过HS3282控制向429总线发送数据;同样,在接收数据时,HS3282接收的数据在F206的控制下,通过数据总线D0~D15传输到IDT7025中,最后PC机通过ISA总线接收数据,从而完成数据的收发功能。图6中,READY为高,表明对双口RAM的访问可以结束,否则将延续此次访问。
图6 F206与双口RAM的接口电路
DSP时钟可由外部提供,也可由板上的振荡器提供。但一般DSP系统中,经常使用外部时钟输入,因为使用外部时钟时,时钟的精度高、稳定性好、使用方便,从而可以保证DSP能够可靠、稳定的工作。而且,使用外时钟时,可以通过改变DIV1、DIV2引脚上的电平,设置时钟方式为×1、×2或×4。这样,只需用一个时钟,就可以提供DSP的多个工作时钟,增加了系统的灵活性。这里我们选用20M的晶振,并用选择开关来成比例的设置DSP的工作时钟。接口电路如图7所示。
图7 晶振与F206的接口电路
DSP和CPLD都是通过仿真接口JTAG进行在线编程的。JTAG(Joint Test Action Group)是检测PCB和IC芯片的一个标准,通过这个标准,可对具有JTAG接口芯片的硬件电路进行边界扫描和故障检测。JTAG接口的设计比较简单,只要根据芯片所提供的接口类型按照相应的接口标准即可。
通过整个设计方案可以看出,用DSP+CPLD模式实现429总线和ISA总线之间的数据通讯,省去了EPROM、RAM、地址数据锁存器等外围电路,使得原理图的设计简单、清晰。合理地使用CPLD,又增强了板卡的集成度和开发的便利性。通过开发和调试证明,该板卡能够满足高速ARINC 429数据传输的要求,并且执行速度快,体积小,集成度高,可靠性好。
[1]苏 涛,等.DSP实用技术[M].西安:西安电子科技大学出版社,2002.
[2]朱铭锆,赵 勇,甘 泉.DSP应用系统设计[M].北京:电子工业出版社,2002.
[3]李 刚,等.TMS320F206结构、原理及应用[M].北京:北京航空航天大学出版社,2002.
[4]冯 涛,等.可编程逻辑器件开发技术-MAXPLUSⅡ入门与提高[M].北京:人民邮电出版社,2002.
[5]姜立东,等.VHDL语言程序设计及应用[M].北京:北京邮电大学出版社,2004.