NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

68013与visa通信问题

已解决!
转到解答
我现在也在做lv和68013通信,用visa做的驱动,就简单的visa读写,用USB总线监视器看到,写命令63次,visa读都是超时,第64次写命令,visa读取成功,有遇到过这种情况的吗?还有要用动态链接库通信,要做哪些工作。项目比较急,请不吝赐教,万分感谢。我qq419069469。
0 项奖励
1 条消息(共 10 条)
6,657 次查看

首先68013是什么硬件?它的通信协议是什么?

63次、64次VISA写才成功,那么你每次写入的数据都一样吗?每次写入的数据量多大?波特率和校验如何?你确定前63次每次都写成功了?还是直到累计到64次VISA写入才组成一个有效的命令?

所以首先要确定你的硬件通信协议,其次监测是否每次都写入成功,最后你可以参考LabVIEW现成范例,相信对你有帮助~

0 项奖励
2 条消息(共 10 条)
6,634 次查看
解答
已被主题作者 胖天使 接受
感谢你的解答,我的问题已解决。我也具体说下我的问题吧。和你说的一样,以前对USB协议不清楚,USB下发命令必须是一包512个字节,我下发命令只发了8个字节,下发字节不够一包512个字节,下位机等待发够512字节,才返回一包数据,所以导致VISA读取不停在超时,64次只是再不断的拼凑512个字节,512字节拼凑够了,下位机才返回一包数据,VISA读取才能正常回收数据。
再次感谢你的解答。在和其他同学说下,用VISA和USB通讯相对简单安全,不用了解下层函数参数,但就是驱动程序比较大,对于刚接触USB通信的同学可以用用这种方法。
0 项奖励
3 条消息(共 10 条)
6,623 次查看

不用客气,祝您顺利!

0 项奖励
4 条消息(共 10 条)
6,613 次查看

USB协议是没有限制最小帧长的,倒是最长的包:全速USB2.0 1023byte,高速USB2.0 1024byte,应该是你使用的是CY7C68013的USB转串口demo程序及其对应的上位机有这个设定。对于使用其他型号的芯片做的可能没有这个问题。

0 项奖励
5 条消息(共 10 条)
6,544 次查看
你好!我也遇到了一样的问题,VISA不能正常读取,总是超时。看了您说的是因为不满512个字节,我想请问一下,这个一个数据包512是不是指的是68013里面的缓冲区大小?也就是说只有缓冲区被写满了,才会启动一次实际的USB传输?谢谢!
0 项奖励
6 条消息(共 10 条)
6,544 次查看
我用的就是68013,不是USB转串口的,就是下发命令要一包一包发,我是一个字节一个字节发的,导致的超时
0 项奖励
7 条消息(共 10 条)
6,523 次查看
是要看下位机和固件怎么订的协议,我这订的下发命令要一包512个字节,这有前面8个字节有效。我出现超时是因为我一次只发了8个字节,下位机没有收到一包512个字节不做响应,等到下发字节凑够了一包512个字节后,下位机才做的响应,才开始给上位机反数的。
0 项奖励
8 条消息(共 10 条)
6,523 次查看
感谢您的回复!我的问题也已解决。我认为是这样,无论是发送还是接收对68013来说,只有满512字节,才能组成一个数据包,68013才会认为接收到了数据或者是有数据要发送,才会竖起相应的flag供下位机查询。我在实际调试中也发现,发送的时候如果只发送一个字节,68013并没有通知下位机有可读数据,下位机也就读不到。估计PC接收的时候也是同样道理。
0 项奖励
9 条消息(共 10 条)
6,523 次查看
嗯,有问题多交流吧,这个好多人问没人回答,问了好久自己找到的解决办法,多交流一点就通了。
0 项奖励
10 条消息(共 10 条)
6,486 次查看