新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CAN总线通信适配卡的设计与实现

CAN总线通信适配卡的设计与实现

作者:时间:2012-03-13来源:网络收藏

1 简介

CAN(Controller Area Network)总线属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。CAN协议目前已纳入ISO国际标准(ISO11898),它分为物理层、数据链路层和应用层,其中物理层和数据链路层协议已经集成在芯片中,可通过硬件自动完成数据的成帧与发送和接收,从而大大减少软件的工作量,因此,特别适用于工业自动化领域,尤其是那些强调低层监测与控制且要求可靠性高、实时性好的恶劣条件下的工业现场使用。

具有以下突出特点:

● 能够以多主节点方式工作,网络上任一节点均可设成主节点以其它节点主动发送信息。

●报文传输不含目标地址,它以全网广播为基础,各个接收站可根据报文中反映的数据性质标识符来过滤报文以决定是否接收。同时可通过报文标识符将报文设定为不同的发送优先级,以满足不同的实时要求。

●非破坏性总线仲裁和错误界定,利用现有的产品,可由控制器自动解决总线冲突和出错界定,并对用户完全透明,同时还能区分暂时和永久故障,并可自动关闭故障节点。

●通信距离可达10km(速率5kb/s),速度可达1MB/s(距离40m以内)。

●理论上,的网上节点数不受限制,它有2032种不同的报文标识符,但具体数量取决于物理层的承受能力,通常CAN总线上的节点数可达110个。CAN总线系统一般采用总线式网络拓扑结构,其优点是结构简单,成本低,系统可靠性高。其总体模式如图1所示。

2 CAN总线适配卡的功能特点

CAN总线是插在PC机ISA插槽内的智能通讯卡,它可使PC机方便地连接到CAN总线上,其特点如下:

(1)采用高性能的8位微处理器89C52(12MHz),可减轻PC主机的通信负担,而且可以运行复杂的用户通信任务。

(2)卡上带有lkB的高速双口RAM存储器,可直接映射到主机内存空间以实现CAN总线与主机PC的高速数据交换,并可设置双口RAM在ISA总线中的基地址。

(3)采用16MHz CAN控制器SJAl000时,其通讯速率可高达1Mbps。

(4)中断申请电路能够保证PC机和适配卡上的微处理器实时处理对方的处理要求。

(5)适配卡上带有光电隔离,可保护PC机避免由于地环流而造成的损坏,并可增强系统在恶劣环境中使用的可靠性。

(6)为方便系统调试,可用LED指示系统状态和CAN的接收和发送状态。

3 CAN总线适配卡的硬件设计

CAN由双口RAM电路、微控制器电路、CAN通信控制电路三部分组成,其结构框图如图2所示。

3.1 双口RAM及其控制电路

双口RAM是一种性能优越的快速通信器件,它能提供两种完全独立的端口,每个端口都有完整的地址、数据和控制线。对于器件两边的使用者CPU而言,它与一般的RAM无多大区别,只有在两边同时读写同一地址单元时,才会出现竞争现象。在CAN中,通常利用双口RAM IDT7130来建立双向数据交换通道,以实现PC机和CAN控制器之间的数据传送。

PC机与扩展存储器的接口有两种方法:一种是把双口RAM当成外部设备,使用端口I/O指令进行访问,这种方法一次只能传送一个字节(或字),因而传送速度较慢;另一种是内存映像法,即把双口RAM地址配置于PC机主存储器的高端(一般为C0000H-DFFFFH),以使PC机像访问主存储器一样访问双口RAM,同时使所有能够访问主存储器的指令也可以以同样的方式访问双口RAM。内存映像法可以以字符块为单位进行传送,因而可实现快速访问双口RAM。正是基于这些优点,在本适配卡设计中采用了的存储器寻址方式。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭