毕业设计(论文)-基于STM32的多路模拟量数据采集设计.docx_第1页
毕业设计(论文)-基于STM32的多路模拟量数据采集设计.docx_第2页
毕业设计(论文)-基于STM32的多路模拟量数据采集设计.docx_第3页
毕业设计(论文)-基于STM32的多路模拟量数据采集设计.docx_第4页
毕业设计(论文)-基于STM32的多路模拟量数据采集设计.docx_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕 业 设 计 题目:基于STM32的多路模拟量数据采集系统设计 学 生: 学 号: 学 院: 电气与信息工程学院 专 业: 电气工程及其自动化 指导教师: 2016年 6月10日V基于STM32的多路模拟量数据采集系统设计摘 要本文介绍了基于STM32的数据采集的硬件设计和软件设计,数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有着非常重要的作用。本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机芯片。数据采集与通信控制采用了模块化的设计,数据采集与通信控制采用了单片机STM32来实现,硬件部分是以单片机为核心,还包括显示模块和串行接口部分。该系统由程序直接控制STM32芯片。3路被测电压通过DMA专用通道采集,将数据传输向STM32自带的模数转换模块进行模数转换,实现对采集到的数据进行模拟量到数字量的转换,并将转换后的数据通过STM32通过GPIO口控制液晶屏来显示所采集的结果。软件部分应用C语言编写控制软件,对数据采集系统、模数转换系统、数据显示、数据通信等程序进行了设计。关键词:数据采集,STM32,模数转换The Design of Multi-channel Data Acquisition System Based on STM32ABSTRACTThis paper introduces the hardware design and software design of data acquisition based on STM32. The data acquisition system is an indispensable link between analog and digital domains. It plays a very important role. The focus of this article is the data acquisition system, and the focus of the hardware part of the system is the single-chip microcomputer chip. Data collection and communication control use a modular design and use STM32 MCU to realize themsleves. The hardware part is a single-chip microcomputer as the core, and it also includes a display module and the serial interface. The system is directly controlled by the program STM32 chip. Three-measured voltage uses a dedicated DMA channel data acquisition and the data transmission to get the STM32 built-in ADC analog digital conversion module, and it realizes the data acquisition through the digital conversion, and converts the data through the STM32 , GPIO to control LCD screen and display the collected results. Software part of the application of C software use the data acquisition system, analog digital conversion system, data display, and data communications and other procedures to design. Key words:data acquisition,STM32,ADC目 录摘 要IABSTRACTII1 绪论11.1 研究背景及其目的意义11.2 国内外研究现状21.3 该课题研究的主要内容22 数据采集系统设计42.1 数据采集系统42.2 方案论证42.2.1 A/D模数转换42.2.2 DMA采集52.2.3 显示部分63 硬件部分设计73.1 芯片介绍73.1.1 STM32概况73.1.2 STM32历史83.1.3 系统作用93.1.4 性能特点113.1.5 架构优势123.1.6 能耗模式123.2 液晶显示模块133.2.1 液晶显示模块概述133.2.2 外形尺寸143.2.3 模块引脚说明143.2.4 接口时序163.3 外设部分174 软件部分设计194.1 简介KeilUvision5194.2 Keil5工程创建及程序下载194.2.1 创建工程194.2.2 程序下载274.3 程序设计304.3.1 主程序部分304.3.2 ADC模块305 系统调试336 总结35致 谢36参考文献37附录I38附录II4343基于STM32的多路模拟量数据采集系统设计1 绪论1.1 研究背景及其目的意义近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非成熟人员进行操作,并且测试任务是由测试设备高速自动控制完成的。由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。大概在60年代后期,国内外就有成套的数据采集设备和系统多属于专用的系统。20世纪70年代后期,随着微型机的发展,诞生了采集器、仪表同计算机溶为一体的数据采集系统。由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了惊人的发展。从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,一类是工业现场数据采集系统。20世纪80年代随着计算机的普及应用,数据采集系统得到了很大的发展,开始出现了通用的数据采集与自动测试系统。该阶段的数据采集系统主要有两类,一类以仪表仪器和采集器、通用接口总线和计算机组成。这类系统主要应用于实验室,在工业生产现场也有一定的应用。第二类以数据采集卡、标准总线和计算机构成,这一类在工业现场应用较多。20世纪80年代后期,数据采集发生了很大的变化,工业计算机、单片机和大规模集成电路的组合,用软件管理,是系统的成本减低,体积变小,功能成倍增加,数据处理能力大大加强。20世纪90年代至今,在国际上技术先进的国家,数据采集系统已成功的运用到军事、航空电子设备及宇航技术、工业等领域。由于集成电路制造技术的不断提高,出现了高性能、高可靠的单片机数据采集系统(DAS)。数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。该阶段的数据采集系统采用模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速组成一个新的系统。尽管现在以微机为核心的可编程数据采集与处理采集技术的发展方向得到了迅速的发展,而且组成一个数据采集系统只需要一块数据采集卡,把它插在微机的扩展槽内并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响。相较于数据采集板卡成本和功能的限制,单片机具多功能、高效率、高性能、低电压、低功耗、低价格等优点,而双单片机又具有精度较高、转换速度快、能够对多点同时进行采集,因此能够开发出能满足实际应用要求的、电路结构简单的、可靠性高的数据采集系统。这就使得以单片机为核心的数据采集系统在许多领域得到了广泛的应用。1.2 国内外研究现状数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。各种领域都用到了数据采集,在石油勘探、科学实验、飞机飞行、地震数据采集领域已经得到应用。我国的数字地震观测系统主要采用TDE-124C型TDE-224C型地震数据采集系统。近年来,又成功研制了动态范围更大、线性度更高、兼容性更强、低功耗可靠性的TDE-324C型地震数据采集系统。该数据采集对拾震计输出的电信号模拟放大后送至A/D数字化,A/D采用同时采样,采样数据经DSP数字滤波处理后,变成数字地震信号。该数据采集系统具备24位A/D转化位数,采样率有50HZ、100HZ、200HZ。由美国PASCO公司生产的“科学工作室”是将数据采集应用于物理实验的崭新系统,它由3部分组成:(1)传感器:利用先进的传感技术可实时采集技术可实时采集物理实验中各物理量的数据;(2)计算机接口:将来自传感器的数据信号输入计算机,采样速率最高为25万次/S;(3)软件:中文及英文的应用软件。受需求牵引,新一代机载数据采集系统为满足飞行实验应用也在快速地发展。如爱尔兰ACRA公司2000年研发推出的新一代KAM500机载数据采集系统到了2006年。本系统采用16位(A/D)模拟数字变换,总采样率达500K/S,同步时间为+/-250ns,可以利用方式组成高达1000通道的大容量的分布式采集系统。1.3 该课题研究的主要内容数据采集技术是信息科学的重要分支之一, 它研究信息数据的采集、存储、处理以及控制等问题。它是对传感器信号的测量与处理, 以微型计算机等高技术为基础而形成的一门综合应用技术。数据采集也是从一个或多个信号获取对象信息的过程。随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统的部分,数据采集的性能特点直接影响到整个系统。尽管现在以微机为核心的可编程数据采集与处理技术作为数据采集技术的发展方向得到了迅速的发展,并且适于通用微机(如IBM PC 系列)使用的板卡级数据采集产品也已大量出现,组成一个数据采集系统简单到只需要一块数据采集卡,把它插在微机的扩展槽内,并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响,因为单片机功能强大、抗干扰能力强、可靠性高、灵活性好、开发容易等优点,使得基于单片机为核心的数据采集系统在许多领域得到了广泛的应用.传统的基于单片机的数据采集系统由于没有上位机的支持,不管采用什么样的数据存储器,它的存储容量都是有限的,所以不得不对存储的历史数据进行覆盖刷新,这样不利于用户对数据进行整体分析,因而也不能对生产过程的状况进行准确的把握。在现代信号处理系统中,多通道数据采集系统广泛应用于各种商用以及工业领域中,随着信号处理系统计算量的增加,一个高速稳定的信号采集系统对于后续的数字信号处理有着重要的意义。同时,这些信号之间是相互关联的,需要进行相关分析,这就需要同步采集多通道信号,并能准确无误存储。现有的多数采集系统,只能循环采集多路信号,不能实时同步采集,无法对多通道信号进行相关信息的分析,而多通道同步数据采集系统恰恰弥补了传统采集系统的不足。2 数据采集系统设计2.1 数据采集系统数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛引用在各个领域。70年代初,随着计算机技术及大规模集成电路的发展,特别是微处理器及高速A/D转换器的出现,数据采集系统结构发生了重大变革。原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集系统被微处理器控制的采集系统所代替。由微处理器去完成程序控制,数据处理及大部分逻辑操作,使系统的灵活性和可靠性大大地提高,系统硬件成本和系统的重建费用大大地降低。在该系统中需要将模拟量转换为数据量,而 A/D是将模拟量转换为数字量的器件,他需要考虑的指标有:分辨率、转换时间、转换误差等等。而STM32单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制、数据传输、数据转换等一系列的任务,然后通过控制液晶屏显示。数据采集系统不仅需要硬件设置,还需要软件的相应配置才能调试好硬件,是系统正常工作。硬件电路的调试与硬件设计和软件配置息息相关。在硬件设计时必须确保所有的元器件都设计正确后方可把元器件焊接上进行调试。软件配置和硬件调试基于Keil uVision5软件。系统硬件包括电源电路、串口电路、液晶屏显示、数据采集电路等。系统框图如图2-1所示。STM32AD转化模块STM32GPIO端口液晶显示数字信号模拟信号数据DMA采集图2-1 系统框图2.2 方案论证2.2.1 A/D模数转换ADC的开关控制,通过设置ADC_CR2寄存器的ADON位可给ADC上电。当第一次设置ADON位时,它将ADC从断电状态下唤醒。 ADC上电延迟一段时间后(tSTAB),再次设置ADON位时开始进行转换。 通过清除ADON位可以停止转换,并将ADC置于断电模式。在这个模式中,ADC几乎不耗电(仅几个A)。由时钟控制器提供的ADCCLK时钟和PCLK2(APB2时钟)同步。RCC控制器为ADC时钟提供一个专用的可编程预分频器。ADC通道的选择上有16个多路通道。可以把转换组织成两组:规则组和注入组。在任意多个通道上以任意顺序进行的一系列转换构成成组转换。例如,可以如下顺序完成转换:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。 规则组由多达16个转换组成。规则通道和它们的转换顺序在ADC_SQRx寄存器中选择。规则组中转换的总数应写入ADC_SQR1寄存器的L3:0位中。 注入组由多达4个转换组成。注入通道和它们的转换顺序在ADC_JSQR寄存器中选择。注入组里的转换总数目应写入ADC_JSQR寄存器的L1:0位中。 如果ADC_SQRx或ADC_JSQR寄存器在转换期间被更改,当前的转换被清除,一个新的启动脉冲将发送到ADC以转换新选择的组。 在连续转换模式中,当前面ADC转换一结束马上就启动另一次转换。此模式可通过外部触发启动或通过设置ADC_CR2寄存器上的ADON位启动,此时CONT位是1。 每个转换后: (1)如果一个规则通道被转换: (a)转换数据被储存在16位的ADC_DR寄存器中 (b)EOC(转换结束)标志被设置 (c)如果设置了EOCIE,则产生中断。 (2)如果一个注入通道被转换: (a)转换数据被储存在16位的ADC_DRJ1寄存器中 (b)JEOC(注入转换结束)标志被设置 (c)如果设置了JEOCIE位,则产生中断。 2.2.2 DMA采集直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。 两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权。 DMA控制器和CortexM3核心共享系统数据总线,执行直接存储器数据传输。当CPU和DMA同时访问相同的目标(RAM或外设)时,DMA请求会暂停CPU访问系统总线达若干个周期,总线仲裁器执行循环调度,以保证CPU至少可以得到一半的系统总线(存储器或外设)带宽。DMA的主要特性: (a)12个独立的可配置的通道(请求):DMA1有7个通道,DMA2有5个通道。 (b)每个通道都直接连接专用的硬件DMA请求,每个通道都同样支持软件触发。这些功能通过软件来配置。 (c)在同一个DMA模块上,多个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中等和低),优先权设置相等时由硬件决定(请求0优先于请求1,依此类推)。 (d)独立数据源和目标数据区的传输宽度(字节、半字、全字),模拟打包和拆包的过程。源和目标地址必须按数据传输宽度对齐。 (e)支持循环的缓冲器管理。(f)每个通道都有3个事件标志(DMA半传输、DMA传输完成和DMA传输出错),这3个事件标志逻辑或成为一个单独的中断请求。 (g)存储器和存储器间的传输。(h)外设和存储器、存储器和外设之间的传输。(i)闪存、SRAM、外设的SRAM、APB1、APB2和AHB外设均可作为访问的源和目标。 (j)可编程的数据传输数目:最大为65535。2.2.3 显示部分液晶显示屏(LCD)用于数字型钟表和许多便携式计算机的一种显示器类型。LCD显示使用了两片极化材料,在它们之间是液体水晶溶液。电流通过该液体时会使水晶重新排列,以使光线无法透过它们。因此,每个水晶就像百叶窗,既能允许光线穿过又能挡住光线。液晶显示器(LCD)目前科技信息产品都朝着轻、薄、短、小的目标发展,在计算机周边中拥有悠久历史的显示器产品当然也不例外。在便于携带与搬运为前题之下,传统的显示方式如CRT映像管显示器及LED显示板等等,皆受制于体积过大或耗电量甚巨等因素,无法达成使用者的实际需求。而液晶显示技术的发展正好切合目前信息产品的潮流,无论是直角显示、低耗电量、体积小、还是零辐射等优点,都能让使用者享受最佳的视觉环境。本次设计采用的为TFT型液晶屏,TFT型的液晶显示器较为复杂,主要的构成包括了,荧光管、导光板、偏光板、滤光板、玻璃基板、配向膜、液晶材料、薄模式晶体管等等。首先液晶显示器必须先利用背光源,也就是荧光灯管投射出光源,这些光源会先经过一个偏光板然后再经过液晶,这时液晶分子的排列方式进而改变穿透液晶的光线角度。然后这些光线接下来还必须经过前方的彩色的滤光膜与另一块偏光板。因此我们只要改变刺激液晶的电压值就可以控制最后出现的光线强度与色彩,并进而能在液晶面板上变化出有不同深浅的颜色组合了。本系统采用的显示屏由程序控制,从载有字库的SD卡加载字库后可直接使用,方便有效而且快捷简单,不易出错。3 硬件部分设计3.1 芯片介绍3.1.1 STM32概况 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按内核架构分为不同产品:其中STM32F1系列有:STM32F103“增强型”系列STM32F101“基本型”系列STM32F105、STM32F107“互联型”系列增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是32位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、互补型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合STM32平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。截至2010年7月1日,市面流通的型号有:基本型:STM32F101R6、STM32F101C8、STM32F101R8、STM32F101V8、STM32F101RB、STM32F101VB增强型:STM32F103C8、STM32F103R8、STM32F103V8、STM32F103RB、STM32F103VB、 STM32F103VE、STM32F103ZESTM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如表3-1:表3-1 STM32命名表1STM32STM32代表ARM Cortex-M内核的32位微控制器。2FF代表芯片子系列。3103103代表增强型系列。4RR这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚,I代表176脚。5BB这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash,G代表1M字节Flash。6TT这一项代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。766这一项代表工作温度范围,其中6代表-4085,7代表-40105。3.1.2 STM32历史意法半导体(STMicroelectronics)集团于1987年6月成立,是由意大利的SGS 微电子公司和法国Thomson 半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司,意法半导体是世界最大的半导体公司之一。从成立之初至今,ST 的增长速度超过了半导体工业的整体增长速度。自1999年起,ST 始终是世界十大半导体公司之一。据最新的工业统计数据,意法半导体 (STMicroelectronics)是全球第五大半导体厂商,在很多市场居世界领先水平。例如,意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商,世界第一大工业半导体和机顶盒芯片供应商,而且在分立器件、手机相机模块和车用集成电路领域居世界前列。意法半导(STMicroelectronics)整个集团共有员工近 50000 名,拥有16 个先进的研发机构、39 个设计和应用中心、15 主要制造厂,并在 36 个国家设有 78 个销售办事处。公司总部设在瑞士日内瓦,同时也是欧洲区以及新兴市场的总部;公司的美国总部设在德克萨斯州达拉斯市的卡罗顿;亚太区总部设在新加坡;日本的业务则以东京为总部;中国区总部设在上海,负责香港、大陆和台湾三个地区的业务。STM32L 系列产品基于超低功耗的 ARM Cortex-M4处理器内核,采用意法半导体独有的两大节能技术:130nm 专用低泄漏电流制造工艺和优化的节能架构,提供业界领先的节能性能。该系列属于意法半导体阵容强大的 32 位 STM32 微控制器产品家族,该产品家族共有 200余款产品,全系列产品共用大部分引脚、软件和外设,优异的兼容性为开发人员带来最大的设计灵活性。STM32F0 系列产品基于超低功耗的 ARM Cortex-M0 处理器内核,整合增强的技术和功能,瞄准超低成本预算的应用。该系列微控制器缩短了采用 8 位和 16 位微控制器的设备与采用 32 位微控制器的设备之间的性能差距,能够在经济型用户终端产品上实现先进且复杂的功能。3.1.3 系统作用集成嵌入式Flash和SRAM存储器的ARM Cortex-M3内核。和8/16位设备相比,ARM Cortex-M3 32位RISC处理器提供了更高的代码效率。STM32F103xx微控制器带有一个嵌入式的ARM核,所以可以兼容所有的ARM工具和软件。嵌入式Flash存储器和RAM存储器:内置多达512KB的嵌入式Flash,可用于存储程序和数据。多达64KB的嵌入式SRAM可以以CPU的时钟速度进行读写(不待等待状态)。可变静态存储器(FSMC):FSMC嵌入在TM32F103xC,STM32F103xD,STM32F103xE中,带有4个片选,支持四种模式:Flash,RAM,PSRAM,NOR和NAND。3个FSMC中断线经过OR后连接到NVIC。没有读/写FIFO,除PCCARD之外,代码都是从外部存储器执行,不支持Boot,目标频率等于SYSCLK/2,所以当系统时钟是72MHz时,外部访问按照36MHz进行。嵌套矢量中断控制器(NVIC):可以处理43个可屏蔽中断通道(不包括Cortex-M3的16根中断线),提供16个中断优先级。紧密耦合的NVIC实现了更低的中断处理延迟,直接向内核传递中断入口向量表地址,紧密耦合的NVIC内核接口,允许中断提前处理,对后到的更高优先级的中断进行处理,支持尾链,自动保存处理器状态,中断入口在中断退出时自动恢复,不需要指令干预。外部中断/事件控制器(EXTI):外部中断/事件控制器由用于19条产生中断/事件请求的边沿探测器线组成。每条线可以被单独配置用于选择触发事件(上升沿,下降沿,或者两者都可以),也可以被单独屏蔽。有一个挂起寄存器来维护中断请求的状态。当外部线上出现长度超过内部APB2时钟周期的脉冲时,EXTI能够探测到。多达112个GPIO连接到16个外部中断线。时钟和启动:在启动的时候还是要进行系统时钟选择,但复位的时候内部8MHz的晶振被选用作CPU时钟。可以选择一个外部的4-16MHz的时钟,并且会被监视来判定是否成功。在这期间,控制器被禁止并且软件中断管理也随后被禁止。同时,如果有需要(例如碰到一个间接使用的晶振失败),PLL时钟的中断管理完全可用。多个预比较器可以用于配置AHB频率,包括高速APB(PB2)和低速APB(APB1),高速APB最高的频率为72MHz,低速APB最高的频率为36MHz。Boot模式:在启动的时候,Boot引脚被用来在3种Boot选项种选择一种:从用户Flash导入,从系统存储器导入,从SRAM导入。Boot导入程序位于系统存储器,用于通过USART1重新对Flash存储器编程。电源供电方案:VDD ,电压范围为2.0V-3.6V,外部电源通过VDD引脚提供,用于I/O和内部调压器。VSSA和VDDA,电压范围为2.0-3.6V,外部模拟电压输入,用于ADC,复位模块,RC和PLL,在VDD范围之内(ADC被限制在2.4V),VSSA和VDDA必须相应连接到VSS和VDD。VBAT,电压范围为1.8-3.6V,当VDD无效时为RTC,外部32KHz晶振和备份寄存器供电(通过电源切换实现)。电源管理:设备有一个完整的上电复位(POR)和掉电复位(PDR)电路。这条电路一直有效,用于确保从2V启动或者掉到2V的时候进行一些必要的操作。当VDD低于一个特定的下限VPOR/PDR时,不需要外部复位电路,设备也可以保持在复位模式。设备特有一个嵌入的可编程电压探测器(PVD),PVD用于检测VDD,并且和VPVD限值比较,当VDD低于VPVD或者VDD大于VPVD时会产生一个中断。中断服务程序可以产生一个警告信息或者将MCU置为一个安全状态。PVD由软件使能。电压调节:调压器有3种运行模式:主(MR),低功耗(LPR)和掉电。MR用在传统意义上的调节模式(运行模式),LPR用在停止模式,掉电用在待机模式:调压器输出为高阻,核心电路掉电,包括零消耗(寄存器和SRAM的内容不会丢失)。低功耗模式:STM32F103xx支持3种低功耗模式,从而在低功耗,短启动时间和可用唤醒源之间达到一个最好的平衡点。休眠模式:只有CPU停止工作,所有外设继续运行,在中断/事件发生时唤醒CPU;停止模式:允许以最小的功耗来保持SRAM和寄存器的内容。1.8V区域的时钟都停止,PLL,HSI和HSE RC振荡器被禁能,调压器也被置为正常或者低功耗模式。设备可以通过外部中断线从停止模式唤醒。外部中断源可以使16个外部中断线之一,PVD输出或者TRC警告。待机模式:追求最少的功耗,内部调压器被关闭,这样1.8V区域断电。PLL,HSI和HSE RC振荡器也被关闭。在进入待机模式之后,除了备份寄存器和待机电路,SRAM和寄存器的内容也会丢失。当外部复位(NRST引脚),IWDG复位,WKUP引脚出现上升沿或者TRC警告发生时,设备退出待机模式。进入停止模式或者待机模式时,TRC,IWDG和相关的时钟源不会停止。STM32引脚如图3-1.图3-1 STM32引脚图3.1.4 性能特点内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPS/MHz。单周期乘法和硬件除法。存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器。时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。上电复位(POR)、掉电复位(PDR)和可编程的电压探测器(PVD)。4-16MHz的晶振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振。低功耗:3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT。调试模式:串行调试(SWD)和JTAG接口。DMA:12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和UART。3个12位的us级的A/D转换器(16通道):A/D测量范围:0-3.6V。双采样和保持能力。片上集成一个温度传感器。2通道12位D/A转换器:STM32F103xC,STM32F103xD,STM32F103xE独有。最多高达112个的快速I/O端口:根据型号的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。除了模拟输入,所有的都可以接受5V以内的输入。最多多达11个定时器:4个16位定时器,每个定时器有4个IC/OC/PWM或者脉冲计数器。2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。2个看门狗定时器(独立看门狗和窗口看门狗)。Systick定时器:24位倒计数器。2个16位基本定时器用于驱动DAC。最多多达13个通信接口:2个IIC接口(SMBus/PMBus)。5个USART接口(ISO7816接口,LIN,IrDA兼容,调试控制)。3个SPI接口(18 Mbit/s),两个和IIS复用。CAN接口(2.0B)。USB 2.0全速接口。SDIO接口。ECOPACK封装:STM32F103xx系列微控制器采用ECOPACK封装形式。3.1.5 架构优势 除新增的功能强化型外设接口外,STM32互连系列还提供与其它STM32微控制器相同的标准接口,这种外设共用性提升了整个产品家族的应用灵活性,使开发人员可以在多个设计中重复使用同一个软件。新STM32的标准外设包括10个定时器、两个12位1-Msample/s 模数转换器(交错模式下2-Msample/s)、两个12位数模转换器、两个I2C接口、五个USART接口和三个SPI端口。新产品外设共有12条DMA通道,还有一个CRC计算单元,像其它STM32微控制器一样,支持96位唯一标识码。新系列微控制器还沿续了STM32产品家族的低电压和节能两大优点。2.0V到3.6V的工作电压范围兼容主流的电池技术,如锂电池和镍氢电池,封装还设有一个电池工作模式专用引脚Vbat。以72MHz频率从闪存执行代码,仅消耗 27mA电流。低功耗模式共有四种,可将电流消耗降至两微安。从低功耗模式快速启动也同样节省电能;启动电路使用STM32内部生成的8MHz信号,将微控制器从停止模式唤醒用时小于6微秒。3.1.6 能耗模式 意法半导体的EnergyLite超低功耗技术平台是STM32L取得业内领先的能效性能的关键。这个技术平台也被广泛用于意法半导体的8位微控制器STM8L系列产品。EnergyLite超低功耗技术平台基于意法半导体独有的130nm制造工艺,为实现超低的泄漏电流特性,意法半导体对该平台进行了深度优化。在工作和睡眠模式下,EnergyLite超低功耗技术平台可以最大限度提升能效。此外,该平台的内嵌闪存采用意法半导体独有的低功耗闪存技术。这个平台还集成了直接访存(DMA)支持功能,在应用系统运行过程中关闭闪存和CPU,外设仍然保持工作状态,从而可为开发人员节省大量的时间。除最为突出的与制程有关的节能特色外,STM32L系列还提供更多其它的功能,开发人员能够优化应用设计的功耗特性。通过六个超低功耗模式,STM32L系列产品能够在任何设定时间以最低的功耗完成任务。这些可用模式包括:(在1.8V/25C环境的初步数据)(1)10.4A低功耗运行模式,32kHz运行频率(2)6.1 A低功耗睡眠模式,一个计时器工作(3)1.3 A 停机模式:实时时钟(RTC)运行,保存上下文,保留RAM内容(4)0.5 A 停机模式:无实时时钟运行,保存上下文,保留RAM内容(5)1.0A待机模式:实时时钟运行,保存后备寄存器(6)270nA待机模式:无实时时钟运行,保存后备寄存器STM32L系列新增低功耗运行和低功耗睡眠两个低功耗模式,通过利用超低功耗的稳压器和振荡器,微控制器可大幅度降低在低频下的工作功耗。稳压器不依赖电源电压即可满足电流要求。STM32L还提供动态电压升降功能,这是一项成功应用多年的节能技术,可进一步降低芯片在中低频下运行时的内部工作电压。在正常运行模式下,闪存的电流消耗最低230A/MHz,STM32L的功耗/性能比最低185A/DMIPS。此外,STM32L电路的设计目的是以低电压实现高性能,有效延长电池供电设备的充电间隔。片上模拟功能的最低工作电源电压为1.8V。数字功能的最低工作电源电压为1.65V,在电池电压降低时,可以延长电池供电设备的工作时间。3.2 液晶显示模块3.2.1 液晶显示模块概述 12864 中文 汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192 个中文汉字(16X16 点阵)、128个字符(8X16 点阵)及64X256 点阵显示RAM(GDRAM)。主要技术参数和显示特性: 电源:VDD 3.3V+5V(内置升压电路,无需负压); 显示内容:128 列 64 行 显示颜色:黄绿/蓝屏/灰屏 显示角度:6:00 钟直视 LCD 类型:STN 与MCU 接口:8 位或4 位并行/3 位串行 配置LED 背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等3.2.2 外形尺寸 外观尺寸:937012.5mm 视域尺寸:7339mm外形尺寸如图3-2。图3-2 LCD12864外形图3.2.3 模块引脚说明 LCD12864引脚说明见表3-2。表3-2 LCD引脚说明引脚号引脚名称方向功能说明1GND-模块的电源地2VCC-模块的电源正端3V0-LCD 驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号续表3-2引脚号引脚名称方向功能说明5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RSTH/L复位 低电平有效18VOUT倍压输出脚 (VDD=+3.3V 有效)19LED-A-背光源正极(LED+5V)20LED-K-背光源负极(LED-OV) 逻辑工作电压(VDD):4.55.5V 电源地(GND):0V工作温度(Ta):060(常温) / -2075(宽温)3.2.4 接口时序 模块有并行和串行两种连接方法(时序如下):(1)8 位并行连接时序图如图3-3和图3-4。图3-3 MPU写资料到模块图3-4 MPU从模块读出资料(2)串行连接时序如图3-5所示。图3-5 串行连接时序图串行数据传送共分三个字节完成: 第一字节:串口控制格式 11111ABC A 为数据传送方向控制:H 表示数据从LCD 到MCU,L 表示数据从MCU 到LCD B 为数据类型选择:H 表示数据是显示数据,L 表示数据是控制指令 C 固定为0 第二字节:(并行)8位数据的高4位格式 DDDD0000 第三字节:(并行)8位数据的低4位格式 0000DDDD串行接口时序参数如图3-6所示(测试条件:T=25 VDD=4.5V)。图3-6 串行接口时序参数3.3 外设部分本次设计中的模拟信号由外部设计电路板提供,其作用是将STM32系统版提供的3.3V电源电压控制输出,可调范围为03.3V。电路板的设计制作采用了三个电位器,采用并联的方式控制三路电源,提供三路可调节输出电源。其原理图如图3-7所示。图3-7 三路电源原理图电位器的简单介绍。电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件。电位器通常由电阻体和可移动的电刷组成。当电刷沿电阻体移动时,在输出端即获得与位移量成一定关系的电阻值或电压。电位器既可作三端元件使用也可作二端元件使用。后者可视作一可变电阻器,由于它在电路中的作用是获得与输入电压(外加电压)成一定关系得输出电压,因此称之为电位器电位器在电路中的主要作用有以下几个方面(1)用作分压器电位器是一个连续可调的电阻器,当调节电位器的转柄或滑柄时,动触点在电阻体上滑动。此时在电位器的输出端可获得与电位器外加电压和可动臂转角或行程成一定关系的输出电压。(2)用作变阻器电位器用作变阻器时,应把它接成两端器件,这样花电位器的行程范围内,便可获得一个平滑连续变化的电阻值。(3)用作电流控制器当电位器作为电流控制器使用时,其中一个选定的电流输出端必须是滑动触点引出端。4 软件部分设计4.1 简介KeilUvision5Keil 是美国Keil Software公司出品的兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil有以下几个特点:(1)全功能的源代码编辑器;(2)器件库用来配置开发工具设置;(3)项目管理器用来创建和维护用户的项目;(4)集成的MAKE工具可以汇编、编译和连接用户嵌入式应用;(5)所有开发工具的设置都是对话框形式的;(6)真正的源代码级的对CPU和外围器件的调试器;(7)高级GDI(AGDI)接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信。4.2 Keil5工程创建及程序下载4.2.1 创建工程步骤一:创建文件夹和相应库文件新建工程文件夹目录如图4-1。图4-1 目录其中,文件夹Prj包含Lis,Output文件夹,之后添加常用文件,如main.c bsp.c function.c Global.h Config.h等。步骤二:创建工程文件 打开keil5,创建新工程,如图4-2。图4-2 工程创建弹出对话框,选择路径为之前新建的Prj文件夹,如图4-3所示,单击保存。图4-3 保存文件弹出对话框如下,选择合适芯片,如图4-4。图4-4 芯片选择选择需要使用的芯片型号,单机OK,弹出的对话框可直接关掉。步骤三:添加库函数 添加函数如图4-5所示。图4-5 函数添加单击图标,弹出对话框如图4-6:图4-6 文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论