(一)CAN总线通信网络信息传输原理
CAN总线通信网络上的节点会根据工作需要访问总线,由于CAN网络为多主结构,故各节点内CAN收发器内部的驱动器,都可以连续输出显性和隐性电压,而且CAN收发器内部的接收器接收总线信号(消息)。这些信号结构由数据帧单元组成,这些数值包括由各厂商进行了不同定义的ID、传输信号、各信号的功能及物理量。
1.高速CAN总线通信网络信息传输
1)信号发送
当总线为空闲状态时,收发器测量总线电压为2.5 V,这是高速CAN总线的基准电压,由收发器内部电路提供。
如图2-24(a)所示,中央处理器将需要传输的信息发送给CAN控制器,控制器以数字信号的形式驱动收发器内部的驱动器电路,当驱动器同时起动电路中分别与CAN-H和CAN-L总线相连的两个FET时,驱动器电路中的5 V电源通过FET流到CAN-H总线,CAN-H总线的2.5 V基准电压拉升到3.5 V,CAN-L总线上的2.5 V基准电压连接到低电位,电压降低到1.5 V。
此时总线上输出的是显性信号,CAN-H和CAN-L线压差为2 V,
如果当数据传输时驱动器没有起动,则总线保持2.5 V。此时总线上输出的是隐性信号,CAN-H和CAN-L线压差为0 V。
2)信号接收
如图2-24(b)所示,当节点需要从总线上采集信号时,差动放大器将CAN-H与CAN-L线的电压值进行差动处理,并将结果发送给控制器。控制器依据数字信号识别原则(压差方式识别数字信号),如果CAN-H和CAN-L线压差为2 V,则CAN控制器内部接收器接收信号并检测信号为显性信号,得到结果为“0”。如果CAN-H和CAN-L线压差为0 V,则CAN控制器内部接收器接收信号并检测信号为隐性信号,得到结果为“1”。
图2-24 高速CAN信号传输
(a)高速CAN信号发送;(b)高速CAN信号接收
2.低速CAN总线通信网络信号传输
1)信号发送
当总线为空闲状态时,CAN收发器测量总线电压CAN-H线为0 V,CAN-L线为5 V,这是低速CAN总线的基准电压。当总线由睡眠模式进入警戒模式后大约60 s,CAN-H线电压保持0 V,CAN-L线电压保持12 V。上述电压由收发器内部电路提供。
如图2-25(a)所示,中央处理器将需要传输的信息发送给CAN控制器,控制器以数字信号的形式驱动收发器内部的驱动器电路,当驱动器同时起动电路中分别与CAN-H和CAN-L线相连的FET时,CAN-H线电压从0 V上拉至3.6 V,CAN-L线上的5 V电压连接到低电位,电压降低到1.4 V。此时,总线上输出的是显性信号,CAN-H和CAN-L线压差为2.2 V。
如果数据传输时驱动器没有起动,则CAN-H保持0 V、CAN-L线保持5V。此时,总线上输出的是隐性信号,CAN-H和CAN-L线压差为-5 V。
2)信号接收
如图2-25(b)所示,当节点需要从总线上采集信号时,差动放大器将CAN-H与CAN-L线的电压值进行差动处理,并将结果发送给控制器。控制器依据数字信号识别原则(压差方式识别数字信号),如果CAN-H和CAN-L线压差为2.2 V,则CAN控制器内部接收器接收信号并检测信号为显性信号,得到结果为“0”。如果CAN-H和CAN-L线压差为-5 V,则CAN控制器内部接收器接收信号并检测信号为隐性信号,得到结果为“1”。
当低速CAN总线通信网络出现CAN-H或CAN-L线断路、短路故障时,低速CAN总线通信网络将转入单线工作模式。
高速CAN和低速CAN的通信原理是相同的,但CAN收发器结构不同。如果两条线路中的一条线分离时(断路、短路故障),由于不能检测电压差,所以高速CAN通信发生故障。但是低速CAN可以维持通信,此时低速CAN收发器将压差方式识别数字信号改为偏压方式识别数字信号,从而判断所传输的信息含义。
图2-25 低速CAN信号传输
(a)低速CAN信号发送;(b)低速CAN信号接收
(二)CAN总线通信网络信息传输过程
CAN总线通信网络并没有指定的信息接收者,即信息在CAN总线通信网络的传输过程中,可以被所有节点接收和计算。下面以发动机转速信息的传输过程为例,分析CAN总线通信网络中信息的传输过程,如图2-26所示。
图2-26 信息的传输过程
1.信息发送
1)节点微控制器的任务
首先是发动机节点微控制器接收到发动机转速信息(转速值),该值以固定的周期(循环往复地)到达发动机节点微控制器的输入存储器内。由于瞬时转速值不仅用于发动机运转控制、变速器换挡控制,还用于显示其值的控制单元(如组合仪表),故该值通过CAN总线通信网络来传输,以实现信息共享。于是转速值就被复制到发动机节点微控制器的发送存储器内,并从发送存储器经过内部总线进入CAN控制器的发送邮箱内。
如果发送邮箱内已有一个发动机转速实时值,那么该值会由发送特征位显示出来。将发送任务委托给CAN控制器,发动机节点微控制器就完成信息传输任务。(www.xing528.com)
2)CAN控制器的任务
当CAN控制器收到由发动机节点微控制器经过内部总线转送的发动机转速值(字节信息)后,CAN控制器按协议将字节信息转换成如图2-27所示的帧格式字节信息,并发送给CAN收发器。
图2-27 帧格式字节信息
3)CAN收发器的任务
CAN总线通信网络上各个控制模块通过自身嵌入CAN收发器的Rx线来检查总线是否是显性状态(是否有别的信息传递),必要时会等待,直至总线空闲下来为止(隐性状态),如图2-28所示。如果总线空闲,则说明发动机转速的帧格式字节信息就会被CAN收发器转化成帧格式电平信息,并发送到CAN总线通信网络上。
图2-28 总线空闲查询
2.信息接收
当总线为显性状态时,所有与该CAN总线通信网络连接的节点都转为接收器,从CAN总线通信网络上接收数据。信息接收过程分为两步,第一步为检查信息是否正确(在监控层),第二步为检查信息是否可用(在接受层),其过程如图2-29所示。
图2-29 信息接收过程
1)信息接收
连接CAN总线通信网络的所有节点都接收发动机节点微控制器发送的信息,该信息是通过Rx线到达数据传输总线构件的接收区。
2)信息校验
接收器接收发动机的相关信息,并且在相应的监控层检查这些信息是否正确,从而识别出在某种情况下某一节点上出现的局部故障。
3)信息接受
已接收到的正确信息会到达相关数据传输总线构件的接受区,在那里决定该信息是否用于完成各控制单元的功能。如果不是,则该信息就被拒收;如果是,则该信息就会进入相应的接收邮箱。控制单元根据接收信号可知有一个信息(如转速)在排队等待处理,如图2-30所示。组合仪表节点微控制器调出该信息并将相应值复制到它的输入存储器内,至此,通过数据传输总线构件发送和接收信息的过程结束。在组合仪表内的转速信息经微控制器处理后显示相应的转速。
图2-30 信息接受判断
(三)CAN总线通信网络信息传输/接收实例
以某款汽车发动机控制模块(Engine Control Module,ECM)传输/接收每条控制器信息(消息)为样本,CAN总线通信网络信息传输/接收如下。
1.ECM传输信息
动力控制模块(Powertrain Control Module,PCM)内侧包括配备CPU的ECM与汽车自动变速箱控制模块(Transmission Control Module,TCM)和二者的收发器。在电子控制单元(Electronic Control Unit,ECU)内是120Ω终端电阻,并且它与仪表盘一起,有形成高速CAN端子的功能。电子控制单元又称为车载电脑。ECU传输总计9条信息到高速CAN总线,并且使用此数据的控制器如图2-31所示。每条信息包括多种信号,并且实时发动机数据以一定时间间隔被传输到CAN总线。使用此数据的控制器应用滤波器来识别和接收数据。
高速CAN的相关控制器使用ECM传输的信息见表2-4,车辆实际使用的信息和信号的数量大于表2-4所列的数量。此外,信号不同于数据,有多种形式,它可以是命令、信号值,也可以是状态信息。
2.ECM接收信息
如图2-32所示,ECM接收的信息通常是发动机动力请求数据和各种控制信号。发动机包括控制GDI喷油嘴和高压泵的信号,以及当前压力和操作燃油泵的诊断数据。TCM发送发动机转速和扭矩请求信号以及当前挡位到ECM。此外,底盘控制器发送相关数据到ECM,使ETC系统根据需要控制发动机转速和扭矩。
图2-31 ECM传输信息
表2-4 传输的信息
图2-32 ECM接收信息
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。