C语言课件 第五章CAN控制器

上传人:woxinch****an2018 文档编号:44708055 上传时间:2018-06-14 格式:PPT 页数:42 大小:2.57MB
返回 下载 相关 举报
C语言课件 第五章CAN控制器_第1页
第1页 / 共42页
C语言课件 第五章CAN控制器_第2页
第2页 / 共42页
C语言课件 第五章CAN控制器_第3页
第3页 / 共42页
C语言课件 第五章CAN控制器_第4页
第4页 / 共42页
C语言课件 第五章CAN控制器_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《C语言课件 第五章CAN控制器》由会员分享,可在线阅读,更多相关《C语言课件 第五章CAN控制器(42页珍藏版)》请在金锄头文库上搜索。

1、1 CAN控制器作用微控制器CAN控制器CAN收发器CAN 总线(1).对CPU a. 写发送数据,置发送请求标志CAN控制器 发送数据 b.读接收状态标志,读接收数据 (2). 对 CAN 总线a. 将发送数据封装成CAN帧发送 b. 将收到CAN帧拆封 链路层物理层应用层1. CAN控制器2. CAN驱动器完成逻辑电平与”显性” 、”隐 性”的转换第五章 CAN控制器与驱动器1.基本特性 Basic CAN 基本模式 CAN2.0A (标准格式,11位标识符)Peli CAN 扩展模式 CAN 2.0B (标准格式,扩展格式)2.寄存器寻址Vcc接口管理逻辑振荡器位处 理器接受 过滤错误管

2、 理逻辑复位位时序 逻辑报文缓冲器发送 缓 冲器接收 缓冲器FIFO内部总线17 RST12 VDD3 15 VSS313 TX0 14 TX1 19 RX0 20 RX121 VSS2VDD1 22 VSS1823 24 25 26 27 28 1 2AD0|AD7ALE 3WR 6 RD 5INT 16 CS 4 MODE 11(通讯速率达1Mbps)2 CAN控制器SJA1000XTAL1 9 XTAL2 1018 VDD24. SJA1000地址分配RX错误计数器TX错误计数器RX,TX缓冲器RX报文计数器RX缓冲区起始地址接收FIFO寄存器0013141516-28293096地址寄

3、存器00接收 FIFOTX缓冲器多用途寄存器未用32961091121273 SJA1000寄存器1. 模式寄存器 ( CAN 地址0) D7 D6 D5D4D3D2D1D01:复位( 初始化)0:正常(操作模式)复位模式只听模式自检模式1:自检(自发应答信号 )0:正常1:单滤波(32位)0:双滤波(每个16位)滤波方式保留1:睡眠0:唤醒睡眠模式1:只听(不发应答信号)0:正常2. 命令寄存器( CAN 地址1) D7 D6 D5D4D3D2D1D01:报文发送1:释放接收缓冲区1:清除数据益出状态保留1:自接收请求1:终止发送 如果验收滤波器设 置了相应的标识符, 报文被发送同时被 接收

4、(在自检模式下 )接收到报文后要释放接收 缓冲区,使接收窗口指向下 一个报文报文写进发送缓冲区并不发送, 执行报文发送命令后才发送可用于发送接收硬件调试3.状态寄存器( CAN 地址2) D7D6D5D4D3D2D1D0 接收缓冲区状态1:有报文0:无数据益出发送缓冲区状态1:空0:忙发送完成状态1:完成(最近一次发送成功)0:忙,先前发送未完成1:正在接收0:空闲接收状态1:益出0:未益出作用:识别中断源D7D6D5D4D3D2D1D0出错报警中断数据益出1:由睡眠唤醒唤醒中断接收中断发送中断1:发送完1:出错1:益出1:错误计 数127错误认可中断仲裁丢失1:有报文4.中断寄存器 IR (

5、CAN地址 3 )功能:允许或禁止中断源中断(1:允许中断,0禁止中断)格式:同中断寄存器6. RX错误计数器 (CAN 地址14)反映接收错误计数7.TX错误计数器 (CAN地址15)反映发送错误计数 5.中断使能寄存器 IER (CAN 地址 04 )D7D6D5D4D3D2D1D0接收中断发送中断出错报 警中断数据益出唤醒中断错误认 可中断仲裁丢失8. 仲裁丢失捕捉寄存器D7D6D5D4D3D2D1D0保留ALC.4ALC.2ALC.1ALC.0ALC.3仲裁丢失位9. RX报文计数器(a). RMC.4-RMC.0表示报文数,每接收一个报文加1(b).执行释放接收缓冲区命令减1 (命令

6、寄存器)(c).复位请0 (1)作用: 接收报文的起始RAM地址CAN 地址32 RAM 地址 0RAM 地址 63窗口CAN地址16 报文 1报文2报文3CAN地址=(RBSA)+32(2) FIFO RAM 地址与 CAN地址的关系(3) 置释放接收缓冲器命令RBSA 字指向下一条报文 的起始地址.64字节FIFOCAN 地址96报文1报文2报文310. RX缓冲器起始地址寄存器RBSA (CAN地址 30 )向发送缓冲区写报文启动发送命令CAN控制器发送CPU4 发送报文1. 发送缓冲器组成 (SJA1000 扩展模式)2. TX帧信息(CAN地址16)FFRTRDLC3 DLC2 DL

7、C1 DLC0FF=0 标准格式SFF FF=1 扩展格式EFF(A)标准格式: 标识码 11位 ID28 ID18 ID28ID27ID26ID25ID24ID23ID22ID21ID20ID19ID18RTRTX标识码2(CAN地址18)数据长度 RTR=0:数据帧 RTR=1: 远程帧TX标识码1 (CAN 地址17)3. 标识码(B)扩展格式: 标识码 29位 ID28 ID0 BIT2 = RTR(a). 个字节,TX帧信息DL3-DL0确定报文长度(b). CAN地址19-26(标准格式)CAN地址21-28(扩展格式) 发送数据过程(a). 将 TX帧信息 TX标识码 TX数据(

8、b). 置命令寄存器 CMR.0 =1 ,启动发送请求。数据长度 帧类型(数据帧还是远程帧) 帧格式(标准还是扩展格式)标识符写入发送缓冲器4. 数据区5 接收报文1.报文接收缓冲区 (接收缓冲器与发送相同CAN地址 16-28)64 字节 接收 FIFO3296CAN地址RAM地址063报文缓冲区16 描述区 17 标识码1 18 标识码2 19 数据字节1 20 数据字节2 21 数据字节3 22 数据字节4 26 数据字节8 标准格式接 收缓冲器地址CAN162. 描述区 CAN 地址16 (标准格式)数据长度RTR=0:数据帧 RTR=1:远程帧FF= 0:标准格式SFF FF= 1:

9、扩展格式EFF3. RX标识码 (标准格式)4.数据区5. 接收状态指示当SJA1000接收到完整报文,状态寄存器 SR.0 =1表示、FIFO有完 整报文,CPU可以从报文缓冲区读取报文,读完报文后执行释放接收缓冲区 命令,报文接收缓冲区指向下一个报文.(a).接收字节数由DLC表示(b).存储位置CAN 地址19-26 (标准格式)6 验收滤波器结构与使用1.验收滤波器组成滤波ACR0AMR011位标识符RTRDATA1DATA2DATA3验收代码寄存器验收屏蔽寄存器FIFO(a)验收代码寄存器 ACRn (CAN地址 16,17,18,19)存储要接收的标识符(b)验收屏蔽寄存器 AMR

10、n (CAN地址20,21,22,23)确定验收标识符的相关位0: 相关 1:无关 ACR1AMR1标准格式11位标识符(1).单滤波器配置 (一个滤波器) 2 滤波器配置(a)标准格式单滤波器配置(b)扩展格式单滤波器配置(2).双滤波器配置(有二个滤波器,有一个通过就可接收)(a) 双滤波器标准格式配置(b) 双滤波器扩展帧配置(3) 验收代码和验收屏蔽寄存器地址 通过模式寄存器选择 CAN 地址 0 D0=1 复位模式D0=0 正常模式CAN 地址操作模式 (标标准)复位模式寄存器16帧帧信息ACR0验 收 代 码 寄 存 器17标识码标识码 1ACR118标识码标识码 1ACR219数

11、据1ACR320数据2AMR0验 收 屏 蔽 码 寄 存 器21数据3AMR122数据4AMR223数据5AMR3D0(a).在复位模式(D0=1)对ACR和AMR操作(b) 在正常模式对发送TX缓冲器和接收RX缓冲器进行操作CAN波特率波形7 波特率计算(1). 波特率预置位域CAN 系统时钟周期 在复位模式下可以访问波特率预置器(BRP )1. 总线时序寄存器0 (BTR0 )CAN 规范定义两种类型的同步A. 硬同步在帧起始开始同步当前周期B. 重同步在随后的剩余报文中每接收到一个隐性到显性的跳变就执行一次.同步跳转宽度Tsjw 定义了一位周期可以被一次重新同步缩短或延长的时钟周期的最大

12、数目(2) 同步跳转宽度位域2.总线时序寄存1 (BTR1)CAN 位时间 , 波特率 = 1/t总线定时器 1 (BTR1 ) = 0x1C总线定时器 1 (BTR1 ) = 0x1C =0001 1100B波特率计算举例CAN 控制器 SJA1000 晶振 总线时序寄存器 0 (BTR0 ) = 0x01, BRP.0 = 116MHz3.时钟分频寄存器(CDR)CAN 模式= 0:基本模式, 1:扩展模式RXINTEN =1 允许 TX1 专用做接收中断输出.CLOCK OFF =1 关闭CLKOUT 时钟输出CD.2 CD1 CD.0 : 0 0 0 fosc/20 0 1 fosc/

13、40 1 0 fosc/60 1 1 fosc/81 0 0 fosc/101 0 1 fosc/121 1 0 fosc/141 1 1 foscCLKOUT 分频系数4.输出控制寄存器配置输出引脚上拉,下拉,推挽等配置8 CAN 驱动器 82C2501.特性(1) 高速率,可达1MHz (2) 具有抗瞬间干扰和保护能力(3) 斜率控制,降低射频干扰(RFI)(4)低电流待机(5)未上电节点对总线没有影响(6)可接110个节点与RS485驱动 器作用相同2.功能3. 真值表4. 工作模式(8 脚)(a). 高速模式: RS 接地(b). 斜率模式: RS接电阻(c). 待机模式: RS 接高

14、电平 (低功耗100uA)5. 输出参考电压(5脚)为CAN控制器输入提供参考 电压,作为RX电平门线,确定 RX电平是逻辑”1”还是”0” .6.网络接线VCC C1C3R1R2说明:(1).片选地址8000-80FFH(5). R1和R2分压2.1V为模拟输 入参考电压9 CPU 与CAN接口设计1.CPU 与SJA1000接口设计(2). MODE = “1”,选 用Intel 模式,=0 Motorola 模式。(3). ALE 使 D0-D7 数 据线与地址线复用 。 VccD0-D7AD0-AD7WRRD ALEINT1P2.7CSINTALERDWRRX0VDD1VSS1VDD2

15、VDD3MODEVSS3VSS2TX0RX1VCCC2SJA1000CPUXTAL1XTAL2C4C516MHzRSTP1.1(4).CAN 地址0- 255,其中使用0- 127字节(6). 系统模拟地和数字地VDD1/VSS1 :逻辑电源 VDD2/VSS2:输入模拟电源 VDD3/VSS3:输出模拟电源 用法:每路电源分别退耦后 再接系统电源.VCCTX0RX0INOUT VDDGNDVccENOUTVDDEN VCCGNDVDDINVCCGND RsCANHCANLTXDRXD6N1376N137SJA100082C250 39039039039055C16.2K4.7KRX1100nF100nF100nF

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号