CAN 数据总线包括控制单元(CPU)、控制器(Controller)、收发器(Tranceiver)、数据传输终端电阻,如图2-12所示。
图2-12 CAN 数据总线组成
1.控制单元
控制单元是CAN 数据总线主要计算器,将控制器传递来的信息进行运算,将运算数据传输给控制器。还具有故障记忆功能。
2.控制器
控制器是CAN 通信的控制单元,主要作用是接收来自传感器的信号,形成要发送的指令,或将总线通过接收器传递信号进行转换传递给控制单元(CPU),再将控制单元传来信号形成发送指令通过发送器传递总线。或直接驱动执行元件。图2-13为总线控制系统内部原理图。控制单元接收到的传感器值(如发动机温度或转速)会被定期查询并按顺序存入存储器,这个过程在原理上就相当于一个带有旋转式输入选择开关的选择器。存储器内的传感器数据会被CPU 运算处理,然后存入输出存储器执行控制功能。
图2-13 控制单元内部结构
由于控制单元通过CAN 控制器实现了网络传输,因此,CAN 网络也成了控制单元的输入信息来源。同时,CAN 网络也成了控制单元的信息输出对象。
微控制器按事先规定好的程序来处理输入值,处理后的结果存入相应的输出存储器内,然后到达各个执行元件。为了能够处理数据传输总线信息,各控制单元内还有一个数据传输总线存储区,用于容纳接收到的和要发送的信息。
数据传输总线构件通过接收邮箱(接收信息存储器)或发送邮箱(发送信息存储器)与控制单元相连,该构件一般集成在控制单元的微控制器芯片内。
3.收发器
CAN 收发器由CAN 发送器(Transmitter)和接收器(Receiver)组成,其作用是将CAN控制器提供的数据转换成CAN 总线网络信号发送出去,同时,它也接收总线数据,并将数据传送到CAN 控制器。其中发送器把数据传输总线构件连续的比特流(逻辑电平)转换成电压值(线路传输电平),这个电压值适合铜导线上的数据传输。接收器则把电压信号转换成连接的比特流,这种比特流适合CPU 处理。
收发器通过TX 线(发送导线)或RX 线(接收导线)与数据传输总线构件相连,如图2-14所示,RX 线通过一个放大器直接与数据传输总线相连,始终监控总线信号。
图2-14 收发器与TX 线的连接
发送器的特点是TX 线与总线的耦合,如 图2-15所示,这个耦合过程是通过一个断路式集流器电路来实现的。因此,总线导线上就会出现两种状态:
图2-15 总线开关状态示意图(www.xing528.com)
状态1:截止状态,晶体管截止(开关打开)
无源:总线电平=1,电阻高
状态0:接通状态,晶体管导通(开关接通)
有源:总线电平=0,电阻低
如图2-16所示,假设有三个控制器收发器耦合在一根总线导线上,开关未闭合表示1(无源);开关已闭合表示0 (有源)。即收发器C 有源,收发器A 和B 无源。工作过程如下:
①如果某一开关已闭合,电阻上就有电流流过,于是总线导线上的电压就为0 V。
②如果所有开关均未闭合,那么就没有电流流过,电阻上就没有压降,于是总线导线上的电压就为5 V。
按照图2-16所示进行连接,三个控制器连接在CAN 总线上的工作状态,如表2-3所示。
图2-16 在一条总线上耦合的三个收发器
表2-3 控制器和总线状态对应关系表
总线系统中信号采用二进制传输,因此,如果总线处于状态1 (无源),则此状态可以由某一个控制单元使用状态0 (有源)来改写。无源的总线电平称为隐性的,有源的总线电平称为显性的。实现逻辑运算的模型如图2-17和图2-18所示。
图2-17 正逻辑运算模型
图2-18 负逻辑运算模型
总线系统采用二进制传输,负逻辑运算。
4.数据传输终端
数据传输终端一般由终端电阻组成,防止信号反射。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。