新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CAN总线分布式系统适配卡和控制单元设计

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

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

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

CAN适配卡的硬件组成框图如图2所示,由ISA接口、、CPU、CAN通信控制器、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 下一页

评论


相关推荐

技术专区

关闭