基于C8051F040的CAN总线通讯系统设计田奕1,刘秀红2(1、华北科技学院北京101601;2、天津科技大学天津300222)1引言CAN总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络
由于其高性能、高可靠性及独特的设计和适宜的价格,而广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,并已被公认为几种最有前途的现场总线之一
目前CAN系统使用较多的是独立CAN控制器,利用单片机的并口控制CAN控制器,除了8条数据线外,还需要几条控制线
采取这样的设计不但占用了单片机的引脚,而且增加了电路板的面积
同时,由于采用了并行通讯,降低了系统的可靠性,因此,采取系统内部集成CAN控制器的单片机势在必行
本文已Cygnal公司的内部集成CAN控制器的C8051F040单片机为基础,介绍了CAN总线的通讯接口的具体设计及其应用
由于采用了集成CAN控制器的单片机,大大简化了电路,同时也提高了系统的可靠性
2C8051F040集成的CAN控制器C8051040内部集成CAN控制器,他兼容CAN技术规范2
0B主要由CAN内核、消息RAM(独立于CIP-51的RAM)、消息处理单元和控制寄存器组成,图1所示是C8051F040的内部的CAN总线结构图
图1中,CAN内核由CAN协议控制器和负责消息收发的串行/并行转换RX/TX移位寄存器组成,消息RAM用于存储消息目标和每个目标的仲裁掩码
这种CAN处理器有32个随意配置为发送和接收的消息目标,并且每一个消息目标都有他自己的识别掩码,所有的数据传输和接收滤波都是由CAN控制器完成的,而不是由CIP-51来完成
CAN内部寄存器中存储了所有CAN的控制和配置信息,其中包括控制寄存器、状态寄存器、设置波特率的位定时寄存器,测试寄存器、错误计数器和消息接口寄存器
通常CAN内核不能直接