1、 毕业设计(论文)( 2009 届本科) 题 目:智能天然气监控终端的数据显示系统的设计 学 院:电气与电子工程 专 业:电气工程及其自动化 班 级:电气2班 姓 名:沈泽波 学 号:0910321221 指导教师:刘毅2013年 5月智能天然气监控终端的数据显示系统的设计摘要生存环境的舒适与安全是人类永恒追求的物质目标。随着计算机技术、通信技术、控制技术的飞速发展,人们对居住环境提出了更高的要求,希望居住在一个生活现代化,环境舒适化、安全化的生活空间。通过环境监测系统,用户可以实时获得居住环境的信息,如:温湿度、天然气浓度、火灾信息等。并将采集到的环境信息作为其他家庭设备运行时的参数,实现对
2、环境的智能化控制。智能无线天然气烟雾监控终端作为智能家居的一部分,很好地实现了实时监测天然气浓度和烟雾浓度的目标,并且当浓度超过设定阈值时,将通过无线的方式进行报警。智能终端通过各种传感电路检测室内的天然气浓度和烟雾浓度信息等,然后与预置的参数阈值进行比较,智能终端根据比较结果发出相应的报警信息,并且可以实时地显示当前时间室内天然气浓度和烟雾浓度信息等参数值,并且可通过WIFI,GPRS等无线通讯方式及时将各种监控信息通知住户。本文将从ST公司的以Cortex-M3为内核的STM32微处理器STM32F107和嵌入式图形支持系统UCGUI为主要切入点,对智能无线天然气烟雾监控终端所采用的技术进
3、行数据分析、比较、甄别、判断,来证明它在日常生活中的实用性和优越性。关键词 烟雾监控终端 STM32 UCGUI Cortex-M3内核Design of data display system of intelligent gas monitoring terminalAbstractLiving environment is the human eternal pursuit of material comfort and security goals. Along with the computer technology, communication technology, contro
4、l technology rapid development, the living environment of people put forward higher request, want to live life in a modern, comfortable, safe environment of living space. Through the environmental monitoring system, the user can obtain real-time living environment information, such as: temperature a
5、nd humidity and gas concentration, fire information, etc. And will be collected environmental information as other family equipment run time parameter, the realization of intelligent control to the environment. Intelligent wireless gas smoke monitoring terminal as part of the smart home, well realiz
6、e the goal of real-time monitoring of gas concentration and smoke concentration, and when the concentration is more than set threshold, will through the wireless way to call the police.Intelligent terminals through a variety of sensing circuit testing indoor gas concentration and smoke concentration
7、 information, etc., and then compared with the parameters of preset threshold, intelligent terminal sends the corresponding alarm information, according to the results of the comparison and can real-time display the current time indoor parameters such as gas concentration and smoke concentration inf
8、ormation value, and can be through WIFI, GPRS wireless communication mode shall notify residents of various monitoring information in a timely manner.This article will from the STs architecture (M3 as the kernel of STM32 UCGUI STM32F107 microprocessor and embedded graphics support system as the main
9、 entry point, for the smart wireless gas smoke control technology adopted by the terminal for data analysis, comparison, identify, judgment, practicality and superiority to prove it in daily life.Key words: Smoke monitoring terminal STM32 UCGUI Cortex-M3 Kernel目录1绪论11.1选题背景和意义11.2研究范围及技术要求21.3系统设计框架
10、21.4本设计的优越性42烟雾传感器模块52.1烟雾及气体传感器的硬件特性和特点52.1.1烟雾传感器的选择52.1.2烟雾传感器的介绍52.1.3 MQ-2型烟雾传感器的工作原理及特点52.1.4 MQ-4型甲烷、天然气传感器的特点72.2烟雾传感器原理图83 STM32开发板的硬件特性和特点93.1 硬件组成与作用93.2 STM32目前的技术水平和应用领域123.3 ARM Cortex-M3 处理器的优点133.4 STM32与C51单片机的优劣对比144.奋斗STM32开发板V3.1的特点和应用154.1 嵌入式实时操作系统ucosII在奋斗板上的应用164.1.1 特点174.1.
11、2 应用174.1.3 uCosII概念解释175 UCOSII操作系统上的图形显示界面UCGUI185.1 UCGUI的特性185.1.1 运行要求195.1.2 UCGUI的一般特性195.2 UCGUI的操作界面及配置195.2.1 UCGUI的界面操作效果215.2.2 UCGUI的配置225.3 UCGUI的性能与资源225.3.1 内存占用需求236.系统总体方案设计236.1 系统设计框架236.1.1天然气烟雾监控的显示流程256.1.2天然气烟雾实时监控的呈现功能实现26 6.1.3 主程序(见附录)356.1.4实验的过程及效果357结语408参考文献419谢辞43附录:主
12、程序部分4458智能无线天然气烟雾监控终端的数据显示系统的设计1绪论1.1 选题背景和意义天然气,主要存在于油田、气田、煤层和页岩层。天然气燃烧后无废渣、废水产生,相较煤炭、石油等能源有使用安全、热值高、洁净等优势。随着燃料节能性要求的提出,天然气在家庭燃料结构中所占的比例也愈发重要起来。天然气是较为安全的燃气之一,它不含一氧化碳,也比空气轻,一旦泄漏,立即会向上扩散,不易积聚形成爆炸性气体,安全性较高。采用天然气作为能源,可减少煤和石油的用量,因而大大改善环境污染问题;天然气作为一种清洁能源,能减少二氧化硫和粉尘排放量近100%,减少二氧化碳排放量60%和氮氧化合物排放量50%,并有助于减少
13、酸雨形成,舒缓地球温室效应,从根本上改善环境质量。与此同时,计算机技术、通信技术、控制技术飞速发展,通过环境监测系统,用户可以实时获得居住环境的信息,如:温湿度、天然气浓度、火灾信息等。并将采集到的环境信息作为其他家庭设备运行时的参数,实现对环境的智能化控制。智能无线天然气烟雾监控终端作为智能家居的一部分,很好地实现了实时监测天然气浓度和烟雾浓度的目标,并且当浓度超过设定阈值时,将通过无线的方式进行报警。智能终端通过各种传感电路检测室内的天然气浓度和烟雾浓度信息等,然后与预置的参数阈值进行比较,智能终端根据比较结果发出相应的报警信息,并且可以实时地显示当前时间室内天然气浓度和烟雾浓度信息等参数
14、值,并且可通过WIFI,GPRS等无线通讯方式及时将各种监控信息通知住户。无疑,这种装置为人们安全、舒适的生活作出了非凡的尝试,将减少因天然气泄露而导致的生命损失,并且维护了社会和私人财产的损失,降低意外事故的频发而引起的社会情绪不稳定。就此控制终端为研究对象,不仅切合当前工业化要求以趋向安全性第一的实际,而且也是非常贴合人们的生活需求,不是为了研究而研究,把艰深难懂的知识一一罗列,而是为了简明陈述、悉心疏通,来提供一种化繁为简的可能,使其成为生活中的必需品,而非自诞生起就束之高阁。1.2 研究范围及技术要求智能无线天然气烟雾控制终端可以通过各种传感电路检测室内的天然气浓度和烟雾浓度信息等,然
15、后与预置的参数阈值进行比较,智能终端根据比较结果发出相应的报警信息,实时地显示当前时间室内天然气浓度和烟雾浓度信息等参数值,并且可通过WIFI,GPRS等无线通讯方式及时将各种监控信息通知住户。在技术上必须实现便于接入、易于扩展、安全有效、经济实惠、灵活设置业务流程等特点。在硬件系统要求、软件系统要求、功能要求、性能要求、安全要求、环境要求方面务必精益求精。系统总体方案的设计应该全面考虑系统的总体功能进行硬件的初步选型,之后确定一个硬件实现的可行方案,经过反复对比考虑到节约整体成本,系统终端采用了ST公司的Cortex-M3内核的STM32微处理器STM32F107。该芯片属于STM32系列的
16、增强型,提供多达256KB的片内Flah、64KB的RAM和丰富的外设接口。Cortex-M3内核在设计上专门考虑了满足集功耗低、实时性强的工业级嵌入式产品领域的特点。在性能相同的条件下,STM32产品功耗比同级别产品要低75%,工作环境温度达105。本文将从ST公司的以Cortex-M3为内核的STM32微处理器STM32F107和在UCOSII操作系统上加上的图形界面显示嵌入式图形支持系统UCGUI为主要切入点,同时简略介绍TFT液晶屏的发展史和STM32相较于C51单片机体现出的卓越性能。STM32的硬件组成和技术特点、效用以及硬件驱动和软件性能,STM32开发板程序的开发、STM32程
17、序采用UCOSII操作系统也是笔者研究的重要方向。1.3系统设计框架系统的设计采用了框架结构将整个系统分为两个部分分别为监控终端部分和手机监控部分。智能监控终端主要负责实时采集烟雾浓度和天然气浓度信息,可实时把监控信息通过WIFI模块传输到智能手机上,还可通过WEB网页查看实时数据以及设置传感器参数等。另外,智能监控终端在监测到烟雾或者天然气浓度超过阈值时,不仅有声光报警,还可以通过GPRS模块呼叫预设的报警电话。ANDROID智能手机可通过WIFI模块与监控终端进行无线通讯。可以实时获取到烟雾和天然气的浓度数据,并且可记录数据,显示数据,并且可设置传感器的报警阈值等参数。另外在产生超阈值报警
18、时,手机有多种提醒方式。智能监控终端实现功能如下:(1) 实时获取烟雾,天然气传感器数据。(2)传感器数据实时显示在LCD屏上。(3)实时通过WIFI传输传感器数据。(4)内嵌WEB服务器,可通过网页查看传感器数据,并且可以设置传感器阈值参数。(5)具有声光报警提示方式。(6)可通过GPRS模块呼叫指定电话或者发短消息。 ANDROID智能手机实现以下功能:(1)实现以表格和文本方式显示传感器数据。(2)可设置传感器阈值等参数。(3)当有超阈值报警时,可播放警示音。 那对于本设计而言,其最主要的目的是通过烟雾传感器的接收的模拟电压信号再到ADC(12位ADC是一种逐次逼近型模拟数字转换器。它有
19、18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中)的转换数据后得到数字信号通过UCOSII操作系统上的图形显示系统UCGUI来实现实时监控显示。1.4 本设计的优越性 国外从20世纪30年代开始研究及发展烟雾传感器,且发展迅速,一方面是因为人们安全意识增强,对于环境安全和生活舒适性要求的提高;另一方面是因为传感器市场增长受到政府安全法规的行为。据有关统计,美国1996-2002年烟雾传感器年均增长率为27%-30%。随着传感器生产工艺水品逐步提高,传感器日益小型化、集成度不断增大,使得
20、烟雾检测仪器的体积也逐渐变得小而实用,提高了烟雾检测仪器的便携性,更加利于生产、运输及市场推广。1963年5月,日本开发完成第一台接触燃烧式家用燃气泄漏报警器,次年12月其改良产品问世,改良的报警器可以检测燃气、一氧化碳等气体,可以安装在浴室或者采用集中监视。 我国在70年代初期开始研制烟雾报警器,生产型号多样、品种较安全,应用范围也由单一的炼油系统扩展到几乎所有危险作业环境的各种类型报警器,产品数量也在不断增加。但主要是在引进国外先进的传感器技术和先进的生产工艺基础上,进行研究与开发形成自己的特色。进年来,在烟雾选择性和产品稳定性上也有很大进步。随着科技的不断发展,越来越多的适应各种工作环境
21、的报警电路在不断的开发和出现以满足人们的需求。笔者查阅中国知网,发现探讨天然气监控终端的论文数量众多,关键词涉及“天然气监控”的文献数量甚至达到了10424条搜索结果。但是其所使用的处理器分别涵盖了SPACE061A、CAN总线、PLC、SCADA、MCGS等,统共涉及到加气站的网络监控设计、配输站的远程计量、运输管道中的安全监控、天然气净化厂的监控、液化天然气厂的监控等,而探讨以STM32处理器为搭载且目标受众主要为普通家庭的天然气烟雾监控系统的文献,则少之又少。本设计运用的基于STM32F103开发板的天然气以及烟雾监控可以说是目前市面上较为先进的技术,STM32系列基于专为要求高性能、低
22、成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。它相对于目前别的处理器有: (1) 兼容性好(2) 速度快:代码运行、中断相应、位操作(3) 代码小:16位/32位Thumb2指令(4) 功能全:IC2/SPI/UART、USB/CAN(5) 价格低:一般在十多元四十多元人名币2烟雾传感器模块2.1烟雾传感器的硬件特性和特点2.1.1烟雾传感器的选择 烟雾传感器属于气敏传感器,是气-电变换器,它将可燃性气体在空气中的含量(即浓度)转换成电压或者电流信号,通过A/D转换电路将模拟量转换成数字量后送到单片机,进而由单片机完成数据处理、浓度处理及报警控制等工作。转换器作为烟雾检测报
23、警器的信号采集部分,是仪表的核心组成部分之一。由此可见,传感器的选型是非常重要的。2.1.2烟雾传感器的介绍 烟雾传感器种类繁多,从检测原理上可分为三大类:(1)利用物理化学性质的烟雾传感器:如半导体烟雾传感器、接触器烧烟雾传感器等。(2)利用物理性质的烟雾传感器:如热导烟雾传感器、光干涉烟雾传感器、红外传感器等。(3)利用电化学性质的烟雾传感器:如电流型烟雾传感器、光势型气体传感器等。 烟雾传感器满足的基本条件一个烟雾传感器可以是单功能的,也可以是多功能的;可以是单一的实体,也可以是由多个不同功能传感器组成的阵列。但是。任何一个完整的烟雾传感器都必须具备以下条件:(1)能选择性地检测某种单一
24、烟雾,而对共存的其他烟雾不响应或低响应;(2)对被检测烟雾具有较高的灵敏度,能有效地检测允许范围内的烟雾浓度;(3)对检测信号幸运速度快,重复性好;(4)制造成本低,使用与维护方便。2.1.3 MQ-2型烟雾传感器的工作原理及特点 本设计采用的是MQ-2型烟雾传感器。MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可
25、检测多种可燃性气体,是一款适合多种应用的低成本传感器。本电路的测量元件采用旁热式烟雾传感器MQ-2,在没有烟雾的情况下,烟雾传感器的阻值较高(20K左右),烟雾进入传感器时其阻值急剧下降,A、B两端电压下降。一、尺寸:35mm X24mm X26mm 长*宽*高二、主要芯片:LM393、MQ-2气敏传感器探头三、工作电压:DC 3.0-5.5V 特点:1、具有信号输出指示;2、双路信号输出(模拟量输出及TTL电平输出);3、TTL输出有效信号为低电平,可直接接单片机;4、模拟量输出05V电压,浓度越高电压越高;5、对甲烷气体,天然气有较好的灵敏度;6、具有长期的使用寿命和可靠的稳定性;7、快速
26、的响应恢复特性;2.1.4 MQ-4甲烷、天然气传感器的特点一、 尺寸:32mm X22mm X27mm 长X宽X高二、 主要芯片:LM393、ZYMQ-4气体传感器三、 工作电压:直流5伏四、 特点:1、具有信号输出指示。2、双路信号输出(模拟量输出及TTL电平输出)3、TTL输出有效信号为低电平。(当输出低电平时信号灯亮,可直接接单片机) 4、模拟量输出05V电压,浓度越高电压越高。5、对甲烷气体,天然气有较好的灵敏度。6、具有长期的使用寿命和可靠的稳定性7、快速的响应恢复特性五、应用:适用于家庭或工厂的甲烷气体,天然气等监测装置。2.2烟雾传感器原理图通过传感器探头接收到模拟信号,如果气
27、体的浓度越大则电压越大,再到AOUT模拟电压输出,之后通过STM32的AD转换器转换成数字信号,就可显示在屏幕上了。3 STM32开发板的硬件特性和特点3.1 硬件组成与作用(1) 供电电路:AMS1117-3.3 输入+5V,提供3.3V 的固定电压输出,为了降低电磁干扰,C1-C5 为CPU 提供BANK 电源(VCC:P50、P75、P100、P28、P11 GND:P49、P74、P99、P27、P10)滤波。CPU 的模拟输入电源供电脚VDDA(P22)通过L1 22uH 的电感与+3.3V VDD 电压连接,CPU 的模拟地VSSA(P19)及VREF- (P20)通过R1 0 欧
28、电阻与GND 连接。VREF+(P21)采用VDDA(P22)电源基准。RT9166-2.5 输入+5V,提供2.5V 的固定电压输出,为MP3 电路VS1003 提供所需的电压。RT9166-2.8 输入+5V,提供2.8V 的固定电压输出,为MP3 电路VS1003 提供所需的电压。为 RTC 的备份电源采用V1 3.3V 锂离子片状电池。(2) 启动方式设置:Boot1Boot0(P37,P94): x0: 内部程序存储区启动 01:系统存储区启动(为异步通信ISP 编程方式)在此将BOOT1 始终设置为0, BOOT0 为可变的状态,在正常模式下将其置为0,在ISP 编程时将其置为1。
29、用JP1 跳线块设置,开路为ISP 模式,可以通过串口来下载代码,短路为正常运行模式。(3) 时钟源电路:外部晶体/陶瓷谐振器(HSE)(P12、P13):B1:8MHz 晶体谐振器,C8,C9 谐振电容选择10P。系统的时钟经过PLL 模块将时钟提高到72MHz。低速外部时钟源(LSE)(P8、P9):B2: 32.768KHz 晶体谐振器。C10,C11 谐振电容选择6P。注意:根据ST 公司的推荐, B2 要采用电容负载为6P 的晶振,否则有可能会出现停振的现象。(4) SPI 存储电路:D2 SST25VF016B(2M Bytes)CPU 采用SPI1 端口PA7-SPI1-MOSI
30、(P32)、PA6-SPI1-MISO(P31)、PA5-SPI1-SCK(P30)、PC4-SPI1-CS2(P33)控制读写访问, SPI1 地址:0x4000 3800 - 0x4000 3BFF。(5)显示及触摸接口模块:显示器采用2.4” TFT320X240LCD(控制器ILI9325), 采用CPU 的FSMC 功能,LCD 片选CS 采用FSMC_NE1(P88),FSMC_A16(P58)作为LCD的RS选择,FSMC_nWE(P86)作为LCD的/WR, FSMC_nOE(P85)作为LCD 的/RD, LCD 的RESET 脚用CPU 的PE1(P98)(LCD-RST)
31、,FSMC_D0-FSMC_D15 和LCD 的D1-D8 D10-D17 相互连接,触摸屏接口采用SPI1 接口,片选为PB7-SPI1-CS3,由于LCD 背光采用恒流源芯片PT4101 控制,采用了PWM 控制信号控制背光的明暗, PWM 信号由PD13-LIGHT-PWM 来控制。触摸电路的中断申请线由PB6-7846-INT 接收。LCD 寄存器地址为:0x6000 0000,LCD 数据区地址:0x6001 0000 。(6) MICRO SD 卡接口:MICRO SD 卡座接口为8 脚,与CPU 的SD 卡接口连接分别为SD 卡座 CPU: SDIO-D2 PC10-SDIO-D
32、2(P78) SDIO-D3 PC11-SDIO-D3(P79) SDIO-CMD PD2-SDIO-CMD(P83) +3V +3V SDIO-CK PC12-SDIO-CK(P80) GND GND SDIO-D0 PC8-SDIO-D0(P65) SDIO-D1 PC9-SDIO-D1(P66)SDIO 地址:0x4001 8000 - 0x4001 83FF(7) USB 接口:CPU 的USB_DM(P70)、USB_DP(P71)与USB 接口连接, USB 插座的引脚排列问为1-5V、2D-、3D+、4GND、 5,6SHELL。采用手动自举。JP2 短路的话。板子采用USB 供
33、电。USB 地址:0x4000 5C00 - 0x4000 5FFF(8) CAN 接口:CPU 的CAN_TX(P96)、CAN_RX(P95)通过TJA1050 与CAN 插座连接, CAN 插座的引脚排列问为1-CANH、2CANL。2 脚之间根据情况装有R12 120 欧的终端匹配电阻,如果连入在一个已经在两端具有终端匹配电阻的CAN 网络中, 该电阻可以不装。USB 地址:0x4000 6400 - 0x4000 67FF(9) 10M以太网接口:CPU 的PA7-SPI1-MOSI(P32)、PA6-SPI1-MISO(P31)、PA4-SPI1-NSS(P29)、PA5-SPI1
34、-SCK(P30)通过SPI 总线方式, 控制 D5 ENC28J60 来完成网络功能, ENC28J60 的TPIN-、TPIN+、TPOUT+、TPOUT-、LEDB、LEDA 通过HR911105A(内置网络变压器、收发LED、RJ45)与以太网连接。SPI1 地址:0x4000 3800 - 0x4000 3BFF。(10) RS-232 接口、TTL 异步通信接口:拥有二路 RS-232 接口,CPU 的PA9-US1-TX(P68)、PA10-US1-RX(P69)、PA9-US2-TX(P25)、PA10-US2-RX(P26)通过MAX3232 实现两路RS-232 接口,分别
35、连接在XS5 和XS17 接口上。 USART1在系统存储区启动模式下,将通过该口通过PC 对板上的CPU 进行ISP,该口也可作为普通串口功能使用,JP3,JP4 的短路冒拔去,将断开第二路的RS232 通信, 仅作为 TTL 通信通道。USART1 地址:0x4001 3800 - 0x4001 3BFFUSART2 地址:0x4000 4400 - 0x4000 47FF(11) GPIO 接口:包含了可以作为普通IO 的可具有PWM,ADC,DAC 等功能以及其他类型的IO 口,同时包含了电源5V,3.3V 接口。(12) 数模转换DAC:当要使用 DAC 功能时,将会影响到板子的网络
36、功能(网络芯片的SPI 的片选被占用),两种功能不能同时使用,在DAC 功能时,拥有一路CPU 自带的DAC 通道(PA4-DAC1), 通过端子座 XS13 的6 脚引出。该口也可作为普通 IO 端口(PA4)使用。DAC地址:0x4000 7400 - 0x4000 77FF(13) FM 接收机功能:通过 CPU 上的I2C2 接口(PB11-I2C2-SDA,PB10-I2C2-SCL)控制FM 模块TEA5767,可以接收兼容美国 (87.5 to 108 MHz)和日本(76 to 91MHz)调频波段, 左右声道经由功放电路TDA1308T 通过耳机接口输出。I2C2地址:0x4
37、000 5800 - 0x4000 5BFF(14) MP3 功能:通过 CPU 上的SPI2 接口PB15-SPI2-MOSI、PB14-SPI2-MISO、PB13-SPI2-SCK、PB12-SPI2-CS1 控制MP3 电路VS1003B,可以将存储于Micro SD 卡中的语音文件经由音放电路TDA1308T 通过耳机接口播放,能解码 MPEG 1 和 MPEG2 音频层 III(CBR+VBR+ABR);WMA 4.0/4.1/7/8/9 5-384kbps 所有流文件;WAV(PCM+IMA AD-PCM)。并也能对通过MIC(XS7)接口输入或线路输入的音频信号进行IMA AD
38、PCM编码,并保存在micro SD 卡上。SPI2地址:0x4000 3800 - 0x4000 3BFF(15) 音频放大电路:MP3 及FM 收音机电路的线路输出信号经过D8 TDA1308T 可以驱动头戴式耳机。(16) SPI 外接接口(可直接接RNF24L01 模块):将 CPU 上的SPI2 接口PB15-SPI2-MOSI、PB14-SPI2-MISO、PB13-SPI2-SCK、PB0-RF-SPI2-CS 引出到接口XS12 上,这是一个2X5 的排母插座,可以直接和2.4G 数传模块NRF24L01 相连。SPI2 地址:0x4000 3800 - 0x4000 3BFF
39、(17) 键盘电路及复位按键。3.2 STM32目前的技术水平和应用领域STM32是一个微控制器产品系列的总称,目前这个系列中已经包含了多个子系列,分别是:STM32小容量产品、STM32中容量产品、STM32大容量产品和STM32互联型产品;按照功能上的划分,又可分为STM32F101xx、STM32F102xx和STM32F103xx系列。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产
40、品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。3.3 ARM Cortex-M3 处理器的优点除了有好的处理器之外,还要配合好的开发环境和工具链。也正出于此,在设计ARM7TDMI处理器时,ARM的工具链工程师们和CPU设计师们强强联手,为了让它的内部结构更优化、更精练、更到位而并肩奋战了很多日日夜夜,终于有了ARM7TDMI的无限辉
41、煌,并且久经岁月的洗礼依旧光芒绽放。珠联璧合的最新果实,是破茧而出的ARM Cortex-M3处理器。这个小尤物,处处闪耀着ARM体系结构最激动人心的新突破。它基于最新最好的32位ARMv7架构这个架构支持高度成功的Thumb-2指令集,还有很多时尚、前卫甚至崭新的特性,充满了新生代的气息。它在很好、很强大的同时,编程模型却变得更加清新爽洁了。单片机市场的规模可以用“巨无霸”来形容,预计到2010时每年能有20G片的出货量。世界各地的器件供应商纷纷亮出自己的得意之作,他们提供的器件和架构也是各具特色。业界内部可谓是百花齐放,热闹非凡,好戏不断。各行各业对单片机能力的要求也一直“得寸进尺”,而且
42、还又要马儿跑,又要马儿不吃草处理器必须在不怎么增加主频和功耗的条件下干更多的活儿。另一方面,处理器之间的互连也在加深,看这一串串熟悉的字眼:串口,USB,以太网,无线数传处理器如欲支持这些数据通道,就必须在片上塞进更多的外设。软件方面的情况也如出一辙:应用程序的功能一直在花样翻新,性能需求也是变本加厉:更高的运算速度,更硬的实时能力,更多的功能模块,更炫的图形界面,所有这些要求单片机都得照单全收。在这个大环境下,ARM Cortex-M3处理器,作为Cortex系列的处女作,为了让32位处理器入主作庄单片机市场,轰轰烈烈地诞生了。由于采用了最新的设计技术,它的门数更低,性能却更强。许多曾经只能
43、求助于高级32位处理器或DSP的软件设计,都能在CM3上跑得很快很欢。嵌入式处理器市场正在32位化,相信用不了多久,CM3就一定会在这美丽新世界中脱颖而出。CM3的招牌功夫包括: (1) 性能强劲。在相同的主频下能做处理更多的任务,全力支持劲爆的程序设计。 (2) 功耗低。延长了电池的寿命这简直就是便携式设备的命门(如无线网络应用)。 (3) 实时性好。采用了很前卫甚至革命性的设计理念,使它能极速地响应中断,而且响应中断所需的周期数是确定的。 (4) 代码密度得到很大改善。一方面力挺大型应用程序,另一方面为低成本设计而省吃俭用。 (5) 使用更方便。现在从8位/16位处理器转到32位处理器之风
44、刮得越来越猛,更简单的编程模型和更透彻的调试系统,为与时俱进的人们大大减负。 (6) 低成本的整体解决方案。让32位系统比和8位/16位的还便宜,低端的Cortex-M3单片机甚至还卖不到1美元。 (7) 遍地开花的优秀开发工具。免费的,便宜的,全能的,要什么有什么。3.4 STM32与C51单片机的优劣对比C51单片机的汇编指令比80x86的指令要简陋不少,但是这种简陋也使得我们能够很清楚得看透内部结构。8位操作,内部可访问28=256B存储单元,外部使用16地址线可以访问64K存储空间,外部分别使用movx和movc区分存储空间和代码空间。定时、串口、I0通过几个寄存器很容易管理他们,程序
45、编写也比较简单,从代码区的第一条指令开始运行。麻雀虽小但是五脏俱全,它的结构很简单。C51可以说是单片机的一个里程碑。但是随着时间的洪流当初的英雄也被渐渐埋没,大规模集成电路的发展,成功的C51给了人们经验,后来各种类型功能不尽相同的单片机层出不穷。包括ARM系列,DSP系列,FPGA/CPLD的发展。随着人们需求的发展,C51单片机越来越承受不了压力,它的功能和设计决定了只能使用在比较简单的控制,虽然低廉的价格和简单的结构在社会中占有一席之地,但是越来越高的要求使得C51在主流的应用中败下阵来。新星们ARM,AVR等纷纷冲上前线展开激烈的战争,ARM系列中代表低端嵌入式的M3内核主要打拼深度
46、嵌入领域。72Mhz的最大时钟,32位总线,最大可以寻址4G空间,虽然说是应用于深度嵌入和要求不是很高的场合,但是其结构还是和C51产生了翻天覆地的变化。作为32位代表的就是STM32单片机,频率和位数是为了顺应天命,寄存器的数量也不可同日而语。由于寄存器的结构比较复杂,所以官方推出了一个库,在不需要具体了解芯片细节的情况下也可以对其操作。STM32比起C51来说功能大大增加,也更为灵活,许多东西可以自己进行配置,包括内部时钟的输出,对不需要的功能可以直接关掉时钟,从而减少耗电量,IO引脚可以切换多种模式来适应不同的场合,每个引脚都有相应的寄存器来进行管理和配置。这样做的好处就是大大增加了单片
47、机的灵活性,但是复杂性也大大上升。它的程序并不是从第一条开始执行的,而是从中断向量表的结构中来查询复位后第一条指令的位置。包括访问外设的时序也可以自己变成得到,使得这款单片机占了低端单片机市场的大片江山。但是它的只是深度嵌入的控制器,对于一些大型的应用程序,复杂的算法是无法胜任的,但是它的低成本,低功耗使得它成为了市场的宠儿。不过在不久的将来还会有处理速度更快,成本更低,功能更灵活的单片机来取代它的地位。4.奋斗STM32开发板实时操作系统ucosII介绍STM32是一个微控制器产品系列的总称,目前这个系列中已经包含了多个子系列,分别是:STM32小容量产品、STM32中容量产品、STM32大容量产品和STM32互联型产品;按照功能上的划分,又可分为STM32F101xx、STM32F102xx和STM32F103xx系列。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计