第5章-控制器局域网教学课件.ppt

上传人:春哥&#****71; 文档编号:87411126 上传时间:2023-04-16 格式:PPT 页数:37 大小:3.20MB
返回 下载 相关 举报
第5章-控制器局域网教学课件.ppt_第1页
第1页 / 共37页
第5章-控制器局域网教学课件.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《第5章-控制器局域网教学课件.ppt》由会员分享,可在线阅读,更多相关《第5章-控制器局域网教学课件.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、信息与控制工程研究所 张凤登张凤登第第5章章 控制器局域网控制器局域网1.控制器局域网,简称CAN(Controller Area Network)2.详细讲解广泛应用于嵌入式系统的CAN总线51 位传输总线概述位传输总线概述 由于现场总线开发组织或行业的不同,许多总线标准在其设计之初就带有典型的行业特色,适应特定对象的应用需求是其主要目标。为实现输入/输出信息的双向交换,人们制定了多种快速、简单的位传输现场总线协议。它们的主要应用对象是具有开关量特征的传感器和执行器系统。因此又称这类总线为I/O现场总线。传感器。传感器。各种原理的位置接近开关及温度、压力、流量、液位开关等,执行器。执行器。各

2、种开关阀,声、光报警器,也可以是继电器、接触器等低压开关电器。I/O现场总线的特点是采用位(bit)传输,其种类有很多,如:应用于汽车领域的CAN总线;食品加工领域的P-Net;航空航天领域的SwiftNet;电气现场总线AS-i、DeviceNet、SDS、Seriplex等。在这一章里,我们将着重学习目前较为普及的CAN(Controller Area Network)总线,并简单阐述其它I/O现场总线的基本原理及特点。52 汽车总线的分类汽车总线的分类 目的:用电子数据的总线通信满足任何车辆数据的传送需要。汽车工程师协会(ASE)对汽车中的总线按其性能、应用范围和要求分为A、B和C三类。

3、如图5-1所示。B类总线。适合于高速应用,用作非诊断目的非关键性通信,传输速率在10kbps125kbps之间,支持事件驱动和一些周期性报文传输,并具备静默/唤醒功能。常用于发动机管理等。然而,这类总线并不考虑与确定性和安全性相关的要求。这方面的世界标准一直是CAN。A类总线。性能最低,通常用作低端非放射性诊断通信,传输速率一般小于10kbps,支持事件驱动的报文传输。主要应用于车体电子系统,在这类应用中,最注重系统的造价。应用最多的协议:LIN、CAN。C类总线。这类总线必须涉及到与安全相关的性能,如状态的确定性、有界的执行时间、分布式的时钟同步、防止多路感应的复杂失真等。传输速率在125k

4、bps1Mbps之间。主要用于发动机定时、燃油输送等。正在不断发展完善中的这类协议包括:CAN、TTP、TTCAN和FlexRay等。53 CAN总线体系结构及协议标准总线体系结构及协议标准 531 CAN总线及其基本特点总线及其基本特点 CAN总线是德国Bosch公司在80年代初为解决汽车中大量的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。CAN协议的标准化:1991年9月,Bosch公司制定并发布了CAN技术规范(Version2.0)。该技术规范包括A和B两部分。2.0A 的信号传输速率为125kbps1Mbps,使用11位标识符;2.0B的信号传输速率仍为125kbps1

5、Mbps,而标识符长度可扩展到29位。1993年11月,ISO正式颁布了道路交通运载工具数字交换高速通信控制器局域网(CAN)国际标准ISO 11898。与其它类型的总线相比,CAN在许多方面具有独特之处:采用面向报文的优先级控制方式,用标识符定义静态的报文优先权。采用短帧格式,总线上的报文以不同的固定报文格式发送,但长度受限。非破坏性的总线仲裁多主系统。总线空闲时,任何节点都可以开始传送报文,优先级较低的节点会主动退出发送,而具优先级高的节点可以最终获得总线访问权,不受影响地继续传输数据。通信服务简便,阻隔期短。错误检测和错误处理机制先进。为了获得最安全的数据发送,CAN的每一个节点均设有错

6、误检测、错误标定及错误自检等措施。整个系统范围内保持数据一致性。延迟时间短,出错恢复快。总线驱动电路决定总线可接节点数,目前可达110个。通信距离与通信速率有关。最低为40m,相应的通信速率是1Mbps;最远可达10km,相应的通信速率在5kbps以下。532 CAN总线的体系结构总线的体系结构 现代汽车中,用于实现开闭环控制任务(引擎管理、ABS防抱制动控制、舒适性电子工业等)的电子控制单元(ECU,Electronic Control Unit)的数量越来越多。ECU之间的大量数据交换是在极其严重的电磁干扰环境下完成的,交换过程频繁且每个报文数据量极低(特征过程数据的循环发送,例如引擎速度

7、)。CAN总线技术规范在很大程度上满足了这类信息通信的需要。CAN的体系结构中只定义了ISO/OSI模型的最低两层(图5-2):数据链路层。逻辑链路控制(LLC)子层(又称为“对象层”)。涉及报文过滤;超载通知;恢复管理。媒体访问控制(MAC)子层(又称为“传送层”)。负责报文分帧;仲裁;应答;错误检测和标定。物理层。包括:物理信令。涉及位编码/解码;位定时与同步。物理媒体附属装置。媒体相关接口。应用层是通过专门用于特定工业领域的各种协议或CAN用户专用方案(如CANopen、DeviceNet、SDS)与物理媒体相连。四种不同类型的报文帧:数据帧、远程帧、出错帧和超载帧。数据帧数据帧。将数据

8、由发送器传至接收器;远程帧远程帧。用以请求发送具有相同标识符的数据帧;出错帧出错帧。用于通知总线上的节点有错误发生;超载帧超载帧。用于在前一帧和后续数据帧(或远程帧)之间提供附加延时。另外,数据帧和远程帧借助帧间空间帧间空间相互隔开。1.数据帧数据帧 数据帧包括7个不同的位场:帧起始、仲裁场、控制场、数据场、CRC场、确认场和帧结束。帧起始帧起始。帧起始(SOF,Start Of Frame)标志数据帧和远程帧的起始,仅由一个显性(dominant)位组成,规定显性位为“0”。只有当总线为空闲状态时,才允许节点开始发送,所有的节点必须同步于首先开始发送的那个节点的帧起始上升沿(参见5.3.7节

9、中的“硬同步”)。533 CAN报文格式报文格式续续 533 CAN报文格式报文格式 仲仲裁裁场场。仲裁场由标识符和远程发送请求(RTR,Remote Transmission Request)位组成。标识符长度为11位,按由高到低的顺序发送,依次为ID10,ID9,ID0,其中最高7位(ID10ID4)不能全为隐性(recessive)位,即不应全为“1”。RTR位在数据帧中必须是显性位“0”,而在远程帧中必须为隐性位“1”。控制场控制场。控制场由6位组成,其中4位用来指出数据场字节个数,用数据长度代码DLC(DLC,Data Length Code)表示,另2位是用于未来DLC扩展的保留位

10、。在定义保留位功能之前,发送器必须按显性位发送,但是接收器认可显性位和隐性位的组合。DLC的长度可为0,数据帧允许数据字节数目范围为08。表表5-1 数据长度代码表示的数据字节数编码数据长度代码表示的数据字节数编码 DLC数据的字节数DLC3DLC2DLC1DLC0000000001100102001130100401015011060111710008 数据场数据场。数据场包含待传输的数据,它可以为08个字节,每个字节包括8位。首先发送的是最高位。CRC场场。循环冗余码CRC场包括CRC序列,其后是CRC界定符。CRC序列由循环冗余码求得的帧检查序列组成,最适用于位数小于127位(BCH码)

11、的帧。为实现CRC计算,被除的多项式系数由帧起始、仲裁场、控制场、数据场(如果存在)在内的无填充的位流给出,其15个最低位的系数是0。此多项式除以下列生成多项式,所得到的余数就是发送到总线上的CRC序列。G(x)=x15+x14+x10+x8+x7+x4+x3+1 (51)CRC序列之后是CRC界定符,仅由一个隐性位“1”构成。确认场确认场。确认场又称为ACK场,长度为2位:ACK间隙和ACK界定符。发送节点的ACK场中,送出两个隐性位“11”。在ACK间隙内,所有接收到匹配CRC序列的节点,以显性位“0”改写发送器的隐性位送出一个确认。ACK界定符为ACK场的第二位,其必须是隐性位“1”,因

12、此,ACK间隙被两个隐性位(CRC界定符和ACK界定符)所包围。帧结束帧结束。每个数据帧和远程帧均由7个隐性位“1111111”组成的标志序列界定。续续533 CAN报文格式报文格式续续533 CAN报文格式报文格式2.远程帧远程帧 需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和相应的远程帧是由相同的标识符命名的。远程帧包括6个不同的位场:帧起始、仲裁场、控制场、CRC场、确认场、帧结束。3.出错帧出错帧 出错帧包括两个场。第一个场由来各个节点的错误标志叠加得到,第二个场是错误界定符。报文传输过程中,检测到任何一个节点出错,即于下一位开始发送出错帧,通知发送端停止发送。错误标志叠加错

13、误标志叠加。错误标志具有两种形式:主动错误标志(active error flag)。由6个连续的显性位组成。一个检测到出错条件的“错误激活”节点,通过发送一个主动错误标志进行标注。被动错误标志(passive error flag)。由6个连续的隐性位组成。可被来自其它节点的显性位改写。一个检测到出错条件的处于“被动错误”节点,试图发送一个被动错误标志进行标注,该错误认可节点自被动错误标志为起点,等待6个相同极性的连续位,当检测到6个相同的连续位后,被动错误标志即告完成。错误界定符错误界定符。错误界定符包括8个隐性位。错误标志发送后,每个节点都送出隐性位,并监控总线,直到检测到隐性位。然后开

14、始发送其余的7个隐性位。续续533 CAN报文格式报文格式4.超载帧超载帧 超载帧包括两个位场:超载标志。由6个显性位组成。超载界定符。由8个隐性位组成。导致发送超载标志的情况有三种:一是接收器内部要求对下一数据帧或远程帧进行延时;第二是在间歇场的第一和第二位检测到一个显性位;第三,CAN节点在错误界定符或超载界定符的最后一位采样到一个显性位。由第一种超载情况引发的超载帧起点,只允许在期望间歇场的第一个位时间开始,而由后两种情况引发的超载帧在检测到显性位的后一位开始。超载标志超载标志。超载标志的全部形式对应于主动错误标志形式。由于超载标志的形式破坏了间歇场的固定形式,因此,所有其它的节点都将检

15、测到一个超载条件,并且由它们开始发送超载标志。如果有的节点在间歇场的第3位期间检测到显性位,则这个位将被视为帧的起始。超载界定符超载界定符。超载界定符和错误界定符具有相同的形式。发送超载标志后,节点就一直监视总线,直到检测到一个由显性位到隐性位的发送,即出现显性位到隐性位的跳变。此时,总线上的每一个节点均完成了超载标志的发送,并开始同时发送其余7个隐性位。5.帧间空间帧间空间 数据帧、远程帧通过帧间空间隔开。与此相反,超载帧和出错帧前面不存在帧间空间,并且多个超载帧之间也不用帧间空间分隔。帧间空间包括:间歇场间歇场、总线空闲场总线空闲场,而对于先前帧已发送“错误认可”的节点,其帧间空间除了间歇

16、场和总线空闲场外还包括暂停发送场暂停发送场,如图5-7(a)、(b)所示。间歇场间歇场。间歇场由3个隐性位组成。间歇期间,所有的节点不允许发送数据帧或远程帧,仅起标注超载条件的作用。总线空闲场总线空闲场。总线空闲时间可以是任意长度。总线空闲时,任何节点均可访问总线以便发送。在其它帧发送期间,等待发送的帧紧随间歇场之后的第一个位启动。如果在总线空闲期间检测到总线上有显性位,可被理解为帧起始。暂停发送场暂停发送场。“错误认可”节点完成发送后,在开始下一次帧发送或认可总线空闲之前,它紧随间歇场后发出8个隐性位。如果在此期间其它节点开始一次发送,则本节点将变为帧接收器。续续533 CAN报文格式报文格

17、式 CAN帧的位流采用非归零码(NRZ)。在整个位时间内维持有效电平,要么为显性“0”,要么为隐性“1”。缺点缺点:在连续数值相同的位较多时,没有用于各个网络节点同步的边沿。1.位填充位填充 发送器在5个相同极性的位后插入一个相反极性的附加位,接收器随后去除这些填充位。2.使用位填充的场使用位填充的场 帧起始、仲裁场、控制场、数据场和CRC序列中使用了位填充。数据帧或远程帧的其余位场(CRC界定符、确认场和帧结束)格式固定,不进行位填充。出错帧和超载帧的格式也固定,同样不使用位填充方法进行编码。534 帧编码及其发送帧编码及其发送/接收接收 3.位填充举例位填充举例 4.帧发送次序帧发送次序

18、一个帧应由SOF场开始逐个位场进行发送,每个场内应首先发送最高位。CAN的总线访问控制采用了由CSMA/CD发展而来的CSMA/CA(载波监听多路访问/冲突避免,Carrier Sense Multiple Access with Collision Avoidance)方法。1.解决总线访问冲突的机理解决总线访问冲突的机理 每个发送器将自身发送的位电平同总线上检测到的电平进行比较。若相等,则节点可以继续发送。当送出一个隐性电平(逻辑“1”),而检测到的为显性电平时(逻辑“0”),表明节点丢失仲裁,并且不应再送更多位。当送出显性电平,而检测到的为隐性电平时,表明节点检测出位错误。由于拥有高优先

19、权的帧具有较低的标识符,其仲裁场是以更多的显性位开始。因此,帧会保留在总线上,且数据并不被损坏(冲突避免)。2.CAN协议仲裁过程实例协议仲裁过程实例3.解决冲突的原则解决冲突的原则 优先权就体现在帧标识符中。若具有相同标识符的数据帧和远程帧,数据帧具有更高优先权。在一个系统内,每条信息必须标以唯一的标识符。具有给定标识符和非零DLC的数据帧仅可由一个节点启动。远程帧只能以全系统内确定的DLC发送,该数据长度代码为对应数据帧的DLC。535 总线访问总线访问 由于汽车对数据传送安全性的要求较高,因此CAN协议非常重视错误检测功能。检测机制:监测、填充规则校验、帧校验、CRC检验和应答检验。1.

20、错误类型错误类型 位错误。节点在向总线发送位的同时也对总线进行监视。如果所发送的位值与所监测的位值不相符合,则在此位时间里检测到一个位错误。例外情况是:仲裁场的填充位流期间或ACK间隙送出隐性位而监测到显性位,不视为位错误;送出被动错误标志,而检测到显性位的节点,不将其理解为位错误。填充错误。在使用位填充法进行编码的帧场中,出现了第6个连续相同的位电平时,将检测到一个填充错误。CRC错误。CRC序列由发送器的CRC计算结果构成。接收器计算CRC的方法与发送器相同,当其计算结果与接收到CRC序列不相符,则检测到一个CRC错误。形式错误。当固定格式位场出现1个或多个非法位时,则检测到形式错误。例外

21、情况是:接收器在帧结束的最后一位检测到显性位,不视为形式错误。确认错误。在ACK间隙期间,发送器未检测到显性位,则检测到一个应答错误。当任何节点检测到位错误、填充错误、形式错误或应答错误时,则由该节点在下一位开始发送错误标志;当检测到CRC错误时,出错帧在紧随ACK界定符后的那位开始发送,除非其它出错条件的出错帧已经开始发送。536 错误检测与错误处理错误检测与错误处理2.节点错误状态节点错误状态 CAN总线中的任何一个节点,可能处于下列三种故障状态之一:错误激活、错误认可、总线脱离。错误激活节点可以正常参与总线通信,并在检测到错误时发出一个主动错误标志。错误认可节点不允许发送主动错误标志,可

22、以参与总线通信,但当检测到错误时,只能发出被动错误标志,而且发送后,错误认可节点在开始进一步发送前将等待一段附加时间。处于总线脱离状态的节点,既不发送也不接收任何帧,即不允许影响总线。为了进行错误界定,总线上的每个单元中都设置有两个计数器:发送错误计数器(REC)。接收错误计数器(TEC)。计数器计数规则计数器计数规则:接收器检测到一个错误,接收错误计数器加1。但是,若在发送主动错误标志或超载标志期间检测到位错误,接收错误计数器不加1。接收器在发送错误标志后的第一位检出一个显性位,接收错误计数器加8。当发送器送出一个错误标志时,发送错误计数器值加8。但有两个例外,一个是若发送器为错误认可,由于

23、未检测到显性位应答或检测到一个应答错误,并且在送出其被动错误标志时,未检测到显性位;另一个是若由于仲裁期间发生的填充错误,发送器送出一个隐性位错误标志,但送出隐性,而检测到显性。在此两种情况下,发送错误计数器值不变。发送器发送主动错误标志或超载标志时,若检测到位错误,则发送错误计数器加8。接收器发送主动错误标志或超载标志时,若检测到位错误,则接收错误计数器加8。在发送主动错误标志、被动错误标志或超载标志后,任何节点都允许最多7个连续的显性位。在检测的第11个连续的显性位后(在主动错误标志或超载标志情况下),或紧随被动错误标志检测到第8个连续的显性位后,以及附加的8个连续的显性位的每个序列后,每

24、个发送器的发送错误计数器加8,且每个接收器的接收错误计数器也加8。成功发送一帧后(得到应答,并且直至帧结束未出现错误),发送错误计数器减1,除非已经为0。成功接收一帧后(直至ACK间隙均无错误地接收,并成功送出ACK位),若接收错误计数器的值介于1127之间,则其值减1;若接收错误计数器值是0,则仍保持为0;若大于127,则将其值记为119127之间的某个数值。3.错误界定规则错误界定规则4.节点状态转换节点状态转换 节点状态转换图如图5-11所示。“错错误误认认可可”状态。当发送错误计数器值大于127时,或当接收错误计数器值大于127时,节点进入“错误认可”状态。导致节点成为“错误认可”的错

25、误条件使节点发出主动错误标志。“错错误误激激活活”状态。当发送错误计数器的值和接收错误计数器的值均小于或等于127时,“错误认可”的节点重新变为“错误激活”节点。“总总线线脱脱离离”状态。当发送错误计数器值大于255时,节点为“总线脱离”状态。在监测到128次出现11个连续隐性位之后,“总线脱离”节点将变为“错误激活”节点,该节点的两个错误计数器值也被设置为0。如果系统起动期间,只有1个节点在线,该节点发送帧后,将得不到应答,检出错误并重发该帧。由此,节点会变为“错误认可”,而不会进入“总线脱离”状态。关闭或处于“总线脱离”状态的节点,必须通过启动子程序进入运行,以便在开始发送前,同已经有效的

26、节点同步。537 位定时与同步位定时与同步1位时间组成位时间组成 位时间位时间:发送一位的持续时间,用tB表示。位位速速率率:为一理想的发送器在没有重新同步的情况下每秒发送的数据位数,用tR表示。位时间的划分位时间的划分:同步段、传播段、相位缓存段1和相位缓存段2(见图5-12)。同步段同步段:用于同步总线上各个节点。该段内部一定要有一个跳变沿。传传播播段段:用于补偿网络内的物理延迟时间。该延迟时间是信号在总线上传播时间、输入比较器延迟和输出驱动器延迟之和的两倍。相相位位缓缓存存段段1和和相相位位缓缓存存段段2:用于补偿边沿的相位误差。通过重同步,这两个时间段可以延长或缩短。(52)采采样样点

27、点:读总线电平,并将其解释为相应位数值。采样点位于相位缓冲段1的终点。信息处理时间始于采样点,保留用作计算子序列位电平。位时间按时间份额进行编程设置,时间份额总数必须被编程为至少825个。时间份额时间份额(TQ):由节点的振荡器周期推出的固定时间单元,一般取作振荡周期的整数倍。设节点的时间份额最小值为tmin,用于对TQ的长度进行编程调整的整数分度值为m,CAN协议中m的可取值范围为132,则时间份额的长度可由下式表示:位时间各段的长度位时间各段的长度:同步段为1个TQ;传播段可编程为18个TQ;相位缓存段1可编程为18个TQ;相位缓冲段2为相位缓冲段1和信息处理时间的最大值,信息处理时间小于

28、或等于2个TQ。位时间的编程设置位时间的编程设置 (53)【例【例5-1】CAN总线的速率为500kbps,节点的时钟频率为5MHz。设驱动延迟为30ns,接收延迟为50ns,总线传播延迟为220ns。试写出一种位时间组成。解解 根据已知条件,总的延迟为300ns,取 tmin1/5MHz200ns,m1,则TQ mtmin200ns设置CAN总线的位时间为10TQ,即2000ns。满足条件的时间段配置如下:同步段:1TQ;传播段:5TQ;相位缓存段1:2TQ;相位缓存段2:2TQ。为补偿总线上各节点时钟振荡器频率之间的相移,每一个CAN控制器必须能够与输入信号的相关信号沿同步。当检测到发送数

29、据中的跳变沿,逻辑电路将跳变沿的位置与所期望的时间段(同步段)进行比较。随后电路将对相位缓冲段1和相位缓冲段2的值作必要调整。CAN使用的同步形式使用的同步形式:硬同步和重同步。硬同步硬同步。硬同步后,内部的位时间从同步段重新开始。因此,硬同步强迫由于硬同步引起的跳变沿处于重新开始的位时间同步段之内。重同步跳转宽度重同步跳转宽度。重同步的结果使相位缓冲段1延长,或使相位缓冲段2缩短。这两个相位缓冲段的延长时间或缩短时间上限由重同步跳转宽度(SJW)给定。SJW可编程设置在14个TQ之间。如例5-1中,SJW可设置为2TQ。沿相位误差沿相位误差。边沿的相位误差e由相对于同步段边沿的位置给出,以时

30、间份额度量。相位误差的符号定义如下:e=0,边沿位于同步段内;e 0,边沿位于采样点之前;e 0,则相位缓冲段1被延长,延长的数量等于重同步跳转宽度;如果相位误差e0,则相位缓冲段2被缩短,缩短的数量等于重同步跳转宽度。2同步同步 同步规则同步规则:在一个位时间内只允许一种同步;只要在采样点之前检测到的数值不同于边沿后即现的总线数值,边沿被用于同步;总线空闲期间,当存在一个隐性位至显性位的跳变时,即完成一次硬同步;符合规则和规则的其它隐性位至显性位的跳变沿都将被用于重同步。538 CAN总线的电气连接总线的电气连接 假设在总线上连接着多个节点(汽车中常将每个ECU作为一个节点),见图5-13,

31、总线的每个末端均接有以RT表示的抑制反射的终端负载电阻,而位于节点内部的RT应予取消。总线驱动可采用单线上拉、单线下拉或双线驱动,接收采用差分比较器。1.总线电平表示方法总线电平表示方法:显性(dominant):表示逻辑数值“0”;隐性(recessive):表示逻辑数值“1”。设VCAN-H、VCAN-L分别表示总线输出电压,Vdiff表示总线差分输出电压。则显性状态以大于最小阈值的差分电压Vdiff表示,而隐性状态的VCAN-H和VCAN-L被固定于平均电平,Vdiff近似为0。总线上的位电平如图5-14所示。2.“线与线与”机制机制 总线电平是根据各节点电平,通过“线与”机制来获得的,

32、其工作原理如图5-15所示。若所有节点的晶体管均被关闭,则总线处于隐性状态。此时总线的平均电压由具有高内阻的每个节点的电压源产生。3.CAN总线长度与传输速率之间的关系总线长度与传输速率之间的关系 CAN总线上连接节点的最大数量取决于总线驱动器。最大传输距离与数据传输速率有关,如表5-2给出了最大总线长度与传输速率之间的关系。表表5-2 CAN总线长度与传输速率之间的关系总线长度与传输速率之间的关系 传输速率推荐最大总线长度1Mbps 40m 500Kbps 100m 250Kbps 250m 125Kbps 500m 20Kbps 2500m 54 CAN控制器控制器 CAN控控制制器器:用

33、于实现上述CAN协议,对外提供与微处理器物理线路的接口 通过对CAN控制器的编程,微处理器可以设置它的工作方式,控制它的工作状态,进行数据的发送和接收,把应用层建立在它的基础之上。而CAN控制器和物理总线之间的接口是由CAN收发器完成的。CAN控制器的位置见下图中的节点。541 CAN控制器选型控制器选型 为适应汽车工业需要,许多知名半导体厂家研制了CAN控制器和收发器芯片(见下表5-3)。所有通信控制器都可独立进行帧编码和数据存储。CAN控制器分类控制器分类:独立式独立式:芯片仅包含CAN控制器。嵌入式嵌入式:芯片包含CAN控制器及微处理器。CAN控制器表控制器表表表5-3 CAN控制器表控

34、制器表 汽车和普通工业环境中常用的CAN通信控制器为:SJA1000、MCP2515等。制造商产品型号符合协议功能集成于微处理器强接收过滤备注Philips82C2002.0 A通信控制器PhilipsSJA10002.0 B通信控制器Philips8XC5922.0 A通信控制器Siemens81C902.0 A通信控制器MicrochipMCP25152.0 B通信控制器Siemens51C8062.0 A通信控制器Motorola68HC05X42.0 A通信控制器Motorola68HC162.0 B通信控制器542*CAN控制器内部结构简介控制器内部结构简介例如SJA1000芯片:主

35、要组成部分:接口管理逻辑。发送缓冲器。接收缓冲器。接收过滤器。位流处理器。位时序逻辑。错误管理逻辑。55 CAN总线收发器总线收发器 CAN收发器(也叫总线驱动器)是CAN协议控制器和CAN物理总线之间的接口。PhilipsPCA82C250ISO 11898总线收发器高速PhilipsPCA82C252ISO 11898总线收发器容错PhilipsTJA1050ISO 11898总线收发器高速PhilipsTJA1054ISO 11898总线收发器容错MicrochipMCP2551ISO 11898总线收发器高速CAN收发器表收发器表 例如TJA1050芯片制造商产品型号符合协议功能集成于

36、微处理器强接收过滤备注56 CAN节点的实现节点的实现 基于CAN的智能设备,其设计步骤与一般仪表类似,也包括总体规划、硬件设计、软件设计、联合调试等,但现在的智能设备同时又是一个通信节点,需要增加CAN通信功能,以便利用CAN总线交换数据。561 CAN节点硬件构成举例节点硬件构成举例562 CAN节点通信程序设计节点通信程序设计 CAN初始化子程序、接收子程序和发送子程序;57 CAN总线应用系统设计总线应用系统设计 讨论CAN总线网络的设计与应用方法。571 CAN总线应用系统的一般组成总线应用系统的一般组成 CAN总线应用系统的一般组成方式如图5-25所示。CAN总线网络由许多CAN节

37、点组成。若干个CAN节点通过CAN总线收发器连接在一个网络中。通过相互的通信和协作,完成控制任务。572 CAN总线网络设计步骤总线网络设计步骤 在分布式自动化系统的开发过程中,一项基本的内容就是怎样安排和利用现场总线。既然位流传输和数据帧的构成通常由集成CAN器件完成,因此安排CAN网络的主要工作就是确定所谓的通信帧,通信帧规定了发送的CAN报文,以及发送或接收的网络节点。通信帧的确定:通信帧的确定:首先,要确定所有特定的应用信号。在分析的基础上,用敏感的优先级标识符对已确定的信号进行分组,由此来定义系统的CAN报文,即确定通信帧(图5-26)。为了最小化总线负载和管理开支,相关的信号应该被

38、组合在一起,同时传送。然后,要规范单个网络节点的行为。可以通过循环发送或通过更复杂的协议(对接收报文的反应)来规定节点报文的收发;通过估计总线负载和由此对高优先级报文造成的等待时间来确定波特率。设计基于设计基于CAN的测控系统时一般分成以下三个阶段:的测控系统时一般分成以下三个阶段:1需求分析和网络系统设计需求分析和网络系统设计首先,负责设计的团队要确定采用何种网络拓扑结构,不断改善建立在网络节点层面上的设计工作。这包括确定报文和选择总线波特率。为了进行更加精确的研究,需要创建整个系统的功能模型。这涉及到规定带有输入输出变量的网络节点行为,以及报文的接收和发送。2总线仿真测试总线仿真测试 第一

39、阶段工作完成之后,各个网络节点的设计和开发通常是独立进行的,可由项目的所有参加团体同时进行。对于开发出来的网络节点,可以通过其它网络节点的模型来模拟总线的其余部分,对其进行测试。某些CAN总线开发、测试和分析工具(如CANoe)有用作此目的的实际总线接口,采用这种智能工具可以分析实际网络节点之间的报文通信,确定节点是否满足规定的要求,而且,这样的仿真可在实时条件下进行(图5-27)。3系统集成系统集成 在这一阶段,所有仿真的网络节点模型被真实的网络节点所取代。当仿真节点完全被取代时,一个实用的CAN总线网络就建成了。573 CAN报文格式分析工具报文格式分析工具CANscope CANscop

40、e是记录和评估CAN总线上的信号电平的一种测量工具,提供的信息包括CAN物理电平和逻辑电平。在逻辑电平方面,加在CAN网线的电压被描述为“信号响应”,逻辑电平以单个比特位的形式提供信息,使我们可以分析CAN总线的物理特性,识别发生的错误。CANscope由一个记录模块和一个在Windows下运行的评估软件组成。CANscope操作界面见图操作界面见图5-28。574 工具软件工具软件CANoe CANoe是为CAN总线系统的开发、测试和分析提供的通用环境,可以在总线上观察、分析和仿真数据传输。图5-32显示了CANoe的主程序,其高性能的函数和自由的可编程能力能够满足所有CAN总线系统仿真和实

41、现的需要,所有和总线相连的网络节点都可被仿真。可以生成一些窗口对网络节点进行操作,这些节点的操作元素可用环境变量来触发。另外,这里也有报文数据到物理特性的转化。CAPL语言可用于对一个仿真节点的动态行为进行建模。CANoe程序的组成程序的组成 CANoe由四个独立的程序组成,其相互关系如图5-33所示。可以运用CAPL浏览器创建行为模型,用面板编辑器创建面板,用CANoe的主要程序构造仿真模型,含有所有现存的CAN报文、环境变量、网络节点的中央数据库,会使这些操作变得更为方便。2CANoe仿真模型实例 图5-34阐明了一个CANoe仿真模型的原理结构。该模型由“节点A”和“节点B”两个仿真节点

42、组成。如果与“节点A”相连的开关是闭合的,与“节点B”相连的灯就打开。相反,如果与“节点A”相连的开关是断开的,与“节点B”相连的灯就熄灭。575 车身电子系统车身电子系统CAN总线通信网络设计总线通信网络设计 讨论如何用记录和评估工具CANscope分析CAN报文格式,用仿真和开发工具CANoe为由汽车指示灯、电动车窗升降机等组成的基本车身电子系统设计CAN网络。1开发与测试系统的组成开发与测试系统的组成 2需求分析和网络系统设计需求分析和网络系统设计 图5-36中的实际车门控制系统,包括车窗升降机构、车门反射镜调节机构等电子控制单元(ECU),各个ECU之间通过CAN总线进行数据通信,这里

43、只就两个控制单元的部分功能进行测试。在车门控制过程中,使用的总线的传输速率为80kbps,实际节点的CAN报文和它的信号是由车门接口固定下来的,CAN报文的定义如表5-9所示。(续)(续)575 车身电子系统车身电子系统CAN总线通信网络设计总线通信网络设计 车窗升降机构的报文包括了“车窗上升”、“车窗下降”、“保留位置”、“移到保留位置”等信号,数据长度为1个字节,后视镜调节机构也是由一个报文的不同信号来控制的,其中包括“后视镜左转”、“后视镜右转”、“后视镜上转”、“后视镜下转”等,数据长度为2个字节。表表5-9 车门的车门的CAN接口使用的接口使用的CAN报文报文 报 文标识符循环周期D

44、LC信 号车窗升降机构“MsgLifter”300H 20ms1Bit 0:左门Bit 1:右门Bit 2:Bit 3:关闭挤压保护Bit 4:移到保留位置Bit 5:保留位置Bit 6:车窗上升Bit 7:车窗下降车门后视镜调节“MsgMirror”308H 200ms2Bytes 1Bit 0:后视镜左转Bit 1:后视镜右转Bit 2:后视镜上转Bit 3:后视镜下转Bit 4:收缩后视镜Bit 5:展开后视镜Bit 6:Bit 7:Bytes 2Bit 0:Bit 1:Bit 2:Bit 3:Bit 4:“位置1”按钮Bit 5:“位置2”按钮Bit 6:“位置3”按钮Bit 7:保留

45、/恢复切换(续)(续)575 车身电子系统车身电子系统CAN总线通信网络设计总线通信网络设计3总线仿真测试总线仿真测试 为使车门上的车窗升降机和后视镜正常工作,需要其它设备输入操作信号,如车门升降按钮,这项工作我们就用仿真网络节点来完成,用CANoe开发出来的仿真模型,能够实现与实际网络节点之间的报文通信,确定实际节点是否满足规定的要求。假定车窗升降机的上升、下降控制按钮分别由仿真节点“NodeUD”,后视镜的左右转动控制按钮使用一个仿真节点“NodeLR”来实现其信号通信,系统的指示灯将显示是否有按钮合上,当有按钮合上时按1赫兹的频率闪烁,指示灯通过节点“NodeI”与总线相连。这些节点被集

46、成在图5-37描述的系统中,其中车门中要测试的节点有两个,分别是,车窗升降机节点“NodeLifter”和后视镜调节机构节点“NodeMirror”,它们是作为真实节点集成在仿真配置上。(续)(续)575 车身电子系统车身电子系统CAN总线通信网络设计总线通信网络设计 按图5-37配置仿真系统,编译无差错后,可进行车门电子控制单元的仿真测试。该系统所能完成的测试工作有多种,包括信号是否正确、出错帧发送、位填充、控制对象响应情况等。在操作后视镜期间,用CANscope记录报文,观察系统是否像预期的那样动作,你也可以同时看到记录下的总线电平和填充位(下面一行)。图5-38给出的总线信号,是在操作后视镜期间,用CANscope记录下的驱动后视镜右转的报文。图中显示的报文是MsgMirror,长度为66位,去除3个填充位和长度为3位的间歇场,报文的位序列如下:0 011000010000 00 0010 00000010 00000000 1000111100110001 01 1111111

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁