STM32的USB数据采集模块的设计与实现

上传人:ni****g 文档编号:464464249 上传时间:2024-01-22 格式:DOC 页数:6 大小:178.50KB
返回 下载 相关 举报
STM32的USB数据采集模块的设计与实现_第1页
第1页 / 共6页
STM32的USB数据采集模块的设计与实现_第2页
第2页 / 共6页
STM32的USB数据采集模块的设计与实现_第3页
第3页 / 共6页
STM32的USB数据采集模块的设计与实现_第4页
第4页 / 共6页
STM32的USB数据采集模块的设计与实现_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《STM32的USB数据采集模块的设计与实现》由会员分享,可在线阅读,更多相关《STM32的USB数据采集模块的设计与实现(6页珍藏版)》请在金锄头文库上搜索。

1、STM32的USB数据采集模块的设计与实现通用串行总线(USB,universal serial bus)由于具,有高传输速率、即插即用和易于扩展等优点而被广泛应用于计算机外设、数字设备和仪器仪表等领域。ARM嵌入式处理器因其低廉的成本和较好的性能被广泛地应用于企业应用、汽车系统、家庭网络和无线技术等市场领域。将USB与ARM相结合是进行数据采集、处理与传输的理想解决方案。1 USB数据采集系统概述USB数据采集系统由主机和USB设备两部分组成,如图1所示。本系统中,PC作为USB主机,USB采集模块作为USB设备,通过USB接口与主机相连。模块与主机连接之后,主机能够正确识别设备并将设备初始

2、化(枚举)。设备初始化完毕后,主机向采集模块发送采集命令和任务参数。采集模块正确接收命令后将命令解析并执行,然后通过USB接口将采集到的数据回传到主机上。从层次上划分,USB系统的软、硬件资源可划分为3个层次:总线接口层、设备层及功能层。接口层涉及的是具体的物理层,主要实现物理信号和数据包的交互,它包括物理链接、电信号环境和包传输机制;设备层主要提供USB基本协议栈,执行通用的USB的各种操作和请求命令,从逻辑上讲就是USB系统软件与USB逻辑设备之间的数据交换;功能层提供每个USB设备所需的特定功能,包括客户应用软件和设备功能块,它们之问有直接的逻辑对应关系。这种对应关系说明在逻辑上客户应用

3、软件只需考虑如何实现具体设备功能即可。USB的层次结构对应关系如图2所示。2 数据采集系统方案设计在系统开发中选用集成度高的器件,不仅开发方便,而且所开发的系统的性能及其可靠性也较高。另一一方面,由于USB接口设备是采用总线供电的,考虑到总线输出功率有限,尽量采用集成度高的器件有利于降低USB总线的负荷。但选用集成度高的器件及其开发工具会导致成本的提高,所以要综合各种因素统筹考虑 。当前,USB的开发方法主要有两种:一种采用具有USB接口的MCU,另一种采用普通MCU和USB通信芯片。后者是目前被广泛采用的方法,技术相对成熟,开发成本较低。由于STM32 ARM本身自带AD转换器和USB控制器

4、,仅需一片ARM即可完成采集与传输的功能,因此无需再外加USB通信芯片,但是调试的成本较大。本模块选用的处理器STM32F103是意法半导体新近推出的STM32的增强型系列处理器,主频为72MHz,带有片内RAM和USB 20接口、16通道的12位AD转换器等丰富的外设。其中系统集成的双ADC结构允许双通道采样保持,能够实现12位的转换精度、1 s的转换速度。由于STM32丰富的片内资源,本数据采集模块仅需一片STM32F103以及常见的外部电路即可,电路结构简单紧凑。数据采集模块的硬件组成框图如图3所示。整个数据采集模块采用外部USB取电,USB的+5V电压经由LD1117稳压芯片转换成33

5、 V供ARM及外设使用。复位电路能够完成上电复位与手动复位。由于USB工作的时钟频率为48 MHz,所以选用8MHz外部晶振经由9倍频为72 MHz作为系统主频,72 MHz再15分频后得到准确的48 MHz时钟。为了提高采集的效率,在ARM的内存空间开辟4 KB作为数据缓冲区。外部模拟信号送入AD转换器进行模数转换。AD每次转换结束之后,使用DMA方式将转换后的16位数据顺序搬移到数据缓冲区中。待缓冲区满后,将4 KB数据打包经由USB总线回传到PC主机,由应用程序进行数据处理。3 软件设计与实现系统软件设计包括3个部分:固件驱动程序开发、USB设备驱动程序开发、主机应用程序开发。三者是一个

6、有机整体,缺一不可,需要互相配合,才能完成可靠、高速的数据采集与传输。31STM32F10xxx USB固件驱动程序库简介STM32F10xxx USB固件驱动程序库是意法半导体公司专为STM32F10xxx系列ARM微处理器提供的固件驱动程序库,其主要用途是利用STM32F10xxx系列微控制器中的USB宏单元来简化应用开发。USB固件库分为内核层和应用接口层两个层次,层次结构框图如图4所示。32 固件驱动程序设计固件驱动程序(又称单片机程序)是指固化到CPU模块内的软件。固件程序采用模块化设计,主要模块包括:数据采集控制模块和数据通信模块两大部分。模块化设计的优点是可靠性高、可读性好、软件

7、改动简单。USB设备在上电之后需要首先完成系统时钟配置及片内外设的初始化操作。设备初始化完毕后,采集命令的接收、解析及数据传输的所有操作均在中断服务程序中完成。中断源及对应功能如表1所列。定时器3为节拍发生器,定时器中断用于定时触发AD转换器采样与转换。DMA通道1产生中断表明4 KB数据缓存已满,可以将AD采样数据打包并通过USB发送USB的中断较为复杂,是固件驱动程序设计的核心部分,包括枚举的整个过程,以及除枚举以外所有与主机的命令、数据交互过程。控制命令主要包括采样频率的设定、采样的启动和停止。USB设备总计使用了3个端点,分别为端点0、端点1和端点3。端点0为USB默认的控制传输端点,

8、供设备枚举初始化时使用;端点l和端点3均为批量传输端点,端点1方向为输入,用来接收Pc的控制指令;端点3的方向为输出,用来向PC机发送采集数据包。33 驱动程序设计USB设备驱动程序介于USB硬件与数据采集系统应用程序之间,为它们之间的通信提供桥梁。USB的驱动程序属于WDM(Windows driver mode1)类型,Windows 982000等操作系统均支持该类型的驱动程序 。USB驱动程序使用DriverStudio中的Driverworks 27编写。DriverWorks提供了3个函数类:KUsbLowerDeviee,KUsblnterface和KUsbPipe类,用于实现U

9、SB设备操作。KUsbLowerDeviee类用于逻辑设备的编程,KUsblnterfaee类用于接口的编程,KUsbPipe类用于管道的编程。最基本的例程有设备的启动、停止、卸载、读写、设备控制等例程。在端点初始化时,定义最大传输字节数为4096B。而固件每次传输字节数最大为64 B,因此传输4096 B的数据需要将数据分成32包分包发送,主机接收数据拼包的过程由驱动程序自动完成。根据实际需要,用户可用Driverworks自带的DriverWizard生成驱动程序框架和Read、Write函数,在DeviceControl函数中添加用户定义的设备控制程序,完成用户自定义的功能。驱动程序编写

10、完毕后,会编译生成后缀为inf和 sys两个文件。inf文件是系统用来查找适合硬件的驱动程序的向导文件,当Windows发现新的设备时(在系统启动时、在安装热插拔设备时或者在从控制面板安装新设备时),就调用Windows的“添加新设备向导”执行。这个向导就扫描所有可用的inf文件,找到合适的驱动程序。34 应用程序设计用户应用服务程序直接面向用户,是控制数据采集软件的最上层,不仅提供与用户交互的界面,还能通过发送各种控制命令来控制采集模块的工作。在Windows中,应用程序实现与WDM的通信过程是:应用程序先用CreateFile函数打开设备,然后用DevicelOControl与WDM进行通

11、信,包括从WDM中读数据和写数据给WDM两种情况,也可以用ReadFile从WDM中读数据或用WriteFile写数据给WDM。当应用程序退出时,用CloseHandle关闭设备。表2列出了几种常用的分发例程及其所对应的Win32函数。操作人员可以通过用户服务程序来控制数据采集卡的采集与控制工作,完成采集卡的功能调试。同时,通过用户服务程序,操作人员也可以直观地将采集到的数据进行显示与分析。采集卡控制的软件流程图如图5所示。首先需要打开设备,如果设备没有被找到,则会显示错误信息;如果设备能够被正确识别,则需要继续设置采样频率。正确设置采样频率后就可以单击开始接收数据按钮接收数据了。发送区会不停

12、显示出已发送的命令串,在接收区则会不停显示出接收到的数据包编号。如果需要停止数据采集,只需单击停止数据采集按钮即可。使用ReadFile函数时应注意的一个问题是该函数是阻塞调用。当执行该函数时,应用程序会一直等待其执行完毕,无法进行其他操作。为提高程序效率,应为读数据操作建立一个线程,让其独立运行。建立线程可用VC+60中MFC提供的多线程类进行编程。程序在实现数据可视化的过程中,使用了ActiveX控件。ActiveX与具体的编程语言无关,利用ActiveX控件可以较好地实现可视化的外观效果,从而逼真、形象地显示工业应用中的各种仪器、仪表设备的外观。本应用中利用了LabVIEW 中一个名为NTGraph的ActiveX控件,实现了数据的可视化输出。实际测试时使用了频率为1 kHz的正弦波信号,实测截图如图6所示。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号