如何在labview中实现MCUUSB数据采集系统
我们知道,labview具有强大的VISA功能,这里面不仅能够实现MCU和Labview的串口通信,还能实现MCU和labview的USB通信,只不过,USB通信比较复杂,涉及知识面较多,不是一两天能掌握的。在这里,为大家分享一个基于STM32F3DISCOVERY开发板和labview的USB通信过程,通过此过程,为大家分享一个在labview中设计USB通信的方法。 选用STM32F3DISCOVERY这个开发板,是因为STM32F303MCU上面带有USB接口,可以直接拿来用。如图,右上角就是USB接口:
第一步,要开发好底层的MCU程序,设置好USB的配置描述符,字符串描述符和产品描述符等。因为MCU开发板看做是一个设备,这里采用USB中HID设备来实现。HID就是鼠标类的设备。这里不详细讲解,看一下描述符部分!这里用到一个软件:《USB Unicode 字符串描述符生成器》,它可以产生我们需要的描述符信息,比如厂家名称和产品名称。这里厂家名称设置为:ICKEY社区,呵呵,截图: 
在USB的配置代码中实现:
产品名称设置为:STM32F303 小雨儿USB,截图 
在USB配置代码中实现: 
在USB配置代码中,设置好该USB产品的VID:0x0583,PID:0x5780,USB里面这两个很重要,不会的看看书。 
第二步、制作PC机端的USB驱动文件对于电子工程师开发USB驱动文件是一个很头疼的事情。这里教给大家一个快速的方法。首选安装labview的VISA模块,然后打开: 
这里有个驱动生成向导 
总线方式选择USB方式 
填入刚才设置的VID PID,生产厂家和产品信息,这里要和MCU的USB配置一一对应才行,要不驱动装不上的。然后点击下一步,按照提示输出目录就可以,会生成一个.inf文件,这个就是USB驱动文件了。内容截图: 
第三 安装USB硬件这一步要让电脑识别到STM32F3DISCOVERY。将MCU程序编译下载后,插入USB端口。然后出现: 
这里电脑已经枚举USB成功了,发现了USB设备,因为程序实现的是HID类,所以驱动就自动加载了 
电脑会将STM32F3DISCOVERY识别成一个HID键盘。这样不行啊,不能用键盘跟labvie通信的。要更改驱动。这里选择更新驱动程序 
从磁盘安装那个.inf文件 
加载后是这个,点击下一步就可以了 
安装中 
安装完成,在电脑,硬件管理器里面,会多出一个这样的设备。 
看到这个标识,表明USB驱动安装完成,下面就可以实现labveiw程序了。 在VISA里面,我们看到了这个信息,表明labview已经能够识别这个硬件了。可以利用VISA函数编写USB通信程序了。 在MCU端,实现如下程序,当收到labview发送的字符后,开始数据采集,这里最大一次可以发送64个数据,比串口要快的多 
下面是labview界面 
在上面可以实现更多功能,最关键的是要打通这个通道!
|