基于 CAN 总线通讯模块的设计与实现
曾友州
1
胡 莹
2
曾伟一
3
(
1. 2. 3. 成都航空职业技术学院 四川 成都 610021
)
收稿日期 :2006 - 03 - 30
作者简介 :曾友州
(
1980 -
)
,男 ,四川万源人 ,助理讲师 ,从事电气自动化和电力电子技术的教学和研究 ;胡莹
(
1980 -
)
,女 ,贵州遵义人 ,
助理讲师 ,从事微机控制技术和自动化理论的教学和研究 ;曾伟一
(
1956 -
)
,男 ,四川成都人 ,副教授 ,从事电气自动化、微机控制技术和无线
通信技术的教学和研究。
摘 要 :本文以 CAN 总线协议、SJA1000 和 89C51 为基础设计一种通用的 CAN 总线通讯模块。该文讨论
了模块的整体结构和设计过程 ,对软硬件功能作了详细的说明 ,并给出了详细的硬件线路图和模块的软件框
图。
关键词 :CAN 总线 现场总线 89C51 SJA1000
中图分类号 :TP387 文献标识码 :A 文章编号 :1671 - 4024
(
2006
)
04 - 39 - 4
一、前言
CAN 总线是控制器局域网
(
Controller Area Net2
work
)
总线的简称 ,属于现场总线范畴 ,是一种有效
支持分布式控制或实时控制的串行通信网络。由于
CAN 总线具有通信速率高、可靠性高、连接方便及
性能价格比高等诸多特点 ,在众多现场中占有较大
的市场份额 ,所以 CAN 总线是目前国外最普及和实
时性最高的现场总线 ,基于 CAN 总线的电子产品有
极为广泛的用途。目前 ,具有 CAN 通讯功能的模块
虽然功能很齐全 ,但是价格高昂 ,不为一般的开发者
所能接受。笔者开发制作的 CAN 总线通讯在满足
功能的情况下 ,价格比较适合 ,并且具有很强的实用
性 ,易为各种类型的开发者所接受。
二、通讯模块设计要求和总体结构
(
一
)
设计要求
本通讯模块主要是完成对生产现场各种需要监
测信号的采集 ,现场的监测信号可以是模拟或数字
的温度信号、气体浓度信号、红外线信号及声音信号
等。数字信号直接和单片机相连 ,模拟信号只需在
单片机前向通道增加 A/ D 转换即可实现。在通讯
模块检测到某一功能的信号输入时 ,通讯模块作相
应的判断和处理 ,将检测到的数据通过 CAN 总线传
输至上位机进行信息收集 ,并调用相应的处理程序。
所以本通讯模块的通用性和扩展性非常好 ,能够根
据使用者的要求自行配置信号处理环节。
图 1 系统结构框图
(
二
)
总体结构
每个通讯节点都应在保证系统可靠工作和降低
成本的条件下 ,具有通用性、实时性和可扩展性等特
点 ,整个系统结构采用网络拓扑结构中的总线式结
构。选用 CAN 总线连接各个通讯模块 ,形成多主机
控制器局域网。信息的传输采用 CAN 通信协议。
·93·
成 都 航 空 职 业 技 术 学 院 学 报
Journal of Chengdu Aeronautic
Vocational & Technical College
2006 年 12 月第 4 期
(
总第 69 期
)
Vol. 22 No. 4
(
Serial No. 69
)
2006