一.GCAir实时仿真系统数据总线介绍
半实物仿真,硬件在环,这些技术的目的是来测试某些硬件设备,包括控制器和执行机构,部分环境是通过仿真机模拟,以用于调试或测试复杂系统。
控制器接口会涉及到数据总线,所以仿真机也需要满足数据总线接口要求。
GCAir半实物仿真系统由GCAir实时仿真机、数据总线板卡,数据总线线缆等多个部分组成。其中数据总线的作用是和用户的被测硬件(被测系统)做通讯。如下图所示:
半实物仿真是系统研究中强有力的手段,其主要优势是能在实验室进行系统测试,对系统环境模拟的比较精确,具有提高系统研制质量、缩短研制周期和节省研制费用的优点。在航空、航天、武器系统等研究领域,半实物仿真是不可缺少的重要手段。常用的数据总线主要是:1553B,CAN, A429, RS232/422/485等等。如下图所示, GCAir半实物仿真系统,支持多种类数据总线通信。
二.GCAir支持的典型数据总线简介
在半实物仿真系统中,被测硬件不同,通信需求不同,通信板卡不同,通信协议不同,数据总线不同。在特殊的应用领域,如航空航天等,更是有着特殊的数据总线需求。GCAir支持多种典型的数据总线通信,如1553B、A429、CAN、串行总线RS485/422/232等,以下分别加以简单介绍:
1553B总线是美国军方于1973年为军用飞机内部互连制定的总线标准。它最早用于F-16战斗机上,后来在F-18,F-20,B-1和AV-SB战斗机上广泛使用。目前,1553总线已经在军用航天,航空等领域得到广泛的应用。1553总线标准自推出以来,为支持愈加广阔和复杂的使用场景,已经过数次修改。1975年推出MIL-STD-1553A标准,1978年推出MIL-STD-1553B标准。
1553B数据总线具有双向输出特性,实时性和可靠性高等特点。该总线能挂载31个远置终端,采用指令/响应型通信协议,它有三种终端类型:总线控制器BC(Bus Controller);远程终端RT(Remote Terminal);总线监视器BM(Bus Monitor);信息格式有BC→RT、RT→BC、RT→RT、广播方式和系统控制方式;传输媒介为屏蔽双绞线,1553B总线耦合方式有直接耦合和变压器耦合;1553B总线为多冗余度总线型拓扑结构,具有双向传输特性,其传输速度为1Mbps/4Mbps传输方式为半双工方式。拓扑结构如下图所示:
协议层1553B总线上每条消息最长由32个字组成,所有的字分为三类:命令字、数据字和状态字。每类字的长度为20位,有效信息位是16位,每个字的前3位为单字的同步字头,而最后1位是奇偶校验位。有效信息(16位)及奇偶校验位在总线上以曼彻斯**的形式进行传输,传输一位的时间为1μS(即码速率1MHz)。同步字头占3位,先正后负为命令字和状态字,先负后正为数据字,1553B总线上的一次数据传输过程称为一条消息,每条消息包含至少1个、至多2个命令字,不多于32个数据字,不多于2个状态字。采用曼彻斯**进行编码传输。
GCAir支持该数据总线通信,该数据总线实物图如下:
1553B数据总线板卡及线缆
ARINC429总线协议是美国航空电子工程委员会(Airlines Engineering Committee)于1977年7月提出的,并于同年同月发表并获得批准使用。它的全称是数字式 信息传输系统DITS。协议标准规定了航空电子设备及有关系统间的数字信息传输要求。ARINC429广泛应用在先进的民航客机中,空客A310/A320, A330/A340,波音B727, B737, B747, B757, B767,几乎覆盖了目前所有主流的民用飞机。俄制军用飞机也选用了类似的技术,在国产大型客机C919上,同样采用了ARINC 429协议规范定义,以进行机载航电设备之间的数据交换。
A429数据总线是一种单向广播式总线,即一个Tx,多个RX(最多为20个)。其信息传输速率为12.5~100kbit/s,ARINC429数据传输采用双极性归零码,传输介质为双绞屏蔽电缆,具有结构简单、性能稳定,抗干扰性强等优点。如下图所示:
总电平特征:信号从高电平回归零电平表示逻辑状态1;信号从低电平回归到零电平表示逻辑状态0。如下图所示:
协议层:按照ARINC429总线规定,每个字格式(二进制)由32位组成:1-8位是标号位(LABEL)。9-10位是源终端识别(SDI)。11-28或29位是数据组(Data Field),根据字的类型可确定为是11到28还是11到29。29到30或31位为符号状态矩阵位(SSM),根据字的类型号为29或30到31。32位为奇偶校验位(P),它用于检查发送的数据是否有效。如下图所示:
GCAir支持该数据总线通信,该数据总线实物图如下:
A429数据总线板卡及线缆(转DB9)
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由德国BOSCH公司于1986年开始开发,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
CAN总线具有以下特点:
1) 数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信(即每个节点能Tx/Rx),靠各个节点信息优先级先后顺序来决定通信次序。
2) 多个节点同时发起通信时,优先级低的避让优先级高的,不会对通信线路造成拥塞(网络中的节点个数理论上不受限制)。
3) 通信距离最远可达10KM(速率低于5Kbps),当速率达到1Mbps时(通信距离小于40M)。
4) CAN总线传输介质可以是双绞线,同轴电缆。CAN总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用。
物理层:CAN通讯是异步通讯,只有CAN_High和CAN_Low两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。
1) 闭环总线网络:速度快,距离短,它的总线最大长度为40m,通讯速度最高1Mbps,总线两端各有一个120欧的电阻。
2) 开环总线网络:低速,远距离,它的最大传输距离为1km,最高的通讯速率为125Kbps,两根总线独立的,两根总线各串联有一个2.2千欧的电阻。
GCAir支持该数据总线通信,该数据总线实物图如下:
CAN数据总线板卡
此处以RS-232为例加以介绍,RS-232标准接口(又称EIARS-232)是常用的串行通信接口标准之一,它是由美国电子工业协会(EIA)联合贝尔系统公司、调制解调器厂家及计算机终端生产厂家于1970年共同制定,其全名是“数据终端设备( DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准”。后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准。而工业控制的RS-232口一般只使用RXD、TXD、GND三条线。
RS-232-C总线规范设有25条信号线,包含一个主通道和一个辅佐通道。在大都情况下首要运用主通道,关于一般双工通讯,仅需几条信号线就可完结,如一条发送线、一条接纳线及一条地线。
RS-232-C规范规则的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。
电气特性:(1)EIA-RS-232C对电器特性、逻辑电平缓各种信号线功用都作了规则。(2)在TxD和RxD上:逻辑1(MARK)=-3V~-15V。(3)逻辑0(SPACE)= 3~ 15V。(4)在RTS、CTS、DSR、DTR和DCD等操控线上:信号有用(接通,ON状况,正电压)= 3V~ 15V;信号无效(断开,OFF状况,负电压)=-3V~-15V。
DB9与DB25的对比:
GCAir支持该数据总线通信,该数据总线实物图如下:
RS232/422/485板卡及线缆DB25转DB9
在半实物仿真系统中,被测硬件不同,通信需求不同,通信板卡不同,通信协议不同,所需要数据总线种类繁多。从通信的数据内容上讲,数据总线可被定义为多个报文(message),每个报文可被定义为多个信号(signal),每个信号传输的数据类型又不尽相同,所以我们需要一个管理工具对这些复杂的数据总线进行管理。
GCAir实时仿真系统对数据总线做了统一的抽象与规划,如下图所示:
我们在GCAir中开发了ICD库(ICD:Interface of Communicated Data-bus 数据总线通信接口)。其具有以下几项功能:
1) 导入总线配置文件(XML , DBC)
2) 可编辑节点、报文、信号
3) 可编辑节点的TX/RX矩阵(Tx为发送,Rx为接收)
4) 可自动配置仿真模型
5) 可自动配置总线板卡
6) 定义好的数据总线可在多个子系统之间重复使用。
ICD库管理系统在GCAir UI上的入口如下图所示,1表示ICD的Tab页(总线列表库),2表示可以通过点击“ ”号来填加总线 (将有总线配置页面弹出,这将在本文后面详细展示),3表示填加后的总线将被存储在ICD(总线管理库)中,下图中DefaultLib/总线/…中包含了已定义的10个总线,其中有1553B,A429,CAN, URAT(RS485)等等,这些总线可以被复用。
ICD库包含了对总线报文的定义,并可把总线当作链接器来连接不同的子系统。如下图所示,dataBus11就是已被定义的总线接口,dataBus11作为该子系统(MissionProgram1)的链接器,可与其他子系统链接:
在该总线dataBus11中,可定义多个报文(message),每个报文可定义多个信号(signal),下图显示该子系统与另一个子系统连接时,数据总线所定义的报文及信号:
上图可做如下三点解释:
1) 该飞控子系统读取dataBus11报文message的三个信号Signal(图例左侧)
2) FMU读取到三个signal后进行运算,执行MissionProgram飞控程序。输出11个变量。
3) FMU的11个输出变量与两个未使用的信号(第0个和第10个) 组成了13个signal,从而完成dataBus11的新报文message 。(注:未使用的信号默认初值为0)。经由总线dataBus11输出(图例右侧)。
输入信号与FMU输入量之间的映射,输出信号与FMU输出量之间的映射,可自动依据名称匹配自动连线。对于有成百上千信号的连线,这将大大提高了工作效率。
GCAir的ICD数据总线管理工具规划了五个页面,分别是基本属性、总线设置、报文信号、信号释义、报文节点等。此处以1553B(多发(Tx)多收(Rx))总线为例说明,如下图所示:
基本属性设置(如果点导入,可直接导入总线设置的配置文件*.xml)
总线设置(不同的数据总线,该页面配置信息不同),1553B总线设置如下图所示,可对1553B总线的配置参数进行选择。
报文信号设置,可在该页面设置多条报文(此处每条报文默认名称为message_x),并对报文进行编辑,如下图所示:
报文信号设置,对每条报文(message_x)均可设置多个信号(此处默认每个信号名称为signal_x),并对每个信号进行编辑,如下图所示:
对每个信号配置后,可查看这三个信号的字节占用图例,如下图所示:横向为Bit(位)0~7,纵向为字节(Byte)0~11(报文message_1共12个字节)。
信号释义设置,可对每个信号加以注释描述,如下图所示对Signal_1的不同状态加以注释:
报文节点设置页面,可对每个报文节点设置为发送(Tx)或接收(Rx),在此处是1553B总线的报节点设置,由于总线支持一发多收(一Tx多Rx),故可做如下图中的设置,其中Node1为BC(Bus Controller)节点,其他节点为RT(Remote terminal节点,该RT类型节点最多可达30个):
其中收发(Tx/Rx)矩阵配置如下图
对于CAN, A429, UART(RS485/232/422)等数据总线,均有上述五个基本页面。可对报文内容,收发机制(Rx/Tx),进行配置。
总线节点的列表(可填加至31个)如下图所示:
一.该系统的全虚拟仿真(HiL: Model in the Loop),对如下图所示的基于A429数据总线所建立的系统工程(此处以A429数据总线为例,其他总线类似),有5个子系统,5个节点,每个子系统内均含FMU,该系统可基于A429数据总线所定义的报文进行全虚拟仿真。
二.该系统的半实物仿真(HiL: Hardware in the Loop),同样,对于上面的基于A429数据总线所建立的系统工程(此处以A429数据总线为例,其他总线类似),可以设某子系统为被测硬件(在子系统右键快捷菜单有“设为被测硬件”子菜单),如下图所示,有两个Node被设为了被测硬件:
在设为被测硬件时,可选择A429板卡及通道。
双击上图所示区域,可出现A429的板卡例表和通道列表,如下图所示:
双击上图中“未选变量”列中所需的A429板卡及通道,即可完成A429板卡物理配置。如下图,选取了A429Tx_1_2,即选取了第1号板卡的2通道做为发送;选取A429Rx_0_1,即选取了第0号板卡的1通道做为接收。
被测硬件1的设置如下图所示:
可得:
被测硬件2的设置如下图所示:
可得:
经过以上配置,可使该系统完成基于A429数据总线的半实物仿真。其他数据总线可以通过类似操作,完成硬件配置。
该GCAir工程实例实现1553B数据总线在四个节点间的通信,其中节点1为BC节点(Bus Controller 总线控制节点), 另外3个是RT节点(Remote Terminal 远程终端节点)。其GCAir工程实例图如下所示:
其报文节点配置如下图所示:
其中两条节点报文message_1和message_2配置如下图所示:
报文message_1配置如下图:
该报文message_1字节图例如下:
报文message_2配置如下图:
该message_2报文的字节图例如下:
经过以上配置,可完成GCAir工程中4个节点间,基于1553B数据总线的通讯。
该GCAir工程实例实现CAN总线在三个节点间的通信。其GCAir工程实例图如下所示:
这三个节点的Tx/Rx矩阵(发/收矩阵)如下图所示:
其报文节点配置如下图所示,其中有两条报文message_2和message_3
其中报文message_2的配置如下图:
该报文message_2的字节存储如下图:
其中报文message_3的配置如下图:
该报文message_3的字节存储如下图:
经过以上配置,可完成GCAir工程中三个节点间,基于CAN总线的通讯。
该GCAir工程实例实现A429总线在5个节点间的通信。其GCAir工程实例图如下所示:
这5个节点的报文结点配置如下图所示:
报文message_1的设置如下:
该message_1的字节总线模式如下:
报文message_2的设置如下:
该报文message_2的字节编码模式如下:
该报文message_3的设置如下:
该报文message_3的字节编码模式如下:
对该A429的总线设置如下图所示:
经过以上配置,可完成GCAir 工程中5个节点间,基于A429总线的通讯。
该GCAir工程实例实现RS232总线在4个节点间的通信。其GCAir工程实例图如下所示:
这4个节点的报文结点配置如下图所示:
5条报文的设置如下:
报文message_1如下设置:
报文字节序如下:
报文message_2的设置如下:
报文message_2的字节序如下:
报文message_3设置如下:
报文message_4设置如下:
报文message_5设置如下:
该UART-RS232串口总线的配置如下图所示:
经过以上配置,可完成GCAir工程中 4个节点间,基于串口总线RS232的通讯。
GCAir的ICD-总线管理工具,具有易用性,统一性、可编辑性,复用性。该ICD管理工具可对典型的数据总线CAN,1553B,A429,串口(RS485/232/422)等报文进行高效创建与编辑,以及复用,并能把创建好的数据总线等效为链接器,对不同的子系统进行连接。使得用户能基于GCAir完成复杂系统的全虚拟仿真(MiL)和半实物仿真(HiL)。