基于STM32和FATFS的PM2.5数据采集系统

2017-04-15 21:24廉嘉伟
数字技术与应用 2016年12期
关键词:微控制器粉尘处理器

廉嘉伟

摘要:介绍一种基于STM32处理器的温度测量系统设计方案。以STM32F103微控制器为核心,采用益杉A3粉尘浓度传感器,测量温度用OLED显示,同时显示浓度曲线和浓度值,并且通过移植FatFs文件系统通过SD卡储存数据,可以显示历史值。具有体积小、精度高、处理能力强,存储能力强,数据观测直观等特点。

关键词:STM32 PM2.5 浓度检测 FatFs

中图分类号:TP274+.2 文献标识码:A 文章编号:1007-9416(2016)12-0074-02

Abstract:This paper introduces a design scheme of temperature measurement system based on STM32 processor. The micro controller STM32F103 as the core, the Yi Shan A3 dust concentration sensor, temperature measurement with OLED display, display at the same time concentration curve and concentration, and the transplant FatFs file system to store data through the SD card, can display the historical value. Has the characteristics of small size, high precision, strong processing ability, memory ability, data observation and so on.

Key Words:STM32;PM2.5;concentration detection;FatFs

随着经济的快速发展,机动车数量的急剧攀升,以煤炭石油为主的能源消耗量大幅度增加,大气颗粒物污染也随之加剧。PM2.5是指环境空气中空气动力学直径小于等于2.5μm的颗粒物。PM2.5粒径更,可成为病毒和细菌的载体,对人体健康产生极大危害,在大气中的停留时间长、输送距离远,也是导致雾霾天气的主要污染物,同时它还是造成环境能见度降低的空气能见度的主要原因。本文采用益杉A3粉尘浓度传感器,STM32F103作为系统核心,设计了一种PM2.5粉尘浓度测量系统,它可以監测PM2.5浓度,通过TFTLCD屏幕显示,并且通过移植FATFS系统可以存储大量已经测量的历史值。

1 系统结构

PM2.5测量系统主要有PM2.5传感器,显示系统,能量供应系统,数据存储模块组成。主控电路由STM32F103及其外围电路组成,是系统核心部分,主要完成数据的传输和处理工作,并将已经处理的数据在TFTLCD屏幕上显示同时绘制曲线,如有需要还可以与PC端通过UART转USB串口进行数据传输。

STM32系列处理器是意法半导体ST公司生产的一种基于 ARMv7架构的 32位、支持实时仿真和跟踪的微控制器。嵌入式处理器不能独立工作,必须给它提供电源、时钟以及复位电路。本系统采用STM32F103芯片,其特点是功能增强,处理数据更快。这些提供给嵌入式处理器运行所必须的条件电路与嵌入式处理器共同构成了这个嵌入式处理器的最小系统。如图1所示。

2 硬件设计

2.1 STM32F103系列MCU

STM32F103是一款基于CORTEX-M3内核、高性能、低成本、低功耗的微控制器,在软件和引脚封装方面同其他STM32系列处理器是兼容的。

它的工作频率为72MHz,能实现高端的数据运算。片上集成了高速存储器和通过APB总线连接的丰富和增强的外设和I/O口。所有的设备都提供标准的通信结构,片上还带有两个12位的ADC、一个12位双通道DAC、11个16位计时器。其主要特点为先进的内核结构、优秀的功耗控制、性能出众而且功能创新的片上外设、高度的集成整合和易于开发。

2.2 数据采集模块

数据采集采用益杉A3粉尘浓度传感器,该传感器是一款激光数字式通用颗粒物浓度传感器。

这款传感器数据经过多次标定测量精准,采集功能强大,响应迅速,输出数据为标准串口格式。输出为32位数字信号,其中包括起始符0X32和0X3D,包括帧长度信息和数据信息,其数据位的数据二代表PM2.5浓度值。波特率为9600bit/s。数据输出端与STM32的PA10相连。实物图如图2所示。

2.3 OLED电路

OLED,即有机发光二极管。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性。OLED显示技术具有自发光的特性,而且显示屏幕可视角度大,并且能够节省电能以目前的技术,OLED的尺寸还难以大型化,但是分辨率确可以做到很高。硬件电路如图3所示。

其中CS为OLED片选信号。WR为写数据。RD为读数据。D[7:0]为8位双向数据线。RST(RES)为硬复位OLED。DC为命令/数据标志。

OLED读写过程为根据要写入/读取的数据的类型,设置DC为高/低,然后拉低片选,选中OLED控制器SSD1306,接着根据是读数据或写数据置RD/WR为低,读数据过程为在RD的上升沿,使数据锁存到数据线上。写数据过程为在WR的上升沿,使数据写入到SSD1306里面。

2.4 SD卡电路

SD卡是一种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存贮器件。SD卡共支持三种传输模式:SPI模式,1位SD模式,4位SD模式。低速卡通常支持0~400kb/s的数据传输率,采用SPI和1位SD模式;高速卡支持0~100Mb/s的数据传输率,采用4位SD传输模式;支持0~25Mb/s传输速率,采用SPI和1位SD模式。

SD卡由9个引脚与外部通信,支持SPI和SDIO两种模式,不同模式下,SD卡引脚功能描述如表1所示。

本文中SD卡通过SPI方式与MCU进行通信。SD卡硬件连接电路如图4所示。

3 软件设计

根据设计任务的要求,系统软件主要完成PM2.5浓度值的读取、OLED粉尘浓度值显示以及曲线绘制,移植FATFS系统并且将数据写入SD卡并存储。程序采用STM32的固件函数库在MDKKeil uVision5 环境下编写,主要包括以下内容。

3.1 PM2.5浓度值读取程序

首先完成GPIO初始化,配置PA9和PA10端口,使能USART1和GPIO时钟,设置PA9为推挽复用输出,PA10为浮空输入。随后配置NVIC,进行中断设置,并且开启串口中断。最后设置相应的USART初始化配置,串口波特率设置为与传感器相同的9600bit/s,一个停止位,无奇偶校验位。

根据传感器数据格式,编写相应的通信协议使得STM32可以从一帧数据中准确读出PM2.5浓度值并且进行校验。

3.2 OLED显示程序

根据硬件编写驱动程序,片选信号与PD6连接,复位信号与PG15连接,读数据信号与PD3相连,写信号与PG14相连,数据命令标志与PG13相连。PC0~7为8080数据。配置相应IO口。编写描点函数,数字显示函数和画线函数。

编写OLED初始化程序,程序流程图如图5所示。

3.3 FATFS程序移植

FatFs是一个通用的文件系统模块,用来在小的嵌入式系统上实现FAT文件系统。FatFs独立于具体的硬件,可以在不做修改或少量修改的情况下移植到常用的微控制器。FatFs的设计思想是小块的数据可以通过Buffer存貯,大块的数据直接存取,提高了存取速度和效率。

使用STM32的SPI1,引脚 PA3为SD卡片选,配置为推挽输出,PA7为MOSI,配置为推挽复用(GPIO_Mode_AF_PP),PA6为MISO,也配置为推挽复用。

图6为SD卡的初始化过程,在SD卡刚刚上电的时候至少要延时等待74个时钟周期,然后发送复位命令。STM32连接SD卡的GPIO引脚频率至少要配置为10MHz以上SD卡才能正常工作,SD卡初始化阶段SPI的时钟频率必须小于400k,一旦初始化完成可以设置为高速模式,SPI模式数据传输为高位在前。读SD卡时发送CMD17或者CMD18,返回0x00,接收数据开始令牌0xfe(或者0xfc)+正式数据512Bytes+CRC校验2Bytes。写SD卡时发送CMD24或者CMD25,返回0x00,发送数据开始令牌0xfe(或者0xfc)+正式数据512Bytes+CRC校验2Bytes。

4 结语

本文采用激光粉尘浓度传感器测量空气中PM2.5粉尘浓度,以S T M32F 103做主控芯片,并配上相应的显示、存储等外部接口电路,用SD卡储存数据。设计制作了一款便携的PM2.5浓度测量系统。该系统体积小、精度高、功能稳定、使用方便,可以直观读取当前和历史PM2.5浓度值。适用于日常生活、环境检测中的PM2.5浓度值的测量。

参考文献

[1]邓剑,杨晓非,廖俊卿.FAT文件系统原理及实现[J].计算机与数字工程,2005(09).

[2]李宁.基于MDK的STM32处理器开发应用[M].北京:北京航空航天大学出版社,2013:398-410.

[3]王永虹,徐炜,郝立平.STM32系列为ARM Cortex-M3微控制器原理与实践[M].北京:北京航空航天大学出版社,2013:305-313.

[4]周煜,付宇卓.基于SPI协议的MMC卡读写机制的实现[J].计算机仿真,2005(01).

[5]谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2006.

[6]蒋志林.STM32单片机的原理及硬件电路设计探讨[J].数字技术与应用,2015(10).

[7]刘鹏程.基于 A R M的温度测量系统[J].科技信息(学术研究),2012(18):77-78.

[8]罗廷坤.基于嵌入式操作系统的智能生物杂交仪的设计[D].华北电力大学硕士学位论文,2014:12.

猜你喜欢
微控制器粉尘处理器
高压粉尘防爆电机过厚粉尘层的形成与分析
粉尘大战
光散射法粉尘仪在超低排放的应用
物联网技术在微控制器实验教学中的应用
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
粉尘爆炸不可小觑
ADI推出新一代SigmaDSP处理器
Atmel针对新一代物联网应用发布全新32位微控制器
最新STM32设计工具增加对混合信号微控制器的支持
意法半导体(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器