参考分析案例c12l_第1页
参考分析案例c12l_第2页
参考分析案例c12l_第3页
参考分析案例c12l_第4页
参考分析案例c12l_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

1、CAN基础和Microchip ECANide1Microchip CAN解决方案集成CAN的解决方案PIC MCUCAN解决方案PIC18Fxx8(PIC18F258)dsPIC30FECAN解决方案PIC18Fxx8x(PIC18F2580)PIC18FxxK8x(PIC18F66K80)dsPIC33F和dsPIC33EPIC24H和PIC24EPIC32MX混合信号CAN IO扩展器MCP250 xx(MCP25050)独立CAN控制器MCP2515CAN TCVRMCP2551未来/新CAN产品MCP2561高速CAN汽车级CAN收发器状态:研发中。发布日期:2011年底MCP251

2、X带有内部振荡器的独立增强型CAN控制器状态: 概念/定义阶段dsPIC33C24E系列带有USB的CAN器件课程目标完成本课程之后,您将:能够了解CAN协议的基础知识能够操作Microchip的ECAN模块了解如何开始设计您自己的CAN节点课程安排CAN的基础知识概述报文帧、发送和接收位时序错误处理ECAN控制器概述功能模式工作模式设置位时序设置器和过滤器设置发送缓冲器课程安排概述CAN概述CAN是一种串行通信协议所有节点连接在通用连接上所有节点必须使用相同的波特率每个节点可以在总线上发送或接收任意报文SpeedEngineABSCAN BUSTractionGearboxCAN概述每个节点

3、控制某些功能,每个节点通常由该功能标识系统设计的报文必须指定每个节点的标识符和节点将要发送应用程序代码将构建发送的报文,并解译收到的报文SpeedEngineABSCAN BUSTractionGearboxCAN概述有效支持分布式控制系统由国际标准化组织(ISO)和(SAE)共同制定标准汽车和工业市场领域汽车工程师学会使不同厂家生产的产品能够协同工作网络模型ISO/OSI七层网络参考模型定义该系统化方案OSI 参考层物理层应用层表示层会话层传输层网络层数据链路层物理层数据链路层CAN数据链路层由ISO11898-1定义物理层的上半部分物理信令(PLS)位编码/位时序/同步CAN物理层CAN高

4、速ISO11898-2支持最高1 Mbps的总线速度CAN低速(容错)ISO11898-3支持最高125 kbps的总线速度ISO11898-5带有低功耗模式的CAN高速CAN高速物理层通过CAN收发器(MCP2561)实现VCC 4.5V至5.5VTx和Rx为连接单片机的数字I/OCANH和CANL差分总线电压为 0至3.0VDV 1.0V为显性DV 0.5V为隐性CANH和CANL上持续耐压高达58VCANH和CANL上瞬间耐压达250V40m最大电缆长度1 Mbps 1km最大电缆长度50 kbps120 ohmVCCTxDriverCANHRxReceiverCANLVSS120 oh

5、mCAN总线CANTXCANHCANLDV 1VCANRXCAN物理层什么没有被定义?物理介质连接(PMA)驱动器/特性介质相关接口(MDI)连接器CAN的主要特性快速、稳健的通信基于报文,而不是基于地址报文不是根据地址从一个节点发送到另一个节点支持点到点和组播报文系统可增加新的节点,而无需对所有节点更新寻址信息CAN基于报文(不是基于地址)报文含优先级和数据最高优先级的ID为节点可以请求数据(能力)最低的ID发送请求RTRCSMA/CD-CR带解决的载波侦听多路和检测载波侦听(CS) 在发送报文之前,每个节点必须监测到总线有一段时间没有发生任何事件(MA) 如果有一段时间没有发生任多路何事件

6、,每个节点发送报文的机会均等检测(CD) 如果两个节点在同一时间发送报文,就会发生CSMA/CD-CR解决(CR)非破坏性的逐位仲裁即使出现,报文仍保持完整所有仲裁均不损坏或延迟最高优先级报文任何在仲裁中失去优先级的报文在下一总线空闲时间自动重新发送CSMA/CD-CR要求必须定义显性位和隐性位状态(仲裁中显性位占优)每个节点监测总线,以确定发送出去的位是否真的出现在总线上课程安排报文帧、发送和接收CAN的报文格式标识符(仲裁)在报文的起始处标识符有两种格式:标准格式和扩展格式数据包含报文的数据字节0 8字节CAN总线的报文帧还含有帧起始、帧结束、CRC、控制和应答数据标识符ACK00 64位

7、11或29位帧起始帧结束CRC控制111111111仲裁两个节点将继续发送报文直到出现不匹配总线上的0优先级高于总线上的1失败的节点停止发送报文,获胜节点继续发送“关键报文/引擎=196h”E“重要报文/车轮速度=19Eh”1900110011车轮速度引擎控制19600110010110仲裁示例仲裁失败节发送隐性位点检测到一个显性位发送显性位节点检测到一个显性位12课程安排位时序总线时序ACK标识符数据00 64位11或29位TBIT = 位时间总线速率决定每个位的时间如,1 Mbit / s - 1 us位时间位时间= 1 / 总线速率111111111位时序数据标识符ACK00 64位11

8、或29位采样点一个CAN报文位由4部分组成同步段段相位段1相位段2111111111位时序每个位时序段由整数个时间单元(称为时间量子(TQ)组成TQTQTQTQTQTQTQTQTQ1TQ1 - 8TQ1 - 8TQ1 - 8TQTBIT = 位时间TQ时间可配置为不同时间TQ定义为 2(BRP)(Tosc)波特率预分频比(BRP)改变TQ时间最小= 1:1,最大值= 1:64位时间可在8至25 TQ范围内变化AN754 Understanding Microchips CAN Moduit Timing同步段段相位段1相位段2同步位流中无时钟在隐性到显性转换时同步硬同步出现于帧起始(SOF),

9、硬同步会复位位时钟再同步出现在隐性到显性(1到0)边沿,并在必要时调整位时钟硬同步再同步SOF位填充位填充确保产生隐性到显性边沿位填充出现在连续5个相同位之后隐性或显性12345S1212填充位112345S123边沿之间的最大时间位填充确保产生隐性到显性边沿填充位出现在第5个相同位之后表明同步边沿之间的最大时间为10个位同步边沿CAN位123456789101112S = 填充位SS课程安排错误处理错误处理CAN协议定义了几种不同类型的错误情况确保报文的完整性对故障节点采取的措施(故障界定)根据故障数据,CAN节点能够从正常工作过渡到与网络彻底断开故障界定络停滞故障节点不停地发送报文使网主动

10、错误帧当节点检测到CAN规范所定义的多种错误中的一种时,将产生主动错误帧错误回应错误标志错误定界符错误标志的叠加668000000000000111111116-12位CRC错误CRC字段15位CRC错误CRC字段附有15位CRC所有节点接收到报文,计算CRC并将结果与接收到的CRC进行验证如果两个CRC不相符,则检测到一个CRC错误,并产生一个错误帧发送节点发现出现错误,重新发送原始报文应答错误Ack字段应答错误发送节点检查应答间隙(ACK Slot)位,此位作为隐性位发送并检测显性位如果出现显性位,至少有一个节点正确收到报文如果没有出现显性位,则产生应答错误,生成错误帧,报文将重复发送形式

11、错误Ack字段CRC错误定界符形式错误任何在CRC定界符、Ack定界符、帧结束(EOF)或帧间空间中检测到显性位的节点,会生成形式错误的错误帧原报文则重新发送字段帧结束填充错误CRC仲裁控制数据填充错误如果在SOF和CRC定界符之间检测到6个相同极性的连续位,则了位填充规则发送错误帧,随后重复发送报文帧起始字段字段字段字段位错误CRCAck控制数据帧位错误当发送器监测到总线上的信号和其发送的信号相反时,出现位错误例外情况:仲裁期间(标准仲裁程序)在应答间隙位(基于有效的报文确认)帧起始字段字段字段结束故障界定借助错误计数器的执行,CAN定义了三种错误状态:错误主动、错误错误主动为正常模式和总线

12、关闭允许发送报文和主动错误帧节点3主动错误计数器TEC: 000REC: 000节点2主动错误计数器TEC: 000REC: 000节点1主动错误计数器TEC: 000REC: 000故障界定任一错误计数器超过95时,产生中断任一错误计数器超过127时,节点状态变为错误可发送和接收报文以及错误帧错误计数器错误计数器错误计数器错误TEC: 000TEC 127TEC: 000节点1节点2节点3REC 95REC: 000REC: 000主动主动故障界定发送错误计数器值 255时,节点状态变为总线关闭不能在总线上发送任何报文只有发送错误计数器(TEC)才会引起“总线关闭”节点3主动错误 计数器TE

13、C: 000REC: 000节点2总线关闭错误 计数器TEC 255REC: 000错误节点1主动错误 计数器TEC: 000REC 95从总线关闭恢复有两种方法恢复1.2.转换到配置模式检测到128次11个连续隐性位(即,长时间总线空闲或128条有效报文,或两者都有)REC 127和TEC 127REC 127或TEC 127TEC 255错误错误主动总线关闭复位课程安排ECAN控制器概述器和过滤器ECAN?CAN(控制器局域网)为行业术语,指ISO11898-1规范中定义的协议ECAN(增强型控制器局域网)为 Microchip术语,指新一代PIC单片机中的 CAN模块PIC18F66K8

14、0系列 ECAN增强型控制器局域网(ECAN) PIC18F25/45/65K80、PIC18F26/46/66K80 PIC18LF25/45/65K80、PIC18LF26/46/66K80CAN 2.0B Active(11和29位标识符)特性:完全向下兼容旧的带有CAN的PIC单片机附加功能和特性3个独立的功能模式额外缓冲器、过滤器和器资源DeviceNet、自动RTR支持和FIFO模式PIC18F66K80 系列概述Operating voltageF:LF:1.8 to 5.5V1.8 to 3.6VECAN(PIC18F K80 系列)发送器模块发送字节排序器CAN 2.0B 引

15、擎位时序逻辑CRC 接收错误计数器比较器移位/CRC/解填充协议机发送缓冲器TXB2发送缓冲器TXB1发送缓冲器TXB0B4状态机接收模块报成缓冲器(MAB)BD5eviceNet接受 过滤器 RXF0 RXF1 RXF2 RXF3 RXF4 RXF5 RXF6 RXF7 RXF8 RXF9 RXF10 RXF11 RXF12 RXF13 RXF14RXF15/RXM2RXB0RXB1B0 B1 B2 B3接受 器 RXM0 RXM1课程安排功能模式ECAN模块(功能模式)3个功能模式:模式0 传统模式(ECANCON = 0 x00)默认模式模式1 支持DeviceNet的增强型传统模式(E

16、CANCON = 0 x40)模式2 支持DeviceNet的FIFO模式(ECANCON = 0 x80)功能模式0模式0(传统模式)资源3个TX 缓冲器(2个RX 缓冲器()1个报成缓冲器6个完全接受过滤器2个完全接受器功能模式1模式1:增强型传统模式资源3个TX缓冲器()2个RX缓冲器(6个TX或RX缓冲器(可编程)1个报成缓冲器15或16个完全接受过滤器2或3个完全接受器自动RTR处理用于DeviceNet支持的标准报文可编程数据筛选设置 功能模式1的步骤选择要配置的工作模式选择正确的功能模式选择位速率(和模式0一样)设置Bn发送/接收缓冲器使能过滤器将过滤器分配给RX缓冲器将过滤器分

17、配给器器/过滤器寄存器(和模式0一样)初始化将工作模式设置为正常模式设置功能模式1通用TX / RX缓冲器6个可选TX/RX缓冲器(14字节SRAM)(n = 0-5,m = 0-7):BnCONBnSIDH、BnSIDL、BnEIDH和BnEIDLBnDm BnDLC决定6个通用缓冲器中有几个使用在RX或TX中通过将BSEL0寄存器中的相应位置1,使能TX缓冲器;否则缓冲器被设置为RX功能模式2模式2:增强型FIFO模式RX缓冲器形成1个8级循环接收FIFO(先进先出)模式过滤器和模式2资源器不用于单个的缓冲器,而是用于FIFO3个TX缓冲器(2个RX缓冲器()6个TX或RX缓冲器(可编程)

18、1个报成缓冲器15或16个完全接受过滤器2或3个完全接受自动RTR处理器用于DeviceNet支持的标准报文可编程数据筛选功能模式2 接收FIFO仅存在于模式2中最深达8级从RXB0开始,在B5或第一个TX结束接收缓冲器FIFO长度8级FIFO长度6级发送缓冲器RXB0RXB1B0(R)B1(R)B2(R)B3(R)B4(T)B5(T)RXB0RXB1B0(R)B1(R)B2(R)B3(R)B4(R)B5(R)如何选择 所需的功能模式模式0旧代码(模式1设计时间有限)灵活的硬件过滤(需要有限的应用支持)可用于自动RTR和DeviceNet支持模式2可用于高突发模式传输可用于自动RTR和Devi

19、ceNet支持课程安排工作模式器和过滤器ECAN模块 工作模式CANCON中的REQOP位用于请求模式改变CANS中的OPMODE位反映了当前模式100 = 配置模式011 = 仅侦听模式010 = 环回模式001 = 禁用(休眠)模式000 = 正常工作模式工作模式 配置模式用于模块初始化的寄存器仅在模块处于配置模式时可被位时序配置寄存器过滤器寄存器寄存器器件复位时,模块复位到配置模式工作模式正常工作模式设定REQOP=000,以改变为正常工作模式当OPMODE位反映正常工作模式时,模块激活应用可运行并使用ECAN模块R/W-1R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0U-

20、0REQ0OP2RE0QOP1RE0QOP0Bit 7654321Bit 0CANCON 寄存器R-1R-0R-0U-0R-0R-0R-0U-0OP0MOD2OP0MODOP0MODBit 7CANS6寄存器54321Bit 010-ICOD2ICOD1ICOD0-ABATWIN2WIN1WIN0-课程安排设置位时序器和过滤器位时序PRSEG规定1 8 个TQ为段SEG1PH规定1 8 个TQ为相位段1SEG2PH规定1 8 个TQ为相位段2TQTQTQTQTQTQTQTQTQ1TQ1-8TQ1-8TQ1-8TQTBIT = 位时间Bit 7654321Bit 0BRGCON2Bit 7Bit

21、 0BRGCON3654321WAKDISWAKFIL-SEG2PH2SEG2PH1SEG2PH0SEG2PHTSSAMSEG1PH2SEG1PH1SEG1PH0PRSEG2PRSEG1PRSEG0同步段段相位段1相位段2位时序SJW规定1-4个TQ为再同步SEG2PHTS规定相位段2时序的选项 SAM规定位采样的次数(1或3)Bit 7654321Bit 0BRGCON1Bit 7654321Bit 0BRGCON2Bit 7654321Bit 0BRGCON3WAKDISWAKFIL-SEG2PH2SEG2PH1SEG2PH0SEG2PHTSSAMSEG1PH2SEG1PH1SEG1PH0

22、PRSEG2PRSEG1PRSEG0SJW1SJW0BRP5BRP4BRP3BRP2BRP1BRP0位时序BRP 指定TQ分频比BRP = (tTQ)(FOSC) / 2 1或BRP = (tBIT/n)(FOSC) / 2 1其中n = 每位TQ个数654321SJW1SJW0BRP5BRP4BRP3BRP2BRP1BRP0Fbus = 500 kb/s公式:(64 MHz/16)/(2*500 kbps) = (BRP + 1)Fosc = 64 MHz#TQ = 16Fbus = 500 kbpsTbit = 2 usBRP = 3BRGCON1 = 0 x83同步段段相位段1相位段2T

23、QTQTQTQTQ TQ TQTQTQTQ TQ TQ TQTQTQTQTQTQ1TQ3TQ8TQ6TQTBIT = 2 us课程安排设置器和过滤器标准CAN标识符标准CAN标识符(11bit)通常写为进制01101011110 = 0 x35ECAN寄存器为8位宽01101011110 = 0 x35ERXBnSIDH = 01101011 = 0 x6BRXBnSIDL = 110 00000 = 0 xC0对ID位进行和过滤CAN 报文过滤器/器真值表报文标识符接受或器位 n 过滤器位 n位 n位 n0110101111000XX接受100接受101标准Id = 0 x35E110111

24、接受RTR帧起始仲裁字段控制字段数据字段CRC字段Ack字段帧结束对ID位进行和过滤ID = 0 x35E01101011110CAN 总线接收器01101011110接收过滤器接收缓冲器器和过滤器设置ID 0 x354、0 x356、0 x35C和0 x35EX1X00110101X1X011111110101接收报文硬件设置过滤器和器,以辨认感的报文解释数据字段,并作用于报文内容发送出错误帧接收报文协议引擎接收报文并保存报成缓冲器(MAB)。报文去填充,删除CRC和帧位。TX RXCAN 协议引擎RXB1RXB0MAABBRXF5RXF1RXF4RXF0RXF3RXM0RXF2RXM1接收

25、报文报文地址与所有过滤器相比较RXF5TX RXCAN协议引擎RXB1RXB0MABRXF1RXF4RXF0RXF3RXM0RXF2RXM1接收报文如果过滤器检测到一处匹配则MAB的内容会传送到与过滤器相关的接收缓冲器中TX RXRRXXBB11RXB0CAN协议引擎MABRXF5RXF1RXF4RXF0RXF3RXM0RXF2RXM1接收缓冲器寄存器每个RX缓冲器有14个相关的寄存器RXBnCON为控制和状态寄存器 4个ID寄存器RXBnDLC为数据长度代码寄存器RXBnD0-RXBnD7包含数据寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0RXB0CON (buff

26、. 0)RXFULRXM1RXM0-RXRTRRXB0DJTOILHIT0RXB1CON (buff. 1)RXFULRXM1RXM0-RXRTRFILHIT2FILHIT1FILHIT0RXBnSIDHSID10SID9SID8SID7SID6SID5SID4SID3RXBnSIDLSID2SID1SID0SRRIDE-EID17EID16RXBnEIDHEID15EID14EID13EID12EID11EID10EID9EID8RXBnEIDLEID7EID6EID5EID4EID3EID2EID1EID0RXBnDLC-RXRTRRB1RB0DLC3DLC2DLC1DLC0RXBnDmD

27、7D6D5D4D3D2D1D0过滤器命中位FILHIT位表明哪个过滤器引起报文的接收例如:对于接收缓冲器1和 RXB1CON寄存器,有3个位表明过滤器2-5RXF3匹配, FILHIT = b011接受过滤器RXF0Identifier标识符数据字段数据字段011R/C-0R/W-0R/W-0U-0R-0R-0R-0R-0Bit 7654321Bit 0RXB1CON 寄存器RXFULRXM1RXM0-RXRTRFILHIT2FILHIT1FILHIT0R X B 1M A BR X B 0接受过滤器RXF5接受过滤器RXF1接受过滤器RXF4接受过滤器RXF3接受器RXM0接受过滤器RXF2

28、接受器RXM1过滤器命中位对于接收缓冲器0(即 RXB0CON寄存器),有1个位表明过滤器0-1例如:RXF1和FILHIT0 = 1匹配RXRTRRO = 1时,接收到接受过滤器RXF0Identifier标识符一个发送请求数据字段数据字段1R/C-0R/W-0R/W-0U-0R-0R/W-0R-0R-0Bit 7654321Bit 0RXB0CON寄存器RXFULRXM1RXM0-RXRTRRORXB0DBENJTOFFFILHIT0R X B 1M A BR X B 0接受过滤器RXF5接受过滤器RXF1接受过滤器RXF4接受过滤器RXF3接受器RXM0接受过滤器RXF2接受器RXM1双

29、缓冲RXB0RXB0DBEN = 1时,对RXB0接收缓冲器进行双缓冲如果RXB0接收另一报文时已满,且RXB1可用,则新的报文将发送到 RXB1接受过滤器RXF0标识符标识符数据字段数据字段001R/C-0R/W-0R/W-0U-0R-0R-0R-0R-0Bit 7654321Bit 0RXB1CON 寄存器RXFULRXM1RXM0-RXRTRROFILHIT2FILHIT1FILHIT0R X B 1M A BR X B 0接受过滤器RXF5接受过滤器RXF1接受过滤器RXF4接受过滤器RXF3接受器RXM0接受过滤器RXF2接受器RXM1接收中断/标志RXBnIE使能中断CAN接收缓冲

30、器中断使能RXBnIF标志缓冲器状态RXFUL清零以接收缓冲器RXBnIF清零以清除状态R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0Bit 7PIE5 寄存器654321Bit 0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0Bit 7PIR5 寄存器654321Bit 0IRXIFWAKIFERRIFTXB2IFTXB1IFTXB0IFRXB1IFRXB0IFIRXIEWAKIEERRIETXB2IETXB1IETXB0IERXB1IERXB0IE课程安排器和过滤器设置发送缓冲器发送缓冲器将报文载入3个发送缓冲器的任何一个

31、中,排队等候发送TXRX协议引擎字节排序器TXB0TXB1TXB2发送缓冲器每个TX缓冲器有14个相关的寄存器TXBnCTRL为控制和状态寄存器 4个ID寄存器TXBnDLC为数据长度代码寄存器TXBnD0-TXBnD7包含数据寄存器Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TXBnCONTXBIFTXABTTXLARBTXERRTXREQ-TXPRI1TXPRI0TXBnSIDHSID10SID9SID8SID7SID6SID5SID4SID3TXBnSIDLSID2SID1SID0-EXIDE-EID17EID16TXBnEIDHEID15EID14EID13EID1

32、2EID11EID10EID9EID8TXBnEIDLEID7EID6EID5EID4EID3EID2EID1EID0TXBnDLC-TXRTR-DLC3DLC2DLC1DLC0TXBnDmD7D6D5D4D3D2D1D0发送报文硬件设置总线时序以标识符和数据创建报文内容必要时应用会发送报文检查错误条件检查仲裁失败发送报文要启动CAN发送,置1 TXREQ位在TXREQ置1后模块使用缓冲器如果总线繁忙,则报文需要排队发送完成时, TXREQ位自动清零发送完成时,模块生成CAN中断R/C-0R-0R-0R-0R/W-0U-0R/W-0R/W-0Bit 7654321Bit 0TXBnCON 寄存器TXBIFTXABTTXLARBTXERRTXREQ-TXPRI1TXPRI0发送中断/标志TXBnIE使能中断发送完成中断TXBnIF标志缓冲器状态发送报文无需清零R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0Bit 7PIE5 寄存器654321Bit 0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0Bit 7PIR5 寄存器654321Bit 0IRXIFWAKIFERRIFTXB2IFTXB1IFTXB0IFRXB1IFRXB0IFIRXIE

温馨提示

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

评论

0/150

提交评论