[CAN-bus/DeviceNet] 请教wxj1952及飞天鼠!数据波形与数据对应的问题

[复制链接]
 楼主| coolhu 发表于 2007-6-10 09:21 | 显示全部楼层 |阅读模式
在调试CAN的时候怎么确定总线数据波形跟我发送的实际的数据对应?<br /><br />或者如何通过波形看发送的数据?<br /><br />我现在发现去掉一些位之后无法跟数据对应,<br />不像LIN总线的数据和波形严格对应。
桂电飞天鼠 发表于 2007-6-10 12:16 | 显示全部楼层

我也想知道~~

手上没有示波器可测量,之前用一个比较老的示波器,但当时没留意这个问题~~~
 楼主| coolhu 发表于 2007-6-10 13:26 | 显示全部楼层

rt

从示波器的波形上基本没有看出跟数据的关系<br /><br />发送不同的数据,波形明显不同,说明波形跟数据是有严格关系的,可不知道是什么关系<br /><br />研究了半天没有找出规律来
 楼主| coolhu 发表于 2007-6-10 14:23 | 显示全部楼层

rt

我将4个不同数据波形图全部放在一起对比,已看出一些眉目了,继续分解数据波形的格式,后续在给出结果
 楼主| coolhu 发表于 2007-6-10 15:54 | 显示全部楼层

有没有知道的

有没有知道的,大家共同讨论一下!
wxj1952 发表于 2007-6-10 18:10 | 显示全部楼层

用的什么高级示波器?

我记得过去用2万元的数字存贮示波器也很难看出总线波形,后来用的4万元的HP逻辑分析仪,一清二楚。不过不是看的CAN总线。<br /><br />注意2点:<br />1、位填充,每5个0/1必插入一个变化位。那么如果5个0/1后面本来就是反向数据,位填充起不起作用?......我也不知道.<br />2、仲裁域有没有位填充?.......<br />
 楼主| coolhu 发表于 2007-6-10 19:14 | 显示全部楼层

无法用示波器看出波形?

无法用示波器看出波形?<br />我就是用示波器的正极接CANL负极接CANH<br />用的是带宽1G的,也不是什么太高级的示波器啊,<br />程序跑起来就有波形了,下面是我的波形图,我发送的数据,<br />t1=0x01,t2=0x01,t3=0xff,<br />发送不同的数据确实波形不一样
 楼主| coolhu 发表于 2007-6-10 19:16 | 显示全部楼层

rt

上面乱码了,就是发送了3个字节的数据为0x01,0x01,0xff
 楼主| coolhu 发表于 2007-6-10 20:11 | 显示全部楼层

我测的CAN总线波形图

我测的CAN总线波形图,示波器正极接CANL,负极接CANH<br />发送数据分别在图上<br />供大家研究<br />给出对波形和数据关系的看法<br /><br />发送上述数据,我又测试了SJA1000的TX脚发现波形与总线波形基本一样,<br />第一个图和第四个图少3bit<br />第二个图和第三个图少了2bit,(右边少2bit)<br /><br />少的位数不一样,我不知道是不是我读的不准,看起来差别是3bit<br /><br />供大家参考,共同研究提出自己的看法
zlgCAN 发表于 2007-6-11 08:51 | 显示全部楼层

我们有技术文档说明波形与数据的对应关系;可通过邮件向

<br />&nbsp;&nbsp;&nbsp;&nbsp;最初的CAN2.0规范中也有波形的说明,也非常详细。
wxj1952 发表于 2007-6-11 09:15 | 显示全部楼层

示波器挺好。

一点都没错!<br />没讲清楚,你的0x01,0x01是ID还是数据?0xff,0x55,0x48,0x01都是对的,前面2个0x01又全对应一样,不知哪里少了bit?
 楼主| coolhu 发表于 2007-6-11 09:36 | 显示全部楼层

rt

少bit的图我没有贴上,<br />这个是我直接测试的总线上的波形,<br /><br />请问怎么从那个图上看数据呢?<br />前2个0x01,0x01是ID,第三个字节才是有用第数据呢<br /><br />我找找看CAN的标准<br />
wxj1952 发表于 2007-6-11 10:48 | 显示全部楼层

ID有些特殊

是ID就更对了.
wxj1952 发表于 2007-6-11 16:47 | 显示全部楼层

注意位填充

从起始位算起,5个0插入一个1,所以第一个0x01有2个&quot;1&quot;脉冲,同样,第二个0x01也是2个“1”脉冲,第三字节0xff遇到连续5个“1”,所以中间有一个互补“0”填充。......后面是CRC两字节,你要会算的话就计算一下,不会算我帮你算。<br />研究半天,没甚么道理。还有的控制器是先传输低位的,总线波形更难读懂了。
 楼主| coolhu 发表于 2007-6-11 17:43 | 显示全部楼层

明白!

多谢wxj1952的指导,<br /><br />我明白了,<br />数据是从左边开始读的,我一直从右边读的,<br />我的LIN数据都是从右边读的,我以为CAN的也是,<br />范了低级错误,<br /><br />同时还要感谢ZLG工程师们提供的资料,<br /><br />多谢!
wxj1952 发表于 2007-6-12 19:38 | 显示全部楼层

从右边读?佩服!

示波器都是从左边开始,自左向右扫描的,先收到的bit先显示,从右向左读?基准在那里?&nbsp;弄得我一头雾水。<br /><br />应该说LIN数据发送器是先发送低位吧,例如发送0x01,在示波器上看到的是0x80。(从右边开始读是0x01,可是基准呢?)&nbsp;&nbsp;发送0x48,示波器上看到0x12。这与CAN控制器正相反。<br /><br />还一种读法,站到屏幕的背面去,那确实是应该从右边开始读了。
魔卡 发表于 2007-6-15 10:53 | 显示全部楼层

示波器正极接CANL,负极接CANH

示波器有正负极????只有个探头和接地线吧.?????<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

62

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部