CAN总线详尽讲解CAN总线系统Controller(控制器)Area(局域)Network(网络)CANBus-控制器局域网络总线CAN总线系统-历史历史:–CAN是由Bosch和Intel在八十年代末开发,用于连接客车和卡车ECU的标准化的总线系统。–CAN2.0标准在1991年发布,迄今沿用。–在1992年首先应用在MercedesS-系列车中(连接发动机和变速箱ECU)。–1993年CAN成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。–如今CAN总线在自动化领域中作为现场总线普遍使用。–任何官方应用需要向Bosch支付费用。CAN总线系统-历史现状:由于CAN总线的特点,得到了Motorola,Intel,Philip,Siemence,NEC等公司的支持,它广泛应用在离散控制领域,其应用范围目前已不仅局限于汽车行业,已经在自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域中得到了广泛应用。CAN总线-应用目前世界上绝大多数汽车制造厂商都采用CAN总线来实现汽车内部控制系统之间的数据通信。CAN总线-应用CAN总线为什么在汽车上得到了如此广泛的应用呢?CAN总线-优点在该例中,共需要5条数据线进行数据传递,也就是说,每项信息都需要一个独立的数据线。面临问题:如果传递信号项目多,还需要更多的信号传输线,这样会导致电控单元针脚数增加、线路复杂、故障率增多及维修困难。CAN总线-优点各控制单元之间的所有信息都通过两根数据线进行交换——CAN数据总线通过该种数据传递形式,所有的信息,不管控制单元的多少和信息容量的大小,都可以通过这两条数据线进行传递,能大规模的减少系统的复杂性。CAN总线-优点?................................................5个控制器原始网络10个连接线只是为了必要的数据交换780-1000个连接线还能以此来实现必要的数据交换吗?40-60个控制器...通过CANBUS-技术找到了解决办法和可能性CAN总线-优点各控制单元之间的所有信息都通过两根数据线进行交换——CAN数据总线CAN总线-优点带有三个中央控制单元和总线系统的车CAN总线-优点CAN总线-优点(1)利用最少的传感器信号线来传递多用途的传感信号,车辆控制更加精确、智能。(2)电控单元和电控单元插脚最小化应用,节省有限空间。(3)线束与接头更少,故障率低,检修方便,系统稳定性高。(4)如果系统需要增加新的功能,仅需软件升级即可。(5)各电控单元的监测器对所连接的CAN总线进行实时监测。通过控制单元和辅助安全措施对传递信息的持续检查,可以达到最低的故障率。(6)CAN数据总线符合国际标准,以便于一辆车上不同厂家的电控单元间进行数据交换。CAN总线系统-基础概念数据总线:各个节点间进行数据通信的通道,即所谓的信息高速公路。CAN总线系统-基础概念多路传输:在同一个通道上或线路上同时进行多条信息的传输。CAN总线使用的“时分多路传输”CAN总线系统-基础概念二进制:二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。00111100600101000080CAN总线系统-基础概念计算机与外界的信息交换称为通信。通信的基本方式可分为并行通信和串行通信两种。所谓并行通信是指数据的各位同时在多根数据线上发送或接收。串行通信是数据的各位在同一根数据线上依次逐位发送或接收。串、行通信:CAN总线系统-基础概念CAN总线系统-基础概念异步通信和同步通信同步通信(SynchronousCommunication)同步通信是一种连续传送数据的通信方式,一次通信传送多个字符数据,称为一帧信息。数据传输速率较高,通常可达56000bps或更高。其缺点是要求发送时钟和接收时钟保持严格同步。同步字符数据字符1数据字符2…数据字符n-1数据字符n校验字符(校验字符)异步通信(AsynchronousCommunication)在异步通信中,数据通常是以字符或字节为单位组成数据帧进行传送的。收、发端各有一套彼此独立,互不同步的通信机构,由于收发数据的帧格式相同,因此可以相互识别接收到的数据信息。CAN总线系统-基础概念CAN总线系统-基础概念串行通信的制式在串行通信中,数据是在两个站之间传送的。按照数据传送方向,串行通信可分为三种制式。1.单工制式(Simplex)单工制式是指甲乙双方通信只能单向传送数据。发送器A接收器B图9.5单工制式2.半双工制式(Halfduplex)半双工制式是指通信双方都具有发送器和接收器,双方既可发送也可接收,但接收和发送不能同时进行,即发送时就不能接收,接收时就不能发送。发送接收发送接收A端B端半双工制式CAN总线系统-基础概念3.全双工制式(Fullduplex)全双工制式是指通信双方均设有发送器和接收器,并且将信道划分为发送信道和接收信道,两端数据允许同时收发,因此通信效率比前两种高。发送接收接收发送A端B端全双工制式CAN总线系统-基础概念串行通信的校验串行通信的目的不只是传送数据信息,更重要的是应确保准确无误地传送。因此必须考虑在通信过程中对数据差错进行校验,因为差错校验是保证准确无误地通信的关键。常用差错校验方法有奇偶校验、累加和校验以及循环冗余码校验等。CAN总线系统-基础概念1.奇偶校验奇偶校验的特点是按字符校验,即在发送每个字符数据之后都附加一位奇偶校验位(1或0),当设置为奇校验时,数据中1的个数与校验位1的个数之和应为奇数;反之则为偶校验。奇偶校验只能检测到那种影响奇位数的错误,比较低级且速度慢,一般只用在异步通信中。CAN总线系统-基础概念2.累加和校验累加和校验是指发送方将所发送的数据块求和,并将“校验和”附加到数据块末尾。接收方接收数据时也是先对数据块求和,将所得结果与发送方的“校验和”进行比较,若两者相同,表示传送正确,若不同则表示传送出了差错。“校验和”的加法运算可用逻辑加,也可用算术加。累加和校验的缺点是无法检验出字节或位序的错误。CAN总线系统-基础概念3.循环冗余码校验(CRC)循环冗余码校验的基本原理是将一个数据块看成一个位数很长的二进制数,然后用一个特定的数去除它,将余数作校验码附在数据块之后一起发送。接收端收到该数据块和校验码后,进行同样的运算来校验传送是否出错。目前CRC已广泛用于数据存储和数据通信中,并在国际上形成规范,市面上已有不少现成的CRC软件算法。CAN总线系统-基础概念CAN总线系统-基础概念CAN总线串行CRC同步半双工CAN总线系统-基础概念位速率:指总线的通信传输速率,单位是位/秒(bit/s)。在CAN总线中一般用的单位是kbit/s。注意:CAN总线的最高位速率和通信距离相关。CAN总线组成CAN总线硬件软件CAN总线组成数据传输线数据传输终端数据传输终端通信节点通信节点CAN总线组成-硬件(导线)传输线:两条扭绞在一起的导线称为双绞线,两条导线分别叫CAN-High和CAN-Low线,或者简称CAN-H和CAN-L。CAN总线组成-硬件(导线)+1V-1V外界的干扰同时作用于两根导线产生的电磁波辐射相互抵消~0V为什么要使用双绞线呢?生产麻烦还浪费材料。CAN总线组成-硬件(导线)为了减少干扰,CAN-Bus的传输线采用双绞线,其绞距为20mm,截面积为0.35mm2或0.5mm2。CAN总线组成-硬件(导线)修理要求:修理时不能有大于50mm的线段不绞合。修理点之间的距离至少要相隔100mm,以避免干扰。CAN总线组成-硬件(导线信号)导线上的具体是什么样的电信号呢?CAN总线上应该出现的只有0和1信号。通过两条信号线上电压差的大小来表示0和1,即差分电压传输。信号=CAN_H-CAN_L37CAN总线组成-硬件(导线信号)CAN-H的高电平为:3.5伏CAN-H的低电平为:2.6伏CAN-L的高电平为:2.4伏CAN-L的低电平为:1.5伏逻辑“1”:CAN-H=2.6VCAN-L=2.4V电压差=2.6V-2.4V=0.2V逻辑“0”:CAN-H=3.5VCAN-L=1.5V电压差=3.5V-1.5=2.0V驱动性CAN总线电压信号(大众)38CAN总线组成-硬件(导线信号)39差分传输抗干扰具有很强的能力CAN总线组成-硬件(导线信号)由于CAN-H线和CAN-L线是紧密的放置在一起的,所以干扰脉冲X就总是有规律地同时作用在两条线上。40差分传输抗干扰具有很强的能力CAN总线组成-硬件(导线信号)由于差动信号放大器总是用CAN-H线上的电压(3.5V-X)减去CAN-L线上的电压(1.5V-X),因此在经过处理后,差动信号中就不再有干扰脉冲了.信号=(3.5-X)-(1.5-X)=2V线路的改装和重新布置时必须要将一对CAN总线放置在一起。41CAN总线组成-硬件(导线信号)CAN-H的高电平为:3.6伏CAN-H的低电平为:0伏CAN-L的高电平为:5.0伏CAN-L的低电平为:1.4伏逻辑“1”:CAN-H=0VCAN-L=5V电压差=0V-5V=-5V逻辑“0”:CAN-H=3.6VCAN-L=1.4V电压差=3.6V-1.4=2.2V舒适性CAN总线电压信号(大众)42CAN总线组成-硬件(导线信号)奔驰CAN总线电压信号CAN-H的高电平为:4.65伏CAN-H的低电平为:2.6伏CAN-L的高电平为:2.4伏CAN-L的低电平为:0.65伏逻辑“1”:CAN-H=2.6VCAN-L=2.4V电压差=2.6V-2.4V=0.2V逻辑“0”:CAN-H=4.65VCAN-L=0.65V电压差=4.65V-0.65V=4.0V4.650.6543CAN总线组成-硬件(数据传输终端)数据传输线数据传输终端数据传输终端通信节点通信节点数据传输终端实际上就是两个阻抗为120欧姆的电阻,也称为终端电阻。总线上的总阻抗大概是60-70欧姆左右。终端电阻的大小和传输线相关。44CAN总线组成-硬件(数据传输终端)45CAN总线组成-硬件(数据传输终端)没有正确匹配的波形46CAN总线组成-硬件(数据传输终端)数据传输终端为了保证传输信号不发生变形,保证通信的顺利进行。没有正确匹配的波形CAN总线组成-硬件(分支线)数据传输线数据传输终端数据传输终端通信节点通信节点分支线的长度不能太长,一般要去不要超过6M48CAN总线组成-硬件(通信节点)数据传输线数据传输终端数据传输终端通信节点通信节点通信节点:总线上数据通信的发起者和接受者。在汽车上CAN总线的通信节点一般是各种电脑,例如:发动机控制电脑、自动变速器电脑、ESP电脑、灯光组合开关电脑、仪表电脑等等。49传感器执行元件模块控制器CAN控制器CAN收发器TXRX汽车电脑CAN总线组成-硬件(通信节点)传感器执行元件模块控制器CAN控制器CAN收发器TXRX汽车电脑CAN-HCAN-L50传感器执行元件模块控制器CAN控制器CAN收发器TXRXCAN总线组成-硬件(通信节点)传感器执行元件模块控制器CAN控制器CAN收发器TXRX51CAN总线组成-软件软件:就是通信规则,我们也称为通信协议。例如:规定通信的速度是多快,规定通信的格式,规定通信的优先级等等。52CAN总线组成-软件(多主通信)•所有控制单元都具有相同的条件,即每一个节点的权利相同都能占用总线(发送和接收)。SG1转向柱传感器发送/接收SG2制动器控制单元SG3发动机控制单元SG4变速箱控制单元CAN-Bus发送/接收发送/接收发送/接收•利用CSMA/CA原理来实现多主通信。53CAN总线组成-软件(广播通信)•总线上的所有模块都能接受到发送模块送发送的信息。54CAN总线组成-软件(广播通信)•总线上的所有模块都能接受到发送模块送发送的信息。标示符I仲裁域12控制域6数据域8N64CRC校验域15结束域70000111111111CAN总线组成-软件(帧结构)CAN总线组成-软件(帧结构)