关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > STM32F103x的USB多路数据采集系统设计

STM32F103x的USB多路数据采集系统设计

作者:时间:2009-09-18来源:网络收藏

(2)USB模块的配置与通信
意法半导体公司还提供了针对32F系列的USB开发工具包。该工具包是一个完整的固件和软件包,包括所有USB传输方式的范例,大大减少了开发人员的工作量。利用USB工具包主要完成对IJSB模块的配置及与USB主机(即上位机)之间的通信。
USB规范定义了4种数据传输类型:控制传输、块传输、中断传输和同步传输。块传输适用于传输大量的且对传输时间和传输速率均无要求的数据;中断传输适用于传输少量或中量的且对传输时间有要求的数据;同步传输适用于传输大量的,速率恒定的且对传输时间有要求的数据;控制传输适用于传输少量的且对传输时间和传输速率均无要求,但必须保证数据传输的可靠性。
在本设计中,端点0为控制传输端点,实现USB设备上电后的配置过程;端点1为OUT中断传输端点,用以接收上位机发送的命令,实现上位机对数据采集过程的控制;端点2为IN块传输端点,将数据采集结果实时地传送到上位机,供上位机进行数据分析和处理。利用意法半导体公司提供的USB开发工具包并参照范例,修改一些描述符(设备描述符、配置描述符、接口描述符和端点描述符等)和设备复位函数,添加相应的端点传输中断服务程序等,即可方便地实现本系统的 USB设备开发。端点2的配置代码如下:

本文引用地址:http://www.eepw.com.cn/article/202648.htm

在设置端点2发送有效之后,USB模块可自动完成端点2缓冲区的数据发送。
3.2 上位机应用程序
本设计采用一种使用NI-VISA和LabVIEW进行USB数据采集系统上位机程序开发的快速简单而且有效的方法,从而避开传统的Windows编程技术。通过在LabVIEW下调用NI-VISA子控件程序,可以方便地实现与USB设备的通信和应用程序界面的开发。
VISA(Virtual Instrument Software Architecture)是一个用来与各种仪器总线进行通信的高级应用编程接口(API),不受平台、总线和环境的限制。在利用NI-VISA完成对 USB设备的驱动后,即可在LabVIEW开发环境中直接使用VISA面板对USB设备进行控制和通信。LabVIEW是当今国际上唯一的编译型图形化编程语言,能方便、快捷地进行应用程序开发。本系统利用Lab-VIEW设计的USB多路数据采集系统用户界面如图4所示。

本系统实现了对16路外部信号的实时采集。图4中在实时波形显示区域,可以实时地显示4个通道的波形曲线。这4个通道通过选择可以是16个通道中的任意一个通道。在实时数据显示区域,能观测到每一路数据采集的结果;在左侧的控制及状态显示区域,可以实现设备选择、采集过程的控制以及数据采集系统的工作状态显示。

结 语
本设计实现了基于32Fx的USB多路数据采集系统,以32Fx微控制器为主控芯片实现了外部信号的调理、采集、预处理和USB 数据传输,以及上位机应用程序的开发。主控芯片STM32Fx内部集成了丰富的功能模块,使系统无需外扩大量芯片而能实现数据采集功能,降低了开发的复杂度和成本,达到了提高系统稳定性的目的。


上一页 1 2 3 下一页

关键词: 103x F103 STM 103

评论


相关推荐

技术专区

关闭