




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三讲 CAN现场总线(Controller Area Network)1、综述2、技术规范3、报文传输和帧结构4、CAN通信中的几个问题5、典型CAN总线器件及应用6、CAN通信的控制与应用7、CAN应用层协议8、CAN总线在汽车领域的应用CAN现场总线1 综述应用领域及实例实例1. 综述应用领域及实例低成本 极高的总线利用率 很远的数据传输距离(长达10Km) 高速的数据传输速率(高达1Mbit/s) 可根据报文的ID决定接收或屏蔽该报文 可靠的错误处理和检错机制 发送的信息遭到破坏后,可自动重发 节点在错误严重的情况下具有自动退出总线的功能 报文不包含源地址或目标地址,仅用标志符来指示功
2、能信息、优先级信息广泛应用的技术原因1. 综述发展历史CAN(Controller Area Network)是控制器局域网CAN是由德国Bosch公司专门为汽车监测和控制而设计的,逐步发展到用于其它工业领域的现场控制。CAN已经成为国际标准化组织ISO11898标准。1991 Philip Semiconductors制定CAN技术规范CAN2.0A,CAN 2.0B。德国博世(BOSCH)公司是倡导者1986年在汽车工程协会(SAE)大会上提出传输的报文根据报文的内容识别汽车、机械、工业自动化,石油化工等针对汽车工业复杂的电子装置1992年开始,Benz,Volvo,Saab,Volksw
3、agen,BMW, Renault,Fiat等陆续在其车辆产品中使用CAN。1983: Start of the Bosch internal project to develop an in-vehicle network1986: Official introduction of CAN protocol1987: First CAN controller chips from Inter and Philips Semiconductors1991: Boschs CAN specification 2.0 published1991: CAN Kingdom CAN-based hig
4、her-layer protocol introduced by Kvaser1992: CAN in Automation international users and manufacturers group established1992: CAN in Application Layer(CAL) protocol published by CiA1992: First cars from Mercedes-Benz used CAN network1993: ISO 11898 standard published1994: First international CAN Confe
5、rence(iCC) organized by CiA1994: DeviceNet protocol introduction by Allen-Bradley1995: ISO 11898 amendment (extended frame format) published1995: CANopen protocol published by CiA2000: Development of the time-triggered communication protocol for AN(TTCAN)1. 综述发展历史多主工作方式,任一节点均可在任意时刻主动的向网络上其他节点发送信息;节点
6、信息分成不同的优先级,可满足不同实时性要求,高优先级的数据最快可在134us内得到传输;采用非破坏性的总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送;只需通过报文滤波即可实现点对点、点对多点及广播等传输方式,无需专门的“调度”;节点数主要取决于总线驱动电路,目前可达110个;1. 综述CAN总线性能特点采用短帧结构,传输时间短,受干扰概率低,具有极好的验错效果;每帧信息都有CRC校验及其他检错措施,保证了数据出错率极低。直接通信距离最远可达10km/5kbps,通信速率最高可达1Mbps/40m报文标识符可达2032种(CAN2.0A),而扩展标准(CAN2.0B
7、)的报文标识符几乎不受限制。CAN 的通信介质:双绞线、同轴电缆、光纤。CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。1. 综述CAN总线性能特点报文:当总线开放时,任何连接的单元均可开始发送一个新报文。信息路由:在CAN系统中,一个CAN节点不使用有关系统结构的任何信息(如站地址)。位速率: CAN的数据传输率在不同的系统中是不同的,而在一个给定的系统中,此速度是唯一和固定的。远程数据请求:通过发送一个远程帧,需要数据的节点可以请求另一个节点发送个相应的数据帧。多主站:当总线开放时,任何单元均可开始发送报文,而发送具有最高优先权报文的单元,赢得总线访问。
8、2. CAN总线的技术规范基本概念仲裁:当总线开放时,任何单元均可开始发送报文,若同时有两个或更多的单元开始发送,总线访问冲突运用逐位仲裁规则,借助标识符ID解决。安全性:为获得尽可能高的数据传送安全性,在每个CAN节点中均设有错误检测、标定和自检的强有力措施。出错标注和恢复时间:已损报文由检出错误的任何节点进行标注。这样的报文将失效,并自动进行重发送。故障界定:CAN节点有能力识别永久性故障和短暂扰动,可自动关闭故障节点。2. CAN总线的技术规范基本概念检错措施:发送自检、循环冗余校验、位填充和报文格式检查。如果不存在新的错误,自检出错误至下一个报文开始发送的恢复时间最多为29个位时间。总
9、线数值表示: 总线上具有两种互补逻辑数值:显性电平或隐性电平。在显位与隐位同时发送期间,总线上数值将是显位。应答: 所有接收器均对接收报文的相容性进行检查,回答一个相容报文,并标注一个不相容报文。数据相容性:在CAN网络内,可以确保报文同时被所有节点或者没有节点接收。因此,系统的数据相容性是借助于成组和出错处理达到的。2. CAN总线的技术规范基本概念例:在总线的“线与”操作情况下,显位由逻辑“0”表示,隐位由逻辑“1”表示。包括A和B两部分,其中2.0A给出了CAN报文标准格式,2.0B给出了标准的和扩展的两种格式。只采用ISO/OSI模型的物理层和数据链路层。2. CAN总线的技术规范2.
10、 CAN总线的技术规范分层结构物理信令(PLS) 位编码/解码 位定时 同步物理媒体附件(PMA) 驱动器/接收器特性媒体接口(MDI) 连接器数据链路层逻辑链路控制(LLC) 接收过滤 超载通告 恢复管理媒体访问控制(MAC) 数据打包/拆包 帧编码(填充,去填充) 媒体访问管理 错误检测 出错标识 应答 串行-并行转换物理层由CAN控制器实现;采用CSMA/CD方式非破坏性总线仲裁技术;节点信息有高低优先级之分以满足不同的实 时需要;可实现点对点、一点对多点以及全局广播等;采用短帧结构,每帧有效字节数为0-8个;CRC校验域等检查措施保证了极低的出错率;节点在严重错误时具有自动关闭总线的功
11、能。可采用共地的单线制、双线制、同轴电缆、 双绞线、光缆等。节点数理论上不受限制,取决于物理层的承 受能力,实际可达110个。当总线长40米时,最大通信速率为1Mbps, 当通信速率为5kbps时,距离可达10km。CAN2.0A目标层传送层数据链路子层接收滤波超载通知恢复管理媒体访问控制子层数据封装/拆装帧编码(填充/去填充)媒体访问管理错误监测出错标定应答串行化/解除串行化物理层位编码/解码位定时同步(驱动器/接收器特性)2. CAN总线的技术规范分层结构总线上具有两种互补逻辑数值:显性电平或隐性电平。在显位与隐位同时发送期间,总线上数值将是显位。在隐性状态下,Vcan-h和Vcan-l被
12、固定在平均电压电平,Vdiff近似为零。显性状态以大于最小阈值的差分电压表示。2. CAN总线的技术规范逻辑状态例:在总线的“线与”操作情况下,显位由逻辑“0”表示,隐位由逻辑“1”表示。时间tVVdiffVdiffVCAN-HVCAN-L隐性位显性位隐性位03.5V2.5V1.5V典型值 当总线电压差小于0.5V时,接收为隐位,隐位电压差的正常值为0V; 当电压差大于0.9V时,为显位,显位电压差的正常值为2.0V,合格的显位电压差的最小值为1.2V; 0.50.9V为变化的过渡区; 共模电压为-2+7 V。 总线末端均接有以RL表示的抑制反射的终端负载电阻,其阻值大约在120欧左右;总线驱
13、动可采用单线上拉、单线下拉或双线驱动,接收采用差分比较器;若所有节点的晶体管被关断,则总线处于隐性状态,此时总线的平均电压由具有高内阻的每个节点电压源产生;若成对晶体管至少有一对被接通,则显性位被送至总线,产生流过终端电阻的电流,使总线的两条线产生电压差。2. CAN总线的技术规范电气连接2. CAN总线的技术规范节点的电气参数与总线断开的节点在隐性状态下的DC参数:参数符号单位数值条件最小值典型值最大值总线输出电压VCANHV2.753.54.5负载60VCANLV0.51.52.25差分输出电压VdiffV1.52.03.0负载60差分输入电压VdiffV0.95.0负载60参数符号单位数
14、值条件最小值典型值最大值总线输出电压VCANHV2.02.53.0无负载VCANLV2.02.53.0总线差分输出电压VdiffmV-500050无负载内部差分电阻RdiffK10100无负载内部电阻Rink550差分输入电压VdiffV-1.03.0与总线断开的节点在显性状态下的DC参数:2. CAN总线的技术规范节点的电气参数总线在隐性状态下的参数:参数符号单位数值条件最小值典型值最大值总线共模电压VCANHV2.57.0VCANLV-2.02.5总线差分电压VdiffmV-120012总线在显性状态下的参数:参数符号单位数值条件最小值典型值最大值总线共模电压VCANHV3.57.0VCA
15、NLV-2.01.5总线差分电压VdiffmV-2.02.03.0参数符号单位数值条件最小值典型值最大值 特征阻抗Z 108120132单位长度电阻rm/m70传播时延ns/m5终端电阻RL118120130参数符号单位数值条件最小值典型值最大值总线长度Lm040位速率:1Mbps节点分支长度Lm00.3节点距离d m040双绞线(屏蔽或不屏蔽)电气参数总线拓朴结构参数2. CAN总线的技术规范节点的电气参数CAN总线上任意两个节点之间的最大传输距离与其位速率有关:位速率/(Kbit/s)1000500250125100502010 5最大距离/m40130270530620130033006
16、70010000这里的最大通信距离是指在同一条总线上两个节点之间的距离CAN总线系统任意两个节点之间的最大距离2. CAN总线的技术规范传输距离与传输速率几种总线可能的故障总线故障的影响总线故障描述网络状态规范性质一个节点从总线断开其余节点继续通信推荐性一个节点丢失电源其余节点以降低的信噪比继续通信推荐性一个节点丢失接地其余节点以降低的信噪比继续通信推荐性任何接地屏蔽连接损坏所有节点继续通信推荐性开路和短路故障1.CAN_L断开2.CAN_H断开3.CAN_L与电源电压端接4.CAN_H与地端接5.CAN_L与地端接6.CAN_H与电源电压端接7.CAN_L线与CAN_H线端接8.CAN_H和
17、.CAN_L在同一位置断开9.丢失一个终端网络所有节点以降低的信噪比继续通信推荐性在整个系统内停止工作可选性含有终端电阻的子系统内的节点继续通信可选性所有节点以降低的信噪比继续通信可选性发出报文的单元成为该报文的发送器。该单元在总线空闲或丢失仲裁前始终为发送器。如果一个单元不是报文发送器,并且总线不处于空闲状态,则该单元就是接收器。报文中的位流按照非归零码(NRZ)方法编码,即一个完整的位电平要么是显性,要么是隐性。报文传送由 4 种不同类型的帧表示和控制:数据帧、远程帧、出错帧和超载帧构成一帧的帧起始、仲裁场、控制场、数据场和CRC序列均借助位填充规则进行编码。当发送器在发送的位流中检测到5
18、位连续的相同数值时,将自动地在实际发送的位流中插入一个补码位。数据帧和远程帧的其余位场采用固定格式,不进行填充。出错帧和超载帧同样是固定格式,也不进行位填充。2. CAN总线的技术规范报文的传送及帧结构未填充位流 100000 xyz 011111xyz填充位流 1000001xyz 0111110 xyz 其中:xyz0,1CAN网的MAC层采用CSMA/CD的非破坏仲裁技术。总线上当显性位(0)与隐性位(1)进行线与时,隐性位被称为冲突,在竞争中退出。非破坏性优先权逐位仲裁规则:欲发帧的节点当总线在空闲时同时发送帧且同步于SOF的上升沿;各帧的标识字段在总线同时相遇,借助总线使标识字段逐位
19、“线与”,根据其结果进行冲突仲裁;如果发送节点没有监测到冲突,则继续发送下一位;若监测到冲突,则立即中断,不再继续后面位的传送;各标识字段逐位线与后,未监测到冲突的字节便获得优先发送权,可以发送数据帧后面的各字段;监测到冲突的节点,则不能发送后面的数据字段,而等待下一次发送。2. CAN总线的技术规范CSMA/CD非破坏仲裁ABCCANbus3. 报文传输和帧结构数据帧:携带数据由发送器至接收器;远程帧:通过总线单元发送,以请求发送具有相同标识符的数据帧;出错帧:由检测出总线错误的任何单元发送;超载帧:用于提供当前的和后续的数据帧的附加延迟。帧间空间:数据帧和远程帧通过帧间空间与当前帧分开。3
20、. 报文传输和帧结构数据帧数据帧:由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、 CRC场、应答场和帧结束。数据场长度可为0。起始标志目的地址数据长度数据n校验位结束标志3. 报文传输和帧结构数据帧帧起始:由一个显性位构成,只有在总线处于空闲状态时,才允许站开始发送。所有站都必须同步于首先开始发送的那个站的帧起始前沿。仲裁场:仲裁场由标识符和远程发送请求位组成。标准帧中仲裁场为12位,扩展帧中为32位。控制场:6位,由4位长度码和2个保留位(必须为显性)组成,表示数据码长度;数据场:由控制场确定字节数,可以为0-8个字节,每个字节8位,先发送最高有效位;CRC场:16位,包括CRC校
21、验位和1个CRC界定符(隐性位);应答场:2位,包括应答间隙和应答界定符,2个隐性位;帧结束:7个连续隐性位3. 报文传输和帧结构数据帧仲裁场(Arbitration Frame):由标识符和远程请求发送位(RTR)组成。显位显位注:ID10-ID4,高7位不能全为隐位ID10-ID011位标识符2048-16=2032为实际可用地址空间标准帧隐性位代表1,显性位代表0。在仲裁场的标识符中,若按0、1计算的数值越小,则优先级越高。因此,在整个网络中,每个节点的优先级都是不同的(因为每个节点的节点号不同)。按照以上原则,优先级高的帧会自动屏蔽掉优先级低的帧。3.报文传输和帧结构数据帧帧的优先级3
22、. 报文传输和帧结构数据帧控制场:数据字节数目数据长度码DLC3DLC2DLC1DLC00dddd1dddr2ddrd3ddrr4drdd5drdr6drrd7drrr8rdddd:显性R:隐性3. 报文传输和帧结构数据帧数据场:由数据帧中被发送的数据组成,它可包括08个字节,每个字节8位。首先发送的是最高有效位。CRC场:包括CRC序列,后随CRC界定符(隐位)。CRC序列CRC场CRC界定符ACK场1隐位1隐位7 隐位1位发送器(11) -接收(01)- 3. 报文传输和帧结构数据帧应答场(ACK)帧结束:每个数据帧由7个隐位组成的标志序列界定在应答场里,发送站发送两个“隐性”位,当接收器
23、正确地接收到有效的报文,接收器就会在应答间隙期间向发送器发送“显性”的位以示应答。ID28ID18ID28ID03. 报文传输和帧结构标准帧和扩展帧在CAN2.0B存在两种不同的帧格式,其主要区别在于标识符的长度,具有11位标识符的帧称为标准帧,而包括29位标识符的帧称为扩展帧。3. 报文传输和帧结构标准帧和扩展帧SOFSRR11位标识符IDEr0DLC数据长度码18位标识符RTRr1隐性位隐性位仲裁场控制场扩展帧SOFRTR11位标识符显性位IDE显性位r0DLC数据长度码数据码仲裁场控制场数据场标准帧显性位远程帧隐性位RTR:Remote Transmission RequestIDE:标
24、识符扩展位(Identifier Extension Bit)DLC:Data Length CodeSRR:替代远程请求位(Substitute Remote Request Bit)3. 报文传输和帧结构标准帧和扩展帧激活为数据接收器的站可以借助于传送一个远程帧初始化各自源节点数据的发送。远程帧由6个不同分位场组成: 帧起始、仲裁场、控制场、CRC场、应答场和帧结束帧间空间远程帧帧间空间帧起始仲裁场控制场CRC场ACK场帧结束或超载帧特点:1、不存在数据场2、仲裁场中RTR为隐位; 3、控制场中DLC对应数据场中的DLC3. 报文传输和帧结构远程帧出错帧由两个不同场组成,第一个由来自各帧的
25、错误标志叠加得到,后随的第二个场是出错界定符。数据帧出错帧错误标志错误标志叠加错误界定符帧间空间或超载帧 错误标志有两种形式: 活动错误标志:由6个连续的显位组成 认可错误标志:由6个连续的隐位组成,除非被来自其他节点的显位冲掉重写。 出错界定符包括8个隐位 错误标志发送后,每个站都送出隐位,并监视总线,直到检测到隐位。 此后开始发送剩余的7个隐位。3. 报文传输和帧结构出错帧超载帧包括两个位场:超载标志和超载界定符;导致发送超载标志的超载条件:要求延迟下一个数据帧或远程帧的接收器的内部条件;在间歇场检测到显位超载标志由6个显位组成,超载界定符由8个隐位组成。帧结束或超载帧超载标志超载标志叠加
26、超载界定符帧间空间或超载帧超载界定符错误界定符3. 报文传输和帧结构超载帧若存在连续6个显位,则说明是出错帧或超载帧,对于出错帧或超载帧的处理可以相同;否则,为数据帧或远程帧。若在仲裁场的RTR(SRR)位为显位,则为标准格式数据帧;若RTR(SRR)位为隐性,则可能是扩展格式或远程帧。再检查随后的IDE(r1)位,若为显性则为标准格式远程帧;若IDE(r1)位为隐性则为扩展格式帧,此时检查扩展格式的RTR位(即18位标识符后的RTR位),若为显性则为扩展格式的数据帧,否则为扩展格式的远程帧;3.报文传输和帧结构如何区别四种帧和标准/扩展帧SOFSRR11位标识符IDEr0DLC数据长度码18
27、位标识符RTRr1隐性位隐性位仲裁场控制场扩展帧SOFRTR11位标识符显性位IDE显性位r0DLC数据长度码数据码仲裁场控制场数据场标准帧显性位远程帧隐性位SOF:Start of FrameRTR:Remote Transmission RequestIDE:识别符扩展位(Identifier Extension Bit)DLC:Data Length Code帧结束帧间空间间歇场总线空闲帧数据帧和远程帧前面以帧间空间分开;超载帧和出错帧前面没有帧间空间;帧间空间包括间歇场和总线空闲场;间歇场由3个隐位组成,间歇期间不允许启动发送数据帧和远程帧,它仅起标注超载条件的作用;总线空闲场为任意长
28、度,此时总线开放,任何需要发送的站均可访问总线。3.报文传输和帧结构帧间空间在超载帧和出错帧前面没有帧间空间,并且多个超载帧前面也不被帧间空间分隔。3.报文传输和帧结构帧间空间前一报文的发送器作为出错认可节点时:填充错误:在应使用位填充方法进行编码的报文中,出现了第6个连续相同的位电平时,将检出一个位填充错误;4. CAN通信中的几个问题-5种错误类型位填充场合:数据帧和远程帧:SOF、仲裁场、控制场、数据场、 CRC序列位错误:向总线发送一位的单元同时也在监视总线,当发现总线上数值与送出的位不同时,则在该位时刻检测到一个位错误。例外:仲裁场的填充位流期间或应答间隙送出隐性位而检测到显性位;送
29、出认可错误标注的发送器在检测到显性位时。CRC错误:接收器计算结果与接收到的CRC 序列不相同,则检出一个CRC错误;形式错误:当固定形式的位场中出现一个或多个非法位时,则检出一个形式错误;应答错误:在应答间隙,发送器未检测到显位时,则由它检出一个应答错误。4. CAN通信中的几个问题- 5种错误类型应答场组成当检测到CRC错误时,出错标志在应答定界符后面那一位开始发送,除非其他出错条件的错误标志已经开始发送。4. CAN通信中的几个问题-出错帧的发送检测到出错条件的站通过发送错误标志进行标定。当任何站检出位错误、填充错误、形式错误、应答错误时,由该站在下一位开始送出错误标志。总线关闭:总线关
30、闭状态不允许单元对总线有任何影响(如输出驱动器关闭)。4. CAN通信中的几个问题-错误界定错误激活(error active):错误激活单元可以照常参与总线通信,并且当检测到错误时,送出一个活动错误标志。(连续显位)错误认可(error passive):不允许错误认可节点送出活动错误标志,它可参与总线通信,但当检测到错误时,只能送出认可错误标志。并且发送后仍被错误认可,直到下次发送初始比。 (连续隐位)4. CAN通信中的几个问题-错误界定为了界定故障,在每个总线单元中都设有两种计数:发送出错计数:送出出错标志加8,有例外-错误认可、位填充;发送成功减1直到0;达到128进错误认可、达到2
31、56进总线关闭;接收出错计数:接收出错加1(有例外);送出错误标志后仍检出显位加8;位错误加8;成功接收减1直到0;达到128进错误认可4. CAN通信中的几个问题-位定时与同步正常位速率:在非重同步情况下,借助理想发送器每秒发送的位数。正常位时间为正常位速率的倒数。正常位时间可分为几个互不重叠的时间段:同步段(SS)、传播段(PTS)、相位缓冲段1(PBS1)和相位缓冲段2(PBS2):采样点相位缓冲段1相位缓冲段2同步段传播段一位时间(设为10个时间份额)4. CAN通信中的几个问题-位定时与同步同步段:用于总线上各节点的同步,为此,段内需要一个跳变沿;传播段:指总线上用于传输的延迟时间。
32、它是信号在总线上的传输时间、输入比较器延迟和输出驱动器延迟之和的两倍;相位缓冲段1和相位缓冲段2:用于弥补跳变沿的相位误差造成的影响,通过重同步,这两个时间段可以被延长或缩短;采样点:是读取总线电平并理解该位数值的时刻;处理时间:是以采样点为起点的一个时间段,采样点后续的位电平用于理解该位数值;硬同步:位时间从同步段重新开始。因此,硬同步强迫由于硬同步引起的沿处于重新开始的位时间同步段之内;重同步跳转宽度:重新同步的结果使相应缓冲段1增长,或使相位缓冲段2缩短。相位缓冲段加长或缩短的数量由重新同步跳转宽度给定;同步规则:硬同步和重同步。硬同步在一帧开始时进行,重同步发生在位流传输期间。4. C
33、AN通信中的几个问题-位定时与同步同步段是CAN总线位时间中每一位的起始部分,不管是发送节点发送一位或接收节点接收一位都从同步段开始;由于发送节点和接收节点之间存在网络延迟及物理接口延迟,发送节点和接收节点对应同一位的同步段起始时刻都有一定得时延,为弥补这种时延给出了传播段。相位缓冲段1和相位缓冲段2用于弥补沿的相位误差,通过重同步调整采样点,得到正确的采样值。硬同步在一帧开始时进行。只在总线空闲或者帧间空间时,通过一个下降沿(总线电平从隐性位到显性位的跳变)来完成。此时,不管有没有相位误差,所有节点的位时间都重新开始。重同步发生在位流传送期间,节点根据沿相位误差的大小调整其内部的位时间,使节
34、点内部的位时间与报文位流的位时间接近或相等。重同步用来弥补沿相位误差,晶振频偏、节点延时、噪音干扰都可能引起相位误差,弥补的方法是延长相位缓冲段1或者缩短相位缓冲段2,调整采样点的位置,延长或缩短的长度由同步跳转宽度SJW确定。4. CAN通信中的几个问题-位定时与同步边沿的相位误差由相对于同步段跳变边沿的位置给出,以时间份额给出。边沿相位误差e与同步跳变沿的关系如下:e=0:同步跳变沿在同步段内;e0:同步跳变沿位于同步段之后,采样点前,即跳变沿迟到了。弥补的方法是延长相位缓冲段1;e0变化时,将返回操作模式;中断使能:接收中断使能(CR.1),发送中断使能(CR.2),错误中断使能(CR.
35、3),溢出中断使能(CR.4)通讯速率设置:总线时序寄存器(BTR0)和(BTR1);消息滤波:验收代码寄存器(ACR)和验收屏蔽寄存器(AMR)。接收标识符的ID10-ID3各位必须在对应AMR.7-AMR.0各位中不为1的位与ACR.7-ACR.0相应位相同;BasicCAN各寄存器主要功能说明5. CAN控制器-SJA1000命令寄存器(CMR):启动动作:发送请求、中止发送、释放接收缓冲器、清除数据溢出、睡眠等;状态寄存器(SR):反映SJA1000当前状态,包括:接收缓冲器状态、数据溢出、发送缓冲器状态、发送完成状态、接收状态、发送状态、出错状态、总线状态等;中断寄存器(IR):用于
36、中断源识别。当该寄存器中有被置1的位时,INT引脚被激活,在该寄存器被读过后自动清除。中断源包括:接收中断、发送中断、错误中断、数据溢出中断、唤醒中断。发送/接收数据标识码(ID0-ID10):ID10为最高位,最先被发送到总线上;远程发送请求位(RTR):为1:在总线上发送远程请求帧,帧中没有数据,但需要一个确切的数据长度码,说明要求回应的有相同标志码的数据帧的长度;数据长度码(DLC):长度值最大为8,超过8时默认为8;发送/接收数据域5. CAN控制器-SJA1000地址操作模式复位模式读写读写0模式(MOD)1(00H)命令(CMR)(00H)命令(CMR)2状态(SR)-3中断(IR
37、)-4中断使能5(00H)-(00H)-6总线时序0(BTR0)-总线时序0(BTR0)7总线时序1(BTR1)-总线时序1(BTR1)8输出控制-9测试10(00H)-(00H)-11仲裁丢失捕捉-12错误代码捕捉-13错误报警限额-14RX错误计数器-15TX错误计数器-PeliCAN地址分配表地址操作模式复位模式读写读写16RX帧报文SFFRX帧报文EFFTX帧报文SFFTX帧报文EFF验收代码0验收代码017RX标识码1RX标识码1TX标识码1TX标识码1验收代码1验收代码118RX标识码2RX标识码2TX标识码2TX标识码2验收代码2验收代码219RX数据1RX标识码3TX数据1TX
38、标识码3验收代码3验收代码320RX数据2RX标识码4TX数据2TX标识码4验收屏蔽0验收屏蔽021RX数据3RX数据1TX数据3RX数据1验收屏蔽1验收屏蔽122RX数据4RX数据2TX数据4RX数据2验收屏蔽2验收屏蔽223RX数据5RX数据3TX数据5RX数据3验收屏蔽3验收屏蔽324RX数据6RX数据4TX数据6RX数据4(00H)-25RX数据7RX数据5TX数据7RX数据5(00H)-26RX数据8RX数据6TX数据8RX数据6(00H)-27(FIFO RAM)RX数据7-RX数据7(00H)-28(FIFO RAM)RX数据8-RX数据8(00H)-29RX报文计数器-30RX
39、缓冲区起始地址-31时钟分配器时钟分配器32-95内部RAM地址0-63(FIFO)-内部RAM内部RAM96-108内部RAM地址64-76(TX缓冲区)-内部RAM内部RAM109-111内部RAM地址77-79(空闲)-内部RAM内部RAM112-127(00H)-(00H)-5. CAN控制器-SJA1000CAN模式选择:时钟分配器的位(CDR.7):在复位阶段,将该位设置为0系统工作在BasicCAN模式,设置成1工作在PeliCAN模式;模式寄存器(MOD):复位请求:模式寄存器的复位请求位(MOD.0),系统检测到MOD.0为1时将中止当前接收/发送的报文而进入复位模式,当MO
40、D.0位出现1-0变化时,将返回操作模式;只听模式、自检模式、验收滤波器模式、睡眠模式;通讯速率设置:总线时序寄存器(BTR0)和(BTR1);消息滤波:验收代码寄存器(ACR)和验收屏蔽寄存器(AMR);中断使能寄存器(IER):PeliCAN各寄存器主要功能说明5. CAN控制器-SJA1000命令寄存器(CMR) 状态寄存器(SR) 中断寄存器(IR)发送/接收数据标识码(ID0-ID10)远程发送请求位(RTR) 数据长度码(DLC) 发送/接收数据域。CAN地址内容16TX帧信息17TX标识码118TX标识码219TX数据字节120TX数据字节221TX数据字节322TX数据字节42
41、3TX数据字节524TX数据字节625TX数据字节726TX数据字节827未用28未用标准帧格式CAN地址内容16TX帧信息17TX标识码118TX标识码219TX标识码320TX标识码421TX数据字节122TX数据字节223TX数据字节324TX数据字节425TX数据字节526TX数据字节627TX数据字节728TX数据字节8扩展帧格式5. CAN控制器- SJA1000发送缓冲器5. CAN控制器- SJA1000发送缓冲器TX结构信息BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0FFRTRxxDLC.3DLC.2DLC.1DLC.0BIT7BIT6BIT5BIT4BI
42、T3BIT2BIT1BIT0ID.28ID.27ID.26ID.25ID.24ID.23ID.22ID.21BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0ID.20ID.19ID.18ID.17ID.16ID.15ID.14ID.13BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0ID.12ID.11ID.10ID.9ID.8ID.7ID.6ID.5BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0ID.4ID.3ID.2ID.1ID.0 xxxTX标志码1TX标志码2TX标志码3TX标志码40:标准帧1:扩展帧远程发送请求数据长度代码地址内容(
43、标准帧)内容(扩展帧)16RX帧信息RX帧信息17RX标识码1RX标识码118RX标识码2RX标识码219RX数据字节1RX标识码320RX数据字节2RX标识码421RX数据字节3RX数据字节122RX数据字节4RX数据字节223RX数据字节5RX数据字节324RX数据字节6RX数据字节425RX数据字节7RX数据字节526RX数据字节8RX数据字节627RX数据字节728RX数据字节85. CAN控制器- SJA1000接收缓冲器5. CAN控制器- SJA1000验收滤波器单过滤模式:双过滤模式:验收代码寄存器(ACR):接收报文的标识位与该寄存器相应位相同才允许通过;验收屏蔽寄存器(AM
44、R):该寄存器为1的位对应的验收代码寄存器位失效。是CAN总线实现点对点,一点对多点通信的重要寄存器。在验收滤波器的作用下,只有当接收报文中的标识位和验收滤波器预定义的值相等时,CAN控制器才允许将已接收到得报文存入RXFIFO过滤模式包括单过滤模式和双过滤模式5. CAN控制器- SJA1000验收滤波器BasicCAN模式下,验收代码位AC.7-AC.0和报文标识符的高8位(ID10-ID3)必须相等才允许接收,不相等位需由相应的验收屏蔽位为1来进行屏蔽。0111001000111000ACRAMRID01xxx010 xxxID10ID0ACR7ACR0ACRAMRFilter接收FIF
45、O数据标准帧标识符中的8位用于接收滤波接收滤波器11位标识符5. CAN控制器- SJA1000验收滤波器PeliCAN模式下,通过模式字MOD.3来确定选择单滤波模式(1)还是双滤波模式(0)。ACR076543210ACR176543210ACR276543210ACR376543210AMR076543210AMR076543210AMR076543210AMR076543210ID28ID21ID20ID19ID18RTRDB1.7DB1.0DB2.7DB2.0单滤波模式(4字节长滤波器)标准帧5. CAN控制器- SJA1000验收滤波器PeliCAN模式下,通过模式字MOD.3来确
46、定选择单滤波模式(1)还是双滤波模式(0)。ACR076543210ACR176543210ACR276543210ACR376543210AMR076543210AMR076543210AMR076543210AMR076543210ID28ID21ID20RTRID0ID13ID5ID4单滤波模式(4字节长滤波器) ID12扩展帧5. CAN控制器- SJA1000验收滤波器PeliCAN模式下,通过模式字MOD.3来确定选择单滤波模式(1)还是双滤波模式(0)。ACR076543210ACR176543210AMR076543210AMR076543210AMR276543210ID28
47、ID21ID20ID19ID18RTRDB1.7双滤波模式(2个2字节短滤波器)ACR276543210ACR37654AMR37654ACR33210AMR33210DB1.0两个滤波器至少有一个表示为“接受”标准帧5. CAN控制器- SJA1000验收滤波器PeliCAN模式下,通过模式字MOD.3来确定选择单滤波模式(1)还是双滤波模式(0)。ACR076543210ACR176543210AMR076543210AMR076543210AMR276543210ID28ID21ID20ID13双滤波模式(2个2字节短滤波器)ACR276543210ACR376543210AMR3765
48、43210两个滤波器至少有一个表示为“接受”扩展帧5. CAN控制器- SJA1000验收滤波器例:假设有下面2个标准帧标识符的报文在标识符不用进一步译码就被接收。数据和远程帧必须被正确接收。数据字节不要求验收滤波。 报文1: (ID.28) 1011 1100 101 (ID.18) 报文2: (ID.28) 1111 0100 101 (ID.18)0123ACRn1x11 x100101xxxxx xxxxxxxx xxxxAMRn0100 100000011111 11111111 1111接收的报文(ID.28-ID.18,RTR)1011 0100 101x1111 0100 10
49、1x1011 1100 101x1111 1100 101x滤波器1滤波器2013低4位23高4位ACRn1011 1100101x xxxxxxxx1111 0100101x AMRn0000 00000001 111111110000 00000001 接收的报文(ID.28-ID.18,RTR)1011 1100 101x1111 0100 101x单滤波模式双滤波模式5. CAN控制器- SJA1000波特率设置CAN总线上的传输波特率由总线时序寄存器0(BTR0)和总线时序寄存器1(BTR1)设置;BTR0定义了波特率预置器(BRP)和同步跳转宽度(SJW)值;CAN系统时钟 tSC
50、L = 2 * 晶振振荡周期tCLK *(32*BRP.5+16*BRP.4+8*BRP.3+4*BRP.2+2*BRP.1+BRP.0+1)预置器最大值=64BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SJW.1SJW.0BRP.5BRP.4BRP.3BRP.2BRP.1BRP.0为补偿在不同总线控制器的时钟振荡器之间的相位漂移,任何总线控制器必须在当前传送的任一相关信号边沿重新同步。同步跳转宽度tsjw定义了一个位周期可以被一次重新同步缩短或延长的时钟周期的最大数目。1/(位周期+Tsjw)=CAN实际波特率周期=1/(位周期-Tsjw)tsjw=tscl*(2*SJW
51、.1+SJW.0+1)5. CAN控制器- SJA1000波特率设置BTR1定义了一个位周期的长度、采样点的位置和在每个采样点的采样数目(SAM);BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SAMTSEG2.2TSEG2.1TSEG2.0TESG1.3TSEG1.2TSEG1.1TSEG1.0CAN位时钟周期数 = 同步时间段+时间段1+时间段2 = 1+(8*TSEG1.3+4*TSEG1.2+2*TSEG1.1+TSEG1.0+1) +(4*TSEG2.2+2*TSEG2.1+TSEG2.0+1)最大值=25采样位SAM:1: 3次采样,建议在低/中速总线上使用;0:
52、 单次采样,建议在高速(100K以上)总线中使用。5. CAN控制器- SJA1000波特率设置采样点XTAL预计的位时间tTSEG1tTSEG2同步段同步段波特率预制值(BRP)tCLKtSCLCAN设晶振频率为16M,则:根据上图计算得传输速率为:1/2*(1/16M)*(1+1) * (1+(5+1)+(2+1) = 1/ 2*(1/16M)*2*10 = 400KBRP=000001; TSEG1=0101; TSEG2=0105. CAN控制器- SJA1000波特率设置例:设晶振频率为16M,BTR0和BTR1寄存器的设置如下,计算该设置的通信速率。BTR0=0 x03,BTR1=
53、0 x1CBIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SJW.1SJW.0BRP.5BRP.4BRP.3BRP.2BRP.1BRP.0BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SAMTSEG2.2TSEG2.1TSEG2.0TESG1.3TSEG1.2TSEG1.1TSEG1.0BTR0BRP0 x03 = CAN系统时钟 tSCL= 2*(1/16M)*(2+1+1)=1/2M;TSEG1=0 x0c,TSEG2=0 x01 = CAN位时钟周期数 = 同步时间段+时间段1+时间段2 = 1+(8*1+4*1+2*0+0+1) +(4*0+2*0+1
54、+1) = 16= 通信位速率=1/(tSCL*CAN位时钟周期数)=1/(1/2M * 16)=2M/16=125KbpsBTR15. CAN总线收发器 是协议控制器和物理传输线路之间的接口。为CAN控制器提供差动发送和接收数据;CAN收发器PCA82C250TJA1050 PCA82C250是CAN协议控制器和物理总线的接口。此器件对总线提供差动发送能力,对CAN控制器提供差动接收能力。又称为总线驱动器。符合ISO11898标准,最高速率1Mbps;抗汽车环境瞬间干扰,具有保护总线能力;斜率控制,降低射频干扰RFI;热保护以及电源和地短路保护;低电流待机模式;未上电的节点对总线无影响;可连
55、接110个节点;工作温度-40+125。5. CAN收发器-PCA82C250内部具有限流电路,可防止发送输出级对电源、地或负载短路。虽然短路出现时功耗增加但不至于损坏器件。若结温超过160,则两个输出端电流限将减小,从而限制了芯片温升。器件的所有其他部分将继续工作。双线差分驱动有助于抑制汽车等恶劣电器环境下的瞬变干扰。5. CAN收发器-PCA82C250功能完成CAN协议电平转换;完成数据收发;起到保护和抗干扰作用。引脚信号TXD:发送数据输入RXD:接收数据输出CANL:低电平CAN总线CANH:高电平CAN总线Vref:参考电压输出RS:模式选择,0:高速模式;1:静音模式,只收不发;
56、R:斜率控制5. CAN收发器-PCA82C250PCA82C250收发器的典型应用如图。SJA1000的RX和TX分别通过光电隔离电路连接到82C250,82C250的差动收发端CANH和CANL连接到总线电缆。输入RS用于模式控制。Vref输出电压是0.5Vcc,(Vcc=5V)。5. CAN收发器-PCA82C250CAN总线建立通信的步骤系统上电后的主要任务设定主控制器连接到SJAl000的硬件和软件关系;设定用于通信的CAN各个控制器,例如关于模式、验收滤波器和位时序等方面数值。在应用的主过程中的主要任务准备要发送的信息,并激活SJAl000以发送它们;处理被CAN控制器所接收的报文
57、信息;处理通信期间发生的错误。6. CAN通信的控制与应用CAN通信控制验收滤波器与信息识别节点之间报文信息帧:数据帧和远程帧,由RTR位区分。通过验收滤波器识别信息帧的目标地址。各节点ID码保存在接收代码寄存器(ACR)中,屏蔽位保存在接收屏蔽寄存器(AMR)中。6. CAN通信的控制与应用CAN通信控制例1:某节点的验收代码寄存器(ACR)和验收屏蔽寄存器(AMR)如下:例2:对于有81H,82H,83H,84H,85H,86H节点的网络,若主机想同时对81H,82H,83H发送信息,则信息帧的标识符ID高8位可写为:87H或07H,各节点由AMR进行过滤。优点:容易实现单点对其他点任意组
58、合的信息发送;各节点具有不同的优先级,保证关键节点不被阻塞;每个节点都能使用两种地址编码,且优先级不同,保证关键指令首先被接收6. CAN通信的控制与应用CAN通信控制6. CAN通信的控制与应用SJA1000器件由初始化程序、发送程序、接收程序三部分组成。初始化程序主要是对CAN控制器控制段中寄存器写入控制字,从而确定CAN控制器的工作方式。相关寄存器包括:模式寄存器、时钟分频寄存器、验收代码和验收屏蔽寄存器、总线定时寄存器、输出控制寄存器。三种情形进入初始化程序:上电复位、硬件复位、软件复位数据发送程序只需将被发送的信息帧传送到CAN的发送缓冲区,然后将命令寄存器里的发送请求标志置位(即启
59、动发送命令)即可;发送可采用中断请求或查询状态标志两种控制方式6. CAN通信的控制与应用通信软件数据接收程序 信息从CAN总线到CAN接收缓冲区是由CAN控制器根据CAN协议规约自动独立完成的。验收滤波正确后,收到的信息自动放到接收缓冲器内。由主控制器进行读操作,将这条信息发送到本地的信息存储器,然后释放接收缓冲器并对信息进行操作。6. CAN通信的控制与应用通信软件6. 基于RS232协议的CAN总线网络7. CAN高层协议TTCAN CANopenDeviceNet7. CAN高层协议-TTCAN消息的传输机制事件触发机制 指消息的交换是由外部事件的发生引起的,该方式可以较灵活的分配资源
60、,但当多个事件同时发生时,会造成多个节点访问总线的冲突;时间触发机制 指消息的交换以时间为基准,网络中个节点发送消息的时刻都是预先分配好的,主要适用于周期性的消息。CAN总线本质上属于事件触发机制。ISO11898-4在CAN协议栈中物理层和数据链路层之上增加了一个会话层,将CAN扩展为基于时间触发机制的TTCAN (time-triggered CAN)。矩阵周期构成TT-CAN的一个通讯单元。7. CAN高层协议TTCAN消息交换调度表参考报文报文1报文2仲裁窗口备用窗口报文3参考报文报文1报文4报文5报文3参考报文报文1报文7仲裁窗口仲裁窗口报文3参考消息报文4备用窗口报文3报文6报文1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源汽车市场需求预测试题及答案
- 深入探讨土木工程信息系统的考试题目及答案
- 心理测量考试题及答案
- 智能物流机器人与无人机协同配送可行性研究报告
- 人工智能在影像诊断质量控制中的应用研究分析报告
- 2025公务员考试题目及答案
- 2025飞行员面试题库及答案
- 肿瘤精准医疗在淋巴瘤放疗计划优化中的应用现状与未来展望报告
- 托幼培训考试题及答案
- 渭水钓鱼考试试题及答案
- 财务管理实务(浙江广厦建设职业技术大学)知到智慧树章节答案
- 部编版历史九年级上册第1课-古代埃及【课件】d
- 外包加工安全协议书
- GB/T 28589-2024地理信息定位服务
- 数据库原理及应用教程(第5版) (微课版)课件 第4章 关系型数据库理论
- 人工智能训练师理论知识考核要素细目表五级
- 2024年贵州省中考理科综合试卷(含答案)
- 110kV变电站专项电气试验及调试方案
- DL-T901-2017火力发电厂烟囱(烟道)防腐蚀材料
- GB/T 3428-2024架空导线用镀锌钢线
- MOOC 英语语法与写作-暨南大学 中国大学慕课答案
评论
0/150
提交评论