CAN2.0A和CAN2.0B应用两种格式的数据帧。这两种格式的数据帧都由7个段码组成。标准版的ID码为11位,可以识别2048个不同的信息。扩展版的ID码为29位,可以识别5.12×108个不同信息。CAN总线标准版(CAN 2.0A)数据帧格式见表2-1和表2-2。
表2-1 CAN总线标准版(CAN 2.0A)数据帧格式
表2-2 CAN总线标准版(CAN 2.0B)数据帧格式
(www.xing528.com)
CAN总线协议的总线仲裁是按位进行的,需要比较不同节点在同一位数据传输时间内总线请求优先级的高低。因此,最高数据传输速度随总线长度的增加而降低。
CAN总线协议是一种非破坏性的通过竞争来进行总线仲裁的协议。当多个节点同时要求占用总线进行数据传输时,为了防止一个节点破坏另一个节点的数据,CAN总线协议控制器在仲裁段传输过程中,根据标识码的大小对总线进行仲裁,标识码较小的信息具有较高的总线占用优先级。当在一条总线上要传送两种不同格式的信息时,如果这两种不同格式的信息具有相同的基本标识码(BID),那么在进行总线竞争时,标准格式帧的优先级将始终高于扩展格式帧的优先级。
按CAN总线协议传输的数据,都需要一个网络内唯一的标识码来指定信息内容(如发动机转速或冷却液温度)和信息发送的优先级。若某一个节点的CPU要将信息发送给一个或多个节点,则首先应将待发信息及其标识码发送给指定的CAN总线控制器。为此,CPU须首先初始化CAN总线控制器的数据交换功能,然后用CAN总线控制器构建并发送信息。一旦网络中某一节点的CAN总线控制器获得总线控制权,网络中所有其他节点就都成为接收节点。所有正确接收到该信息的节点都要进行信息检验,以确定所收信息是否与本节点有关,然后放弃无关信息,对有关信息进行处理。这种方法使系统构建非常灵活,对每个独立节点来说,都不需要物理目的地址。如果要增加的新节点是纯粹的接收站,则不需要对现有节点的硬软件做任何修改,就能方便地向现有CAN总线网增加新节点。该协议也允许多站同时接收信息(广播式)和分布式过程信息共享,即采用该协议可以传送多个控制器共用的测量信息。对于基于CAN总线的汽车计算机控制系统,所有的控制单元可以共享同一个传感器。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。