基于STM32的多路电压测量设计方案

发布者:PeacefulOasis最新更新时间:2013-10-09 来源: dzsc关键字:STM32  多路电压  测量设计 手机看文章 扫描二维码
随时随地手机看文章

  1.引言

  近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。

  数据采集技术是信息科学的重要分支之一,数据采集也是从一个或多个信号获取对象信息的过程。数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。

  电压的测量最为普遍性,研究设计并提高电压测量精度的方法及仪器具有十分重要的意义。在电压测量设计中,单片机作为控制器,是整个设计的核心。除此之外,设计中还必须有模数转换器(ADC)。ADC用于直接采集模拟电压并将模拟信号转换成数字信号,它直接影响着数据采集的精度和速度。

  2.系统概述

  本设计的微控制器采用STM32单片机。

  STM32系列单片机是基于ARM公司Cortex-M3内核设计的。它的时钟频率达到72MHz,是同类产品中性能较高的产品,具有高性能、低成本、低功耗的优点,是嵌入式应用设计中良好的选择。设计中的A/D转换器采用STM32内置ADC.STM32的ADC是一种12位逐次逼近型模拟数字转换器。

  它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。转换结果可以左对齐或右对齐方式存储在16位数据寄存器中。其输入时钟最大可达到14MHz.

  本设计可测量8通道电压值,测量范围为0-10V的电压,显示误差为±0.001V.LCD实时显示电压值和波形图,MicroSD卡对数据进行同步存储。系统原理框图如图1所示。

  

  3.系统硬件设计

  本设计的硬件主要包括STM32模块,LCD模块,SD卡模块和按键模块。STM32模块不仅作为核心控制器,还包括ADC设备,它主要包括STM32最小系统电路。LCD模块主要包括LCD驱动接口电路。SD卡模块主要是SD卡驱动电路。除此之外,还有用于程序下载调试的J-Link接口电路和电源电路等。

  3.1 STM32最小系统

  本模块主要介绍STM32芯片和设计中用到的外设模块。

  STM32最小系统使用外部高速时钟,外接8M晶振。STM32的两个BOOT引脚都接低电平,以使用户闪存存储器为程序启动区域。芯片采用J - L i n k下载模式,也可以进行硬件调试。STM32的电源引脚都接了滤波电容以确保单片机电源的稳定。

  STM32F103VET6拥有3个ADC,这些ADC可以独立使用,也可以使用双重模式(提高采样率)。STM32的ADC是12位逐次逼近型的模拟数字转换器。它有18个通道可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。STM32的ADC最大的转换速率为1Mhz,也就是转换时间为1us(ADCCLK=14M,采样周期为1.5个ADC时钟下得到),不能让ADC的时钟超过14M,否则将导致结果准确度下降。STM32将ADC的转换分为2个通道组:规则通道组和注入通道组。规则通道相当于运行的程序,而注入通道就相当于中断。在程序正常执行的时候,中断是可以打断程序正常执行的。同这个类似,注入通道的转换可以打断规则通道的转换,在注入通道被转换完成之后,规则通道才得以继续转换。

  本设计中ADC采集的数据使用DMA进行传输,以达到高速实时的目的。

  3.2 ADC控制电路

  STM32的数字/模拟转换模块(DAC)是12位数字输入,电压输出的数字/模拟转换器。本设计中使用DAC来控制ADC匹配电路的增益。

  在打开DAC模块电源和配置好DAC所需GPIO的基础上,往DAC通道的数据DAC_DHRx寄存器写入数据,如果没有选中硬件触发,存入寄存器DAC_DHRx的数据会在一个APB1时钟周期后自动传至寄存器DAC_DORx.一旦数据从DAC_DHRx寄存器装入DAC_DORx寄存器,在经过一定时间之后,输出即有效,这段时间的长短依电源电压和模拟输出负载的不同会有所变化。

  为了扩大测量范围和测量精度,本设计在STM32的ADC前加入匹配电路。在ADC控制电路中,输入信号先经过射极电压跟随电路,然后经过分压电路,使输入信号满足AD603的输入要求。然后再经过射极电压跟随电路,输入ADC输入端。AD603的控制输入使用STM32的DAC,可以满足增益的要求。

  匹配电路以AD603为核心。AD603为单通道、低噪声、增益变化范围线性连续可调的可控增益放大器。带宽90MHz时,其增益变化范围为-10dB~+30dB;带宽为9M时范围为10~50dB.

  将V O U T与F D B K短路,即为宽频带模式(90MHz宽频带),AD603的增益设置为-11.07dB~+31.07dB.AD603的5、7脚相连,单片AD603的可调范围为-10dB~30dB.AD603的增益与控制电压成线性关系,其增益控制端输入电压范围为±500mv,增益调节范围为40dB,当步进5dB时,控制端电压需增大:

  

  ADC匹配电路的电路图如图2所示。

  

  3.3 LCD控制电路

  本设计所使用的LCD为2.4寸,320×240分辨率。LCD模块使用STM32的FSMC接口控制。

  FSMC(Flexible Static Memory Controller)即可变静态存储控制器,是STM32系列中内部集成256KB以上Flash,后缀为xC、xD和xE的高存储密度微控制器特有的存储控制机制。通过对特殊功能寄存器的设置,FSMC能够根据不同的外部存储器类型,发出相应的数据/地址/控制信号类型以匹配信号的速度,从而使得STM32系列微控制器不仅能够应用各种不同类型、不同速度的外部静态存储器,而且能够在不增加外部器件的情况下同时扩展多种不同类型的静态存储器,满足系统设计对存储容量、产品体积以及成本的综合要求。[page]

  在STM32内部,FSMC的一端通过内部高速总线AHB连接到内核Cortex-M3,另一端则是面向扩展存储器的外部总线。内核对外部存储器的访问信号发送到AHB总线后,经过FSMC转换为符合外部存储器通信规约的信号,送到外部存储器的相应引脚,实现内核与外部存储器之间的数据交互。F S M C起到桥梁作用,既能够进行信号类型的转换,又能够进行信号宽度和时序的调整,屏蔽掉不同存储类型的差异,使之对内核而言没有区别。

  FSMC可以连接NOR/PSRAM/NAND/PC卡等设备,并且拥有FSMC_A[25:0]共26条地址总线,FSMC[15:0]共16条数据总线。另外,FSMC扩展的存储空间被分成8个块。通过地址线选择操作的块。这样,LCD将被看作一个拥有一块地址空间的存储器进行操作。

  3.4 SD卡驱动电路

  本设计中使用的SD卡为MicroSD,也称TF卡。MicroSD卡是一种极细小的快闪存储器卡,主要应用于移动电话,但因它的体积微小和储存容量的不断提升,现在已经使用于GPS设备、便携式音乐播放器、数码相机和一些快闪存储器盘中。MicroSD卡引脚图如图9所示。

  MicroSD卡与SD卡一样,有SPI和SDIO两种操作时总线。SPI总线相对于SDIO总线接口简单,但速度较慢。我们使用SDIO模式。

  MicroSD卡在SDIO模式时有4条数据线。

  其实,MicroSD在SDIO模式时有1线模式和4线模式,也就是分别使用1根或4根数据线。当然,4线模式的速度要快于1线模式,但操作却较复杂。本设计中使用的是SDIO的4线模式。MicroSD卡的硬件连接图如图3所示。

  

  3.5 触摸屏电路

  本设计在测量的通道和显示设置上,除了使用按键设置,还使用触摸屏进行设置。

  触摸屏使用芯片TSC2046控制,其硬件连接图如图4所示。

  

  在图4中,TSC2046可以采集触摸屏的点坐标,从而确定触摸的位置,进行人机交互。

  STM32单片机通过SPI总线与TSC2046通信,可以得到触摸信息。本设计使用触摸屏进行测量通道数的设置和测量速度的设置。

  4.系统软件设计

  4.1 软件流程

  系统软件部分使用C语言编程,同时使用STM32官方提供的固件库,使用的版本为3.5版。STM32固件库也称固件函数库或标准外设库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。简单的说,使用标准外设库进行开发最大的优势就在于可以使开发者不用深入了解底层硬件细节就可以灵活规范的使用每一个外设。

  软件部分为了方便存储数据的查看和读取,在MicroSD卡部分使用了fatfs文件系统。

  FAFFS是面向小型嵌入式系统的一种通用的FAT文件系统。FATFS完全是由AISI C语言编写并且完全独立于底层的I/O介质。因此它可以很容易地不加修改地移植到其他的处理器当中,如8051、PIC、AVR、SH、Z80、H8、ARM等。

  FATFS支持FAT12、FAT16、FAT32等格式,所以我们利用前面写好的SDIO驱动,把FATFS文件系统代码移植到工程之中,就可以利用文件系统的各种函数,对已格式化的SD卡进行读写文件了。

  以上是系统软件设计的两个主要部分,其他还有LCD驱动程序,ADC和DMA驱动程序,按键中断程序等。

  4.2 软件文件结构

  文件main.c是整个程序的入口文件,也是主要文件。global.c和global.h主要是共用的函数和全局性的宏定义。LCD_Disp.c和LCD_Disp.h是基于STM32固件库的对LCD的底层驱动函数。Lcdfunc.c和lcdfunc.h是为了主程序更方便的操作LCD而编写的一些常用的复杂的对LCD底层函数的封装函数。sdio_sdcard.c和sdio_sdcard.h是基于STM32固件库的对MicroSD卡的底层驱动函数。fat文件系统在STM32上的使用需要针对具体类型的硬件进行配置,所以它是基于MicroSD卡的底层驱动程序的。fatfunc.c和fatfunc.h是对fat文件操作接口的一些封装,是针对本设计中对文件的操作编写的。其余的按键中断和ADC等操作的函数是直接基于STM32固件库的,并直接被主程序调用。

  5.总结

  STM32在速度、功耗方面性能都更加优越,其丰富的外设也更加方便设计。另外,STM32价格较低,在成本上也有优势。STM32适合于控制电子设备的设计。设计中使用的ADC是STM32上的12位ADC,能够满足一定的测量精度,对于较高的测量要求,则需要使用更高精确度的ADC.但是使用高精度ADC和DSP芯片,将很大的增加开发成本。本设计方案完成了多路电压测量的各项功能,但是还需要在使用中检测其稳定可靠性,以使设计更加完善

关键字:STM32  多路电压  测量设计 引用地址:基于STM32的多路电压测量设计方案

上一篇:基于MLX90615和STM32的多点红外温度测量系统设计
下一篇:基于ARM-Linux的自主避障机器鱼设计

推荐阅读最新更新时间:2024-03-16 13:28

STM32 GPIO详解
下文将根据STM32F207参考手的中GPIO框图讲解GPIO功能。 01、I/O接口电路 带FT的是说明可以容忍5V电压的,I/O电路框图 1.1、普通输入 普通输入模式下,上拉和下拉电阻(微弱)的存在,共分3种模式 浮空输入,不使能上拉电阻,不使能下拉电阻 上拉输入,使能上拉电阻 下拉输入,使能下拉电阻 从上面框图得知,输出缓存是被禁止的 1.2、普通输出 普通输入模式下,上拉和下拉电阻(微弱)的存在。主要是由于P-MOS和N-MOS的存在分为下列两种模式 开漏模式:输出寄存器是 0 时,激活 N-MOS, 而输出寄存器是 1 时,端口保持高阻态(P-MOS 不会被使能) 推挽输出: 输出寄存器
[单片机]
<font color='red'>STM32</font> GPIO详解
单片机STM32时钟图文理解
其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上电的时候,默认使用内部高速时钟。而外部时钟信号是由外部的晶振输入的,在精度和稳定性上都有很大优势,所以上电之后我们再通过软件配置,转而采用外部时钟信号. 高速外部时钟(HSE):以外部晶振作时钟源,晶振频率可取范围为4~16MHz,我们一般采用8MHz的晶振。 高速内部时钟(HSI): 由内部RC振荡器产生,频率为8MHz,但不稳定。 低速外部时钟(LSE):以外部晶振作时钟源,主
[单片机]
单片机<font color='red'>STM32</font>时钟图文理解
采用S3C44B0芯片实现基于步进电机控制的微波频率自动测量系统设计
1.引言 通常微波所指的是分米波、厘米波和毫米波。关于其频率范围,一种说法是: 300MHz ~ 300GHz(1MHz =106Hz,1GHz =109 )相应的自由空间中的波长约为1m~1mm. 微波技术的兴起和蓬勃发展,使得国内大多数高校都开设微波技术课程。但还存在以下问题:测量时,由手工逐点移动探头并记录各点读数,然后手工计算实验结果并绘图。测量项目单一、精度低、测量周期长,操作也较为繁琐。本文主要研究一种实用的基于Labview的速调管微波频率自动测量系统。 2.系统整体结构 系统的整体结构如图2-1所示。由下位机跟上位机构成。微处理器通过驱动电路来控制步进电机,带动谐振式频率计的套筒转动,处理器采样检波电流,传
[单片机]
采用S3C44B0芯片实现基于步进电机控制的微波频率自动<font color='red'>测量</font>系统<font color='red'>设计</font>
基于dsPIC30F2010的土壤水分测量仪的设计研究
0 引言 土壤水分测量一般有烘干测量法、中子扩散法、电磁测量技术、时域反射法、频域反射法、张力测量法、红外线遥测法、驻波率法等。本文提出了一种基于dsPIC30F2010单片机的土壤水分测量仪,该仪器采用驻波率原理,可以快速、精确的测量土壤水分,而其dsPIC30F21310性能先进,电路结构简单,系统比较稳定。经试验,按照这种测量原理设计的土壤水分测量仪不但成本低,体积小,便于携带,而且测量精确度较高,能进行多组数据的采集、存储,性能稳定,同时能够满足现代化精细农业节水灌溉和实时土壤水分测量的需要,可以达到节水灌溉的目的。 1 测量原理 本测量系统由高频信号发生电路、传输线、探针、检波电路、信号处理电路和显示电路组成。
[单片机]
基于dsPIC30F2010的土壤水分<font color='red'>测量</font>仪的<font color='red'>设计</font>研究
STM32-PWM波-控制舵机
寄存器配置stm32设备 1、使能外设的时钟:APB1ENR,APB2ENR 2、配置寄存器或者说是控制寄存器。在配置stm32外设时,任何时候都要先使能该外设的时钟!而每个控制寄存器,很有可能包括了,1模式寄存器,2使能寄存器,3才可能是我们认为的数据寄存器或者内容寄存器。 3、使能外设。即使配置好了,没有使能外设,则外设永远不会工作,这一点比较容易遗忘。 寄存器配置,请查看 http://wenku.baidu.com/link?url=NE4LMJFepztwPxYEb0n72SMNZLTruz32JsEJNPAtcV9AcS9OpA6CoLrJGllXzW5relKtY2c8MBKWURnBdYZG_sNj7yg_JFo7
[单片机]
基于TDR技术的阻抗测量系统的设计和应用研究
宽带阻抗受控系统的实现给中心电子构建部件——印刷电路板(PCB)的设计师、制造商和质量保证管理人员提出了艰巨的挑战。这个挑战不是源于缺乏电磁设计知识,而且源于PCB行业中巨大的价格压力:也就是说,在开发人员看来完全适合GHz范围时钟速率的理想射频(RF)基材几乎没有使用过。 与此相反,在整个基材中介电常数(DC)不均匀的低成本FR4材料倒是经常使用。另外,将核心材料和半固化片压合成多层PCB经常导致几何上的不匀称,进一步增加了不确定性的来源。然而,为了满足规定的容差,许多PCB制造商提供对线路阻抗的检查服务,继而要求额外的阻抗测试板。这些测试板通常位于PCB边缘,因此只能部分代表分布在整个生产面板上的实际感兴趣传输线的特性。在
[测试测量]
基于TDR技术的阻抗<font color='red'>测量</font>系统的<font color='red'>设计</font>和应用研究
STM32:SPI驱动ADXL345
ADXL345为3轴数字加速度计。支持SPI或I2C访问。网上例子大多是I2C,这里使用4线SPI。 一、遇过的坑 调试过程花了几个小时,遇到一些小坑。 1.开始的时候,无论如何都无法读取芯片ID。这可是最基础的一步啊,SPI,I2C都试过。无奈之下,对照原理图与手册的管脚说明,发现Vs接到地了。其实这个管脚要接电源电压。老实说,一看名字还以为要接地,毕竟一般IC接地脚名字为Vss。让硬件工程师飞线修改。终于可以进行通信了。 2.发现数据跳动比较大。静止放置,也会出现很大的数据波动。看上去并不是噪声导致的。最后发现手册上对SPI速率与输出数据速率的相关性。重新修改SPI速率,输出数据终于稳定多了,再加上软件滤波,终于满
[单片机]
<font color='red'>STM32</font>:SPI驱动ADXL345
STM32标准库编译成lib库文件
目录: 1、建立创建lib的工程 2、将库文件拷贝到工程目录 3、选择芯片:STM32F407VG 4、选择NO。因为这不是可运行的程序,这里不需要加入启动文件 5、创建完工程后,工程结构如图 6、MDK中点击工具栏上的 设置工程结构,并将库文件加入工程 7、完成后MDK下的目录结构 8、MDK下设置输出选项 9、设置C语言预编译宏和引用目录 10、设置完成后 11、将stm32f4xx_conf.h文件拷贝到工程 12、到此,工程设置完成。按F7编译,经过一支烟的时间即可生成库的lib 13、工程输出目录 14、将库文件加入该工程 15、新建工程,我命名成stm32f4use,处理器依旧选择STM32F407VG 16、这是选
[单片机]
<font color='red'>STM32</font>标准库编译成lib库文件
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved