航空电子之ARINC 429总线

航空电子之ARINC 429总线

开发平台:ISE 14.7

FPGA 芯片:XC3SD1800A

一、总线背景及简介

        ARINC429总线协议是美国航空电子工程委员会(Airlines Engineering Committee)于1977年7月提出的,并于同年同月发表并获得批准使用。他的全称是数字式 信息传输系统DITS。

        ARINC429总线结构简单、性能稳定,抗干扰性强。最大的优势在于可靠性高,这是由于非集中控制、传输可靠、错误隔离性好。

二、总线特点

2.1、传输方式

        ARINC 429总线采用的是双极型归零的三态码单向传输方式,信息只能从通信设备的发送口输出,经过传输总线传至与它相连的需要该信息的其他设备的接口。但信息决不能倒流至已规定为发送信息的接口中,在两个通信设备间需要双向传输时,则每个方向上各用一个独立的传输总线。由于没有1553B总线的BC,信息分发的任务和风险不再集中。

2.2、驱动能力

        429总线设备能驱动不超过20个从设备。

2.3、传输速率

        429总线的标准传输速率在高档100Kb/s和低档12.5Kb/s之间,在我的设计当中根据客户的要求,设置了速率在12.5Kb/s和150Kb/s之间可调,设置好后示波器测得速率误差范围在0.5%之内。

三、总线格式

        429总线有25位和32位两种帧传输方式,其中32位由8 bit LABEL、2bit S/D、19bit DATA、2bit SSM、1bit PARITY组成,25位则是由8 bit LABEL、16bit DATA、1bit PARITY组成。

32

31

30

29                 11

10

9

8            1

P

SSM

DATA

SDI

LABEL

32位数据格式

25

24                 9

8            1

P

DATA

LABEL

25位数据格式

3.1、32bit 发送/接收顺序

        Bit 8 7 6 5 4 3 2 1 9…32

3.2、每个字段释义

        ARINC 429 Word包含32位字段的说明:

  • 32:Parity,奇偶校验位,一般采用奇校验;
  • 31-30:SSM,信号状态矩阵,用来标识信号的有效性;
  • 29-11:Data,数据位置,用来传输载荷数据;
  • 10-9:SDI,源/目的标记位,用来标识信号的源目的位置;
  • 8-1:Label,标识,用来标识信号。
3.2.1、Parity

        奇偶校验位,用于数据总线传输的奇偶校验,检查方法是当由1位到31位所出现的高电平的位数(即1的数)的总和为偶数时,则在第32位上为“1”。如果为奇数,则显示为“0”;

3.2.2、信号状态矩阵(SSM)

        信号状态矩阵位,用于数据总线传输的奇偶校验;

        对于二进制编码的十进制数据-BCD-,SSM可以用来表示ARINC单词中包含的数据的符号或方向,表示如下:

BCD data SSM Sign Coding

31bit

30bit

0

0

Plus, North, East, Right, To, Above

0

1

No Computed Data

1

0

Functional Test

1

1

Minus, South, West, Left, From, Below

        当标签表示二进制数据时,数据-BNR-位31-30用于表示源设备的运行状态;表示如下:

BNR data SSM Status Coding

31bit

30bit

0

0

Failure Warning

0

1

No Computed Data

1

0

Functional Test

1

1

Normal Operation

3.2.3、数据(DATA)

        数据位,可以用BCD码或者BNR(Binary Number Representatiion)码表示,这两种编码格式可以混合使用。

3.2.4、源/目的标记(SDI)

        源/目的标记位,用来标记源地址和目的地址,常用来指示信息的来源或信息的终端;        

3.2.5、数据类型标识(Label)

        标示数据类型位。这个数据类型是指该次传输的数据是与哪个子系统相关的,也就是传送的代码的意义是什么。如传送的是VHF信息,则标号为八进制数030;若是DME数据,则标号为八进制数201等。

3.3、编码方式

        ARINC总线传输采用的是双极性归零式信号;
信号从高电平回归零电平表示逻辑状态1;
信号从低电平回归到零电平表示逻辑状态0 。

四、总线可实现附加功能

        在通过FPGA设计总线时加入了以下多种功能:

  1. 可设置字间隔和帧间隔大小;
  2. 支持SDI和Label过滤两种模式模式;
  3. 加入了多种故障注入方式来进行总线测试;
  4. 可设置范围更大的波特率;

4.1、帧间隔和字间隔

        在可设置字间隔的基础上引入了帧间隔的功能,可任意设置帧间隔的时间来调节数据帧的接收间隔;

4.2、SDI和Label过滤

        在数据接收端加入过滤功能,接收方可通过提前设置SDI和Label过滤参数来屏蔽掉不需要的数据,从而达到只接收自己需要的数据的目的;

4.3、故障注入

        在总线测试过程中往往会伴随故障的出现,故障注入恰好可以很好的模拟系统组件在工作中会出现的问题。

        故障主要是协议层总线故障和应用层总线故障,协议层总线故障主要是出现在总线数据传输过程总,32位传输时每一位都可能出现故障,可能是单独一位出现故障,也有可能是几位一起出现故障;应用层故障主要是在传输电路某个元器件或者传输线出现故障,导致传输数据不正确或者传输中断。针对这两种故障可有设计协议层总线故障注入和应用层总线故障注入来进行模拟系统。

4.3.1、协议层故障注入

        协议层故障注入主要是针对总线传输协议出错设计的,在传输过程中Parity、SSM、Data、SDI、Label每一个字段都有可能出现错误,因此添加了单字段错误注入和全字段任意错误注入的方式来进行错误模拟测试,错误注入的方式主要设计了0错误、1错误、取反错误、中断错误等方式,每个字段可以使用不同的错误注入方式进行模拟。全字段任意错误注入可以输入任意数据来进行模拟。

4.3.2、应用层故障注入

        在控制某个元器件的情况下导致数据出现丢失或者出错。

4.3.3、时序故障注入

        可以通过FPGA设置时序故障来产生一帧数据中不同位宽的数据,该时序故障仅是理论,未上板验证,时序故障最终还是导致数据接收和发送不一致。

4.3.4、中断故障注入

中断故障是使数据发送出去了,但是接收端未接收到数据,根本上还是数据传输丢失。

五、总结

        在航空电子综合化系统中,快速、有效的数据传输对整个航空电子系统的性能有很大的影响,因此数据总线被称为现代航空电子系统的“骨架”。ARINC429是航空电子系统之间最常用的通讯总线之一,它符合航空电子设备数字数据传输标准。要在计算机上实现ARINC 429总线数据的接收和发送,必须实现429总线与计算机总线之间的数据传输。

        ARINC 429的发送速度有高速(100Kbps)和低速(12.5Kbps)两种。对于低速发送,采用一般的嵌入式处理器(如8051系列单片机)即可满足;对于高速发送,采用性能更好的80C196单片机可以满足,但其外围电路繁冗,会影响板卡的性能;所以为了能很好的兼容高速低速和成本问题可以选择FPGA进行设计,对429总线协议进行设计满足高速低速的自由切换,实现多种功能的应用。

  • 13
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ARINC429总线是一种为航空航天领域设计的数据传输总线,可以实现飞机上各种航空设备之间的数据通信。它由ARINC (Aeronautical Radio Incorporated) 标准化组织制定并维护,因此也被称为ARINC 429标准。 ARINC429总线的源代码是指用于实现ARINC429总线的软件代码。这些源代码通常由航空设备制造商或相关开发人员编写。ARINC429总线的源代码包括驱动程序、通信协议实现、数据包解析等部分。 编写ARINC429总线的源代码需要对该标准有深入的了解,了解其数据帧格式、数据传输速率、错误检测机制等方面的细节。开发人员需要使用合适的编程语言(如C、C++等)根据ARINC429标准进行软件开发。 在编写ARINC429总线的源代码时,开发人员通常需要考虑以下几个方面: 1. 数据帧格式:ARINC429总线使用32位的数据帧来承载数据,开发人员需要实现对数据的合理封装和解析。 2. 通信协议:ARINC429总线的通信协议包括数据传输速率、地址、接口控制等方面的规定,开发人员需要遵循这些规定实现相应的通信协议。 3. 错误检测和纠正:ARINC429总线使用奇偶校验和循环冗余校验等机制对传输的数据进行错误检测和纠正,开发人员需要实现这些机制以确保数据的可靠传输。 总之,ARINC429总线的源代码是用于实现ARINC429总线的软件代码,编写这些源代码需要对该总线的标准有深入的了解,并且开发人员需要使用合适的编程语言进行软件开发。 ### 回答2: ARINC 429总线是一种用于航空航天领域的数据通信总线标准,用于传输数字信息。源代码是指用于控制ARINC 429总线的程序代码。 ARINC 429总线源代码通常由开发人员编写,可以用于各种航空航天设备,例如飞行控制系统、通信设备和导航系统等。源代码包含了ARINC 429总线通信的协议和控制逻辑。 ARINC 429总线源代码的编写一般需要遵循ARINC 429协议规范,该规范定义了通信的格式、数据率以及传输协议。源代码通常会包括以下几个方面的功能: 1. 数据传输:源代码会实现ARINC 429总线的数据传输功能,包括数据的发送和接收。它会定义数据的格式、位率以及数据的编码和解码方式。 2. 状态控制:源代码会实现ARINC 429总线的状态控制功能,包括总线的打开和关闭,以及错误处理和冲突检测等功能。 3. 数据处理:源代码可以实现对接收到的数据进行处理和解析,根据不同的需求进行相应的操作。例如,可以对接收到的数据进行解析并将其显示在用户界面上。 4. 故障排除:源代码可能会包含故障排除功能,用于定位和解决与ARINC 429总线通信相关的问题。 ARINC 429总线源代码的编写需要开发人员具备航空航天领域的知识和编程技术。编写高质量的源代码对于确保ARINC 429总线的稳定运行和可靠性非常重要。源代码的编写需要经过测试和验证,确保其符合规范要求,并能够满足实际应用的需求。最终,源代码将被编译为可执行文件,用于控制ARINC 429总线的设备。 ### 回答3: ARINC 429总线是一种广泛使用的数字通信协议,常用于航空航天领域。它是一种串行双差分架构,可以实现高效可靠的数据传输。 ARINC 429总线的源代码通常是指用于控制和管理ARINC 429总线的软件代码。这些代码是通过编程语言编写的,用于实现数据传输、错误检测和其他通信功能。 ARINC 429总线的源代码需要包括以下几个主要组成部分: 1. 数据传输:源代码需要定义如何将数据发送到ARINC 429总线和如何从总线接收数据。这包括控制数据流的时序和传输速率。 2. 错误检测和纠正:由于ARINC 429总线上的数据传输可能面临干扰和错误,源代码需要实现错误检测和纠正机制,以确保数据的可靠性和完整性。 3. 总线管理:源代码需要管理连接到ARINC 429总线的各个设备和模块。这包括在总线上分配地址、控制数据流和实现适当的协议。 4. 特殊功能:ARINC 429总线还可以具有一些特殊功能,例如优先级控制、时序同步和多个数据通道。源代码需要包含这些特殊功能的实现。 通过使用ARINC 429总线的源代码,我们可以实现航空航天系统中的高效通信。这种通信协议不仅可以实现数据的可靠传输,还可以提供实时性和安全性保障。因此,熟练掌握ARINC 429总线的源代码对于航空航天领域的软件开发工程师非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值