CAN基础2主要内容概述CAN基本原理CAN总线的国内外发展现状CAN总线电磁兼容设计3概述CAN的起源CAN—ControllerAreaNetwork—是20世纪80年代初德国Bosch公司为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换而开发的一种串行通信协议4概述CAN的起源传统的汽车线束连接PowertrainControlEngineControlActiveSuspensionABS/ASRTransmissionControlDoorControlAirbagAirConditionSeatControlPowerLocksLightControlBodyControlDashboard5PowertrainControlEngineControlActiveSuspensionABS/ASRTransmissionControlDoorControlAirbagAirConditionSeatControlPowerLocksLightControlBodyControlDashboard概述CAN的起源汽车的CAN网络PowertrainControlBodyControlDashboardDoorControlAirbagAirConditionSeatControlPowerLocksLightControlEngineControlActiveSuspensionABS/ASRTransmissionControl高速CAN低速CAN6概述CAN的历史1983年,Bosch开始研究车上网络技术1986年,Bosch在SAE大会公布CAN协议1987年,Intel和Philips先后推出CAN控制器芯片1991年,Bosch颁布CAN2.0技术规范,CAN2.0包括A和B两个部分1991年,CAN总线最先在BenzS系列轿车上实现7概述CAN的历史1993年,ISO颁布CAN国际标准ISO-118981994年,SAE颁布基于CAN的J1939标准2003年,Maybach发布带76个ECU的新车型(CAN,LIN,MOST)2003年,VW发布带35个ECU的新型Golf……未来,CAN总线将部分被FlexRay所取代,但CAN总线将仍会被持续应用相当长的时间8概述CAN的特性采用双线差分信号协议本身对节点的数量没有限制,总线上节点的数量可以动态改变广播发送报文,报文可以被所有节点同时接收EMI应用层数据链路层物理层CAN_HCAN_L节点A报文报文比特流差分电压节点n…40m@1Mbps…隐性显性隐性CAN_HCAN_LUdiff9概述CAN的特性采用双线差分信号0.5V4.5VCanHtt4.5V0.5VCanL101100102.5V2.5V两根线构成总线,CANHigh与CANLow。这两根线之间的电位差可以对应两个不同的逻辑状态进行编码。如果CANH–CANL2那么比特为0如果CANH–CANL=0那么比特为110概述CAN的特性CANHCANL+-SCANHt4.5V0.5V2.5VtCANL4.5V0.5V2.5V限制传输辐射,补偿接地差,能够很好地抗干扰。11概述CAN的特性多主站结构每个报文的内容通过标识符识别,标识符在网络中是唯一的标识符描述了数据的含义某些特定的应用对标识符的分配进行了标准化根据需要可进行相关性报文过滤CAN节点滤波器CAN节点滤波器CAN节点滤波器CAN节点滤波器CAN节点滤波器IDDataCAN…12概述CAN的特性保证系统数据一致性CAN提供了一套复杂的错误检测与错误处理机制,比如CRC检测、接口的抗电磁干扰能力、错误报文的自动重发、临时错误的恢复以及永久错误的关闭EMI应用层数据链路层物理层CAN_HCAN_L节点A报文报文比特流差分电压节点n…40m@1Mbps…错误检测错误处理13概述CAN的特性使用双绞线作为总线介质时,总线长度=40米,传输速率可达1Mbps采用NRZ和位填充的位编码方式01040100200100010000总线长度/m51020501002005001000位速率/kbps隐性显性填充位位速率与总线长度的关系NRZ和位填充14概述CAN的特性总线访问—非破坏性仲裁的载波侦听多路访问/冲突检测CSMA/CD(CarrierSenseMultipleAccess/CollisionDetection)载波侦听,网络上各个节点在发送数据前都要检测总线上是否有数据传输网络上有数据不发送数据,等待网络空闲网络上无数据立即发送已经准备好的数据多路访问,网络上所有节点收发数据共同使用同一条总线,且发送数据是广播式的冲突检测,节点在发送数据过程中要不停地检测发送的数据,确定是否与其它节点数据发生冲突15CAN基本原理汽车总线汽车总线的分类类别位速率/kbps应用场合应用范围协议A~10车身系统电动门窗、座椅调节、灯光照明控制等LINCANB10~125状态系统电子仪表、驾驶信息、故障诊断、安全气囊、自动空调等J1850VANCANC125~1000实时控制系统发动机控制、变速控制、ABS、悬架控制、转向控制等CAND1000~多媒体系统MOSTFlexRayD2BIEEE139416CAN基本原理汽车总线汽车总线的应用17CAN基本原理CAN标准CAN与OSI参考模型3网络层7应用层6表示层5会话层4传输层OSI参考模型2数据链路层1物理层2数据链路层1物理层PLSPMAMDILLCMACLLC,LogicalLinkControl逻辑链路控制MAC,MediumAccessControl媒介访问控制PLS,PhysicalSignalingSublayer物理信令子层PMA,PhysicalMediumAttachment物理介质连接MDI,MediumDependentInterface介质相关接口CAL,CANopen(CiA)DeviceNet(ODVA)SDS(Honeywell)NMEA-2000(NMEA)J1939(SAE)汽车和工业自动化领域广泛应用18CAN基本原理CAN标准CAN2.0版本2.0A—将29位ID视为错误2.0B被动—忽略29位ID的报文2.0B主动—可处理11位和29位两种ID的报文CAN2.0ACAN2.0BPassiveCAN2.0BActiveOKOKOK总线错误容纳OK11位ID数据帧29位ID数据帧19CAN基本原理CAN标准ISO118982数据链路层1物理层PLSPMAMDILLCMACOSI参考模型CAN2.0CAN物理层ISO11898-1ISO11898-2ISO11898-3CAN控制器CAN收发器CANISO11898CAN实现ISO11898-1:2003Roadvehicles--Controllerareanetwork(CAN)--Part1:DatalinklayerandphysicalsignallingISO11898-2:2003Roadvehicles--Controllerareanetwork(CAN)--Part2:High-speedmediumaccessunitISO11898-3:2006Roadvehicles--Controllerareanetwork(CAN)--Part3:Low-speed,fault-tolerant,medium-dependentinterfaceISO11898-4:2004Roadvehicles--Controllerareanetwork(CAN)--Part4:Time-triggeredcommunicationISO11898-5Roadvehicles--Controllerareanetwork(CAN)--Part5:High-speedmediumaccessunitwithlow-powermode20CAN基本原理CAN标准拓扑结构21CAN基本原理CAN节点硬件电路框图微控制器、CAN控制器、CAN收发器22Rt/2Rt/2CgCgRt/2Rt/2CAN_HCAN_LRt/2=62ΩCg=10...100nFCAN基本原理CAN标准拓扑结构CPUCANControllerRxDTxDCAN_HCAN_LTxDRxDCAN_HCAN_LTxDRxDEMSABSAT…SeatControlDoorControl…RTLRTLRt=120ΩRt=120Ω终端电阻的替代形式高速CAN低速、容错CAN23CAN基本原理CAN标准总线电平差分电压24CAN基本原理CAN标准总线电平3.5V2.5V1.5V隐性显性隐性逻辑0逻辑1tCAN_HCAN_L0V1V2.5V4V5V显性隐性隐性CAN_LCAN_H0V1V2.5V4V5V显性隐性隐性低速、容错CAN电平单线CAN电平高速CAN电平CAN逻辑表示显性隐性显性或隐性差分电压隐性表示1,显性表示025CAN基本原理CAN的总线访问“线与”机制“显性”位可以覆盖“隐性”位;只有所有节点都发送“隐性”位,总线才处于“隐性”状态节点在发送报文时进行回读通过ID仲裁,ID数值越小,报文优先级越高,占有总线winloselose节点A节点B节点C总线优先级最高26CAN基本原理CAN的总线访问非破坏性仲裁任何节点在总线空闲时都能发送报文发送低优先级报文的节点退出仲裁后,在下次总线空闲时重发报文ITMITM节点AID=75Data节点BID=250Data节点CID=1000DataCANID=75Data节点A节点C节点B总线ID=250ID=1000ID=75DataID=250ID=1000DataID=250DataID=1000ID=1000DataData竞争阶段竞争阶段竞争阶段tCSMA/DA27CAN基本原理CAN的帧格式数据帧携带从发送节点至接收节点的数据远程帧向其他节点请求发送具有同一标识符的数据帧错误帧节点检测到错误后发送错误帧超载帧在先行的和后续的数据帧(或远程帧)之间附加一段延时—通常不用帧间空间数据帧(或远程帧)通过帧间空间与前述的各帧分开28CAN基本原理CAN错误检测1)循环冗余检查(CRC)2)帧检查(格式检查)3)应答错误4)总线检测(位检测)5)位填充29CAN基本原理错误检测CRC检测CRC错误节点计算的CRC序列与接收到的CRC序列不同格式检测格式错误固定格式位场(如CRC界定符、ACK界定符、帧结束等)含有一个或更多非法位ACK检测ACK错误发送节点在ACK位期间未检测到“显性”位ExtendedIDIDESRRSOFEOFITMDELACKDELCRCDataFieldDLCr0r1RTRIDBusIdleBusIdleCRC检测位检测填充检测格式检测ACK检测30CAN基本原理错误检测位检测位错误节点检测到的位与自身送出的位数值不同仲裁或ACK位期间送出“隐性”位,而检测到“显性”位不导致位错误填充检测填充错误在使用位填充编码的帧场(帧起始至CRC序列)中,不允许出现六个连续相同的电平位ExtendedIDIDESRRSOFEOFITMDELACKDELCRCDataFieldDLCr0r1RTRIDBusIdleBusIdle填充检测位检测31CAN总线的国内外发展现状国外发展现状:在欧美,CAN总线技术发展应用已十分成熟,大部分汽车制造商,如宝马、保时捷、劳斯莱斯、大众、沃尔沃、雷诺等都已经使用了CAN总线。支持CAN协议的有英特尔、摩托罗拉、惠普、西门子、MICROCHIP、NEC、SILIONI等著名公司,硬件、软件配套十分完善。32CAN总线的国内外发展现状国内发展现状国内较早研究CAN总