打印
[CAN-bus/DeviceNet]

关于ZLG USBCAN-I 转换模块 使用的疑惑

[复制链接]
4327|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hyhmh|  楼主 | 2007-4-11 11:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
硬件:USBCAN-Ⅰ智能CAN接口模块
软件:通用CAN测试工具ZLGCANTest V1.49 

在设计测试过程中,用USBCAN-I监视CAN总线的数据.
测试条件: 1)USBCAN-I、被测节点 CAN总线物理长度不超过25米
          2)波特率:250Kbps

应用情况一:USBCAN-I模块 总线上共9个CAN节点(含USBCAN-I本身),测试对象为8个CAN节点,该待测对象以每 1秒钟 发送一帧的CAN标准数据帧(数据场为1字节)。ZLGCANTest软件显示:
序号     传输方向 第几路CAN 时间标识  帧ID        帧格式  帧类型  数据
0x00000001    接收    0  0x00707b9d  0x00000720  数据帧  标准帧  05 
0x00000002    接收    0  0x00707da8  0x00000722  数据帧  标准帧  05 
0x00000003    接收    0  0x007085be  0x00000729  数据帧  标准帧  05 
0x00000004    接收    0  0x0070863e  0x0000072e  数据帧  标准帧  05 
0x00000005    接收    0  0x007086f2  0x00000721  数据帧  标准帧  05 
0x00000006    接收    0  0x007089c7  0x00000728  数据帧  标准帧  05 
0x00000007    接收    0  0x00708da5  0x0000072d  数据帧  标准帧  05 
0x00000008    接收    0  0x00709a52  0x00000727  数据帧  标准帧  05 

0x00000009    接收    0  0x0070a3de  0x00000720  数据帧  标准帧  05 
0x0000000a    接收    0  0x0070a5e0  0x00000722  数据帧  标准帧  05 
0x0000000b    接收    0  0x0070adff  0x00000729  数据帧  标准帧  05 
0x0000000c    接收    0  0x0070ae76  0x0000072e  数据帧  标准帧  05 
0x0000000d    接收    0  0x0070af33  0x00000721  数据帧  标准帧  05 
0x0000000e    接收    0  0x0070b1ff  0x00000728  数据帧  标准帧  05 
0x0000000f    接收    0  0x0070b5e7  0x0000072d  数据帧  标准帧  05 
0x00000010    接收    0  0x0070c28a  0x00000727  数据帧  标准帧  05 
由ID号 0x722可知,其发送时间周期:  (0x0070A5E0-0x00707da8) = 0x283B
即10299 (时间单位为0.1mS)。也就是基本符合预期1秒钟。

相关帖子

沙发
hyhmh|  楼主 | 2007-4-11 12:03 | 只看该作者

应用情况二

USBCAN-I模块 总线上共17个CAN节点(含USBCAN-I本身),测试对象为16个CAN节点,该待测对象以每10秒钟发送一帧的CAN标准数据帧(数据场为1字节)。
每一个测试对象上的MCU软件都相同(且与应用情况一相同),此处只是增加CAN总线上的节点。
(测试过程不关心CAN帧内数据值)
ZLGCANTest软件显示:
序号    传输方向 第几路CAN 时间标识  帧ID        帧格式  帧类型  数据
0x00000001    接收    0    0x01291f49  0x00000729  数据帧  标准帧  00 
0x00000002    接收    0    0x01292020  0x0000072b  数据帧  标准帧  00 
0x00000003    接收    0    0x0129206b  0x00000729  数据帧  标准帧  00 
0x00000004    接收    0    0x01292088  0x00000720  数据帧  标准帧  00 
0x00000005    接收    0    0x012920c8  0x00000724  数据帧  标准帧  00 
0x00000006    接收    0    0x012920ed  0x0000072f  数据帧  标准帧  00 
0x00000007    接收    0    0x0129219a  0x00000720  数据帧  标准帧  00 
0x00000008    接收    0    0x012921e0  0x0000072e  数据帧  标准帧  00 
0x00000009    接收    0    0x0129220e  0x00000728  数据帧  标准帧  00 
0x0000000a    接收    0    0x01292233  0x0000072d  数据帧  标准帧  00 
0x0000000b    接收    0    0x0129479e  0x0000072a  数据帧  标准帧  00 
0x0000000c    接收    0    0x012947bd  0x00000723  数据帧  标准帧  00 
0x0000000d    接收    0    0x012947d7  0x00000727  数据帧  标准帧  00 
0x0000000e    接收    0    0x01294841  0x0000072d  数据帧  标准帧  00 
0x0000000f    接收    0    0x0129484c  0x00000729  数据帧  标准帧  00 
0x00000010    接收    0    0x012948c5  0x00000725  数据帧  标准帧  00 

以节点0x00000720为例,时间:0x0129219a-0x01292088= 0x112  (274mS)

明显与《应用情况一》的结果不符。
疑问:产生2种情况,USBCAN-I监测数据(主要是每个节点的发送数据周期)的不同,是由于什么原因引起?
   可能:1)节点的CAN驱动能力?但16个被测节点时,USBCAN-I也能收到16个不同的ID帧(当然,周期变得不是预期值)
         2)USBCAN-I模块的处理能力?不清楚ZLG是否做过相关测试,有使用的同行指教一下。
         3)ZLGCANTest软件的问题?

使用特权

评论回复
板凳
hyhmh|  楼主 | 2007-4-11 12:05 | 只看该作者

应用前提: 被测节点 的 识别

被测CAN节点,以周期地发送自身ID号的CAN数据帧来识别

一个CAN节点只发送其自身编号的ID帧。

使用特权

评论回复
地板
zlgCAN| | 2007-4-12 08:35 | 只看该作者

“时间标识”为CAN报文进入CAN控制器缓冲区时,由板载处理

为其增加的一个数值。此值可信。

     建议通过示波器判断是否是多个测试节点发生了仲裁丢失。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

446

帖子

2

粉丝