现场总线-第3讲 can现场总线2012_第1页
现场总线-第3讲 can现场总线2012_第2页
现场总线-第3讲 can现场总线2012_第3页
现场总线-第3讲 can现场总线2012_第4页
现场总线-第3讲 can现场总线2012_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

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

文档简介

第三讲 CAN现场总线(Controller Area Network),1、综述2、技术规范3、报文传输和帧结构4、CAN通信中的几个问题5、典型CAN总线器件及应用6、CAN通信的控制与应用7、CAN应用层协议8、CAN总线在汽车领域的应用,CAN现场总线,1 综述应用领域及实例,实例,1. 综述应用领域及实例,低成本 极高的总线利用率 很远的数据传输距离(长达10Km) 高速的数据传输速率(高达1Mbit/s) 可根据报文的ID决定接收或屏蔽该报文 可靠的错误处理和检错机制 发送的信息遭到破坏后,可自动重发 节点在错误严重的情况下具有自动退出总线的功能 报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息,广泛应用的技术原因,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,Volkswagen,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 higher-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 Conference(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. 综述发展历史,多主工作方式,任一节点均可在任意时刻主动的向网络上其他节点发送信息;节点信息分成不同的优先级,可满足不同实时性要求,高优先级的数据最快可在134us内得到传输;采用非破坏性的总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送;只需通过报文滤波即可实现点对点、点对多点及广播等传输方式,无需专门的“调度”;节点数主要取决于总线驱动电路,目前可达110个;,1. 综述CAN总线性能特点,采用短帧结构,传输时间短,受干扰概率低,具有极好的验错效果;每帧信息都有CRC校验及其他检错措施,保证了数据出错率极低。直接通信距离最远可达10km/5kbps,通信速率最高可达1Mbps/40m报文标识符可达2032种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限制。CAN 的通信介质:双绞线、同轴电缆、光纤。CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。,1. 综述CAN总线性能特点,报文:当总线开放时,任何连接的单元均可开始发送一个新报文。信息路由:在CAN系统中,一个CAN节点不使用有关系统结构的任何信息(如站地址)。位速率: CAN的数据传输率在不同的系统中是不同的,而在一个给定的系统中,此速度是唯一和固定的。远程数据请求:通过发送一个远程帧,需要数据的节点可以请求另一个节点发送个相应的数据帧。多主站:当总线开放时,任何单元均可开始发送报文,而发送具有最高优先权报文的单元,赢得总线访问。,2. CAN总线的技术规范基本概念,仲裁:当总线开放时,任何单元均可开始发送报文,若同时有两个或更多的单元开始发送,总线访问冲突运用逐位仲裁规则,借助标识符ID解决。安全性:为获得尽可能高的数据传送安全性,在每个CAN节点中均设有错误检测、标定和自检的强有力措施。出错标注和恢复时间:已损报文由检出错误的任何节点进行标注。这样的报文将失效,并自动进行重发送。故障界定:CAN节点有能力识别永久性故障和短暂扰动,可自动关闭故障节点。,2. CAN总线的技术规范基本概念,检错措施:发送自检、循环冗余校验、位填充和报文格式检查。,如果不存在新的错误,自检出错误至下一个报文开始发送的恢复时间最多为29个位时间。,总线数值表示: 总线上具有两种互补逻辑数值:显性电平或隐性电平。在显位与隐位同时发送期间,总线上数值将是显位。应答: 所有接收器均对接收报文的相容性进行检查,回答一个相容报文,并标注一个不相容报文。数据相容性:在CAN网络内,可以确保报文同时被所有节点或者没有节点接收。因此,系统的数据相容性是借助于成组和出错处理达到的。,2. CAN总线的技术规范基本概念,例:在总线的“线与”操作情况下,显位由逻辑“0”表示,隐位由逻辑“1”表示。,包括A和B两部分,其中2.0A给出了CAN报文标准格式,2.0B给出了标准的和扩展的两种格式。只采用ISO/OSI模型的物理层和数据链路层。,2. CAN总线的技术规范,2. CAN总线的技术规范分层结构,由CAN控制器实现;采用CSMA/CD方式非破坏性总线仲裁技术;节点信息有高低优先级之分以满足不同的实 时需要;可实现点对点、一点对多点以及全局广播等;采用短帧结构,每帧有效字节数为0-8个;CRC校验域等检查措施保证了极低的出错率;节点在严重错误时具有自动关闭总线的功能。,可采用共地的单线制、双线制、同轴电缆、 双绞线、光缆等。节点数理论上不受限制,取决于物理层的承 受能力,实际可达110个。当总线长40米时,最大通信速率为1Mbps, 当通信速率为5kbps时,距离可达10km。,CAN2.0A,目标层,传送层,数据链路子层接收滤波超载通知恢复管理媒体访问控制子层数据封装/拆装帧编码(填充/去填充)媒体访问管理错误监测出错标定应答串行化/解除串行化物理层位编码/解码位定时同步(驱动器/接收器特性),2. CAN总线的技术规范分层结构,总线上具有两种互补逻辑数值:显性电平或隐性电平。在显位与隐位同时发送期间,总线上数值将是显位。在隐性状态下,Vcan-h和Vcan-l被固定在平均电压电平,Vdiff近似为零。显性状态以大于最小阈值的差分电压表示。,2. CAN总线的技术规范逻辑状态,例:在总线的“线与”操作情况下,显位由逻辑“0”表示,隐位由逻辑“1”表示。,当总线电压差小于0.5V时,接收为隐位,隐位电压差的正常值为0V; 当电压差大于0.9V时,为显位,显位电压差的正常值为2.0V,合格的显位电压差的最小值为1.2V; 0.50.9V为变化的过渡区; 共模电压为-2+7 V。,总线末端均接有以RL表示的抑制反射的终端负载电阻,其阻值大约在120欧左右;总线驱动可采用单线上拉、单线下拉或双线驱动,接收采用差分比较器;若所有节点的晶体管被关断,则总线处于隐性状态,此时总线的平均电压由具有高内阻的每个节点电压源产生;若成对晶体管至少有一对被接通,则显性位被送至总线,产生流过终端电阻的电流,使总线的两条线产生电压差。,2. CAN总线的技术规范电气连接,2. CAN总线的技术规范节点的电气参数,与总线断开的节点在隐性状态下的DC参数:,与总线断开的节点在显性状态下的DC参数:,2. CAN总线的技术规范节点的电气参数,总线在隐性状态下的参数:,总线在显性状态下的参数:,双绞线(屏蔽或不屏蔽)电气参数,总线拓朴结构参数,2. CAN总线的技术规范节点的电气参数,CAN总线上任意两个节点之间的最大传输距离与其位速率有关:,这里的最大通信距离是指在同一条总线上两个节点之间的距离,CAN总线系统任意两个节点之间的最大距离,2. CAN总线的技术规范传输距离与传输速率,几种总线可能的故障,总线故障的影响,发出报文的单元成为该报文的发送器。该单元在总线空闲或丢失仲裁前始终为发送器。如果一个单元不是报文发送器,并且总线不处于空闲状态,则该单元就是接收器。报文中的位流按照非归零码(NRZ)方法编码,即一个完整的位电平要么是显性,要么是隐性。报文传送由 4 种不同类型的帧表示和控制:数据帧、远程帧、出错帧和超载帧构成一帧的帧起始、仲裁场、控制场、数据场和CRC序列均借助位填充规则进行编码。当发送器在发送的位流中检测到5位连续的相同数值时,将自动地在实际发送的位流中插入一个补码位。数据帧和远程帧的其余位场采用固定格式,不进行填充。出错帧和超载帧同样是固定格式,也不进行位填充。,2. CAN总线的技术规范报文的传送及帧结构,未填充位流 100000xyz 011111xyz填充位流 1000001xyz 0111110xyz 其中:xyz0,1,CAN网的MAC层采用CSMA/CD的非破坏仲裁技术。总线上当显性位(0)与隐性位(1)进行线与时,隐性位被称为冲突,在竞争中退出。非破坏性优先权逐位仲裁规则:欲发帧的节点当总线在空闲时同时发送帧且同步于SOF的上升沿;各帧的标识字段在总线同时相遇,借助总线使标识字段逐位“线与”,根据其结果进行冲突仲裁;如果发送节点没有监测到冲突,则继续发送下一位;若监测到冲突,则立即中断,不再继续后面位的传送;各标识字段逐位线与后,未监测到冲突的字节便获得优先发送权,可以发送数据帧后面的各字段;监测到冲突的节点,则不能发送后面的数据字段,而等待下一次发送。,2. CAN总线的技术规范CSMA/CD非破坏仲裁,3. 报文传输和帧结构,数据帧:携带数据由发送器至接收器;远程帧:通过总线单元发送,以请求发送具有相同标识符的数据帧;出错帧:由检测出总线错误的任何单元发送;超载帧:用于提供当前的和后续的数据帧的附加延迟。帧间空间:数据帧和远程帧通过帧间空间与当前帧分开。,3. 报文传输和帧结构数据帧,数据帧:由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、 CRC场、应答场和帧结束。数据场长度可为0。,起始标志,目的地址,数据长度,数据n,校验位,结束标志,3. 报文传输和帧结构数据帧,帧起始:由一个显性位构成,只有在总线处于空闲状态时,才允许站开始发送。所有站都必须同步于首先开始发送的那个站的帧起始前沿。仲裁场:仲裁场由标识符和远程发送请求位组成。标准帧中仲裁场为12位,扩展帧中为32位。控制场:6位,由4位长度码和2个保留位(必须为显性)组成,表示数据码长度;数据场:由控制场确定字节数,可以为0-8个字节,每个字节8位,先发送最高有效位;CRC场:16位,包括CRC校验位和1个CRC界定符(隐性位);应答场:2位,包括应答间隙和应答界定符,2个隐性位;帧结束:7个连续隐性位,3. 报文传输和帧结构数据帧,仲裁场(Arbitration Frame):由标识符和远程请求发送位(RTR)组成。,2048-16=2032为实际可用地址空间,标准帧,隐性位代表1,显性位代表0。在仲裁场的标识符中,若按0、1计算的数值越小,则优先级越高。因此,在整个网络中,每个节点的优先级都是不同的(因为每个节点的节点号不同)。按照以上原则,优先级高的帧会自动屏蔽掉优先级低的帧。,3.报文传输和帧结构数据帧,帧的优先级,3. 报文传输和帧结构数据帧,控制场:,d:显性R:隐性,3. 报文传输和帧结构数据帧,数据场:由数据帧中被发送的数据组成,它可包括08个字节,每个字节8位。首先发送的是最高有效位。CRC场:包括CRC序列,后随CRC界定符(隐位)。,被除数多项式包括:帧起始、仲裁场、控制场、数据场,无填充位。,除数多项式:,发送器(11) -接收(01)-,3. 报文传输和帧结构数据帧,应答场(ACK),帧结束:每个数据帧由7个隐位组成的标志序列界定,在应答场里,发送站发送两个“隐性”位,当接收器正确地接收到有效的报文,接收器就会在应答间隙期间向发送器发送“显性”的位以示应答。,ID28ID18,ID28ID0,3. 报文传输和帧结构标准帧和扩展帧,在CAN2.0B存在两种不同的帧格式,其主要区别在于标识符的长度,具有11位标识符的帧称为标准帧,而包括29位标识符的帧称为扩展帧。,3. 报文传输和帧结构标准帧和扩展帧,SOF,SRR,11位标识符,IDE,r0,DLC数据长度码,18位标识符,RTR,r1,隐性位,隐性位,仲裁场,控制场,扩展帧,SOF,RTR,11位标识符,显性位,IDE,显性位,r0,DLC数据长度码,数据码,仲裁场,控制场,数据场,标准帧,显性位,远程帧,隐性位,RTR:Remote Transmission RequestIDE:标识符扩展位(Identifier Extension Bit)DLC:Data Length CodeSRR:替代远程请求位(Substitute Remote Request Bit),3. 报文传输和帧结构标准帧和扩展帧,激活为数据接收器的站可以借助于传送一个远程帧初始化各自源节点数据的发送。远程帧由6个不同分位场组成: 帧起始、仲裁场、控制场、CRC场、应答场和帧结束,特点:1、不存在数据场2、仲裁场中RTR为隐位; 3、控制场中DLC对应数据场中的DLC,3. 报文传输和帧结构远程帧,出错帧由两个不同场组成,第一个由来自各帧的错误标志叠加得到,后随的第二个场是出错界定符。,错误标志有两种形式: 活动错误标志:由6个连续的显位组成 认可错误标志:由6个连续的隐位组成,除非被来自其他节点的显位冲掉重写。 出错界定符包括8个隐位 错误标志发送后,每个站都送出隐位,并监视总线,直到检测到隐位。 此后开始发送剩余的7个隐位。,3. 报文传输和帧结构出错帧,超载帧包括两个位场:超载标志和超载界定符;导致发送超载标志的超载条件:要求延迟下一个数据帧或远程帧的接收器的内部条件;在间歇场检测到显位超载标志由6个显位组成,超载界定符由8个隐位组成。,3. 报文传输和帧结构超载帧,若存在连续6个显位,则说明是出错帧或超载帧,对于出错帧或超载帧的处理可以相同;否则,为数据帧或远程帧。若在仲裁场的RTR(SRR)位为显位,则为标准格式数据帧;若RTR(SRR)位为隐性,则可能是扩展格式或远程帧。再检查随后的IDE(r1)位,若为显性则为标准格式远程帧;若IDE(r1)位为隐性则为扩展格式帧,此时检查扩展格式的RTR位(即18位标识符后的RTR位),若为显性则为扩展格式的数据帧,否则为扩展格式的远程帧;,3.报文传输和帧结构如何区别四种帧和标准/扩展帧,远程帧,隐性位,SOF:Start of FrameRTR:Remote Transmission RequestIDE:识别符扩展位(Identifier Extension Bit)DLC:Data Length Code,数据帧和远程帧前面以帧间空间分开;超载帧和出错帧前面没有帧间空间;帧间空间包括间歇场和总线空闲场;间歇场由3个隐位组成,间歇期间不允许启动发送数据帧和远程帧,它仅起标注超载条件的作用;总线空闲场为任意长度,此时总线开放,任何需要发送的站均可访问总线。,3.报文传输和帧结构帧间空间,在超载帧和出错帧前面没有帧间空间,并且多个超载帧前面也不被帧间空间分隔。,3.报文传输和帧结构帧间空间,前一报文的发送器作为出错认可节点时:,填充错误:在应使用位填充方法进行编码的报文中,出现了第6个连续相同的位电平时,将检出一个位填充错误;,4. CAN通信中的几个问题-5种错误类型,位填充场合:数据帧和远程帧:SOF、仲裁场、控制场、数据场、 CRC序列,位错误:向总线发送一位的单元同时也在监视总线,当发现总线上数值与送出的位不同时,则在该位时刻检测到一个位错误。,例外:仲裁场的填充位流期间或应答间隙送出隐性位而检测到显性位;送出认可错误标注的发送器在检测到显性位时。,CRC错误:接收器计算结果与接收到的CRC 序列不相同,则检出一个CRC错误;形式错误:当固定形式的位场中出现一个或多个非法位时,则检出一个形式错误;应答错误:在应答间隙,发送器未检测到显位时,则由它检出一个应答错误。,4. CAN通信中的几个问题- 5种错误类型,当检测到CRC错误时,出错标志在应答定界符后面那一位开始发送,除非其他出错条件的错误标志已经开始发送。,4. CAN通信中的几个问题-出错帧的发送,检测到出错条件的站通过发送错误标志进行标定。,当任何站检出位错误、填充错误、形式错误、应答错误时,由该站在下一位开始送出错误标志。,4. CAN通信中的几个问题-位定时与同步,正常位速率:在非重同步情况下,借助理想发送器每秒发送的位数。正常位时间为正常位速率的倒数。正常位时间可分为几个互不重叠的时间段:同步段(SS)、传播段(PTS)、相位缓冲段1(PBS1)和相位缓冲段2(PBS2):,4. CAN通信中的几个问题-位定时与同步,同步段:用于总线上各节点的同步,为此,段内需要一个跳变沿;传播段:指总线上用于传输的延迟时间。它是信号在总线上的传输时间、输入比较器延迟和输出驱动器延迟之和的两倍;相位缓冲段1和相位缓冲段2:用于弥补跳变沿的相位误差造成的影响,通过重同步,这两个时间段可以被延长或缩短;采样点:是读取总线电平并理解该位数值的时刻;处理时间:是以采样点为起点的一个时间段,采样点后续的位电平用于理解该位数值;硬同步:位时间从同步段重新开始。因此,硬同步强迫由于硬同步引起的沿处于重新开始的位时间同步段之内;重同步跳转宽度:重新同步的结果使相应缓冲段1增长,或使相位缓冲段2缩短。相位缓冲段加长或缩短的数量由重新同步跳转宽度给定;同步规则:硬同步和重同步。硬同步在一帧开始时进行,重同步发生在位流传输期间。,4. CAN通信中的几个问题-位定时与同步,同步段是CAN总线位时间中每一位的起始部分,不管是发送节点发送一位或接收节点接收一位都从同步段开始;由于发送节点和接收节点之间存在网络延迟及物理接口延迟,发送节点和接收节点对应同一位的同步段起始时刻都有一定的时延,为弥补这种时延给出了传播段。相位缓冲段1和相位缓冲段2用于弥补沿的相位误差,通过重同步调整采样点,得到正确的采样值。硬同步在一帧开始时进行。只在总线空闲或者帧间空间时,通过一个下降沿(总线电平从隐性位到显性位的跳变)来完成。此时,不管有没有相位误差,所有节点的位时间都重新开始。重同步发生在位流传送期间,节点根据沿相位误差的大小调整其内部的位时间,使节点内部的位时间与报文位流的位时间接近或相等。重同步用来弥补沿相位误差,晶振频偏、节点延时、噪音干扰都可能引起相位误差,弥补的方法是延长相位缓冲段1或者缩短相位缓冲段2,调整采样点的位置,延长或缩短的长度由同步跳转宽度SJW确定。,4. CAN通信中的几个问题-位定时与同步,边沿的相位误差由相对于同步段跳变边沿的位置给出,以时间份额给出。边沿相位误差e与同步跳变沿的关系如下:e=0:同步跳变沿在同步段内;e0:同步跳变沿位于同步段之后,采样点前,即跳变沿迟到了。弥补的方法是延长相位缓冲段1;e0变化时,将返回操作模式;中断使能:接收中断使能(CR.1),发送中断使能(CR.2),错误中断使能(CR.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):用于中断源识别。当该寄存器中有被置1的位时,INT引脚被激活,在该寄存器被读过后自动清除。中断源包括:接收中断、发送中断、错误中断、数据溢出中断、唤醒中断。发送/接收数据标识码(ID0-ID10):ID10为最高位,最先被发送到总线上;远程发送请求位(RTR):为1:在总线上发送远程请求帧,帧中没有数据,但需要一个确切的数据长度码,说明要求回应的有相同标志码的数据帧的长度;数据长度码(DLC):长度值最大为8,超过8时默认为8;发送/接收数据域,5. CAN控制器-SJA1000,PeliCAN地址分配表,5. CAN控制器-SJA1000,CAN模式选择:时钟分配器的位(CDR.7):在复位阶段,将该位设置为0系统工作在BasicCAN模式,设置成1工作在PeliCAN模式;模式寄存器(MOD):复位请求:模式寄存器的复位请求位(MOD.0),系统检测到MOD.0为1时将中止当前接收/发送的报文而进入复位模式,当MOD.0位出现1-0变化时,将返回操作模式;只听模式、自检模式、验收滤波器模式、睡眠模式;通讯速率设置:总线时序寄存器(BTR0)和(BTR1);消息滤波:验收代码寄存器(ACR)和验收屏蔽寄存器(AMR);中断使能寄存器(IER):,PeliCAN各寄存器主要功能说明,5. CAN控制器-SJA1000,命令寄存器(CMR) 状态寄存器(SR) 中断寄存器(IR)发送/接收数据标识码(ID0-ID10)远程发送请求位(RTR) 数据长度码(DLC) 发送/接收数据域。,标准帧格式,扩展帧格式,5. CAN控制器- SJA1000发送缓冲器,5. CAN控制器- SJA1000发送缓冲器,TX结构信息,TX标志码1,TX标志码2,TX标志码3,TX标志码4,0:标准帧1:扩展帧,远程发送请求,数据长度代码,5. CAN控制器- SJA1000接收缓冲器,5. CAN控制器- SJA1000验收滤波器,单过滤模式:双过滤模式:,验收代码寄存器(ACR):接收报文的标识位与该寄存器相应位相同才允许通过;验收屏蔽寄存器(AMR):该寄存器为1的位对应的验收代码寄存器位失效。,是CAN总线实现点对点,一点对多点通信的重要寄存器。在验收滤波器的作用下,只有当接收报文中的标识位和验收滤波器预定义的值相等时,CAN控制器才允许将已接收到得报文存入RXFIFO,过滤模式包括单过滤模式和双过滤模式,5. CAN控制器- SJA1000验收滤波器,BasicCAN模式下,验收代码位AC.7-AC.0和报文标识符的高8位(ID10-ID3)必须相等才允许接收,不相等位需由相应的验收屏蔽位为1来进行屏蔽。,ACR,AMR,ID,ID10,ID0,ACR7,ACR0,5. CAN控制器- SJA1000验收滤波器,PeliCAN模式下,通过模式字MOD.3来确定选择单滤波模式(1)还是双滤波模式(0)。,ID28,ID21,ID20,ID19,ID18,RTR,DB1.7,DB1.0,DB2.7,DB2.0,单滤波模式(4字节长滤波器),标准帧,5. CAN控制器- SJA1000验收滤波器,PeliCAN模式下,通过模式字MOD.3来确定选择单滤波模式(1)还是双滤波模式(0)。,ID28,ID21,ID20,RTR,ID0,ID13,ID5,ID4,单滤波模式(4字节长滤波器),ID12,扩展帧,5. CAN控制器- SJA1000验收滤波器,PeliCAN模式下,通过模式字MOD.3来确定选择单滤波模式(1)还是双滤波模式(0)。,ID28,ID21,ID20,ID19,ID18,RTR,DB1.7,双滤波模式(2个2字节短滤波器),DB1.0,两个滤波器至少有一个表示为“接受”,标准帧,5. CAN控制器- SJA1000验收滤波器,PeliCAN模式下,通过模式字MOD.3来确定选择单滤波模式(1)还是双滤波模式(0)。,ID28,ID21,ID20,ID13,双滤波模式(2个2字节短滤波器),两个滤波器至少有一个表示为“接受”,扩展帧,5. CAN控制器- SJA1000验收滤波器,例:假设有下面2个标准帧标识符的报文在标识符不用进一步译码就被接收。数据和远程帧必须被正确接收。数据字节不要求验收滤波。 报文1: (ID.28) 1011 1100 101 (ID.18) 报文2: (ID.28) 1111 0100 101 (ID.18),单滤波模式,双滤波模式,5. CAN控制器- SJA1000波特率设置,CAN总线上的传输波特率由总线时序寄存器0(BTR0)和总线时序寄存器1(BTR1)设置;BTR0定义了波特率预置器(BRP)和同步跳转宽度(SJW)值;,CAN系统时钟 tSCL = 2 * 晶振振荡周期tCLK *(32*BRP.5+16*BRP.4+8*BRP.3+4*BRP.2+2*BRP.1+BRP.0+1)预置器最大值=64,为补偿在不同总线控制器的时钟振荡器之间的相位漂移,任何总线控制器必须在当前传送的任一相关信号边沿重新同步。同步跳转宽度tsjw定义了一个位周期可以被一次重新同步缩短或延长的时钟周期的最大数目。,1/(位周期+Tsjw)=CAN实际波特率周期=1/(位周期-Tsjw),tsjw=tscl*(2*SJW.1+SJW.0+1),5. CAN控制器- SJA1000波特率设置,BTR1定义了一个位周期的长度、采样点的位置和在每个采样点的采样数目(SAM);,CAN位时钟周期数 = 同步时间段+时间段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: 单次采样,建议在高速(100K以上)总线中使用。,5. CAN控制器- SJA1000波特率设置,采样点,设晶振频率为16M,则:根据上图计算得传输速率为:1/2*(1/16M)*(1+1) * (1+(5+1)+(2+1) = 1/ 2*(1/16M)*2*10 = 400KBRP=000001; TSEG1=0101; TSEG2=010,5. CAN控制器- SJA1000波特率设置,例:设晶振频率为16M,BTR0和BTR1寄存器的设置如下,计算该设置的通信速率。BTR0=0x03,BTR1=0x1C,BTR0,BRP0x03 = CAN系统时钟 tSCL= 2*(1/16M)*(2+1+1)=1/2M;TSEG1=0x0c,TSEG2=0x01 = CAN位时钟周期数 = 同步时间段+时间段1+时间段2 = 1+(8*1+4*1+2*0+0+1) +(4*0+2*0+1+1) = 16= 通信位速率=1/(tSCL*CAN位时钟周期数)=1/(1/2M * 16)=2M/16=125Kbps,BTR1,5. CAN总线收发器,是协议控制器和物理传输线路之间的接口。为CAN控制器提供差动发送和接收数据;,CAN收发器,PCA82C250TJA1050,PCA82C250是CAN协议控制器和物理总线的接口。此器件对总线提供差动发送能力,对CAN控制器提供差动接收能力。又称为总线驱动器。符合ISO11898标准,最高速率1Mbps;抗汽车环境瞬间干扰,具有保护总线能力;斜率控制,降低射频干扰RFI;热保护以及电源和地短路保护;低电流待机模式;未上电的节点对总线无影响;可连接110个节点;工作温度-40+125。,5. CAN收发器-PCA82C250,内部具有限流电路,可防止发送输出级对电源、地或负载短路。虽然短路出现时功耗增加但不至于损坏器件。若结温超过160,则两个输出端电流限将减小,从而限制了芯片温升。器件的所有其他部分将继续工作。双线差分驱动有助于抑制汽车等恶劣电器环境下的瞬变干扰。,5. CAN收发器-PCA82C250,功能完成CAN协议电平转换;完成数据收发;起到保护和抗干扰作用。引脚信号TXD:发送数据输入RXD:接收数据输出CANL:低电平CAN总线CANH:高电平CAN总线Vref:参考电压输出RS:模式选择,0:高速模式;1:静音模式,只收不发;R:斜率控制,5. CAN收发器-PCA82C250,PCA82C250收发器的典型应用如图。SJA1000的RX和TX分别通过光电隔离电路连接到82C250,82C250的差动收发端CANH和CANL连接到总线电缆。输入RS用于模式控制。Vref输出电压是0.5Vcc,(Vcc=5V)。,5. CAN收发器-PCA82C250,CAN总线建立通信的步骤系统上电后的主要任务设定主控制器连接到SJAl000的硬件和软件关系;设定用于通信的CAN各个控制器,例如关于模式、验收滤波器和位时序等方面数值。在应用的主过程中的主要任务准备要发送的信息,并激活SJAl000以发送它们;处理被CAN控制器所接收的报文信息;处理通信期间发生的错误。,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进行过滤。,优点:容易实现单点对其他点任意组合的信息发送;各节点具有不同的优先级,保证关键节点不被阻塞;每个节点都能使用两种地址编码,且优先级不同,保证关键指令首先被接收,6. CAN通信的控制与应用CAN通信控制,6. CAN通信的控制与应用SJA1000器件,由初始化程序、发送程序、接收程序三部分组成。初始化程序主要是对CAN控制器控制段中寄存器写入控制字,从而确定CAN控制器的工作方式。相关寄存器包括:模式寄存器、时钟分频寄存器、验收代码和验收屏蔽寄存器、总线定时寄存器、输出控制寄存器。三种情形进入初始化程序:上电复位、硬件复位、软件复位数据发送程序只需将被发送的信息帧传送到CAN的发送缓冲区,然后将命令寄存器里的发送请求标志置位(即启动发送命令)即可;发送可采用中断请求或查询状态标志两种控制方式,6. CAN通信的控制与应用通信软件,数据接收程序 信息从CAN总线到CAN接收缓冲区是由CAN控制器根据CAN协议规约自动独立完成的。验收滤波正确后,收到的信息自动放到接收缓冲器内。由主控制器进行读操作,将这条信息发送到本地的信息存储器,然后释放接收缓冲器并对信息进行操作。,6. CAN通信的控制与应用通信软件,6. 基于RS232协议的CAN总线网络,7. CAN高层协议,TTCAN CANopenDeviceNet,7. CAN高层协议-TTCAN,消息的传输机制事件触发机制 指消息的交换是由外部事件的发生引起的,该方式可以较灵活的分配资源,但当多个事件同时发生时,会造成多个节点访问总线的冲突;时间触发机制 指消息的交换以时间为基准,网络中个节点发送消息的时刻都是预先分配好的,主要适用于周期性的消息。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,报文6,基本周期,基本周期,基本周期,基本周期,传输列0,传输列1,传输列2,传输列3,传输列4,传输列5,全局时间,同步参考报文,同步标记,时间标记1,时间标记2,时间标记3,时间标记4,时间标记5,同步标记,独占时间窗口,仲裁时间窗口,备用时间窗口,矩阵周期结构,用于实时的周期性报文传输,非实时性事件触发报文传输,用于日后系统的扩展,7. CAN高层协议-TTCAN消息交换调度表,TTCAN静态消息交换调度表独占时间窗口 该窗口中只能分配某个特定的报文,一般该报文具有硬实时、周期性的特点。在该类时间窗口中,任何其它报文不能竞争总线。同时CAN总线中的自动重发功能应被禁止,保证不对该类时间窗口中的报文传输造成影响。仲裁时间窗口 该类窗口可以同时分配给多个报文,发生总线冲突时通过CAN 总线自身的非破坏性仲裁机制进行解决。多个连续的仲裁时间窗口可以进行合并(称为合并窗口) ,以便为进行仲裁的报文留有更大的时间间隔。备用时间窗口 在该类时间窗口中,不存在报文的传输调度,这些时间窗口可用于日后系统的扩展。,7. CAN高层协议- CANopen和DeviceNet,基于CAN的应用层协议较通用的有两种CANopen,适合于机械控制的嵌入式应用DeviceNet,适合于工厂底层自动化CANopen 是在CAL(CAN Application Layer)协议基础上开发的,使用了CAL通信和服务协议子集,由CiA(CAN in Automiation)协会管理、维护和发展DeviceNet 美国Rockwell Automation公司于1994年推出,为工厂自动控制而定制,ODVA是所有DeviceNet产品开发者的组织,7. CAN高层协议-CANopen,CAN、CANopen标准在OSI网络模型中的位置框图,7. CAN高层协议-CANopen,一个网段最多支持127个节点,采用CAN收发器,支持CAN2.0A和CAN2.0B;将11位标识符分成2部分,即4位功能码和7位节点ID:,CANopen定义四种报文,7. CAN高层协议-CANopen,CANopen设备中CAN通信接口、对象字典和应用程序之间的联系,CANopen通信模型定义了4种报文(通信对象): NMT:管理报文; PDO:过程数据对象(Process Data Object) ; SDO:服务数据对象(Service Data Object); 预定义报文或特殊功能对象;,7. CAN高层协议-CANopen,NMT:管理报文,网络管理和ID分配服务; PDO:用来传输实时数据,数据从一个生产者传到一个或多个消费者。数据传送限制在1-8个字节; SDO:通过使用索引和子索引(在CAN报文的前几个字节),SDO使客户机能够

温馨提示

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

评论

0/150

提交评论