课程设计--CAN总线

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

题目 CAN通信

二级学院电子信息与自动化

专业自动化

班级 107070103 学生姓名学号

指导教师熊文

考核项目

设计50分平时

成绩

20分

答辩30分

设计质量

20分

创新设计

15分

报告质量

15分

熟练程度

20分

个人素质

10分

得分

总分考核等级教师签名

摘要:

CAN总线是控制器局域网总线(contr01ler AreaNetwork)的简称。属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性及独立的设计而被广泛应用于工业现场控制系统中。SJAl000是一个独立的CAN控制器,PCA82C200的硬件和软件都兼容,具有一系列先进的性能,特别在系统优化、诊断和维护方面,因此,SJAl000将会替代PCA82C200。SJAl000支持直接连接到两个著名的微型控制器系列80C51和68xx。下面以单片机AT89C52和SJAl000为例,介绍CAN总线模块的硬件设计和CAN通信软件的基本设计方法。

关键词:AT89S52 CAN通信 SJA1000

目录:

(一) 背景:

(二) CAN介绍

(三) SJA1000内部结构和功能简介

(四) 硬件电路图

(五) 初始化程序

(六) 测试

(七) 总结

一背景:

CAN(Controller Area Network)数据总线是一种极适于汽车环境的汽车局域网。CAN总线是德国Bosch公司为解决汽车监控系统中的

复杂技术难题而设计的数字信号通信协议,它属于总线式串行通信网

络。由于采用了许多新技术和独特的设计思想,与同类车载网络相比,CAN总线在数据传输方面具有可靠、实时和灵活的优点。

1991年9月Philips半导体公司制定并发布了CAN技术规范(版本

2.0),该技术规范包括A部分和B两部分,其中2.0A给出了CAN报文的标

准格式;2.0B给出了标准和扩展两种格式。此后,1993年11月ISO正

式颁布了道路交通运输工具一数据信息交换一高速通信控制器局域

网(CAN)的国际标准IS011898,为控制器局域网的标准化和规范化铺

平了道路。

二CAN介绍

CAN通信的特点:

(1) CAN是到目前为止唯一具有国际标准且成本较低的现场总线;

(2) CAN废除了传统总线的站地址编码,对通信数据块进行编码,为

多主方式工作,不分主从,通信方式灵活,通过报文标识符通信,可

使不同的节点同时接收到相同的数据,无需站地址等节点信息。

(3) CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信

息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可

不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其

是在网络负载很重的情况下也不会出现网络瘫痪情况(以太网则有可

能出现这种情况)。

(4) CAN只需通过报文滤波即可实现点对点、一点对多点即全局广播

等方式传送接收数据,无需专门的“调度”。

(5) CAN的直接通信距离最远可达10km(速率5kbps以下);通信速率最

高可lMbps(此时通信距离最长为40m);

(6) CAN上的节点数最多可达110个(主要取决于总线驱动电路)。

(7) CAN采用短帧结构,单帧最大长度仅150位,传输时间短,从而保

证了通信的实时性,受干扰概率低。

(8) CAN的每帧信息都有CRC校验及其他检错措施,降低了数据出错

率,保证了数据通信的可靠性。

(9) CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线

上其他节点的操作不受影响。

(10) CAN的通信介质可使用双绞线作为传输介质,价格低廉,可靠性

强。

三SJA1000内部结构和功能简介

SJAl000是一个独立的控制器,有两种不同的模式。(1)BasiccAN 模式:系统上电后默认的模式,与PCA82C200兼容。(2)PelicAN模式:支持CAN2.0B协议规定的所有功能。SJAl000的内部结构如图1所示,

其功能模块主要有:接口管理逻辑、接收FIFO队列、接收滤波器、发

送缓冲器和CAN核心模块。CAN核心模块基于CAN2.0B的协议执行对CAN

帧的发送和接收。逻辑管理接口实现与外部单片机的连接。SJAlO00

的发送缓冲器可以存储一个完整的报文,当单片机开始一个传送时,

逻辑管理接口会使CAN核心模块读发送缓冲器的数据,依照CAN2.OB 协议发送数据。当收到一个报文时,cAN核心控制模块将连续的位转换为标准的数据存放于接收过滤器中,通过验收码寄存器、验收屏蔽寄存器进行过滤处理,将符合标志位要求的数据放人接收FIF0队列中。

图1

●管脚及电气特性与独立CAN总线

控制器PCA82C200兼容;

●软件与PCA82C200兼容(缺省为

基本CAN模式);

●扩展接收缓冲器(64字节FIFO);

●支持CAN2.0B协议;

●同时支持11位和29位标识符;

●位通讯速率为1Mbits/s;

●增强CAN模式(PeliCAN);

●采用24MHz时钟频率;

●支持多种微处理器接口;

●可编程CAN输出驱动配置;

●工作温度范围为-40~+125℃。

图2

SJA1000的功能框图如表1所示,图2是其引脚图。从表1可以看出,SJA1000型独立CAN总线控制器由以下几部分构成;

(1)接口管理逻辑:它接收来自微处理器的命令,控制CAN寄存器的地址,并为微处理器提供中断和状态信息。

(2)发送缓冲器:有13字节长。它位于CPU和位流处理器(BSP)之间,能存储一条将在CAN总线上发送的完整的报文,报文由CPU写入,由SBP读出。

(3)接收缓冲器(RXB、RXFIFO):它是CPU和接收滤波器之间的接口,用来存储从CAN 总线接收并通过了滤波的报文。接收缓冲器RXB是提供给CPU可访问的13字节的窗口,这个窗口是属于接收FIFO(RXFIFO)的一部分,共由64字节长。有了这个FIFO,可以在CPU处理一个报文的同时继续接收其他到来的报文。

(4)接收滤波器:它把报文头中的标识符和接收滤波寄存器中的内容进行比较,以判断文报文是否被接收。如果被接收,报文存入RXFIFO。

(5)位流处理器:它是一个控制发送缓冲器、RXFIFO并行数据和CAN总线(串行数据)之间数据的序列发生器,同时它也执行错误检测、仲裁、位填充和CAN总线错误处理功能。

(6)位定时逻辑不:它将SJA1000同步于CAN总线上的位流。

(7)错误管理逻辑:它按照CAN协议完成错误界定。

由于SJA1000与PCA82C2000兼容,因此SJA1000的缺省工作方式即基本CAN模式与82C200相同。下面介绍SJA1000工作在增强CAN模式(PeliCAN)下的寄存器配置。在初始化期间,芯片在复位模式(RESET MODE)时的寄存器配置如表1所列,在工作期间的运行模式(OPERATING MODE)下,部分寄存器的定义将有所更改。

相关文档
最新文档