基于STM32的数据采集与实时滤波设计

基于STM32的数据采集与实时滤波设计[20200406140932]
摘要
伴随单片机技术的发展,其应用范围越来越广,如数据采集和处理。ST公司的STM32系列处理器,基于32位的ARMcortex-M3内核,并包含内嵌的硬件乘法器,还具有较多的外设接口,,特别适合于传感器信号的采集和处理。本文主要采用STM32处理器设计一款精度高,稳定度高,低功耗的数据采集与数字滤波系统。使用STM32片内AD采集含有噪声的模拟信号,利用STM32内嵌的硬件乘法器,基于DSP库编写FIR低通滤波程序,实现对数字信号的滤波和处理,再通过串口将结果输出至电脑。
 *查看完整论文请 +Q: 3 5 1 9 1 6 0 7 2 
关键字:STM32单片机A/D数据采集FIR数字滤波
目录
第一章 绪论 4
1.1 研究目的和意义 4
1.2 国内外现状 4
第二章 STM-32和开发环境 5
2.1 主控芯片STM-32 5
2.1.1 Cortex-M3内核的相关介绍 5
2.1.2 STM32处理器外设接口 6
2.1.3 STM32的FSMC介绍 6
2.2 Keil集成开发环境 7
第三章 系统硬件设计 8
3.1传感器模块 8
3.2 ADC模块 8
3.3存储模块 9
3.4 通信模块 10
第四章 数据采集与处理软件设计 11
4.1 ADC模块的配置 11
4.2 FIR滤波器的设计 11
4.2.1 FIR滤波器设计的原理和结构 11
4.2.2 基于DSP库的FIR滤波器实现 13
4.3 存储部分软件设计 14
4.4 串口通信软件设计 16
第五章 结果与分析 17
5.1 数据采集测试 17
5.2 数字滤波测试 17
结束语 19
参考文献 20
致谢 21
第一章 绪论
1.1 研究目的和意义
随着当前工业的发展,运输扩张以及城镇化的展开,对特定信号及时准确的测量与剖析,在某些实际生产领域具有重大作用。如在军事领域中,为能及时的查错和修理某些机器以保证机器的正常运作,就需监视其做业情况,此时就涉及到对特定信号的收集和处理。积极研究降低环境噪声对人体的伤害,也不可缺少的需要实时特定信号的采集与分析。指针式仪表是现有设备信息输出的主要手段,但是现有装备的逐渐复杂化,增加了日常信息管理量,同时消耗了大量的人、财、物力,由于工作效率不高,无法及时获得装备的动用情况、技术状况以及状态等信息。解决这一现状成为一种迫切的需要,因此如何实现对实时信号的高精度,高稳定度,低消耗的采集和分析非常重要。
1.2 国内外现状
作为高科技应用领域的研究热点,数据采集与分析技术的应用已经非常广泛,且要求越来越高。随着微电子制造水平的提高,逐步完成数据分析理论,目前的研究数据的采集和处理技术在国内外已取得了巨大的成就。在模拟信号到数字信号转换的研究上,分析精准度的提高和多痛道采集加强了分析功能。新推出DSP更加提高了分析能力。伴随使用者不断的对此技术提高要求,更技术含量的微控制器的出产,也使采集数据和相关处理更加快捷,准确。
模拟信号的采集在大多数数据分析场合中都不可或缺,特别是计算机控制中。由于实际工厂作业的繁乱,模拟信号种类和样式也变的纷杂,采样的针对程度与分析精度也要有相对应的提高。当然,处理速度永远是核心要求,新的单片机处理速度已经大幅度提高。为了数据的采集与处理更加快捷与方便,片内装置的要求也逐渐提高,如STM32,其内嵌硬件乘法器,节省运算时间与外联设备,提高处理效率。
第二章 STM-32和开发环境
2.1 主控芯片STM-32
主控芯片也是32位标准处理器, 低的消耗,门的减少、较短的中断消耗时间、调试成本低下等特点使其成为较为突出的芯片。本设计采用的是STM32F103,它具有优异的性能,丰富的片上外设,包括硬件乘法器,A / D转换器,DMA控制器,位定时器和USB2.0全速接口( 12 Mbps),非常适合数据采集与处理。
2.1.1 Cortex-M3内核的相关介绍
Cortex-M3是一个拥有功耗低的内核,响应中断的时间很少,该处理器的用途主要是下面几个方面:
(1)成本相对较低:Cortex-M3内核是设计微控制,所以很适合来做单片机,并且便宜又很容易掌握。
(2)汽车方面的电子:Cortex-M3在汽车电子领域的用途也很广泛。
(3)数据通信能力:Cortex-M3的生产成本低、处理的速度快,并且带有自己特殊的位操作指令,让它在大部分的通信应用上都占有优势。
Cortex-M3是STM32微控制器主要的一个内核,是中央处理单元的芯片,然后添加一些外围元件构成的借口,组成了一个处理器芯片。但是不同的厂家设计出的处理器可以在不同的应用环境下进行不同的配置,包括存储器的容量、外形设计等都各具特色。
我们必须首先对STM32处理器有一个大致的了解,这样才能更好的使用它,主要想了解它是如何工作的,如特权访问,堆栈寄存器的利用等。他有两种模式,处理器和线程的支持模式。如果程序运转时出现非正常情况,系统就会进入处理模式,在进入该模式之后,若是特权访问的状态,就能够查看全部的程序。
当内核在特权状态时,全部的程序和内部指令及受保护ROM都能够被查看;反之,不在该状态时,受到限制或对某些部分不能访问。调试和Thumb状态是微制器工作的两种方式。在任何情况之下,如果停止运行后调试,能够快速的变成微制器的调试状态。因为Cortex-M3具有两种工作模式,所以每一种工作模式都具有相应的栈空间,分别为进程堆栈和主堆栈。
下面是这个处理器的寄存器:
(1)通用的 一共是十三个寄存器。
(2)栈指针寄存器一共有2个,都存放在 寄存器中,一个是进程堆栈,另一个是主堆栈。
(3)Cortex-M3处理器包含一个链接寄存器,由 指示。
(4)程序计数器(PC)有且只有一个,当前有程序执行时, 指向其执行地址,并存入其中。
(5)有程序状态寄存器XPSR。
2.1.2 STM32处理器外设接口
主控芯片所在的系列继承了上述内核生产低成本、实用性能高、工作低消耗等特点。该系列芯片在总线上, AHB到APB桥为前者和后者总线之间提供同步,共有两个。该系列包含许多片上外围接口,包括以下的接口:
(1) STM32系列的处理器集成GPIO端口,并且GPIO端口可以通过软件配置成很多种工作模式;
(2) STM32系列的处理器集成的DMA控制器是来管理来自于外设对存储器的访问请求,总共七个通道;
(3) 能够达到 的最快的速率的通串线通道口是STM32系列处理器的组成之一;
(4) 能够达到 的传输速率的全双工通用同步或异步串行接收和发送器,STM32系列的处理器集成了多个;
(5) 最快可以达到 的速度的同步串行外设接口,是STM32系列的处理器的组成之一;
(6) 可以达到的 两线式串行总线,是STM32系列的处理器的组成之一。
2.1.3 STM32的FSMC介绍
通过FSMC模块,可以直接扩展的异步或同步在STM32处理器的内存,FSMC主要作用是:
(1)AHB总线信号转换为相应的外部设备外部设备控制器,以及相应的权限。
(2)SRAM是其中一个主要的静态的存储器接口装置,另两个分别是非易失闪存,只读存储器。
(3)各个存储模块有且只有一个自己特定对应的片选信号。
系统主要由四个模块组成:第一个是AHB接口,静态存储器控制外部设备来访问内部CPU和总线提供了一个通道;第二个是PSRAM控制器NOR闪存,为了访问PSRAM或者NOR提供接口;第三的PC卡控制器和NAND快闪记忆体,以访问PC卡或NAND提供接口;;第四个是外部设备接口。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/gdxx/370.html

好棒文