工业控制网络5 CAN总线ppt课件.ppt

上传人:小飞机 文档编号:1902230 上传时间:2022-12-24 格式:PPT 页数:101 大小:5.24MB
返回 下载 相关 举报
工业控制网络5 CAN总线ppt课件.ppt_第1页
第1页 / 共101页
工业控制网络5 CAN总线ppt课件.ppt_第2页
第2页 / 共101页
工业控制网络5 CAN总线ppt课件.ppt_第3页
第3页 / 共101页
工业控制网络5 CAN总线ppt课件.ppt_第4页
第4页 / 共101页
工业控制网络5 CAN总线ppt课件.ppt_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《工业控制网络5 CAN总线ppt课件.ppt》由会员分享,可在线阅读,更多相关《工业控制网络5 CAN总线ppt课件.ppt(101页珍藏版)》请在三一办公上搜索。

1、工业控制网络,第5章 CAN总线,5.1 CAN总线特点5.2 CAN总线通信模型5.3 CAN总线帧结构5.4 CAN总线的错误处理机制5.5 SJA1000 CAN控制器5.6 CAN总线收发器PCA82C2505.7 CAN总线节点设计,5.1 CAN总线特点,一、CAN简介,5.1 CAN总线特点,二、CAN总线特点 (1)国际标准,应用广泛;(2)多主方式工作,不分主从;(3)废除站地址编码,采用报文标识符;(4)通过对报文标识符过滤即可实现点对点、一点对多点传送和全局广播等几种数据传送方式;(5)采用非破坏性总线仲裁技术,按优先级发送,大大减少总线冲突仲裁时间;,5.1 CAN总线

2、特点,(6)通信距离最远可达10km(5kbit/s),通信速率最高可达1Mbit/s(40m);(7)总线上节点数可达110个;(8)采用短帧结构,传输时间短,受干扰概率低;(9)CRC等检错措施,保证通信的高可靠性;(10)CAN节点具有自动关闭的功能;(11)通信介质可采用双绞线、同轴电缆或光纤;(12)CAN总线具有较高的性能价格比。,5.2 CAN总线通信模型,1991年Bosch公司发布 CAN2.0 规范。CAN2.0A 支持标准的11 位标识符,CAN2.0B同时支持标准的11位标识符和扩展的29位标识符。,5.2 CAN总线通信模型,5.2 CAN总线通信模型,一、 CAN总

3、线的物理层1. CAN总线的位编码CAN位流根据“不归零”(NRZ)方式来编码。CAN总线的数值为两种互补逻辑数值:“显性”(Dominant)或“隐性”(Recessive),“显性”数值表示逻辑“0”,而“隐性”表示逻辑“1”。当总线上两个不同的节点在同一位时间分别传送显性和隐性位时,总线上呈现显性位,即显性位覆盖了隐性位。,5.2 CAN总线通信模型,2. CAN总线的位数值表示(ISO11898),5.2 CAN总线通信模型,3. 最大传输距离与通信速率,5.2 CAN总线通信模型,4. CAN总线与节点的电气连接,5.2 CAN总线通信模型,5. 位定时标称位速率(Nominal B

4、it Rate)理想发送节点在没有重同步的情况下每秒发送的位数量。标称位时间(Nominal Bit Time) 标称位时间 = 1/标称位速率。即:CAN总线通信时,一位数据持续的时间 。,5.2 CAN总线通信模型,位时间结构,5.2 CAN总线通信模型,(1)同步段(SYNC_SEG) 同步段用于同步总线上不同的节点,是CAN总线位时间中每一位的起始部分。(2)传播段(PROP_SEG) 传播段用于补偿网络内的物理延时。 (3)相位缓冲段1、2(PSEG1、PSEG2) 相位缓冲段用于补偿边沿阶段的误差。(4)采样点(Sample Point) 采样点是读取总线电平并转换为一个对应的位值

5、的一个时间点 。,5.2 CAN总线通信模型,5.2 CAN总线通信模型,6. 同步 同步使CAN总线系统的收发两端在时间上保持步调一致。 由于节点的振荡器漂移,传播延迟以及噪声干扰等引起的位时间偏差称为相位误差。(1)硬同步 硬同步只在总线空闲时通过一个从“隐性位”到“显性位”的跳变(帧起始)来完成,此时不管有没有相位误差,所有节点的位时间重新开始。,5.2 CAN总线通信模型,5.2 CAN总线通信模型,(2)重同步 在报文的随后位中,每当有从“隐性位”到“显性位”的跳变,并且该跳变落在了同步段之外,就会引起一次重同步。重同步机制可以根据跳变沿加长或者缩短位时间以调整采样点的位置,保证正确

6、采样。 重同步跳转宽度(SJW)定义为相位缓冲段1可被加长或相位缓冲段2可被缩短的上限值。,5.2 CAN总线通信模型,5.2 CAN总线通信模型,5.2 CAN总线通信模型,二、CAN总线的数据链路层 1. 逻辑链路控制子层LLC (1)验收过滤 通过验收过滤确定是否被接收数据帧。(2)超载通知 若接收节点由于内部原因要求延迟下一个数据帧/远程帧,则发送超载帧。(3)恢复管理 发送期间,对于丢失仲裁或被错误干扰的帧,LLC子层具有自动重发功能。,5.2 CAN总线通信模型,5.2 CAN总线通信模型,2. 介质访问控制子层MAC MAC子层不存在修改的灵活性,是CAN总线协议的核心。,5.2

7、 CAN总线通信模型,(1)介质访问管理,5.2 CAN总线通信模型,(2)MAC帧位填充 当发送节点在发送位流中检测到5个数值相同的连续位(包括填充位)时,在实际发送位流中,自动插入一个补码位 。,5.3 CAN总线帧结构,总线上的信息以不同的固定报文格式发送。数据帧(Data Frame):数据帧携带数据从发送器至接收器;远程帧(Remote Frame):接收单元向发送单元请求发送具有相同标识符数据所用的帧;出错帧(Error Fram):任何单元检测到一总线错误就发出出错帧;超载帧(Overload Frame):超载帧用以在先后的数据或远程帧之间提供一附加的延时。,5.3 CAN总线

8、帧结构,一、数据帧 数据帧(Data Frame)由以下7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束。帧起始、仲裁场和控制场定义为数据帧帧头。CRC场、应答场和帧结束定义为数据帧帧尾。,5.3 CAN总线帧结构,1. 帧起始SOF标志数据帧和远程帧的起始。由一个显性位组成。只有在总线空闲时才允许站点开始发送信号,所有站必须同步于开始发送报文的站的帧起始前沿,即硬同步。,5.3 CAN总线帧结构,2. 仲裁场在帧起始之后是仲裁场。标准帧:由12 个位组成,分别为11个识别位(ID)和一个远程发送请求 (RTR)位。 RTR 位用于区分报文是数据帧 (RTR位为显性

9、)还是远程帧(RTR位为隐性状态)。扩展帧:由11位基本ID、SRR位、IDE位和18位扩展ID组成。SRR位和IDE位皆为隐性。,5.3 CAN总线帧结构,5.3 CAN总线帧结构,5.3 CAN总线帧结构,3 . 控制场在仲裁场之后是控制场,由6个位组成。控制场的第一位为识别扩展(IDE) 位,该位为显性状态时,说明这是标准帧。识别扩展位的下一位为零保留位(RB0),这一保留位将由CAN 协议定义为显性位。控制场的其余4 位为数据长度码(DLC),说明了报文中包含的数据字节数。,5.3 CAN总线帧结构,5.3 CAN总线帧结构,4 . 数据场控制场之后为数据场,包含正在发送的数据字节。数

10、据场长度由上述数据长度码DLC定义(0-8字节)。首先发送的是最高字节的最高位 。,5.3 CAN总线帧结构,5. CRC场CRC场由15位CRC序列和1位隐性CRC界定符组成;CRC序列用于检测报文传输错误 ;CRC校验是由硬件完成的。,5.3 CAN总线帧结构,6 . 应答场应答场由应答间隙和应答界定符两个位组成。在应答间隙期间,发送节点发出一个隐性位,任何接收到匹配CRC序列报文的节点会发回一个显性位,确认报文收到无误。应答的本质是所有接收节点检查报文的一致性。,5.3 CAN总线帧结构,7. 帧结束 每一个数据帧的结束均由一标志序列界定,这个标志序列由7个隐性位组成。,5.3 CAN总

11、线帧结构,二、远程帧一般情况下,数据传输是由数据源节点( 例如,传感器发送数据帧)自主完成的。但也可能发生终节点向源节点请求发送数据的情况,即远程数据请求。 要做到这一点,终节点须发送一个标识符与所需数据帧的标识符相匹配的远程帧。随后相应的数据源节点会发送一个数据帧以响应远程帧请求。,5.3 CAN总线帧结构,远程帧由也分为标准帧和扩展帧,由帧起始、仲裁场、控制场、CRC场、应答场、帧结束6个位场组成。远程帧与数据帧存在两点不同:(1)远程帧的RTR 位为隐性状态;(2)远程帧没有数据场,所以数据长度代码的数值没有任何意义,可以为08范围里任何数值。当带有相同标识符的数据帧和远程帧同时发出时,

12、数据帧将赢得仲裁,这是因为其紧随标识符的RTR 位为显性。,5.3 CAN总线帧结构,远程帧与数据帧区别,远程帧的RTR 位为隐性状态;远程帧没有数据字场,所以数据长度代码的数值没有任何意义,可以为08范围里任何数值。 当带有相同标识符的数据帧和远程帧同时发出时,数据帧将赢得仲裁,这是因为其紧随标识符的RTR 位为显性。这样可使发送远程帧的节点立即收到所需数据。,5.3 CAN总线帧结构,5.3 CAN总线帧结构,三、出错帧 出错帧由检测到总线错误的任一节点产生。 出错帧包含两个场:错误标志和错误界定符。,5.3 CAN总线帧结构,1. 错误标志 错误标志包括激活错误标志和认可错误标志两种。节

13、点发送哪种类型的出错标志,取决于其所处的错误状态。 (1)激活错误标志 当节点处于错误激活状态时,检测到一个总线错误时,这个节点将产生一个激活错误标志,中断当前的报文发送。 激活错误标志由6个连续的显性位构成。,5.3 CAN总线帧结构,激活错误标志由6个连续的显性位构成。这种位顺序违背了位填充规则,也破坏了应答场或帧结束的固定格式。 所有其它节点会检测到错误条件并且开始发 送错误标志。因此,这个显性位序列的形成就是各个节点发送的不同错误标志叠加在一起的结果。 错误标志叠加序列的总长度最小为6位,最大为12位。,5.3 CAN总线帧结构,(2)认可错误标志 当节点处于错误认可状态时,检测到一个

14、总线错误时,该节点将发送一个认可错误标志。 认可错误标志包含6个连续的隐性位。2. 错误界定符 错误界定符由8个隐性位构成。,5.3 CAN总线帧结构,四、超载帧1. 超载帧的产生超载帧的产生可能有以下三种原因:接收器由于内部原因需要延迟下一个数据帧或远程帧;节点在帧空间检测到非法显性位;节点在错误界定符或超载界定符的第8位采样到一个显性位。,5.3 CAN总线帧结构,2. 超载帧结构超载帧由两个场组成:超载标志和超载界定符。超载标志为6 个显性位,超载界定符包含8 个隐性位。超载帧与激活错误帧具有相同的格式,但超载帧只能在帧间空间产生,出错帧是在帧传输时发出的。节点最多可产生两条连续超载帧来

15、延迟下一条报文的发送。,5.3 CAN总线帧结构,五、帧间空间 帧间空间将前一条帧(无论何种类型)与其后的数据帧或远程帧分离开来。,5.3 CAN总线帧结构,1. 间歇(必须有) 间歇由3个隐性位组成。2. 总线空闲 总线空闲由任意长度的隐性位组成。3. 延迟传送(错误认可节点) 延迟传送由8个位的隐性位组成。,5.4 CAN总线的错误处理机制,一、错误类型位错误填充错误CRC错误形式错误应答错误,5.4 CAN总线的错误处理机制,二、错误界定规则 1. 错误界定,5.4 CAN总线的错误处理机制,2. 错误界定规则 CAN总线上单元的错误状态是依据错误计数器的数值而界定的,错误界定规则就是指

16、错误计数器的计数规则。1)接收节点检测到错误,接收错误计数器值增加;2)发送节点检测到错误,发送错误计数器值增加;3)报文成功发送后,发送错误计数器值减少;4)报文成功接收后,接收错误计数器值减少。,5.5 SJA1000 CAN控制器,SJA1000是PHILIPS半导体公司1997年研制的一款独立CAN控制器。SJA1000可以完成CAN总线标准中物理层和数据链路层的所有功能。SJA1000有两种不同的协议模式:BasicCAN 模式 和PeliCAN模式。SJA1000在汽车制造和其他的工业领域得到了十分广泛的应用。,5.5 SJA1000 CAN控制器,一、SJA1000引脚功能 AD

17、0AD7:数据地址总线;ALE/AS:地址锁存/地址选择信号;CS:片选信号;RD/E:读允许/使能信号;WR:写允许信号;CLKOUT:时钟输出信号;Vss1、Vdd1:逻辑电路电源;XTAL1、XTAL2:时钟振荡器端;,5.5 SJA1000 CAN控制器,二、SJA1000内部功能结构,5.5 SJA1000 CAN控制器,三、SJA1000内部存储区分配 操作SJA1000寄存器相当于读写片外RAM;SJA1000内部存储区包括控制段、发送缓冲器和接收缓冲器。 SJA1000支持两种操作模式,即工作模式和复位模式。,5.5 SJA1000 CAN控制器,BasicCAN协议模式下SJ

18、A1000内部存储区分配,5.5 SJA1000 CAN控制器,3.1 SJA1000的结构与功能,5.5 SJA1000 CAN控制器,四、SJA1000寄存器功能1. 控制寄存器(地址0),5.5 SJA1000 CAN控制器,2. 命令寄存器(地址1,只写),5.5 SJA1000 CAN控制器,3. 状态寄存器(地址2,只读),5.5 SJA1000 CAN控制器,4. 中断寄存器(地址3),5.5 SJA1000 CAN控制器,5. 验收代码寄存器(ACR,地址4)验收代码寄存器是验收过滤器的一部分,用于存储8位验收代码(AC)。当验收代码位AC.7-AC.0和报文标识符的高8位ID

19、.10-ID.3相等时,该报文可以通过验收过滤器写入接收缓冲器。,5.5 SJA1000 CAN控制器,6. 验收屏蔽寄存器(AMR,地址5) 验收屏蔽寄存器也是验收过滤器的一部分,用于存储8位验屏蔽码(AMC)。验收屏蔽寄存器增加了SJA1000验收过滤器的灵活性,实现了CAN总线废除了传统的站地址编码的特点。验收屏蔽寄存器的某位值为0时,报文标识符的对应位为需要验收;某位值为1,则对应的标识符位不需要验收。,5.5 SJA1000 CAN控制器,7. 总线定时寄存器0(BTR0,地址6)(1)波特率预设值 tSCL=2tCLK(32BRP.5+16BRP.4+8BRP.3 +4BRP.2+

20、2BRP.1+BRP.0+1)(2)重同步跳转宽度 tSJW=tSCL(2SJW.1+SJW.0+1),5.5 SJA1000 CAN控制器,8. 总线定时寄存器1(BTR1,地址7)(1)采样位SAM=1 :总线采样3次。在低速总线上使用。SAM=0 :总线采样1次。适用在高速总线上。,5.5 SJA1000 CAN控制器,(2)时间段1和时间段2时间段1和时间段2决定了每一个位时间的时钟数目和采样点的位置。tTESG1=tSCL(8TSEG1.3+4TSEG1.2+2TSEG1.1+TSEG1.0+1) tTSEG2 = tSCL(4TSEG2.2+2TSEG2.1+TSEG2.0+1)设

21、同步段为1个系统时钟周期,tSYNCSEG = tCLK ,标称位周期tbit为:tbit = tSYNCSEG + tTESG1 + tTSEG2,5.5 SJA1000 CAN控制器,5.5 SJA1000 CAN控制器,9. 输出控制寄存器 (OCR,地址8)输出控制寄存器控制SJA1000的发送电路,可以配置成不同输出驱动方式。OCTPx和OCTNx可编程设置输出引脚的驱动方式,可设置为悬空、上拉、下拉、推挽这四种驱动方式。OCPOLx可编程设置输出端极性。,5.5 SJA1000 CAN控制器,5.5 SJA1000 CAN控制器,5.5 SJA1000 CAN控制器,OCMODE1

22、和OCMODE0用于设置SJA1000的输出模式 。,5.5 SJA1000 CAN控制器,10. 时钟分频寄存器(CDR,地址31)时钟分频寄存器控制CLKOUT引脚输出时钟的频率。控制着TX1上的专用接收中断脉冲、接收比较通道。BasicCAN模式与PeliCAN模式的选择。,5.5 SJA1000 CAN控制器,5.5 SJA1000 CAN控制器,11. 发送缓冲器(TXB,地址10-19 )发送缓冲器用于存储微控制器要SJA1000发送的报文,分为描述符区和数据区。 描述符包括11位标识符,一个远程请求位,4位数据长度码。数据长度码不应超过8,如果选择的值超过8,则按8 处理。CAN

23、地址1219是存储数据字节的存储单元。,5.5 SJA1000 CAN控制器,12. 接收缓冲器(RXB,地址20-29 )接收缓冲器用于存储从CAN总线上接收来的报文,等待微控制器读取。接收缓冲器的结构与发送缓冲器类似。一条报文被读取后,执行释放接收缓冲器命令,则下一条报文进入CAN地址的20-29,等待读取。接收缓冲器共有64个字节,一次可以存储多少条报文取决于数据的长度。没有空间来存储新的报文,会产生数据溢出。,5.5 SJA1000 CAN控制器,5.6 CAN总线收发器PCA82C250,CAN总线收发器也叫CAN总线驱动器。 CAN总线收发器是CAN控制器和物理总线的接口。用于对总

24、线提供差动发送能力和对CAN控制器提供差动接收能力。PCA82C250是PHILIPS公司针对汽车中的高速应用而生产的CAN总线收发器。PCA82C250是目前应用最广泛的CAN总线收发器 。,5.6 CAN总线收发器PCA82C250,PCA82C250特性:(1)符合和ISO11898国际标准;(2)高速率(最高可达1Mbps);(3)具有总线保护能力,可抵抗汽车环境中的瞬间干扰;(4)具有斜率控制模式,降低射频干扰(RFI);(5)采用差分接收器,抗宽范围的共模干扰,有很强的抗电磁干扰(EMI)的能力;,5.6 CAN总线收发器PCA82C250,PCA82C250特性: (6)具有过热

25、保护;(7)具有发送输出极对电源或地的短路保护;(8)具有低电流待机模式;(9)未上电节点对总线无影响;(10)总线可连接110个节点。,5.6 CAN总线收发器PCA82C250,一、 PCA82C250 引脚功能,5.6 CAN总线收发器PCA82C250,二、PCA82C250内部功能结构,5.6 CAN总线收发器PCA82C250,三、PCA82C250的工作模式,5.7 CAN总线节点设计,一、CAN总线节点的硬件设计 1. CAN总线节点结构,5.7 CAN总线节点设计,2. CAN总线节点的硬件电路(1)电源电路 SJA1000片上有3个独立电源,分别给输入电路、输出电路以及内部

26、逻辑管理电路供电。(2)复位电路 SJA1000的复位输入引脚为低电平有效,MCS-51单片机的复位输入引脚为高电平有效。,5.7 CAN总线节点设计,(3)时钟电路,5.7 CAN总线节点设计,(4)MCS-51单片机与SJA1000接口电路,5.7 CAN总线节点设计,(5)CAN总线收发器电路,5.7 CAN总线节点设计,5.7 CAN总线节点设计,二、CAN总线节点的软件设计 1. 主程序,5.7 CAN总线节点设计,2. SJA1000初始化程序,ORG 0HMOV DPTR,#7F00HMOV A,#01HMOVX DPTR,A;关中断、复位MOV DPTR,#7F04HMOV A

27、,#30HMOVX DPTR,A ;ACRMOV DPTR,#7F05HMOV A,#00HMOVX DPTR,A ;AMR,5.7 CAN总线节点设计,MOV DPTR,#7F06H ;BTR0MOV A,#00HMOVX DPTR,AMOV DPTR,#7F07H;BTR1MOV A,#14HMOVX DPTR,A ;定时设置MOV DPTR,#7F08HMOV A,#0FAHMOVX DPTR,A ;OCRMOV DPTR,#7F1FHMOV A,#00HMOVX DPTR,A ;CDRMOV DPTR,#7F00HMOV A,#0EHMOVX DPTR,A ;开中断,工作,5.7 CA

28、N总线节点设计,3. 发送子程序注意状态位:接收状态 发送完成状态 发送缓冲区是否被锁定,5.7 CAN总线节点设计,CAN_TX:MOV DPTR ,#7F02H ;读状态寄存器MOVXA,DPTRCJNE A,#0CH,EXIT;能发送否?MOV DPTR,#7F0AHMOV A,#02HMOVX DPTR,A;设置报文IDMOV A,#01HINC DPTRMOVX DPTR,A;报文字节数MOV A,40HINC DPTRMOVX DPTR,A;发送数据MOV DPTR,#7F01HMOV A,#01HMOVX DPTR,A ;发送命令EXIT:RET,5.7 CAN总线节点设计,4.

29、 接收子程序,5.7 CAN总线节点设计,CAN_RX:MOV DPTR ,#7F02H MOVXA,DPTRJNB ACC.0,EXIT1MOV DPTR ,#7F14H INCDPTRINC DPTRMOVX A,DPTRMOV 50H,AMOV DPTR ,#7F01HMOV A,#04HMOVX DPTR,AEXIT1:RET,思考题,1. CAN总线中,通过报文标示符ID确定报文的优先级,若4个标准格式数据帧的报文标示符ID分别为11001100001、11001101001、11001000001和11001000010,那么它们争用总线时,哪个报文获得总线的访问权? 2.CAN总

30、线标准格式数据帧的最小位数为多少,最大位数又为多少?3.设CAN总线的通信速率为500kbps(1位时间为2us),对于2字节标准格式的数据帧(位数为60位),若其帧间空间为3位,请计算其最小CAN中断时间?,思考题,4.独立CAN控制器SJA1000的最大时钟频率为多少?5.若CAN总线时钟频率为20MHz,定时寄存器0(BTR0)的值为“11000011”,请计算CAN总线的系统时钟周期tscl?6.CAN总线定时寄存器1(BTR1)的BIT7位即SAM位为“1”时,总线被采样1次还是3次?7.与PCA82C200 CAN控制器相比, CAN控制器SJA1000增加了一种新的工作模式,这种

31、模式是BasicCAN模式还是PeliCAN模式?,思考题,8.CAN现场总线的发送器和接收器均使用SJA1000,采用CAN2.0A规范,发送器发送的4个报文的ID分别为:(1)11001100001;(2)11001101001;(3)11001000001;(4)11001001001。欲使接收器只接收报文(1)、(3),应如何设置接收器SJA1000的ACR和AMR?,思考题,9. CAN节点使用SJA1000,振荡器频率为16MHz,若使波特率为1Mbps,如何设置SJA1000的BTR0和BTR1?10. 使用晶振频率为16MHz的独立CAN控制器SJA1000,若BTR0=01Hex,BTR1=1CHex,则由其所决定的位速率是多少?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号