CAN总线通信系统设计1.doc
《CAN总线通信系统设计1.doc》由会员分享,可在线阅读,更多相关《CAN总线通信系统设计1.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流CAN总线通信系统设计1.精品文档.摘要:CAN总线是控制器局域网总线(contr01ler AreaNetwork)的简称。属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性及独立的设计而被广泛应用于工业现场控制系统中。SJAl000是一个独立的CAN控制器,PCA82C200的硬件和软件都兼容,具有一系列先进的性能,特别在系统优化、诊断和维护方面,因此,SJAl000将会替代PCA82C200。SJAl000支持直接连接到两个著名的微型控制器系列80C51和68xx。下面以单片机STC89C52和
2、SJAl000为例,介绍CAN总线模块的硬件设计和CAN通信软件的基本设计方法。关键字:CAN总线 STC89C52 SJA1000 Summary: CAN bus is controller LAN bus (contr01ler AreaNetwork) for short. Belongs to the category of field bus, is a kind of effective support distributed control or real-time control of serial communication network. Because of its
3、high performance, high reliability and the independent design and is widely used in the industrial field control system. SJAl000 is an independent CAN controller, PCA82C200 hardware and software are compatible with a series of advanced properties, especially in system optimization, diagnosis and mai
4、ntenance, therefore, SJAl000 will replace PCA82C200. SJAl000 support directly connected to the two famous micro controller series 80 C51 and 68 xx. The STC89C52 and SJAl000 with the single chip processor as an example, this paper introduces the hardware design of CAN bus module and CAN the communica
5、tion software basic design method.Key words: CAN bus STC89C52 SJA1000目 录1、系统方案设计 1.1 设计要求 1.2 系统基本方案 1.2.1 51单片机1.2.2 CAN总线控制器1.2.3 CAN总线收发器1.2.4 显示电路2、系统的硬件设计与实现 2.1 系统硬件的基本组成部分2.2 主要单元电路设计 2.2.1 单片机电路设计 2.2.2 CAN总线控制器电路设计 2.2.3 CAN总线接口电路设计2.2.4 显示电路设计3、系统测试与编程调试3.1 电路测试与编程调试 3.2 系统实现的功能 4 结论 4.1 评
6、价 4.2 心得 5 参考文献 6附录 6.1 器件清单6.2 系统原理图 6.3 程序代码1.系统方案设计1.1 设计要求(1)设计一套CAN总线通信系统(包括1发送板和1接收板),发送板需显示拨码开关的状态并通过CAN总线发送出去,接受板通过CAN总线接受并动态显示开关的状态以验证通信的正确性。(2)开关的状态采用两位数码管显示;(3)系统可靠性好、运行稳定;(4)必须具有上电自检功能及外接电源、公共地线接口。1.2基本方案根据题目要求,可以得到以下几个部分。总体设计框图1.2.1 51单片机系统的控制芯片采用STC89C52单片机来控制,因为STC89C52应用比较广泛,并且成本低,操作
7、控制简单,功耗较低,运行可靠性强。系统本身对处理器处理速度的要求不是很高,所以选择该款单片机。STC89C52的引脚图STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计
8、数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能1.2.2 CAN总线控制器 CAN总线控制器选用SJA1000。SJAl000是一个独立的控制器,有两种不同的模式。(1)BasiccAN模式:系统上电后默认的模式,与PCA82C200兼容。(2)PelicAN模式:支持CAN2.0B协议规定的所有功能。SJAl000的内部结构如图1所示,其功能模块主要有:接口管理逻辑、接收FIFO队列、接收滤波器、发送缓冲器和CAN核心模块。CAN核心模块基于CAN20B的协议执行对CAN帧的发送和
9、接收。逻辑管理接口实现与外部单片机的连接。SJAlO00的发送缓冲器可以存储一个完整的报文,当单片机开始一个传送时,逻辑管理接口会使CAN核心模块读发送缓冲器的数据,依照CAN2.OB协议发送数据。当收到一个报文时,cAN核心控制模块将连续的位转换为标准的数据存放于接收过滤器中,通过验收码寄存器、验收屏蔽寄存器进行过滤处理,将符合标志位要求的数据放人接收FIF0队列中以下为SJA1000芯片的特点: 管脚及电气特性与独立CAN总线控制器PCA82C200兼容; 软件与PCA82C200兼容(缺省为基本CAN模式); 扩展接收缓冲器(64字节FIFO); 支持CAN2.0B协议; 同时支持11位
10、和29位标识符; 位通讯速率为1Mbits/s; 增强CAN模式(PeliCAN); 采用24MHz时钟频率; 支持多种微处理器接口; 可编程CAN输出驱动配置; 工作温度范围为-40+125。SJA1000内部结构图从芯片的结构图中可以看出,SJA1000型独立CAN总线控制器由以下几部分构成; (1)接口管理逻辑:它接收来自微处理器的命令,控制CAN寄存器的地址,并为微处理器提供中断和状态信息。 (2)发送缓冲器:有13字节长。它位于CPU和位流处理器(BSP)之间,能存储一条将在CAN总线上发送的完整的报文,报文由CPU写入,由SBP读出。 (3)接收缓冲器(RXB、RXFIFO):它是
11、CPU和接收滤波器之间的接口,用来存储从CAN总线接收并通过了滤波的报文。接收缓冲器RXB是提供给CPU可访问的13字节的窗口,这个窗口是属于接收FIFO(RXFIFO)的一部分,共由64字节长。有了这个FIFO,可以在CPU处理一个报文的同时继续接收其他到来的报文。 (4)接收滤波器:它把报文头中的标识符和接收滤波寄存器中的内容进行比较,以判断文报文是否被接收。如果被接收,报文存入RXFIFO。 (5)位流处理器:它是一个控制发送缓冲器、RXFIFO并行数据和CAN总线(串行数据)之间数据的序列发生器,同时它也执行错误检测、仲裁、位填充和CAN总线错误处理功能。 (6)位定时逻辑不:它将SJ
12、A1000同步于CAN总线上的位流。 (7)错误管理逻辑:它按照CAN协议完成错误界定。 1.2.3 CAN总线收发器 CAN总线收发器选用Philips公司PCA82C250产品。CAN总线收发器是CAN协议控制器和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN控制器提供差动接受能力,有很强的对抗电磁干扰(EMI)的能力,至少可挂110个节点。PCA82C250内部构造1.2.4显示电路 根据系统的设计要求,采用两位数码管显示电路。与液晶显示器相比较,数码管显示比较显眼,而且电路设计比较简单,更重要的是编写程序比较容易。完全能达到系统的设计要求。2. 系统的硬件设计与实现2.1
13、系统硬件的基本组成部分 该系统的硬件主要包含这几个部分:处理器、CAN总线控制器、CAN总线收发器、数码管。 结构电路如下:2.2主要单元电路设计2.2.1 单片机电路设计 本设计选择STC89C52单片机。STC89C52自带有片内ROM和一定数量的RAM,一般不需要扩展片外的存储器,并且能和MCS51产品兼容。本设计选用简单基本的经典复位电路,它利用电容和电阻的充放电来产生一个达到时间要求的连续低电压,并输入到单片机的复位管脚,如下图所示:2.2.2 CAN总线控制器电路 SJA1000被设计为全面支持CAN 2.0B协议,而且支持多处理器接口,其接口电路十分简单,如下图所示:其电路图如下
14、:2.2.3 CAN总线收发器电路 CAN总线收发器选用PCA82C250,其封装为SOIC,而且只有8个引脚,其设计电路如下图所示: 由图中可以看出,在CAN总线的终端接了一个120欧的电阻。这个电阻是很必要的,因为高频信号传输时,信号波长相对传输线较短,信号在传输线终端会形成反射波,干扰原信号,所以需要在传输线末端加终端电阻,使信号到达传输线末端后不反射。对于低频信号则不用。2.2.4 显示电路设计该系统采用2位数码管显示,电路结构简单,如下所示:3.系统软件设计3.1 发送板软件设计 初始化寄存器程序: CANI1: MOVX A, DPTR ;判复位请求有效 JNB ACC.0, CA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAN 总线 通信 系统 设计
限制150内