总线通信系统设计1_第1页
总线通信系统设计1_第2页
总线通信系统设计1_第3页
总线通信系统设计1_第4页
总线通信系统设计1_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、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 high performance, high reliability and the in

3、dependent 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 maintenance, therefore, SJAl000 will replace PCA

4、82C200. 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 communication software basic design method.Key words:C

5、AN 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 评价 4.2 心得 5 参考文献 6附录 6.1 器件清单6.2 系统原理图6.3 程序代码1.系统方

6、案设计1.1 设计要求(1)设计一套CAN总线通信系统(包括1发送板和1接收板),发送板需显示拨码开关的状态并通过CAN总线发送出去,接受板通过CAN总线接受并动态显示开关的状态以验证通信的正确性。(2)开关的状态采用两位数码管显示;(3)系统可靠性好、运行稳定;(4)必须具有上电自检功能及外接电源、公共地线接口。1.2基本方案根据题目要求,可以得到以下几个部分。总体设计框图1.2.1 51单片机系统的控制芯片采用STC89C52单片机来控制,因为STC89C52应用比较广泛,并且成本低,操作控制简单,功耗较低,运行可靠性强。系统本身对处理器处理速度的要求不是很高,所以选择该款单片机。STC8

7、9C52的引脚图STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断

8、口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能1.2.2 CAN总线控制器 CAN总线控制器选用SJA1000。SJAl000是一个独立的控制器,有两种不同的模式。(1)BasiccAN模式:系统上电后默认的模式,与PCA82C200兼容。(2)PelicAN模式:支持CAN2.0B协议规定的所有功能。SJAl000的内部结构如图1所示,其功能模块主要有:接口管理逻辑、接收FIFO队列、接收滤波器、发送缓冲器和CAN核心模块。CAN核心模块基于CAN20B的协议执行对CAN帧的发送和接收。逻辑管理接口实现与外部单片机的连接。SJAlO00的发送缓冲器可以存储一个完整的报文,当单片机开

9、始一个传送时,逻辑管理接口会使CAN核心模块读发送缓冲器的数据,依照CAN2.OB协议发送数据。当收到一个报文时,cAN核心控制模块将连续的位转换为标准的数据存放于接收过滤器中,通过验收码寄存器、验收屏蔽寄存器进行过滤处理,将符合标志位要求的数据放人接收FIF0队列中以下为SJA1000芯片的特点: 管脚及电气特性与独立CAN总线控制器PCA82C200兼容; 软件与PCA82C200兼容(缺省为基本CAN模式); 扩展接收缓冲器(64字节FIFO); 支持CAN2.0B协议; 同时支持11位和29位标识符; 位通讯速率为1Mbits/s; 增强CAN模式(PeliCAN); 采用24MHz时

10、钟频率; 支持多种微处理器接口; 可编程CAN输出驱动配置; 工作温度范围为-40+125。SJA1000内部结构图从芯片的结构图中可以看出,SJA1000型独立CAN总线控制器由以下几部分构成;(1)接口管理逻辑:它接收来自微处理器的命令,控制CAN寄存器的地址,并为微处理器提供中断和状态信息。(2)发送缓冲器:有13字节长。它位于CPU和位流处理器(BSP)之间,能存储一条将在CAN总线上发送的完整的报文,报文由CPU写入,由SBP读出。(3)接收缓冲器(RXB、RXFIFO):它是CPU和接收滤波器之间的接口,用来存储从CAN总线接收并通过了滤波的报文。接收缓冲器RXB是提供给CPU可访

11、问的13字节的窗口,这个窗口是属于接收FIFO(RXFIFO)的一部分,共由64字节长。有了这个FIFO,可以在CPU处理一个报文的同时继续接收其他到来的报文。(4)接收滤波器:它把报文头中的标识符和接收滤波寄存器中的内容进行比较,以判断文报文是否被接收。如果被接收,报文存入RXFIFO。(5)位流处理器:它是一个控制发送缓冲器、RXFIFO并行数据和CAN总线(串行数据)之间数据的序列发生器,同时它也执行错误检测、仲裁、位填充和CAN总线错误处理功能。(6)位定时逻辑不:它将SJA1000同步于CAN总线上的位流。(7)错误管理逻辑:它按照CAN协议完成错误界定。1.2.3 CAN总线收发器

12、 CAN总线收发器选用Philips公司PCA82C250产品。CAN总线收发器是CAN协议控制器和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN控制器提供差动接受能力,有很强的对抗电磁干扰(EMI)的能力,至少可挂110个节点。PCA82C250内部构造显示电路 根据系统的设计要求,采用两位数码管显示电路。与液晶显示器相比较,数码管显示比较显眼,而且电路设计比较简单,更重要的是编写程序比较容易。完全能达到系统的设计要求。2. 系统的硬件设计与实现2.1 系统硬件的基本组成部分 该系统的硬件主要包含这几个部分:处理器、CAN总线控制器、CAN总线收发器、数码管。 结构电路如下:2.

13、2主要单元电路设计2.2.1 单片机电路设计本设计选择STC89C52单片机 。STC89C52自带有片内ROM和一定数量的RAM,一般不需要扩展片外的存储器,并且能和MCS51产品兼容。本设计选用简单基本的经典复位电路,它利用电容和电阻的充放电来产生一个达到时间要求的连续低电压,并输入到单片机的复位管脚,如下图所示:2.2.2 CAN总线控制器电路 SJA1000被设计为全面支持CAN 2.0B协议,而且支持多处理器接口,其接口电路十分简单,如下图所示:其电路图如下:2.2.3 CAN总线收发器电路 CAN总线收发器选用PCA82C250,其封装为SOIC,而且只有8个引脚,其设计

14、电路如下图所示: 由图中可以看出,在CAN总线的终端接了一个120欧的电阻。这个电阻是很必要的,因为高频信号传输时,信号波长相对传输线较短,信号在传输线终端会形成反射波,干扰原信号,所以需要在传输线末端加终端电阻,使信号到达传输线末端后不反射。对于低频信号则不用。2.2.4 显示电路设计该系统采用2位数码管显示,电路结构简单,如下所示:3.系统软件设计3.1 发送板软件设计 初始化寄存器程序: CANI1: MOVX A, DPTR ;判复位请求有效 JNB ACC.0, CANI1 MOV DPTR, #0FE04H ;写接收码寄存器 MOV A, #20H ;设置本节点地址为20H MOV

15、X DPTR, A MOV DPTR, #0FE05H ;写接收码屏蔽寄存器 MOV A, #00H MOVX DPTR, A MOV DPTR, #0FE06H ;写总线定时寄存器0 MOV A, #43H ;设置波特率 MOVX DPTR, A MOV DPTR, #0FE07H ;写总线定时寄存器1 MOV A, #2FH MOVX DPTR, A MOV DPTR, #0FE08H ;写输出控制寄存器 MOV A, #0FAH MOVX DPTR, A MOV DPTR, #0FE1FH ;写时钟分频寄存器 MOV A, #40H MOVX DPTR, A MOV DPTR, #0FE

16、00H ;写控制寄存器 MOV A, #0EH ;开放中断源 MOVX DPTR, ACAN发送子程序:MAINLOOP: LCALL DISP ;调用显示子程序 MOV DPTR, #0FE02H ;读状态寄存器判接收缓冲区是否有报文 MOVX A, DPTR JNB ACC.0, MAINLOOP MOV DPTR,#0FE16H ;读取接收缓冲区开关状态数据 MOVX A,DPTR MOV RECDAT,A MOV DPTR, #0FE01H ;接收完毕释放缓冲区 MOV A, #04H MOVX DPTR, A3.2 接收板软件设计CAN总线接收子程序: LCALL DISP ;调用显

17、示子程序 MOV DPTR, #0FE02H ;读状态寄存器判接收缓冲区是否有报文 MOVX A, DPTR JNB ACC.0, MAINLOOP MOV DPTR,#0FE16H ;读取接收缓冲区开关状态数据 MOVX A,DPTR MOV RECDAT,A MOV DPTR, #0FE01H ;接收完毕释放缓冲区 MOV A, #04H MOVX DPTR, A AJMP MAINLOOP数码管显示子程序:DISP: MOV A,RECDAT ANL A,#0FH ;取开关状态低4位 MOV LED0, A MOV A,RECDAT ANL A,#0F0H ;取开关状态高4位 SWAP

18、A MOV LED1, A MOV DPTR, #TABLE MOV A, LED0 MOVC A,A+DPTR SETBP3.3 MOVP2,A LCALL DELAY CLRP3.3MOVA,LED1 MOVCA,A+DPTR SETB P3.4 MOVP2,A LCALLDELAY CLR P3.4 RET4 结论 41 评价系统优点:系统电路结构简单,易于维护。而且系统工作稳定,抗干扰能力强。同时,系统可用于完成一些基本的CAN总线通信实验,而且方便观察实验的结果。不足之处:系统电路制作时,出现小小得失误,制作电路板时,出现断线的情况。器件布局以及布线有待改进。 42 心得这次实训锻炼

19、了自己的动手能力,将自己平时所学的CAN总线理论知识与实践结合起来了,让自己对理论知识有了更新的认识。同时也让自己对单片机的控制理论有了更深的认识,以前一些模糊的概念变得清晰起来。有一种,读书百变,还不如自己动手做一遍来得实在。通过这次设计,锻炼了自己汇编程序编写水平。让我体会到了汇编程序的简介性。用汇编程序驱动器件,比C语言容易多了,但是就是难以理解点。5 参考文献 现场总线及其应用技术李正军 机械工业出版社单片机原理及接口技术(第3版) 李朝青 北京航空航天大学出版社6附录 6.1 器件清单CAN总线通信系统主要元器件清单名称数量STC89C522SJA10002PCA82C2502IMP

20、7082自锁开关2两位数码管212MHz晶振216MHz晶振2拨码开关16.2 系统原理图6.3 程序代码发送板程序: LED0 EQU 33H ;低4位 LED1 EQU 34H ;高4位 ORG 0000H AJMP MAIN ORG 0030H ;初始化MAIN: CLR P3.5 MOV DPTR,#0FE00H ;写控制寄存器 MOV A,#01H ;置复位请求为高 MOVX DPTR,ACANI1: MOVX A,DPTR ;判复位请求有效 JNB ACC.0,CANI1 MOV DPTR,#0FE04H ;写接收码寄存器 MOV A,#10H ;设置本节点地址为10H MOVX

21、DPTR,A MOV DPTR,#0FE05H ;写接收码屏蔽寄存器 MOV A,#00H MOVX DPTR,A MOV DPTR,#0FE06H ;写总线定时寄存器0 MOV A,#43H ;设置波特率 MOVX DPTR,A MOV DPTR,#0FE07H ;写总线定时寄存器1 MOV A,#2FH MOVX DPTR,A MOV DPTR,#0FE08H ;写输出控制寄存器 MOV A,#0FAH MOVX DPTR,A MOV DPTR,#0FE1FH ;写时钟分频寄存器 MOV A,#40H MOVX DPTR,A MOV DPTR,#0FE00H ;写控制寄存器 MOV A,#

22、0EH ;开放中断源 MOVX DPTR,ALOOP: MOV P1,#0FFH ;P1为准双向口,先写1 NOP MOV A,P1 ;读拨码开关编码 MOV 30H,A TXBUFF:MOV DPTR,#0FE02H ;读状态寄存器,判发送缓冲区状态 MOVX A,DPTR JNB ACC.2, TXBUFF MOV DPTR,#0FE0AH ;向发送缓冲区填入标识符 MOV A,#20H ;接收方地址20H MOVX DPTR,A MOV DPTR,#0FE0BH ;填入数据长度 MOV A,#01H MOVX DPTR,A MOV DPTR,#0FE0CH ;填入拨码开关编码 MOV A

23、,30H MOVX DPTR,A MOV DPTR,#0FE01H ;置CMR.0为1请求发送 MOV A,#01H MOVX DPTR,A LCALL DISP ;调用显示子程序 AJMP LOOPDISP: MOV P1,#0FFH ;P1为准双向口,先写1 NOP MOV A,P1 ;读拨码开关编码 ANL A,#0FH ;取开关状态低4位 MOV LED0, A MOV A,P1 ANL A,#0F0H ;取开关状态高4位 SWAP A MOV LED1, A MOV DPTR, #TABLE MOV A, LED0 MOVC A,A+DPTR SETB P3.3 MOV P2,A L

24、CALL DELAY CLR P3.3 MOV A,LED1 MOVC A,A+DPTR SETB P3.4 MOV P2,A LCALL DELAY CLRP3.4 RETDELAY: MOV R6, #10;延时5毫秒D1: MOV R7, #25 DJNZ R7, $ DJNZ R6, D1 RETTABLE: DB 88H,9fH,0a4H,85H,93HDB 0c1H,0c0H,8fH,80H,81H DB 82H,0d0H,0e8H,94H,0e0H,0e2HEND接收板程序: LED0 EQU 33H ;低4位 LED1 EQU 34H ;高4位 RECDAT EQU 35H ;

25、开关状态值 ORG 0000H AJMP MAIN ORG 0030HMAIN: CLR P3.5 NOP MOV RECDAT ,#00H ;赋初值00H ;CAN总线初始化 MOV DPTR, #0FE00H ;写控制寄存器 MOV A, #01H ;置复位请求为高 MOVX DPTR, ACANI1: MOVX A, DPTR ;判复位请求有效 JNB ACC.0, CANI1 MOV DPTR, #0FE04H ;写接收码寄存器 MOV A, #20H ;设置本节点地址为20H MOVX DPTR, A MOV DPTR, #0FE05H ;写接收码屏蔽寄存器 MOV A, #00H MOVX DPTR, A MOV DPTR, #0FE06H ;写总线定时寄存器0 MOV A, #43H ;设置波特率 MOVX DPTR, A MOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论