基于AT89S52的ARINC429航空通讯总线设计
2016-10-29吴鹏吴新强
吴鹏,吴新强
(广州海格通信集团股份有限公司,广州 510000)
基于AT89S52的ARINC429航空通讯总线设计
吴鹏,吴新强
(广州海格通信集团股份有限公司,广州510000)
ARINC429总线结构简单,数据结构统一,抗干扰性强,广泛地应用在航空通信领域中。采用价格低廉的AT89S52单片机作为主控制器设计一套ARINC429的收发系统,重点阐述实现ARINC429总线的方法,并结合DEI1016和BD429给出详细的硬件设计电路和C语言代码,能够直接应用在实际的开发中。列举开发ARINC429时经常遇到的问题,并给出详细的解释,为后续开发扩展做准备。该套系统结构简单,稳定可靠,在ARINC429航空通讯总线设计中有一定的参考价值。
AT89S52;ARINC429;航空通讯总线
1 ARINC429总线简介
ARINC429是一种航空电子总线,其协议规定了航空电子设备及有关系统间的数字信息传输要求,由于其具有总线结构简单,性能优良,在先进的民航客机中得到了广泛的应用。ARINC429总线是一对单向,差分信号传输的串行单向传输总线,同一个时刻,每个总线上只允许有一个发送设备和最多20个接收器,信息只能从通信设备的发送端口输出,经传输总线传至与它相连的需要该信息的其他设备的接收端口,不能倒流至已规定为发送的端口中[1]。ARINC的信息传输速率分高低两档,高速为100kbps,低速为12.5kbps,接收和发送通道是相互独立的。ARINC429数据发送时经过二级差分驱动,前级是TTL电平即逻辑1为5V,逻辑0为0V,进过驱动的第二级输出V+,V-的电平和本文选取的BD429的参考电压有关,差分运算的结果是参考电压的两倍[2]。
ARINC429数据格式定义如表1所示。
1-8位位标号位,代表发送信息的类型,9-10位是源终端识别(SDI),指示信息的来源或信息的终端,11-29数据位,代表发送的数据,30-31(SSM),指出数据的特性,32位(P)为奇偶校检位。
表1 ARINC429数据格式
在设计中,ARINC429收发器以 DEI公司的DEI1016及BD429线性驱动器来配套使用。
1.1DEI1016简介
DEI1016是Device Engineering公司研制生产的一种可支持ARINC429航空总线协议的串行收发器件,改器件的主要功能如下:(1)两个接收通道,一个发送通道(2)环绕自测试模式(3)串行数据字长25位或者32位(4)8个字的发送缓冲器(5)接收通道可以直接连到ARINC429数据总线 (6)串行速率为100Kbps或12.5Kbps(7)可自动产生字与字之间的间隔[3]。DEI1016只需要5V供电,接收和发送通道可以同时工作,两个接收通道互相也是独立运行的,可以直接连接到ARINC429通讯总线上,不需要电平转换。
1.2BD429芯片简介
BD429是满足ARNIC429规范的、双极性数据输入线驱动器,兼容输入TTL和CMOS电平。本设计中BD429供电电压为5V,当BD429工作在429模式中,在DATA(A)和DATA(B)管脚中输入串行数据,通过SYNC和CLOCK输入管脚使能驱动,在Aout和Bout中,输出0v,+5V,-5V的电压[4]。如下表2所示:
表2 BD429真值表
2 ARINC429总线硬件设计
本文选用 AT89S52单片机作为主控器,与DEI1016芯片进行并行连接可充分发挥其特性,单片机通过串口接收要发送的数据,通过DEI1016发送到BD429,BD429将其发送通道的+5V~-5V电平抬至+ 10V~-10V发送到总线。由于DEI1016的接收通道具有内部电平转换功能,所以可以直接与总线连接,单片机可以将DEI1016接受到的数据转换格式后通过串口发出。
2.1AT89S52外围电路设计
AT89S52采用TQFP44封装,是一种低功耗,高性能CMOS 8位控制器。本设计中将AT89S52的ALE端输出的1/16晶振频率信号接到DEI1016的时钟输入端口,提供DEI1016的发送和接收时钟。由于DEI1016 的1MCk管脚要求输入1MHz频率,所以采用晶振频率为24M的晶振,再通过分频器二分频之后,即可以满足DEI1016的时钟要求。将P0和P2口和DEI1016的芯片的D0-D15连接,以便对DEI1016的寄存器进行读写操作。外围电路设计如图1所示。
2.2DEI1016与BD429芯片连接
本设计中扩展来一路收发通道的接口,由于收发通道采用的是差分信号传输,所以发送和接收都有两个管脚,即DI(A),D1(B),DO(A),DO(B)。由于DEI1016输出的DO(A),DO(B)是TTL电平,不能直接连接到ARINC429总线上,需要用电平转换芯片,本文选用BD429,能够将TTL电平转换输出成ARINC429电平。DEL1016的输入端口因为芯片内部已经做了电平转换,可以直接连接ARINC429总线,不需要再做任何处理。设计时,要在BD429的CA和CB管脚要接两个68pf的电容才能正常工作。
图1 AT89S52外围电路
图2 DEI1016与BD429连接电路图
3 ARINC429总线软件设计
3.1DEI1016初始化
系统上电后,需要对DEI1016复位,只需将MR管脚拉低再拉高即可完成芯片复位。按照下面的时时序图,先拉高LDCW管脚,将要写入配置DEI1016工作方式的数据送到AT89S52的P0,P2口,再拉低LDCW管脚,将数据写到DEI1016寄存器。配置DEI1016的寄存器低四位是无效的,通过这些寄存器可以配置发送数据长度(32位或者是25位),是否进行自测试,奇偶校检,发送和接收的数据速率等。
图3 DEI1016初始化时序图
3.2DEI1016数据发送
配置DEI1016的工作方式后,按照以下写数据时序,先判段DEI1016的TXR引脚是否是高电平,如果是高电平,则表示DEI1016的发送缓冲器为空,既可以发送数据。先禁止发送使能,将LD1,LD2拉为高电平,将16数据写入word1,然后拉低LD1,即可将word1发送到数据总线,然后拉高LD1。同理写word2时,拉低LD2,既可以word2发送到数据总线上。
图4 DEI1016数据发送时序图
C语言代码如下:
3.3DEI1016数据接收
先判读DEI1016的管脚DR1,DR2是否是低电平,如果是低电平,即DEI1016接收通道有有效数据。根据以下时序,先拉低SEL数据,再拉低OE1管脚,然后通过单片机的管脚读取总线上的数据word1。拉高OE1,SEL后,再拉低OE1,即可以读取word2。
图5 DEI1016数据接收数据时序图
C语言代码如下:
3.4ARINC429自测试
当只有一块板子时,可以配置DEI1016发送速率为100Kbps和正常工作方式 (即不是环绕自测试),将BD429输出的两路差分信号接到DEI1016的输入端进行测试。此时DEI1016的工作状态是先发送数据,经过BD429后,又连接到了DEI1016的输入端,DEI1016再接收发送的数据。分别配置DEI1016成奇校检,偶校检,和无校检,发送数据“12350248”时,发送和接收的数据如下表所示:
表3 ARINC429自测试
3.5ARINC429测试中遇到的问题及总结
(1)当DEI1016配置成自测试模式时,接收到的数据会和原数据相反
例如当发送0x00000001时,接收端会收到数据0xfffffffe,这是因为在自测试模式时,DEI1016的一路输出通道在内部反向后接到第二路输出通道,这样两路输出通道一路和发送数据相同,另一路和发送数据相反。
(2)当用示波器测试ARINC429总线上的数据时,和发送的数据不一致
这是由ARINC429总线上的通讯协议决定的,例如发送数据Word1=0x5678,和Word2=0x1234,那么通过示波器观测,实际上ARINC429总线上的数据是0X6246和0x8A1E。
(3)当发送32位数据时,通过DEI1016接收到数据的第八位会发生变化
因为ARINC429数据的第八位是校检位,当用户发送配置成奇校检时,发送校检位的值由除它之外的31位数据中“1”的个数决定,如果为奇数个,则校检位位“0”,否则为“1”。当用户发送配置成偶校检时,发送校检位的值由除它之外的31位数据中 “1”的个数决定,如果为偶数个,则校检位位“0”,否则为“1”。接收采用奇校检接收数据的校检位由接收数据的32位数据决定,如果有奇数个“1”,则接收数据的校检位为“0”,否则为“1”。
4 结语
航空总线中信息交换的有效,可靠是保证设备正常运行的重要条件,采用AT89S52单片机,及ARINC429专用芯片 BD429和 DEI1016,设计了 ARINC429航空总线,该系统经过测试证明可靠,稳定且价格低廉,能应用在航空总线中,具有良好的工程实用价值和应用前景。
[1]王瑞敏,苗克坚,王亚妮.基于ARM微处理器的ARINC429接口板软件设计[J].计算机工程与设计,2008(21).
[2]张战平.ARINC429航空通讯总线设计[J].?计算机测量与控制,2013(08).
[3]Device Engineering Inc.DEI 1016ARINC 429 Transceiver[Z],2000.
[4]Device Engineering Inc.BD429 ARINC 429/RS-422 Line Dri ver Integrated Circuit[Z],2000.
Design of ARINC429 Aviation Communications Bus Based on AT89S52
WU Peng,WU Xing-qiang
(Guangzhou Haige Communications Group Limited by Share Ltd.,Guangzhou 510000)
ARINC429 bus structure is simple,unified data structure,strong anti-interference,widely used in the field of aeronautical communications.Uses inexpensive AT89S52 microcontroller as the main controller to design ARINC429 transceiver and receive system.Focuses on the method to achieve ARINC429 bus,combine DEI1016 and BD429 to give a detailed hardware circuit design and C language code,which can be directly applied in the actual development.Lists the problem when develops ARINC429 and gives a detailed explanation,which makes prepare for the subsequent development.The set system is simple,reliable,has a certain reference value in ARINC429 aviation communication bus design.
AT89S52;ARINC429;Aviation Communication Bus
1007-1423(2016)27-0054-05DOI:10.3969/j.issn.1007-1423.2016.27.014
吴鹏(1989-),男,河南信阳人,硕士,研究方向为嵌入式在物联网中的应用
2016-07-12
2016-09-25
吴新强(1989-),男,安徽阜阳人,硕士,研究方向为GIS应用以及软件工程