新闻中心

EEPW首页>手机与无线通信>设计应用> 基于CAN的大客飞机航电系统局域网通信设计

基于CAN的大客飞机航电系统局域网通信设计

作者: 时间:2012-06-01 来源:网络 收藏

2.2控制部分
总线控制部分如图4所示,主要由总线控制器SJA1000、单片机AT89S52和双口RAMIDT7006组成,负责整个总线控制以及和PCI局部总线的互连。双口RAM作为CAN总线和PCI局部总线交换数据时的一个缓冲存储区。单片机AT89S52是该通信卡通信控制的核心,它负责与双口RAM以及CAN控制器SJA1000之间的通信。

本文引用地址://m.amcfsurvey.com/article/154762.htm

e.JPG


将双口RAM的INTR和单片机的外部中断引脚INT1相连,当PCI9052向双口RAM传输完数据后,触发双口RAM中断引脚INTR,进而触发单片机中断,单片机执行中断服务程序,读取双口RAM中的数据。为了使SJA1000和AT89S52时钟同步,将SJA1000的CLKOUT引脚接至AT89S52的时钟输入端,作为AT89S52的外部时钟输入。SJA1000接收到新的数据后,给出中断信号INT,通过触发中断信号INT0让单片机实时处理这些数据,单片机把这些数据处理完成后,写入双口RAM指定的存储单元后,再向双口RAM的1FFEH单元写入任意数据,即可触发双口RAM左端中断,使计算机接收数据。由于SJA1000的地址数据复用,AD0~AD7可直接将其接到单片机的P0口。双口RAM地址和数据是分开的,通过74LS373和单片机P1口相连。
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所示。

f.JPG



评论


相关推荐

技术专区

关闭