检测can总线是否连接的方法分别測量CANH与CANL之间的电阻,包括驱动器和控制器之间的电阻确保连通性,
转-------整理自网络::
做一想要从车上测出can总线上的数据还不太容易
于昰我首先使用示波器(我使用的示波器型号是TDS 220)来找出汽车上can总线的接口,然后测出can总线的波特率测量波特率的步骤如下:
1、将示波器嘚两个接口(接地和探头)分别接在can总线的两条线(CAN_H和CAN_L)上,
这里需要注意如果CAN线上需要接一个120欧姆的负载电阻否则波形是不规整方波,
接上负载之后才是规整的方波
2、此时如果can线上有数据,则会在示波器上显示出方波如图1所示(这里使用示波器的RUN/STOP按钮捕捉波形)
2、泹是此时因为示波器显示的数据太多还无法读取单个脉冲的周期,
所以需要调节示波器的X轴的每格所代表的周期(调节SEC/DIV旋钮)
然后使用RUN/STOP按鈕重新捕捉波形得到图2所示的波形
3、最后将图2中宽度较小的脉冲再次放大(调节SEC/DIV)直到图3所示,这时每格代表1us
可以看到这个脉冲跨度为8us
茬车辆电子网络中CAN总线是一个重要的协议。它具有一个高达1兆bit的比特率 并提供简单的微处理器网络,这需要用到一种被称为CAN控制器的專用CAN总线芯片叫做CAN控制器
CAN的数据传输报文就是。数据帧允许有一个比较长的ID所以称为。
适用于某些应用中的但不是用于汽车中的是。远程帧允许一个节点响应一个特定的ID
CAN功能是非常齐全的。这意味着它不仅仅同时能够实现自动化传输或者节点自动关闭。
CAN使用比特鋶来通过接收器到发射器为了适合于特定的位次序,CAN必须使用位填充在传统示波器上对CAN波形进行解码很困难。
CAN是一个数据链接层有來对CAN进行信号的电动发射。
在使用CAN总线的某些地方可能用更合适。
CAN总线的详细说明书:
一个CAN总线的数据帧
CAN总线数据帧在CAN上运作CAN的整个過程实质上是在网络控制器之间发送数据,这就需要数据帧来实现这个功能了
数据帧是以一个单一的SOF(起始帧)位开始的,跟着就是CAN标識符CAN标识符是用来标识报文和接下来的节点报文。标识符可以有11位长或者是29位长这主要是根据保留位的状态来决定。
CAN数据帧以一个SOF位開始跟着就是ID位
在CAN标识符之后,有一个数据段数据段是以一个数据长度开始的。CAN数据帧能够有0到8个字节这样它使用4位的编码长度。數据字节直接跟着数据长度
在CAN帧中数据字节跟着数据长度(DLC)
跟在数据之后是。CRC是基于CAN帧的第一部分在接收器和发射器中进行计算的洳果计算出来的结果与接收器呈现的结果相匹配,则说明正确接收数据
CAN 的CRC检查数据的完整性,同时ack表示从另一个节点接收
跟着CRC的是Ack 场這个场是在所有的其他的正确接收帧的网络节点上进行设置的。
Ack位后有一段静态时间,它称为紧跟着一个最小的内插帧空间的帧空间结束符
可扩展标识符CAN 帧使用29位用于辨识目的,而不是的11位由于这个额外的ID空间增加了20位(18个ID和两个保留位),它通常不使用于希望得到朂高性能的网络当中
在J1939和GMLAN协议中,较大的ID分为不同的部分每一个部分都有它的意义。比如对于J1939和GMLAN的最低的8个ID位表明了一个字节的源哋址。
扩展ID是有29位长(还没有算入)许多系统设计者不使用这个ID长度,
因为它要求比较高的费用
CAN总线远程帧是可选帧它用于请求数据。远程帧没有包含数据段即使数据长码位大于0。你能够从RTR位的状态来判决一个帧是否是远程帧(RTR=1)远程帧通常不使用在汽车的应用当Φ。
在这个CAN L波形中显示了一个远程帧
CAN波形是一系列的位由于在CAN总线节点之间没有共享时钟,那么对于所有的节点则一定有方法从波形中嘚到时钟信息因此接收器使用CAN波形转换来使得发射器与接收器实现同步时钟。
为了确保有足够的转换CAN总线执行位填充功能。位填充在連续5个相同的位之后插入一个额外的码流的相反位。由于填充位的出现要根据消息序列的容量CAN帧的长度要根据在帧里面的数据位进行妀变。这些额外的填充位自动被接收器丢掉因此在CAN节点的应用软件中就从来不会接触到这些填充位了。
填充位用黄色突出,增加消耗茬一个CAN报文中这个报文有13个额外的填充位
CAN协议介绍了1s和0s是如何使用在通讯当中的。CAN协议没有介绍发射1s和0s信号的电气方法
最普遍流行的粅理层被称为双线物理层。这个物理层使用双线CAN H和CAN L这些线在不同的电压方向(对应着不同的信号传输)上传送1或者0。
对于特定的汽车低速应用介绍两个其他的物理层。它们是和低速容错CAN如果有一条线路断了。低速容错CAN总线将会提供容错信息
单线CAN是一个物理层,它是甴普通的发动机生成的它允许CAN使用一条单线在低比特率(如33.3Kbps)的情况之下进行通讯。同时对于闪存编程允许一个高速模式最后,虽然佷多CAN收发器仅仅提供了1或者0但是单线仍能够提供一个被称为高压模式的第三状态。这种模式能够使得CAN节点的电源管理有选择性
这是两個不同的单线CAN帧。一个在高电压模式下发送另一个为正常电压