can总线工作原理如下。
CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。
当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。
当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。
CAN总线的特点:1、具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点
2、采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;
3、具有优先权和仲裁功能,多个控制模块通过CAN控制器挂到CAN-bus上,形成多主机局部网络;
4、可根据报文的ID决定接收或屏蔽该报文;
5、可靠的错误处理和检错机制;
6、发送的信息遭到破坏后,可自动重发;
7、节点在错误严重的情况下具有自动退出总线的功能;
8、报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
过程数据表示可以随时间变化的数据,例如节点控制器的输入(即传感器)和输出(即电动机驱动器)。过程数据也存储在对象字典中。但是,由于SDO通信一次仅允许访问一个对象字典索引,因此访问不断变化的数据可能会有很多开销。另外,CANopen协议要求节点必须能够发送自己的数据,而无需被CANopen主站轮询。因此,使用一种称为“ 过程数据对象”(PDO)的通信方法来传输过程数据的方法也有所不同。了解更多 CANopen总线协议
PDO有两种类型:传输PDO(TPDO)和接收PDO(RPDO)。TPDO是来自节点(已产生)的数据,而RPDO是到达节点(已消耗)的数据。另外,PDO有两种类型的参数:配置参数和映射参数。对象词典中保留给PDO配置和映射信息的部分是索引1400h-1BFFh。
配置参数指定COB-ID,传输类型,禁止时间(仅TPDO)和事件计时器,这将在本节中进行说明。有多种方法可以启动PDO传输。这些方法包括事件驱动,时间驱动,单独轮询和同步轮询。传输类型在PDO的配置参数中指定。在事件驱动的传输中,当其中的过程数据发生更改时,将启动PDO传输。在时间驱动的传输中,PDO传输以固定的时间间隔发生。在单个轮询中,PDO传输是使用一种不常用的称为远程请求的机制启动的。在同步轮询中,使用SYNC信号启动PDO传输。同步信号经常用作全局计时器。例如,如果CANopen主站发出SYNC消息,则可以配置多个节点以查看并响应该SYNC。这样,主站就可以同时获取多个过程对象的“快照”。
事件驱动的PDO传输示例
映射参数指定由单个PDO消息发送的对象字典值。例如,单个PDO消息可能包含来自对象索引2001h,2003h和2005h的数据。
TPDO对象字典示例
感谢题主的邀请,我来说下我的看法:
现在解析汽车CAN协议的办法主要为控制变量法。首先,我们要确保汽车CAN数据能够被引导出来,也就是汽车的OBD处没有被设置障碍,可以实现正常的数据收发。然后,我们将USBCAN与汽车CAN线以及装有收发软件的电脑分别连接。接下来,我们让汽车产生变量,比如开关车灯。这时候,开关车灯的CAN数据就会形成,经过USBCAN转换为能够被电脑所识别的数据,显示在电脑软件的接收界面上。因为只有开关车灯 *** 作在进行,所以只有这个动作的数据在变化,我们一一进行对应就可以了,这就是现在比较常用的CAN协议解析方法,你清楚了吗?如果您需要相关的USBCAN分析仪的话,可以前往我们的网站进行具体的咨询,欢迎来访。
以上就是关于can总线工作原理全部的内容,包括:can总线工作原理、CANopen总线协议之过程数据对象(PDO)、问问can汽车总线现在都采用什么办法解析协议呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)