图1-7 数据发送
CAN-BUS工作的核心内容就是通过两根导线传递大量数据。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点,对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,它定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。CAN总线的报文发送和接收如图1-7所示。当一个站要向其他站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片。当它收到总线空闲信号时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其他站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。当有新的控制单元加入时,数据传输协议不要求独立的部分有物理目的地址。总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。(www.xing528.com)
各个控制单元想要交换的数据称为信息,每个控制单元均可发送和接收信息。当一个控制单元发出信息,其他的控制单元均可接收其发送出的信息。如发动机转速,这时发动机转速是以二进制值(一系列0和1)来表示,例如,发动机转速为1800r/min时可表示为00010101。在发送过程中,二进制值先被转换成连续的比特流,该比特流通过TX线(发送线)到达收发器(放大器),收发器将比特流转化成相应的电压值,最后这些电压值按时间/顺序依次被传送到CAN总线的导线上。在接收过程中,这些电压值经收发器又转换成比特流,再经RX线(接收线)传至控制单元,控制单元将这些连续二进制转换成信息。例如,00010101这个值又被转换成1800r/min的发动机转速,人们也把该原理称为广播,就像一个广播电台发送某一节目一样,每个连接的用户均可接收。这种广播方式可以使得连接的所有控制单元总是处于相同的信息状态。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。