基于CAN的大客飞机航电系统局域网通信设计
单元后,再向双口RAM的1FFEH单元写入任意数据,即可触发双口RAM左端中断,使计算机接收数据。由于SJA1000的地址数据复用,AD0~AD7可直接将其接到单片机的P0口。双口RAM地址和数据是分开的,通过74LS373和单片机P1口相连。 图7中左端显示各子系统ICD文件节点名称,右上方显示该子系统从其他子系统接收到的最新数据,右下方显示收到最新数据的物理值及在ICD文件中的属性。状态栏显示系统状态。 利用本应用层协议传输数据,可以从信息帧中获取数据来源、顺序、是否为最后一帧等信息
2.3 PCI总线接口部分
CAN总线通信卡PCI总线接口连接如图5所示。
PCI总线接口电路主要是PCI总线和双口RAM的连接电路。双口RAM是PCI总线和CAN总线数据传输的中转站,由于CAN总线相对于PCI总线而言传输速度较慢,为了充分利用PCI通道的高速特性,一般要将单片机处理后的CAN总线数据暂时缓存在外部存储器中,当存储器写满时再利用PCI总线的突发、快速的特性,将存储器数据一次性读出。这样,既充分利用了PCI接口的高性能,CPU又能空出时间来进行数据处理和显示等其他操作,从而增强数据传输的实时性。
PCI9052本质上是一个桥设备,它把PCI总线对某一段PCI总线地址空间的各种操作(包括读、写等)转换为相应的局部总线上的操作。把数据写入E2PROM完成后,当板卡上电,PCI9052从E2PROM中读取数据并写入PCI9052中的PCI寄存器和局部配置寄存器中。PC机(PCI主控设备)通过读这些寄存器,得知系统中有多少存储器以及I/O控制器要求分配相应的地址空间,将相应的基地址写入PCI基址寄存器中。假设本设计中计算机给PCI9052分配的基地址为0x8400,由局部配置寄存器的值可知,本设计采用的是I/O映射,且空间大小为FFH,则计算机对I/O空间0x8400H~0x84FFH的访问,就会通过PCI9052映射到局部空间0x00H~0xFFH。
3 仿真系统的软件设计
系统软件设计是在Windows XP环境下,用VisualC++6.0开发,采用面向对象的设计方法。软件主要包括主模块、初始化模块、控制模块、数据管理模块、通信模块、显示模块和通信接口驱动软件等。软件可以通过友好界面为用户提供通过CAN总线进行通信的双方的设备号、端口号、波特率、数据等,可以初始化芯片,可以进行复位操作,可以设置波特率。向用户展示CAN总线的通信过程和结果,体现CAN线协议的功能。软件流程图如图6所示。
3.1 主模块
主模块通过调用适当的功能模块,控制系统初始化及整个系统软件的流程。
3.2 初始化模块
初始化模块通过调用API函数进行硬件初始化和软件初始化。主要完成各子系统之间通信所需要的通道选择、波特率、帧格式、工作方式、发送数据方式、发送数据周期等初始化设置。
3.3 控制模块
控制模块主要完成对系统状态、通信以及显示的控制,根据操作人员的操作及其他系统节点的相应状态,确定系统运行状态与工作方式的控制与切换、有关数据通信的控制等。
3.4 数据管理模块
本模块主要完成系统运行过程中,对将要发送的数据进行实时的编码,对接收到的有关数据块进行实时解码。数据处理的主要功能是根据接口控制文件(ICD)文件数据块的大小,配合发送、接收模块完成数据帧的封装和解析。ICD用C++的结构类来表示,并且每个子系统对应一个惟一的ICD文件,ICD文件里面存放有多个数据,形成数据块。数据发送时通过调用软件发送函数,将ICD文件中的参数通过编码组成对应的CAN总线信息帧数据场并以字节的形式进行发送。
3.5 数据通信模块
通信模块通过调用通信卡上底层的API函数,配合数据发送和数据接收等模块完成对各个子系统的数据发送和接收功能。
CAN协议规定数据帧每帧最多携带8个字节的数据。如果数据块的总字节数大于8,那么需要分成多帧传送,并且准确标示数据帧序列号,分辨出帧数据场中的数据对应数据块中的第几个数据。比如在封装时有可能遇到封装某一两字节数据时,本帧目前只能放下一个字节数据,那么本帧将封装低字节,而高字节则被封装进下一帧。程序中设计int型变量ordernum标示这种情况的封装。接收时按封装的反过程解析数据。
3.6 显示模块
显示界面如图7所示。
3.7 应用层协议
应用层协议并不属于软件编程的范畴,但是CAN 2.0协议只规定物理层和链路层的标准,没有规定应用层通信协议,而数据的通信必须按照应用层协议来封装帧、解析帧。目前有很多成熟的工业协议可以选择,但不完全符合本系统的要求,为此,专门制定了针对本系统的应用层协议。
本软件采用扩展格式的数据帧进行通信,扩展帧的29位标识符结构设计如表1所示,应用层信息帧格式如表2所示。
局域网 通信 设计 系统 飞机 CAN 大客 基于 相关文章:
- 蓝牙技术在组建无线局域网中的应用(06-12)
- 基于扩频通信技术的无线局域网组网设计(02-13)
- IEEE802.11无线局域网标准(02-15)
- 详细解析无线局域网(WLAN)技术(02-05)
- WLAN和WiMAX的全方位宽带无线技术解析(06-15)
- 波束成形-无线局域网基础技术(04-17)