CAN总线分布式系统适配卡和控制单元设计

时间:2012-02-29来源:网络
1 CAN总线分布式系统的结构
系统结构如图1所示。本系统由上位监控计算机、CAN总线适配卡和控制单元三部分构成。其中上位监控计算机采用IBM-PC兼容机,主要负责对系统数据的接收与管理、控制命令的发送以及各控制单元动态参数和设备状态实时显示。控制单元以单片机为核心,主要负责对现场环境参数和设备状态进行检测,对采集来的数据进行处理,并对SJA1000进行操作和控制。CAN总线适配卡,可使PC机方便地连接到CAN总线上。它内嵌微处理器、CAN总线控制器、CAN总线收发器和双口RAM。双口RAM作为PC机与CAN总线适配卡的数据共享区,通过设备将其映射成PC机的物理内存,实现CAN与PC机的高速数据交换。CAN总线适配卡上带有光电隔离,可增强系统在恶劣环境中的抗干扰能力。总线两端各有1个电阻R(约120Ω)起总线阻抗匹配作用。

2 CAN适配卡的设计
2.1 硬件设计

CAN适配卡的硬件组成框图如图2所示,由ISA接口、双口RAM、CPU、CAN通信控制器SJA1000、CAN总线接口82C250等组成。由于带有片上CAN控制器的单片机都含较多的I/O线、定时/计数器、A/D等功能,往往较复杂,因此微处理器使用价廉的AT89C51单片机。为了进一步提高抗干扰措施,在2个CAN器件之间使用了由高速隔离器件6N137构成的隔离电路。光耦两侧应采用DC-DC隔离电源。硬件电路中使用82C250的目的是为了增大通信距离。要实现PC机和CAN控制器之间的数据传送,必须在PC机和适配卡上的MPU之间建立起双向的数据交换通道。通过ISA总线实现单片机系统与主机之间的数据交换有多种实现方法。本适配卡采用集成双口RAM实现数据交换。由于CAN信号传输采用短帧结构(8字节数据),双口RAM的容量要求并不大,本卡选用2K×8位的带中断请求信号INT和忙信号BUSY的IDT7132。具体的连接电路如图3、图4所示。上位PC机对双口RAM的寻址方式采用I/O寻址方式,使用的控制线为IOW和IOR。为避免产生读写错误,使用双口RAM的关键是处理好争用现象。IDT7132提供了中断判优和硬件判优两种方式。当两端口争用同一地址单元时,由片内硬件电路,根据两边的地址、片选、读写信号到达先后顺序,裁决哪个端口有使用权。如左端口优先使用,则自动将右端口的BUSYR信号拉为低电平,通知右侧暂停读写操作。在本适配卡中,由于8031没有READY信号,可以将此信号接至8031的P1.0上。当8031发出读写IDT7132命令时,根据P1.0口的值就可判断对IDT7132读写是否存在冲突。当P1.0的值为0时,存在冲突,必须重发读写IDT7132的命令。由于ISA总线既没有READY信号,也没有通用的I/O引脚,因此将BUSYL信号通过三态门接至ISA数据线的最低位D0。用ISA总线的一个空闲I/O端口打开三态门,通过D0读取BUSYL的状态。
1 2 3

关键词: CAN总线 适配卡 控制单元 SJA1000 双口RAM

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版