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

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

数据采集系统,通过USB接口把数据再传到PC机上

我要做一个实时的数据采集系统,以及一个离线的数据分析系统。实时采集的数据存储在一个海量的Flash中(也在PCB板上),这个采集卡本身又有USB接口,我想通过这个USB接口,在离线状态下,把Flash中的数据读取出来,放到PC机上,以便进行分析。请问,这个USB接口和Flash是不是相当于一个U盘呢? 但是U盘是可以直接把数据存成文件的,我这里的数据又是原始的二进制,请问我怎么样读取这些数据呢? 是否可以在USB固件程序里把数据写进文件? 还是直接读取好?

 

这个问题很重要,请大家指点了。 谢谢!

0 项奖励
1 条消息(共 4 条)
3,848 次查看

感觉需要写直接针对硬件的驱动,来读写那块FLASH

其实我觉得U盘也不是在FLASH上就有文件的概念,数据存在上面本质上也是二进制的,它也是靠软件驱动来映射为PC系统里软件层面上文件的概念。如果驱动不是把这些bit信息映射为文件,而是直接映射为二进制数据,那么就是你的这种应用了。

0 项奖励
2 条消息(共 4 条)
3,759 次查看

谢谢xuzheng回复。你说的对,FLASH并非都是文件格式;而且需要有对硬件的驱动。 这里驱动可以用NI-VISA进行驱动,因此比较容易,就是之后怎么建立这个PC机与FLASH的通讯我不清楚。因为这个USB设备是USB raw型的,且接口是USB也就是串口了,不知用哪些函数。比如VIOPEN的visa resouse name是显示不出USB设备的(这个设备在MAX中是可以识别的)。

 

请问应该用什么函数来获得 该USB设备的visa resouse name呢?

0 项奖励
3 条消息(共 4 条)
3,746 次查看

首先,需要用VISA自带的Driver Development Wizard生成INF文件,然后系统才会使用NI-VISA作为USB-RAW设备的驱动,你就能在MAX里看到这个USB设备,并且可以看到它的VISA Resource Name

 

具体可以参考这篇KB

http://digital.ni.com/public.nsf/allkb/E3A2C4FE42D7ED0D86256DB7005C65C9?OpenDocument

 

不过注意:communicating with a USB device using NI-VISA USB RAW support is very device specific, which requires from the user detailed knowledge of how the device operates. In this sense it is similar to register-level programming. NI-VISA provides the communication channel to the device, but the meaning of the data is device-specific.

0 项奖励
4 条消息(共 4 条)
3,736 次查看