您的位置 首页 设计

can总线的示波器检测办法

整理自网络::stm32的can总线是在APB1上的,stm32f10x的主频是72Mhz,can外设时钟是36Mhz,stm32f2xx的主频是120Mhz,can外设时钟是30Mhz…

收拾自网络::

stm32的can总线是在APB1上的,stm32f10x的主频是72Mhz,can外设时钟是36Mhz,stm32f2xx的主频是120Mhz,can外设时钟是30Mhz。。。

STM32 APB1和APB2差异:

APB2担任AD,I/O,高档TIM,串口1。

APB1担任DA,USB,SPI,I2C,CAN,串口2345,一般TIM

can总线电气特性

做一想要从车上测出can总线上的数据还不太简略。

所以我首要运用示波器(我运用的示波器类型是TDS 220)来找出轿车上can总线的接口,然后测出can总线的波特率,丈量波特率的进程如下:

1、将示波器的两个接口(接地和探头)别离接在can总线的两条线(CAN_H和CAN_L)上,
这儿需求留意假如CAN线上需求接一个120欧姆的负载电阻,不然波形是不规整方波,
接上负载之后才是规整的方波。

2、此刻假如can线上有数据,则会在示波器上显现出方波如图1所示。(这儿运用示波器的RUN/STOP按钮捕捉波形)

图1

2、可是此刻因为示波器显现的数据太多还无法读取单个脉冲的周期,
所以需求调理示波器的X轴的每格所代表的周期(调理SEC/DIV旋钮)
然后运用RUN/STOP按钮从头捕捉波形得到图2所示的波形,

图2

3、终究将图2中宽度较小的脉冲再次扩大(调理SEC/DIV)直到图3所示,这时每格代表1us
可以看到这个脉冲跨度为8us

图3

所以终究得到该can总线的波特率为1s/8us=125K

在车辆电子网络中,CAN总线是一个重要的协议。它具有一个高达1兆bit的比特率, 并供给简略的微处理器网络,这需求用到一种被称为CAN控制器的专用CAN总线芯片叫做CAN控制器。

CAN的数据传输报文便是数据帧。数据帧答应有一个比较长的ID,所以称为可扩展帧。

适用于某些运用中的,但不是用于轿车中的是长途帧。长途帧答应一个节点呼应一个特定的ID。

CAN功用是十分完全的。这意味着它不只是发现许多的过错,一起可以完成主动化传输或许节点主动封闭。

CAN运用比特流来经过接纳器到发射器。为了适合于特定的位次第,CAN有必要运用位填充。位填充在传统示波器上对CAN波形进行解码很困难。

CAN是一个数据链接层。有三种正在运用的物理层来对CAN进行信号的电动发射。

在运用CAN总线的某些当地,可能用FlexRay或许LIN更适宜。

CAN总线的具体阐明书:can2spec.pdf


一个CAN总线的数据帧

CAN总线数据帧

CAN总线数据帧在CAN上运作。CAN的整个进程实质上是在网络控制器之间发送数据,这就需求数据帧来完成这个功用了。

数据帧是以一个单一的SOF(开端帧)位开端的,跟着便是CAN标识符。CAN标识符是用来标识报文和接下来的节点报文。标识符可以有11位长或许是29位长,这主要是依据保存位的状况来决议。


CAN数据帧以一个SOF位开端,跟着便是ID位

在CAN标识符之后,有一个数据段,数据段是以一个数据长度开端的。CAN数据帧可以有0到8个字节,这样它运用4位的编码长度。数据字节直接跟着数据长度。


在CAN帧中数据字节跟着数据长度(DLC)

跟在数据之后是CRC。CRC是根据CAN帧的第一部分在接纳器和发射器中进行核算的。假如核算出来的成果与接纳器呈现的成果相匹配,则阐明正确接纳数据。


CAN 的CRC查看数据的完整性,一起ack表明从另一个节点接纳

跟着CRC的是Ack 场,这个场是在一切的其他的正确接纳帧的网络节点上进行设置的。
Ack位后,有一段静态时刻,它称为紧跟着一个最小的内插帧空间的帧空间结束符。

一个CAN数据帧图片

扩展数据帧

可扩展标识符CAN 帧运用29位用于辨识意图,而不是规范的CAN帧的11位。因为这个额定的ID空间添加了20位(18个ID和两个保存位),它一般不运用于期望得到最高功用的网络傍边。

在J1939和GMLAN协议中,较大的ID分为不同的部分,每一个部分都有它的含义。比方,关于J1939和GMLAN的最低的8个ID位表明晰一个字节的源地址。


单线CAN扩展ID是有29位长(还没有算入缓冲位)。许多体系设计者不运用这个ID长度,
因为它要求比较高的费用

CAN总线长途数据帧

CAN总线长途帧是可选帧,它用于恳求数据。长途帧没有包括数据段,即便数据长码位大于0。你可以从RTR位的状况来判定一个帧是否是长途帧(RTR=1)。长途帧一般不运用在轿车的运用傍边。


在这个CAN L波形中显现了一个长途帧

CAN总线过错

请看图片 >

CAN总线位填充

CAN波形是一系列的位。因为在CAN总线节点之间没有同享时钟,那么关于一切的节点则一定有办法从波形中得到时钟信息。因而接纳器运用CAN波形转化来使得发射器与接纳器完成同步时钟。

为了保证有满足的转化,CAN总线履行位填充功用。位填充在接连5个相同的位之后,刺进一个额定的码流的相反位。因为填充位的呈现要依据音讯序列的容量,CAN帧的长度要依据在帧里边的数据位进行改动。这些额定的填充位主动被接纳器丢掉,因而在CAN节点的运用软件中就历来不会接触到这些填充位了。


填充位,用黄色杰出,添加耗费在一个CAN报文中。这个报文有13个额定的填充位

CAN总线物理层

CAN协议介绍了1s和0s是怎么运用在通讯傍边的。CAN协议没有介绍发射1s和0s信号的电气办法。

最遍及盛行的物理层被称为双线物理层。这个物理层运用双线CAN H和CAN L。这些线在不同的电压方向(对应着不同的信号传输)上传送1或许0。

关于特定的轿车低速运用,介绍两个其他的物理层。它们是单线CAN和低速容错CAN。假如有一条线路断了。低速容错CAN总线将会供给容错信息。

单线CAN

单线CAN是一个物理层,它是由一般的发动机生成的。它答应CAN运用一条单线在低比特率(如33.3Kbps)的状况之下进行通讯。一起关于闪存编程答应一个高速形式。终究,尽管许多CAN收发器只是供给了1或许0,可是单线仍可以供给一个被称为高压形式的第三状况。这种形式可以使得CAN节点的电源办理有选择性。


这是两个不同的单线CAN帧。一个在高电压形式下发送,另一个为正常电压



声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/235919.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部