当前位置:首页 > 智能硬件 > 智能硬件
[导读]引 言 目前,在工业和许多其他场合依然使用基于PCI板卡、ISA板卡的数据采集系统,价格昂贵、接插不方便。USB(Universal Serial Bus,通用串行总线)是计算机上的一种新型接口技术,它使得计算机和外部设备的连接

引 言
    目前,在工业和许多其他场合依然使用基于PCI板卡、ISA板卡的数据采集系统,价格昂贵、接插不方便。USB(Universal Serial Bus,通用串行总线)是计算机上的一种新型接口技术,它使得计算机和外部设备的连接十分方便。USB具有高效、快速、价格低廉、体积小和支持热拔插等优点,使其成为数据采集系统设计的新宠儿。然而当前的USB数据采集设备大多采用的是专门的USB接口芯片,而且根据不同的需求,需要外扩一定数量的A/D 转换芯片,使得接口非常复杂,增加了系统的开发难度,进而对系统的稳定性产生影响。本设计采用意法半导体公司开发的基于Cortex-M3内核的新型32 位微控制器STM32F103x作为主控芯片。该芯片内部集成了全速USB2.0设备接口模块和16通道的12位高精度A/D转换器,单芯片即可完成设计任务,避免了复杂的接口电路设计,有效地降低了系统接口的复杂度和系统开发的难度,在很大程度上提高了系统的稳定性。

1 主控芯片STM32F103x
    STM32F103x是意法半导体公司生产的基于ARMCortex-M3处理器核的微控制器。Cortex-M3是基于ARMv7-M体系结构的32位标准处理器,具有低功耗、少门数、短中断延迟、低调试成本等众多优点。它是专门为在微控制器系统、汽车电控系统、工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能而设计的,大大简化了编程的复杂性,集高性能、低功耗、低成本于一体。STM32F103x微控制器采用了先进的 Cortex-M3内核结构,具有丰富的性能出众的片上外设,包括16通道的12位A/D转换器、7通道的DMA控制器、16位定时器、USART接口、 CAN接口(2.0B)和USB2.0全速接口(12 Mbps)等。

2 数据采集系统硬件设计
2.1 数据采集系统硬件结构
    多路数据采集系统的硬件结构框图如图1所示,主要包含5个模块:信号输入接口模块、信号调理模块、数据采集及预处理模块、USB2.0通信模块和上位机模块。其中的信号输入接口模块实现信号的隔离接入;信号调理模块对输入信号进行放大或衰减,以适应A/D转换器的转换量程;数据采集及预处理模块和USB2.0通信模块实际是由微控制器 STM32F103x独自实现的。STM32F103x通过内部A/D转换器对经过调理后的信号进行采集,然后进行数据的预处理,并将预处理后的数据通过 USB2.0全速接口传送到上位机。上位机模块主要是对获取的数据进行存储和分析处理。由于大量的工作都是在STM32F103x内部完成的,只需通过简单的寄存器设置和程序设计即可完成数据的采集和传输过程,这在很大程度上优化了系统的设计。

2.2 STM32F103x的ADC模块
    STM32F103x系列微控制器所带的2个12位ADC是一种逐次逼近型模拟数字转换器。它有16个外部通道,可测量16个外部信号源。各通道的A/D 转换可以是单次、连续、扫描或不连续模式执行,其转换结果可以左对齐或右对齐方式存储在16位数据存储器中。ADC转换频率最高可达1 MHz,且每个通道的采样间隔时间均可独立编程设置。在通道转换期间,ADC能产生DMA请求,使DMA来传输ADC转换值,提高了数据传输的效率。 ADC模块的结构示意图如图2所示。

2.3 STM32F103x的USB2.0全速设备接口模块
    USB接口模块为上位机和由微控制器实现的功能设备之间提供了符合USB规范的通信连接。USB接口模块通过和微控制器共享一块专用的数据缓冲区实现上位机和系统存储器之间的数据传输。这块专用数据缓冲区的大小由所使用的端点数目和每个端点最大的数据分组大小来决定,每个端点最大可使用512字节缓冲区,最多可用于16个单向或8个双向端点。USB接口模块根据UJSB
规范实现了令牌分组的检测,数据发送/接收的处理和握手分组的处理。整个传输的数据格式由硬件自动生成,其中包括CRC的生成和校验。USB2.0全速设备接口模块的结构示意图如图3所示。

3 数据采集系统软件设计
    数据采集系统软件设计主要包括设备固件程序设计和上位机应用程序设计两部分。
3.1 设备固件程序
    设备固件程序设计的两个主要部分是ADC模块的配置和USB模块的配置与通信。
    (1)ADC模块的配置
    意法半导体公司针对ARM的32位STM32F103x系列MCU提供了固件库。该固件库提供了包括ADC在内的各种功能模块的软件使用接口,使用该固件库可以有效节省用户产品的开发和调试时间。利用该库,本设计中ADC的配置代码如下:


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

    在设置端点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个通道中的任意一个通道。在实时数据显示区域,能观测到每一路数据采集的结果;在左侧的控制及状态显示区域,可以实现设备选择、采集过程的控制以及数据采集系统的工作状态显示。

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

在这篇文章中,小编将对usb的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: USB USB隔离诊断

2024 年 3 月 - 全球领先的工业称重和检测技术制造商之一茵泰科推出了Midrics® 1 Ex防爆称重显示器,为危险区域的称重结果显示提供了新的解决方案。以更优惠的价格向客户提供可靠、操作直观简便的产品。

关键字: 显示器 数字通信接口 数据采集系统

今天,小编将在这篇文章中为大家带来Type-C接口的有关报道,通过阅读这篇文章,大家可以对Type-C接口具备清晰的认识,主要内容如下。

关键字: Type-C USB

一直以来,Type-C接口都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来Type-C接口的相关介绍,详细内容请看下文。

关键字: Type-C USB

随着科技的飞速发展和智能手机的普及,USB调试模式已成为许多科技爱好者和开发者不可或缺的工具。通过USB调试模式,用户可以连接手机与电脑,实现数据传输、应用安装、系统调试等多种功能。本文将深入探讨USB调试模式的打开方法...

关键字: USB 智能手机

USB 2.0与USB 3.0到底有什么不同,今天来深入探索两者之间的区别。随着科技的不断进步和设备的不断升级,USB接口作为连接设备的重要桥梁,也在不断发展。USB 2.0和USB 3.0是两种广泛使用的USB接口标准...

关键字: USB 智能手机 USB 3.0

随着科技的飞速发展,智能手机已成为我们日常生活中不可或缺的一部分。作为手机与电脑或其他设备之间的桥梁,USB(通用串行总线)连接在我们的日常生活中扮演着重要的角色。本文将深入探讨USB如何连接手机,并详细介绍USB连接手...

关键字: USB 智能手机

虽然 USB 几乎完全取代那些旧电缆和连接器,但 UART 绝对不会成为过去。您会发现许多 DIY 电子项目都使用 UART。

关键字: UART 串口通信 USB

USB(Universal Serial Bus)是一种通用的串行总线标准,它被广泛应用于连接计算机及其外部设备。USB通信系统具有以下特点:

关键字: USB 串行总线 计算机
关闭
关闭