参考基于can总线(controller area network)技术的车载发动机信号监控系统_第1页
参考基于can总线(controller area network)技术的车载发动机信号监控系统_第2页
参考基于can总线(controller area network)技术的车载发动机信号监控系统_第3页
参考基于can总线(controller area network)技术的车载发动机信号监控系统_第4页
参考基于can总线(controller area network)技术的车载发动机信号监控系统_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

课程设计论文课程名称: 汽车电器与电子控制系统 学 院 信息工程 专业班级 应用电子技术0901班 学 号 3109003071 3109003074 3209003077 姓 名 张祖栋 钟巨成 林婷婷 任课教师 晋京 2012年 06月 22日目录 摘要31绪论42车型选择东风悦达起亚Rio1.4MT 53 系统方案设计及工作原理 8 3.1 CAN在汽车中的应用介绍:汽车的全CAN网结构 8 3.2 基于CAN总线技术的车载发动机信号监控系统的总体设计方案 104 硬件电路的设计 12 4.1 部分传感器的介绍 12 4.2 温度采集模块 12 4.3 发动机转速 13 4.4 A/D转换模块 14 4.5 CAN收发模块 174.7 上位机(主控制模块)264.8 下位机(从控制模块)275 程序设计27 5.1 上位机(主控制模块)程27 5.2 下位机(从控制模块)程序346 结论 39 参考文献 40基于CAN总线技术的车载发动机信号监控系统摘要:介绍CAN总线主要技术特性,设计一种基于CAN总线的车载发动机信号监控系统。该系统采集了汽车发动机的冷却液温度、转速及油温三个参量,并把采集到的数据送给电子控制器(ECU)与ECU内存储的相关数据进行分析、比较,从而使ECU发出相应的控制命令,进行显示或某些控制操作。该系统由四大模块组成,分别是主控制模块、冷却液温度采集模块、转速采集模块、油温采集模块。各模块中,用AT89C51单片机作为控制单元,CAN数据收发模块用SJA1000 CAN控制器和82C250收发器构成。关键词:CAN总线,AT89C51单片机,SJA1000,数据采集,控制。Abstract: This article introduced the main technical characteristics of CAN bus, and design a car engine signal monitoring system based on CAN bus.The system collected the engine signal just like coolant temperature, speed and oil temperature, those data will be send to the electronic controller(ECU) and compare with data stored in the ECU. So that the ECU sends the appropriate control commands to display or certain control operations. The system consists of four modules: engine coolant temperature collect module, engine speed acquisition module and oil temperature acquisition module . For each module, using AT89C51 microcontroller as control unit, with SJA1000 CAN controller and 82C250 transceiver to make up a CAN transceiver module. Among the modules, they are connected with twisted pair to achieve the interaction of data and commands. So the driver can know the cars driving situation more directly and conveniently.Keywords: CAN bus, AT89C51 micro controller unit, SJA1000, data acquisition, control.1 绪论1986年2月,Robert Bosch公司在汽车工程协会(SAE)大会上介绍了一种新型的串行总线控制器局域网(Control Area Network,CAN),用于汽车内部测量与执行部件之间的数据通信,这即是CAN诞生的时刻,现在起总线规范一杯国际标准化组织(ISO)制定为国际标准。C AN总线是一种多节点的无主从竞争的网络。与其它通信网络不同。其传送的报文中并不包含目标地址。而是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文 ,根据报文的ID决定接收或者屏蔽该文件。其优点是可在线上网、下网,即捅即用和多站接收;另外,C A N总线技术特别强调对数据安全性的关注。可满足控制系统及其它较 高数据要求的系统需求。C A N总线有以下主要特点 : (1)具有极高的总线利用率,数据传输速率可高达1 Mb i ts 。直接传输距离可达10 k m,同一段总线内可挂接多个设备。(2)具有可靠的错误处理和检错机制。发送的信息遭到破坏后,可以自动重发;节点在错误严重的情况下,具有自动退出总线的功能。 (3)支持多主工作方式,网络上任一节点、在任何时候均可主动向其它节点发送信息,并可支持点对点 、一点对多点和全局广播方式接收发送数据 。数据传输过程中优先级低的点还会主动停止发送,避免总线冲突。经过2 0多年的发展,C A N总 线现在广泛的应用在汽车领域,在汽车控制系统中应用CAN总线可以使硬件方案的软件化实现,大大地简化了设计,减小了硬件成本和设计生产成本 , 数据共享减少了数据 的重复处理,节省了成本,可以将信号线减到最少,减少布线,使成本进一步降低等优点。由于CAN总线通信的高性能、高可靠性、及独特的设计和适宜的价格可以广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域,所以被公认为是几种最有前途的现场总线之一。2 车型选择东风悦达起亚Rio1.4MT发动机:直列4缸发动机排气量 (cc) :1399最大功率 (kwrpm) :70/6000发动机压缩比:N/A扭矩 (Nmrpm) :124/4700变速器形式:手动排档及位置:5档地排驱动方式:前置前驱气门总数(气门):16制动器类型:前:盘式后:鼓式缸径行程:N/A冷却系统:水冷动力助力转向:标配燃油供给方式:多点电喷燃料标号:93#汽油高速公路耗油量(L100km):5.71最高时速 (kmh) :167RIO是起亚的全球战略车型,首度亮相于1999年,而06款RIO是耗时37个月研发而成,于今年年初的底特律车展正式发布,分为四门两厢和五门三厢两种,而率先国产的是更符合中国国情的三厢版RIO。RIO是一款针对城市年轻人的小型轿车,起亚称之为“I时代”轿车,在2006年6月7日,J.D.Power2006年新车品质满意度调查 (IQS,Initial Quality Survey)结果公布,在包括驾驶体验、引擎传动等8个类别的217项汽车属性测评中,起亚RIO荣获C1类别满意度第一的好成绩。Rio 1.4L采用与雅绅特同型的DOHC 16V直列四缸发动机,最大功率70Kw,最大扭矩124Nm,这样的数值自然是很难让男生产生“冲动”的。不过与同级车相比,城市工况Rio的表现并不让人感觉失望,1158Kg的车身重量,选配185/65R14规格轮胎,可以保证足够的动力传递自地面,城市使用依然游刃有余。不过在高速公路上,1.4L的排量加上四速自动变速箱,以及车上四个成年人的重量,我只能老老实实的在行车道上以110Km/h左右的速度巡航。后段加速的严重不足令我几次在集卡间超车并线时半途而废,换来的是迟滞的变速箱kickdown带来的发动机嘶吼声。在一百多一点的时速下,对Rio来说是恰到好处的,发动机的噪音、风噪和胎躁都尚可接受。后整体扭杆梁式半独立悬挂,令Rio的整体稳定性有所提高,在高速并线时,车尾的摆动均在可控制范围之内,相对于老千里马的后双连杆独立悬挂显得稍许硬朗一些,而这也是目前小型车中最常用的后轮悬挂了。百公里加速成绩:用时11.56秒;加速距离201.37米东风悦达起亚Rio1.4手动版 0-100公里/小时加速时间曲线图测试车型:起亚Rio1.4手动版 测试路面:干燥柏油路面 测试成绩:11.56秒 东风悦达起亚Rio1.4手动版 0-100公里/小时加速距离曲线图测试车型:起亚Rio1.4手动版 测试路面:干燥柏油路面 测试成绩:201.37米 百公里时速制动成绩:用时3.15秒;制动距离42.96米东风悦达起亚Rio1.4手动版 100-0公里/小时制动时间曲线图测试车型:起亚Rio1.4手动版 测试路面:干燥柏油路面 测试成绩:3.15秒 东风悦达起亚Rio1.4手动版 100-0公里/小时制动距离曲线图3系统方案设计及工作原理 3.1 CAN在汽车中的应用介绍:汽车的全CAN网结构随着汽车功能的越来越多及汽车电子技术的不断发展,现在越来越多的汽车(如 雪铁龙C5轿车2005款)采用了新型的全CAN网结构系统,其网络结构如图2.1所示。图3.1 全CAN 网结构(Fig 2.1 Structure of full CAN)这种全CAN网结构主要由CAN内部网、CAN车身网、CAN舒适网和CAN诊断网4个子网组成。CAN内部网连接汽车上所有的动力系统控制单元,如:制动系统、自动变速器和发动机控制单元、转向盘角度传感器等,其传输速率约为500 Kbit/s,属于高速CAN网。CAN车身网连接汽车上所有的安全装置,如:安全气囊控制单元、防盗报警控制单元、阳光传感器、雨水传感器等,传输速率约为125 kbits,属于中速CAN网。CAN舒适网主要实现人车之问的交互,如:组合仪表、转速表、多功能显示屏等,传输速率约为125 kbits。而CAN诊断网可以传输CAN内部网、CAN车身网、CAN舒适网上各计算机诊断信息,并储存,实现各子网及BSI智能服务器的加载,传输速率约为500 Kbits。汽车内部的传感器和MCU,ECU等现在越来越多,数据交换越来越频繁,利用CAN总线技术能很好地实现各个单元的数据交换,各个单元通过CAN接口直接在CAN总线读取相应信号,大大简化了信号采集和信号处理系统,系统的可靠性和实时性得到很大的提高 。同时,用CAN网络能减少汽车电路的复杂布线。3.2基于CAN总线技术的车载发动机信号监控系统的总体设计方案本系统由汽车网络传感器系统构成的数据采集模块和基于单片机控制的主控制模块组成。其中汽车网络传感器系统由汽车的CAN网、汽车传感器的CAN网络接口模块和各种汽车传感器组成,其系统结构如图2.21所示。图3.21 网络化汽车传感器系统结构一个汽车传感器都可以连接到微处理器上,这一微处理器是可以通过汽车 C A N网络接 口把传感器的数据信息以二进制编码的方式在数据总线上发送。数据总线连接着汽车上所有的微处理器单元,CAN网络上的每一设备都可以通过CAN控制器来对数据信息进行过滤, 从而确定是否需要读取信息和区别出该信息是否与自己的功能相关。这种连接方式相应地减少了传感器的使用数量,如早期的汽车温度传感器需要其他的传感器开关信号来控制,这样就避免了传感器使用冗余情况的发生。同时,CAN网的使用更有利于设计和组装汽车内的分布式传感器系统,当在CAN网络中添加新的传感器节点时,不需要对其他传感器节点进行更改;当减少CAN网中的传感器节点时,仍然会保持着相同的系统设计,对原来的传感器节点不会产生任何影响。网络化汽车传感器基本结构如图2.22所示。图3.22 网络化汽车传感器基本结构其中CAN网络接口的设计是为了使汽车传感器的数据能够及时地、可靠地进入到汽车的CAN网内,以供相关的汽车子系统单元计算、分析、诊断、控制及显示。其由CAN的控制器和CAN的收发器组成。CAN控制器主要是完成CAN总线通信协议,接收微处理器发出的数据,处理数据,并传给CAN收发器,同时,CAN控制器也接收收发器收到的数据,处理数据,并传给微处理器。C A N收发器是一个发送器和接收器的组合,它将CAN控制器提供的数据转换成电信号,并通过CAN总线发送出去,同时,它也接收CAN总线数据,并将数据传送到CAN控制器中。基于网络化汽车传感器系统,结合本设计系统的功用,给出基于CAN总线技术的车载发动机信号监控系统的总设计框图如图2.23所示。 图3.23 系统总框图该系统由基于网络化汽车传感器系统的三个数据采集模块加主控制模块组成,其中三个数据采集模块分别是冷却液温度采集模块、油温采集模块、发动机转速采集模块。主控制模块主要对采集的数据进行分析、比较后,发出相应的控制信号,完成与控制信号对应的操作,如显示或是警示等等。4 硬件电路的设计4.1 部分传感器的介绍温度采集RIO采用的是热敏电阻式温度传感器。其原理是通过其敏感原件的电阻值随温度而变化这一特性,将被测对象温度的变化转换为电阻的变化,再通过测量电路转换为相应的电压或电流信号。发动机转速采集RIO是用磁感应式发动机转速传感器。安装于飞轮壳体上的磁感应式传感器本身无信号触发转子,而是利用飞轮上的齿圈和飞轮上的正时记号触发产生感应电压。当发动机转动而使飞轮的轮齿和飞轮上的正时记号通过传感器铁心时,使传感器内部磁路的磁阻发生变化,通过感应线圈的磁通量随之变化,侧耳使两传感器的感应线圈产生响应的电压脉冲信号。4.2 温度采集模块本模块由热敏电阻加三个相同的电阻构成惠斯通电桥,当温度变化时,热敏电阻阻值相应地发生变化,使电桥输出变化,加一馈环节,使信号输出线性化,经LM324放大输出。LM324工作原理:LM324内含有四个特性近似相同的高增益、内补偿放大器的单电源运算放大器。电路可以宰+5V+15V下工作,功耗低,每个运放静态功耗约0.8mA,但驱动电流可达40mA。它采用14脚双列直插塑料封装,如图4.2.1所示: 图4.2.1 LM324引脚图 图4.2.2 温度采集信号处理电路图引脚中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。温度采集信号处理电路如图4.2.2所示。Vout 连接A/D转换模块。4.3 发动机转速采集模块电磁感应式发动机传感器的结构和输出波形如图6-3所示。它的工作原理是,在永久磁铁的周围绕有线圈,线圈周围有用铁材料制成的齿轮,当齿轮旋转时,齿轮的齿顶和齿谷与永久磁铁之间的空气隙不断变化,使通过线圈的磁力线也发生了变化,于是在线圈中便产生了交变电压。图4.3 电磁感应式转速传感器的结构与输出波形RIO的发动机属于高转速发动机。所谓高、中、低转速发动机,要看该车实现最大扭矩时的发动机转速。通常3600转以下的属低转速发动机,36004100转的属中转速发动机,超过4100转的属高转速发动机。RIO达到4700转,当然是高转速发动机。正常使用情况下,2500转/分左右换档比较合理,当需要较强动力时可以在3000转/分左右换档。过高或过低,都容易让发动机部件“横向力”,既不利于节油,长时间这样做,还会加大发动机损耗。图4.3.1 发动机转速信号处理仿真电路如图4.3.1所示电路中,电子电路的核心部件是频率电压转换器LM2917。试验证明,转速传感器信号输入频率电压转换器后,经过频率电压转换器LM2917内部电路进行处理,即可将反映发动机转速的频率信号转换为电压信号。4.4 A/D转换模块ADC0808包括一个8位的模/数转换器、一个8通道多路转换开关和与微控制器兼容的控制逻辑。8通道多路转换开关具有锁存功能,可对8路05V的输入模拟电压信号分时进行转换。8位的模/数转换器由地址译码和锁存电路、比较器、256R电阻T型网络、树状电子开关、逐次逼近寄存器SAR、控制与时序电路等组成,其输出具有TTL三态锁存缓冲器,可直接连到单片机数据总线上。ADC0808的功能特点:1、分辨率为8位;2、最大不可调误差ADC0808小于+-1/2LSB;3、单一+-5V供电,模拟输入范围为05v;4、具有锁存控制的8路模拟开关;5、可锁存三态输出,输出与TTL兼容。6、功耗为15Mw.7、不必进行零点和满度调整。8、转换频率范围10kHz1280kHz,当CLK=500kHZ时,转换速度为28us。图4.4 A/D转换模块仿真原理图ADC 0809(0808)引脚的各种接法ADC0809(0808)芯片的各引脚的功能与接法分述如下:4.4.1模拟量输入通道IN0IN7分别表示8个模拟量输入通道, 可分别接8个模拟电压, 每次只能有一个通道被选通。接在该通道上的电压模拟量即可进入AD片,并可转换成对应的8位二进制数从DB7DBo输出、供微机读取。4.4.2 数字量输出数据线DB7DB0 8位数字量输出数据线(DBo为最低位), 三态(由OE端状态控制)。输出数据线可有两种接法(1)逐位对应直接接在微机数据总线DTND0上。这时AD片作为微机的某个Io口, 可由CPU直接读取数据。(2)逐位对应接在并行接口Z80-PIO的口A(口B)的数据线上, 作为PIO口 A(口B)的一个接口来读取其数据。4.4.3 A2、A1、A0输入通道选通线(输入)三极线可有8种状态组合, 用以决定选通8个模拟量输入通道之一。可有三种接法。(1)逐位对应直接接在微机数据总线(如D2DIDO)上。这时输入通道INoIN7选中条件与数据线D2DtD的状态和通道代号的对应关系列于表1。(2)一一对应直接接在微机地址总线A2A1A0上。这H十输入通道选中条件与地址线A2A1A0的状态和通道口地址C的对应关系列于表1。(3)一一对应接在PIO口 或口 的数据线上。例如接在PB7、PB6、PB5上时, 输入通道选通条件与PB7、PB6、PB5的状态和通道代号的对应。 4.4.4 输入,输出控制线ADC0809(0808)有三极输入输出控制线, 其中ALE、START控制输入用,OB控制输出用:141 ALE(Add re s s Latch Enable)地址锁存允许线(输入)。当ALE线上出现高电平时, 能将选通线选中的通道地址锁存在芯片的地址锁存器中, 该通道的模拟量进入芯片。START是AD转换的启动线(fi入)。当该线出现脉冲上升沿时,使 D片复位I脉冲下降沿时,启动AD片、进2AD转换。它与ALE端常连在一起,接受微机送来的外部地垃译码和写信号控制。OE(Output Enable)fi出允许信号(输入)。OE端输入高电平时, 打开芯片通向DB7DBO的三态门输出数据、供CPU读取。当然OE端在接受微机送来的有效信号前,AD转换应已完成, 否则无意义。142 输入输出控制线的连接及相应的软件控制方法 输入输出控制线的连接随选通线的接法不同而不同, 亦可分为三种:(1)选通线与微机地址总线相连,则每个输入通道该具有微机对应的口地址,故在硬件上要用片选号。如图4所示l用(TP801的)PS5(相应的口地址为94H97H)与I88(口地址为98H9BH)相与,再与WR(或IOW )相或非后送STARRT和ALE;同理,OB则为PS5,PE-相与后再与 D(或IOR相或非。此时,输入输出软件实现方法如下:AD输入方法t输入通道口地址(94H9 日之一)先存入c寄存器。之后,用微机输出指令OUT(C),A(A中可为任何内容)在ALE、START端产生一个启动脉冲以启动AD转换,旦转换完成, 即可输出。AID 输出方法t用微机输入指令IN A,(C)即可实现。(2) 选通线与微机数据总线相连 从表1可见,通道代号 实为接在数据总线上的选通线所需数值,并非代表微机的口地址。因此硬件如图2所示, 只需用片选信号 5、 6之即可。软件实现方法如下,AID输入方法t事先绐 赋值为通道代号 (00N07之一)。用LD A, 和OUT(94H),这两条指令, 即可选定和启动 D。AID输出方法t执行IN A,(94H)指夸即可完成。(3) 选通线A2AAo与PIO口 数据线P研、PB6,PB5相连, 则输入通遭可由PB7、PB6、PB5译码来选择(参阅表一)。并可用PB4连接ALE和START 以供控制选通与启动AID片用用PB3连接OE以供控制输出用。假如,同时将AD片的数据线DBTNDBo挂在PIO口 的数据线PATPAo上,舅II D片不用另接片选信号, 就可用软件实现AD转换应先置(PIO口 为输入方式、口B为输出方式5。AID输入方法 用下列四条指令实现输入:LD A, n2 置PBTPB3为所需通道状态,并OUT(8lH), A 置PB4(即ALE、START)为1,锁存通道号LD A,n1 ,置PB4(即ALE、sTART)为0,启动AD0UT(81H ), A 其中 n1为通道代号,为00H,20H、40H、60H、80H、AoH、C0日, EOH之一;n2相应为l0H,l0H、50H,7OH、90H、BOH、DoH、FoH之一。AD输出方法。等待AD转换完成,然后使OE变高与取数。需用如下指令。LD A, O8H ;使PB3(即OE)为1OUT(81H ), AIN A,(80H) ;取数XOR AOUT(8lH),A 使OE:PB3=0若OE连 +5V电源,则AD输出处于直通方式。这时,A/D输出仅用IN A,(80H)一条指令即可实现。若AID输出线D 7D助挂在微机数据总线DTI 上。这时,要用一个片选信号、例如PS5,用 ;5、RD 相或非后进OE。这样,AD输出用IN A,(94H)一条指令即可。4.4.5 转换时问控制缝CLK和EOC151 CLK转换额率线(输入)从启动alDt到选定通道的模拟电压被转换为数字量,需要一定的时间(称为转换时间)。转换时间与CLK 端的时钟信号频率有关,频率高转换时间短。资料介绍,提供CLK的频率在l0千赫j2兆赫间均可, 最佳值为600千赫(这时转换时阃均100微秒。通常CLK由微机内部2兆赫晶振(4兆赫二分频)经四分频成500千赫提供,这时转换时间约120微秒。在实践中发现,CLK直接接机内频率2兆赫也可t逸时转换时间按资料数据约32微秒。在启动AID片后,延时33微秒取数,均获满意结果t实验对,延时22微秒 取数 也是成功的)。若增长延时时间, 取数结果相同。152 EOC(End Of Couversion)AD转换完成信号(输出),高电平有效。启动A/D庸,EOC变低。在AID转换完毕后,EOC自动呈现高电乎。利用EOC绕的作用可实现(1) 查询方式采样启动A/D片后, 不断判别EOC的状态,当EOC=l时,CPU 即可读取AID 转换值。显然, 该方式比定值延时采样, 在时间上更快些。(2) 中断方式采样定时或查询方式在转换过程中均要占用CPU 中断方式则不需占用CPU。4.4.6电源线 161 Vcc与GND为AD片电源电压+5伏与地端。可并联在微机的直流5伏稳压电源上。162 Vref(+)Vref(-)为输入参考电压基准电压) 一般VREF(+)接+5伏,VREF(-)接地。其稳定性影响转换精度。在实际使用中可有三种接法 一(1)VREF(+)、 VREF(-)分别与Vcc、GND相连方法简单, 但参考电压易受电源电压波动而影响转换精度。 (2) 用独立电源供电在稳压直流电源后再经毒级稳压后作为参考电压。(3) 独立供电为提高稳定性, 可再经一级跟随器 ,精度高。4.4.7 A/D程序设计框图地址总线A8作为片选信号,在启动A/D转换时,由单片机的写信号WR和A8控制ADC的地址锁存器和转换启动。EOC引脚接单片机的外部中断,用中断方式读取转换结果的数字量。4.5 CAN收发模块CAN总线通信系统由上位机、主控节点和子节点组成。系统中的节点利用CAN总线构成了总线型结构网络。主控节点是系统的核心节点, 一方面实现了CAN协议与RS一232协议的转换,将上位机的命令通过CAN网络发送给受命子节点,并将从网络上接收到的节点信息发送给上位机;同时,主控节点也具备独立显示和控制功能,当系统脱离上位机独立运行时,可以通过主控节点向各子节点发送控制命令,并可以通过主控节点的LCD显示器显示各子节点状态。子节点根据上位机或主控节点的命令,将节点状态、传感器信息等数据通过CAN网络发送给主控节点。SJAl000采用PHILIPS公司的SJA1000作为CAN总线控制器,总线驱动器选择PCA82C250作为SJAIO00与物理总线的接口。PHILIPS公司的SJA1000符合CAN20B协议,是应用于一般工业环境的独立CAN总线控制器。SJA1000具有完成CAN通信协议所要求的全部特性,经过简单总线连接的SJA1000可完成CAN总线的物理层和数据链路层的所有功能。硬件接口CAN通信电路是以总线通信控制器SJA1000为核心,PCA82C250为总线驱动器,89C51为中央处理器的通信电路。其CANH,CANL的引脚各自通过一个电阻与CAN总线相连,电阻起到一定的限流作用。CANH和CANL与地之间连接了两个小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。在PCA82C250的R脚上接有一个斜率电阻R,电阻大小可根据总线通信速度适当调整,一般在10140k欧之间。调节端的电阻R可选择PCA82C250的3种工作方式:高速工作方式、斜率控制工作模式、待机模式。为了确保主、从机通信过程中的实时性要求,在此采用的是高速工作方式,发送器的输出晶体管快速启闭,电阻R设为0,不限制上升和下降的斜率。同时为降低射频干扰,使用了屏蔽电缆。总线人口处并接双向稳压管,限制线路上可能出现的短时尖峰过电压和增加共模抑制线圈以消除共模信号的干扰。信号传输到导线的端点时会发生反射,干扰正常信号的传输,可在CAN总线两端并接2个120欧的电阻,起到匹配总线阻抗和消除反射的双重作用。图4.6 CAN收发模块仿真原理图CAN技术规范20A为了使设计透明和执行灵活,CAN划分了不同层次:目标层、CAN传输层和物理层。目标层和传输层完成所有服务和由IS0OSI模型目标定义的数据链层的功能,CAN节点分层结构如图4.6所示:应用层目标层报文过滤报文和状态处理传输层故障界定出错检测和信令报文确认应答仲裁报文分帧传输速率和定时物理层信号电平和位表示传输媒体图4.6 CAN节点的分层结构目标层的功能包括:寻找被发送的报文,确定通过传输层接收的报文实际被使用以及提供与硬件有关应用层的接口;在定义目标处理时,存在许多灵活性。传输层的功能主要是传送规则,亦即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。传输层也要确定为开始一次新的发送,总线是否开放或者是否马上开始接收。位定时特性也被作为传输层的一部分。传输层特性不存在修改的灵活性。物理层的范围是有关全部电气特性不同节点间的实际传送。自然,在一个网络内,物理层对于所有节点必须是相同的。然而,在选择物理层时存在很大的灵活性。CAN20A技术规范的范围是定义传输层和与CAN有关的外层。由图可见,传输层描述由目标层接收到的报文和对目标层发送的认可报文。传输层可响应位定时和同步、报文帧、仲裁、应答、错误检测和标定以及故障界定。它是CAN协议的核心。目标层的主要功能是报文滤波和报文处理。物理层定义信号怎样进行发送。在这部分技术规范中未定义物理层,以便允许根据它们的应用,对发送媒体和信号电平进行优化。CAN技术规范2.0BCAN技术规范20B较之CAN技术规范20A的主要不同在于20A给出的是曾在CAN技术规范版本12中定义的CAN报文格式,而20B给出了标准的和扩展的两种报文格式。CAN的协议也是建立在国际标准组织的开放系统互联模型基础上的。不过,其模型结构只能有2层,即只取OSI底层的物理层和数据链路层。由于CAN的数据结构简单,又是范围较小的局域网,因此不需要其他中间层,应用层数据直接取自数据链路层或直接向链路层写数据。结构层次少,有利于系统中实时控制信号的传送。如图4.6.1所示:总线故障管理PLSLME故障界定监控器数据链路层LLC接收滤波超载通知恢复管理MAC数据封装拆装帧编码(填充,解锁填充)媒体访问管理错误检测出错标定应答串行化,解除串行化物理层Pls位编码,解码位定时同步PMA驱动器,接收器特性MDI连接器 图4.6.1 CAN的分层结构LLC子层的主要功能是:为数据传输和远程数据请求提供服务,确认由LLC子层接收的报文实际已经被接收和为恢复管理和通知超载提供信息。在定义目标处理时,存在许多灵活性。MAC子层的功能主要是传送规则,亦即控制帧结构,执行仲裁,错误检测,出错标定和故障界定。MAC子层也要确定为开始一次新的发送,总线是否开始或者是否马上开始接收。位定时特性也是MAC子层的一部分。MAC子层特性不存在修改的灵活性。物理层的功能是有关全部电器特性不同节点间位的实际传送。自然,在一个网络内,物理层所有节点必须是相同的。然而,在选择物理层时存在着很大的灵活性。CAN技术规范20B定义数据链中的MAC子层和LLC子层的一部分,并描述与CAN有关的外层。物理层定义信号怎样进行发送,因而,涉及位定时、位编码和同步的描述。在这部分技术规范中未定义物理层的驱动器接收器特性,以便允许根据它们的应用,对发送媒体和信号电平进行优化。MAC子层是CAN协议的核心。它描述由LLC子层接收到的报文和对LLC子层发送的认可报文。MAC子层可响应报文帧、仲裁、应答、错误检测和标定。MAC子层由称之为故障界定的一个管理实体监控。它具有识别永久性故障或短暂扰动的自检机制。LLC子层的主要功能是报文滤波,超载通知和复原管理。在CAN协议中使用四种协议帧,分别是数据帧、远程帧、错误指示帧和超载帧。(1)数据帧数据帧自一个发送节点携带数据至一个或多个接收节点,数据帧结构如图3-3所示。数据帧由七种不同的位域组成:帧的起始域;仲裁域;控制域;数据域;CRC域;应答域;帧的结束域。帧间空间帧空间数据帧或过载帧帧起始 仲裁域控制域 数据区 CRC域 应答域帧结束图4.6.2 数据帧结构上面图4.6.2中每部分的含义如下:帧的起始域:该域表示一个数据帧或远程帧的开始,它由一个显性组成,该显性用于接收状态下的CAN控制器的硬同步。仲裁域:由信息标识符及RTR位组成,当有多个CAN控制器同时发送数据时,在仲裁域要进行面向位的冲突裁决。标识符:由11位组成,用于提供信息地址及优先级。其发送顺序为ID10至ID0(LSB)。需要注意的是,其最高七位(ID10至ID4)均为隐性的现象不允许出现。ID决定了报文的优先权,ID的数值越小,优先级越高。这一点可以从CAN总线的物理特性理解。当总线上有几个节点同时需要发送数据,其ID标识符分别为01001011111;010011111ll和01111111111,当发送ID10和ID9时,三个节点都没有发现冲突,于是继续发送ID8,这时由于C节点发送的是隐性(逻辑1),而A和B节点都发送的是显性(逻辑0),各节点上是集电极开路, “线与”的关系,所以C节点发现有冲突,而且自己标识符的优先级低,于是C节点退出仲裁。同样的道理,8节点在发送I D5后退出仲裁。CAN总线优先级的仲裁与Ethemet有很大的不同。Ethemet采用的是CSMACD协议,即检测到碰撞后,各节点均先退出发送,经过各自随即产生的时间延迟后再重新发送。而CAN总线这种按优先级判别的方法,可以使优先级高的消息先发送。因此,标识符取值最小的节点能够占据总线。需要注意的是,优先级别取决于发送消息中的标识符,而不是节点。标识符并不限定某一特定节点接收该信息,因为CAN网络支持点对点、一点对多点接收及广播几种通讯方式。远程帧发送请求位(RTR):CAN总线上的接收节点可以请求总线上另一个节点发送信息,方法是向网络上发出远程帧用标识符指出节点地址,并置RTR位(如图4.6.3)为高。如果所寻址节点立即发送所请求的数据,则使用相同的标识符,此时总线上不会产生冲突,因为数据帧的RTR位此时为低(数据,显性)帧间空间帧起始控制域控制域IDE位RTR位图4.6.3RTR位控制域:此域由6个位组成(如图4.6.4),包括2个保留位(ID及ro,用于CAN协议扩展)及4位数据长度码,允许的数据长度值08。控制域数据区r1r0DLC3 DLC2 DLC1 DLC3crc区保留位数据长度码图4.6.4控制域结构数据域:发送缓冲区中的数据按照数据长度代码指示的长度发送。对于接收的数据同样如此,第一个数据字节的最高有效位第一个被发送接收。(其结构如图4.6.5)数据域CRC域应答域 控制域CRC校验码CRC界定符图4.6.5 数据域结构循环冗余校验(CRC)域:CRC域由CRC序列位(1位)及CRC连界符(一个隐性)组成。CRC范围包括帧的起始域、仲裁域、控制域、数据域及CRC序列。CRC序列的最高有效位被首先发送接收,选用这种帧校验式,是由于这种CRC码对于少于127位的帧是最佳的。应答域:应答域由发送方发出的两位(应答空隙及应答分界)隐性组成,所有接收到正确的CRC序列的节点将在发送节点的应答空隙上将发送方的这一隐性改写为显性。因此,发送节点将一直监视总线信号以确保网络中至少一个节点正确地收到了所发信息。应答分界位是应答域中第二个隐性。由此可见,应答空隙两边有两个隐性,CRC分界位及应答分界位。帧结束域:每一个数据帧或远程帧均由一串7个隐性的帧结束域结尾。这样,接收节点可以正确检测到一个帧的结束。(2)远程帧CAN上的一个接收节点可以启动数据传输,方法是向网络上发一个远程帧,用标识符寻址数据发送源节点,且置相应帧的RTR位为高。远程帧与数据帧有如下不同:RTR位为高;数据长度代码无效;无数据域。远程帧由6个域组成:帧起始域、仲裁域、控制域、CRC域、应答域、帧结束域。(3)错误指示帧错误指示帧由两个不同的域组成:第一个域反映来自控制器的错误标志,第二个域为错误分界符。错误标志有两种形式的错误标志:主动错误标志,它由6个连续显性组成:被动错误标志,它由6个连续隐性组成,它可由其它CAN控制器的显性改写。处于主动错误状态的CAN节点检测到错误后,将发出主动错误标志,该错误标志不满足位填充(插入)规则,或者破坏T应答域或帧结束域的固定格式。所有其它节点都将检测到错误状态,并发出该错误标志。因此,这些从总线上监测到的显性串是各节点发出的不同错误标志的结果,这一位串的长度最小是6个,最长是12个。被动错误状态的CAN控制器检测到错误后发出被动错误标志,并等待从被动错误标志开始的相同极性的6个连续位。当这6个相同位被检测到后,被动错误标志结束。错误分界错误分界符由8个隐性组成它与过载分界有相同的格式。当错误标志发生后,每一个CAN节点监视总线,直至检测到一个显性的跳变。此时表示所有的CAN节点已经完成了错误标志的发送,并开始发送8个隐性的分界符。之后网络上的主动错误节点便可同时开始其它的发送。如果在数据帧或远地帧的发送过程中,出现错误,则当前的信息作废,并重新启动数据发送。如果CAN节点发现错误指示帧出错,则重发。当连续出现错误指示帧错误时,则相应的节点将变为被动错误节点。为正确地结束错误标志,被动节点需要总线空闲至少三个位周期(如果在一个被动错误态接收控制器出现本地错误)。 (4)超载帧超载帧由两个区域组成:超载标志及超载分界符。下述两种状态将导致超载帧发送:接收方在接收一帧之前需要过多的时间处理当前的数据(接收未准备好);在帧间空隙域检测到显性信号。超载帧发送条件条件有两个:在帧间空隙域的第一个位周

温馨提示

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

评论

0/150

提交评论