




已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2016届毕业生毕 业 设 计 说 明 书题 目: 基于 STM32 的可穿戴设备系统 院系名称:学生姓名:指导教师:2016 年 05 月 16 日I摘要“可穿戴设备”是可穿戴技术在日常穿戴产品的设计中的应用,例如手表、眼镜、服装、鞋和手套。广义的可穿戴设备是指功能全、尺寸大,不依赖于智能手机,实现了智能手机全部或部分功能,如智能手表和智能眼镜等,以及只专注于某一类型的应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。随着技术的进步以及用户需求的变迁,可穿戴式智能设备的形态也在不断的变化。穿戴式技术在国际计算机学术界和工业界一直都备受关注,只不过由于造价成本高和技术复杂,很多相关设备仅仅停留在概念领域。本系统以意法半导体公司的基于 Cortex-M3 32 位高性能单片机 STM32F103ZET6 为核心,由 GSM 模块、GPS 模块、MPU6050 六轴加速度传感器模块、TFT 彩屏、SD 卡等组成了一个可穿戴设备系统。该系统实现了万年历、秒表、计步、闹钟、画板、日历、地图等功能。地图获取的图片存放在 SD 卡中,GUI 图片存放在 8M 的外置 FLASH 当中。系统支持全触摸操作。关键词:可穿戴设备;STM32 单片机;TFT 彩屏;文件系统;SD 卡;GPS 地图IITitle The Wearable Device System Based on the STM32AbstractThe wearable devices is the application of the Wearable Technology in the Daily wearable Product Design, such as the glasses, gloves, watches, clothes and shoes. Generally,The wearable smart devices including full-featured, large size, do not rely on smart phones to achieve a complete or partial functions, such as smart watches and smart glasses, etc., and only focus on a certain type of application functions, and other devices such as smart phones with the use of various types of conduct such as signs monitoring bracelet intelligent, smart jewelry. As technology advances and the change of user needs, application forms of wearable smart devices are constantly changing. Wearable computer technology has attracted wide attention in the international academia and industry, but due to the high construction cost and technical complexity, a lot of related equipment only is an idea. This system is based on the STM32F103ZET6 as the core which is produced by the STMicroelectronics Cortex-M3 32-bit high performance microcontroller,This system also use GSM module, GPS module, MPU6050 six-axis acceleration sensor module, TFT color screen, SD card and other components.The system has six functions such as the calendar, stopwatch, pedometer, alarm clock, Sketchpad, Calendar, Maps, and other functions. Map Get pictures stored in the SD card, GUI image stored in the external 8M FLASH.The system supports full-touch operation.Keywords: Wearable device; STM32 microcontroller;TFT color screen;The file system; SD card; GPS mapsIII目次1 绪论 .- 1 -1.1 选题背景 .- 1 -1.2 国内外研究现状及意义 .- 1 -2 设计要求 .- 3 -3 方案论证 .- 4 -3.1 控制器方案 .- 4 -3.2 显示模块方案 .- 5 -3.3 加速度传感器方案 .- 5 -4 硬件部分 .- 6 -4.1 单片机 .- 6 -4.2 TFT 彩屏 .- 9 -4.3 触摸屏控制芯片 .- 11 -4.4 MPU6050 模块 .- 12 -4.5 SD 卡 .- 14 -4.6 EEPROM 存储器 24C02 .- 15 -4.7 FLASH 芯片 W25Q64.- 16 -4.8 蜂鸣器电路 .- 17 -4.9 GPS 模块 .- 17 -4.10 GSM 模块 .- 19 -5 软件部分 .- 21 -5.1 开发工具介绍 .- 21 -5.2 程序框图 .- 21 -5.3 文件系统的移植 .- 22 -5.4 GUI 程序的设计 .- 24 -5.5 主要功能的实现原理 .- 25 -6 系统功能测试与分析 .- 38 -6.1 开机主界面测试 .- 38 -6.2 万年历功能测试 .- 38 -6.3 秒表功能测试 .- 39 -IV6.4 闹钟功能测试 .- 40 -6.5 画板功能测试 .- 41 -6.6 计步功能测试 .- 41 -6.8 测试结果分析 .- 42 -结论 .- 45 -致谢 .- 46 -参考 文献 .- 47 -附录一:系统电路原理图 .- 48 -附录二:部分源程序 .- 52 - 1 -1 绪论1.1 选题背景随着科技的进步,用单片机开发的智能化产品在各个领域得到广泛地应用,它极大地提高了社会生产力水平。加快了工业的发展。可穿戴设备目前已经成为科技发展的热潮,世界各公司在可穿戴设备系统上的投入越来越高,智能可穿戴设备有着众多的优点,包括体积小,功耗低,携带性高、功能强大等等。因此它深受人们的喜爱。另外,由于触摸屏以及各种传感器的引入,使得可穿戴设备迈向高端消费品的行列。可穿戴设备的轻薄和低功耗使其在生活电子产品中脱颖而出。智能的操作系统的应用,让可穿戴设备实现多功能,操作也更加流畅。在众多电子产品中,可触摸的智能可穿戴设备代替传统按键操作的设备,使其功能丰富强大。现代人们的生活越来越离不开智能手机,智能手机给我们提供了丰富的资讯、应用、以及游戏。它给我们带来方便的同时,也使很大一部分人沉迷于智能手机,成为低头一族。因此,开发出一种具备智能手机的基本功能,又不至于使人们沉迷的电子设备就变得非常有意义。1.2 国内外研究现状与意义从智能手表,到各个厂家的运动手环,再到最近非常流行的 VR 眼镜,可以看到,可穿戴设备已经融入到了人们生活的方方面,它越发深刻地改变着人们的生活方式,提升着人们的生活质量。下面将主要介绍美国、日本、韩国可穿戴设备行业的发展情况。1.2.1 国外可穿戴设备发展概况目前世界范围内可穿戴设备产量迅猛增长,美国是全世界最早提出可穿戴设备的思想和雏形的国家,近年来,Google Glass、Apple Watch 等备受瞩目的可穿戴产品也源自美国的大型知名企业。世界顶级会计师事务所之一的普华永道,近期发布了两份关于可穿戴设备现状及未来发展的报告。报告表明,美国人对可穿戴技术的未来十分乐观,但对现有的技术则缺乏热情。韩国可穿戴行业发展的主要代表为三星公司。三星公司作为全球最大的智能手机厂商,也是目前为止可穿戴市场最大的推动者。2013 年 9 月,三星公司正式发布了其第一款智能手表 Galaxy Gear,随后又对其进行更新,推出了Galaxy Gear 2/Fit/Neo。公司自主研发的可穿戴产品还包括曲面屏智能手表- 2 -Gear S,它是首款不必连接智能手机就具有上网功能的智能手表,它内置了支持蜂窝数据功能的上网模块。在三星公布的 2015 年产业发展规划中,主要集中在可穿戴领域、虚拟现实、智能家居以及在线教育。目前,三星有近万名开发和设计人员都在为即将上市的可穿戴型设备做准备,足以证明三星打算拓宽可穿戴型设备市场的决心。三星公司表明,他们在芯片、存储、屏幕技术等方面的垂直整合能力,将为其带来更多优势。日本的电子技术发展以索尼、东芝、富士通等行业巨头为典型代表, 然而在可穿戴技术发展方面,日本的初创企业比行业巨头表现更为优秀。成立于2013 年的日本 Logbar 公司是可穿戴技术公司的杰出代表之一,该公司因推出一款名为“Ring”的智能戒指而闻名。将 Ring 智能戒指戴在手指上,随意动动手指头便可远程控制智能手机、电视等智能终端设备。同样成立于 2013 年的 Moff 公司推出了一款利用声音将周围物品全部变成互动玩具的智能腕带。儿童将智能腕带戴在手上后,可以通过蓝牙设备将手环连接到 Moff 的 IOS 应用程序,实现与智能设备终端的连接,将周围物品变成互动玩具。1.2.2 国内可穿戴设备发展概况国内的可穿戴设备已经具备监测、医疗、娱乐、办公、学习、定位等多种功能。随着人们对于自身健康问题的重视度不断增加,消费者在健康方面的诉求使得医疗健康、运动健身类产品市场份额较大。目前,可穿戴设备在医疗健康领域取得了快速发展,可穿戴移动医疗设备市场规模正在不断扩大。在众多的移动医疗产品中,最受欢迎的是为医院和患者提供医疗服务和监测的可穿戴健康产品。国内可穿戴设备融资创业公司大多成立在 2013 年, 产品集中在手表、手环,应用领域集中在健康、医疗、运动、跟踪定位等。其中,有近一半的可穿戴设备创业公司把发展方向为健康领域。1.2.3 研究意义目前,智能手机的功能非常强大,各种应用、游戏让用户应接不暇、不舍得放下手中的手机,低头族由此诞生。而穿戴式设备虽然没有手机那样具有各种聊天工具和游戏软件,但其轻薄便携带的优点是手机不可替代的。避免娱乐类的功能加之以时钟、导航等功能,因此它可帮助人们特别是大学生摆脱对手机的过度依赖。穿戴式设备的便携性也使人们在对一些事务的处理简便快捷,包括 GPS 定位、时钟、万年历、画板等。- 3 -2 设计要求利用 STM32 开发板、GSM 模块、MPU6050,设计智能可穿戴设备系统,产品功能如下:(1).万年历(时间可调整)(2).闹钟(时间可设置、具有懒人叫醒功能)(3).计时器(可以进行计时,且可以后台运行)(4).地图(可以进行定位、通过 GSM 模块的 GPRS 功能向腾讯地图服务器请求地图信息,模块接收到数据后,进行解析,并将地图显示在 LCD 屏,也可以通过加 减按键进行地图精度的改变)(5).手势控制(根据手势的变化,在屏幕的画板上显示相应的图像,也可以修改画图的颜色)(6).记步(可以后台自动运行,一直记录人体行走的步数)- 4 -3 方案论证根据设计要求先确定了本系统的整体设计原理框图,如图 3.1,然后分别讨论了本系统在控制器、显示模块、以及加速度传感器模块的选择方案。S T M 3 2 开发板G S M 模块M P U 6 0 5 0 加速度传感器模块G P S 模块L C D 模块电源电路外围驱动电路图 3.1 系统原理框图3.1 控制器方案方案一:使用 51 单片机作为主控制器。51 单片机以其低廉的价格,简单的操作,俘获了大量的用户,但是反过来看便宜简单往往意味着功能的低端。在本设计中,51 单片机就显得力不从心了,它的 IO 口数量较少,片上外设资源匮乏,而且处理速度也偏低。方案二:采用 STM32F103ZET6 作为主控制器。STM32F103ZET6 是意法半导体公司推出的一款以 Cortex-M3 为内核的 32 位高性能单片机。拥有多达 112个 IO 口,它以 8 位单片机的价格,满足了用户 32 位单片机的需求。本系统对主控制器的速度有较高要求,速度对本系统的操作流畅度有较大的影响,STM32F103ZET6 最大可以达到 72MHZ,这是 51 单片机远不可及的。此外,由于穿戴式设备系统对体积以及功耗要求比较严格,STM32 在这两方面做的都比较出色而 51 单片机无法满足系统的要求。所以选择方案二,采用STM32F103ZET6 作为系统的主控制器。- 5 -3.2 显示模块方案方案一:采用 12864 点阵式液晶。12864 是 128*64 点阵液晶模块的点阵数简称,该点阵的屏显成本相对较低,适用于各类仪器,小型设备的显示领域。一页共可以显示 32 个汉字或者 64 个字符。方案二:采用搭配 ILI9341 控制芯片的 240x320 彩屏。TFT 彩屏在消费电子产品中有着广泛的应用,它支持 26 万色的显示,显示效果十分细腻,此 LCD屏使用 INTEL 的 8080 接口,STM32F103ZET6 带有 FSMC 功能,支持 Intel 8080和 Motorola 6800 的模式,LCD 屏内部的 GRAM 直接由 FSMC 控制,实现快速的刷屏。近些年,随着技术的发展,LCD 彩屏的分辨率越做越高,色彩也越来越丰富,显示效果极为细腻。这些优点是点阵式液晶无法超越的。特别是在图片的显示方面,点阵式液晶与 LCD 彩屏比起来更是相形见绌,无法还原出图片的本来面貌。而且,LCD 彩屏还可以支持触屏,方便系统的控制。由于本设计需要用到触摸屏功能以及良好的显示效果,所以综上所述,系统选择方案二,采用TFT 彩屏作为显示器件。3.3 加速度传感器方案方案一:使用 MPU6050 加速度传感器模块。MPU6050 是一款整合性 6 轴运动处理组件,它内部带有三轴的加速度传感器、三轴的陀螺仪、并且能通过自身的第二 IIC 接口连接外部的磁力传感器。将这九轴的数据利用 DMP(Digital Motion Processor)进行数据解算,进而就能输出完整的九轴的姿态融合解算数据。利用了 DMP 进行数据解算,就降低了单片机的负荷,同时缩短了开发周期,降低了开发难度。方案二:不使用加速度传感器模块。在实现计步功能时可以利用 GPS 模块记录用户移动距离,根据用户自己设定的步长计算出行走步数。方案一可以精确地检测到用户行走时在三个轴上的加速度变化,配合算法,识别出用户行走的姿态并记录。但是方案二只能粗略地估算步数,并且算出的步数受 GPS 模块的精度影响十分大,当用户在室内时由于 GPS 模块不能很好地接收卫星信号造成无法计步。基于以上考虑,本设计采用方案一。- 6 -4 硬件部分在本系统的设计中使用了许多外围元器件以及模块电路,主要如下:控制器 STM32F103ZET6 以及最小系统电路、JTAG 接口电路、LCD 触摸屏模块、MPU6050 模块、SD 卡、EEPROM 存储器 24C02、FLASH 存储器 W25Q64、蜂鸣器、GPS 模块、GSM 模块。下面将对这些模块分别介绍。4.1 单片机4.1.1 STM32F103ZET6 概述STM32F103ZET6 是 ST 公司推出的一款基于 Cortex-M3 内核的微处理器。STM32 具有 MCU 应用领域的 32 位处理器的性能,STM32 系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的 ARM Cortex-M3 内核单片机。STM32 功耗 36mA,是 32 位市场上功耗最低的产品,相当于 0.5mA/MHz。主要特性如下:(1).512K 片内 FLASH(相当于硬盘),64K 片内 RAM(相当于内存),片内FLASH 支持在线编程(IAP)。(2).Cortex-M3 处理器内核,最高时钟频率可达 72MHZ。(3).12 通道直接内存访问控制器(DMA)。(4).8 个定时器、2 个看门狗定时器和 RTC 实时时钟。(5).42 个 16 位的后备寄存器(可以理解为电池保存的 RAM),利用外置的纽扣电池,和实现掉电数据保存功能。(6).2 个 CAN 总线模块、5 个 UART 通用串行模块、3 路 SPI 接。(7).2 个 I2C 总线模块、2 个 IIS 总线模块,12 位、16 通道 AD 转换模块。(8).支持 JTAG,SWD 调试。配合廉价的 J-LINK,实现高速低成本的开发调试方案。(9).多达 112 个 IO(大部分兼容 5V 逻辑),144Pin LQFP 封装,引脚图如图 4.1 所示。- 7 -PE2/TRACKFSM_31D09456VBOIN8UGWref+HXLJ?Z图 4.1 STM32F103ZET6 引脚图由以上数据可以看出,本系统所选 MCU 性能十分卓越。无论是传统 51 单片机或增强型 51 单片机还是 RISC 的 8 位 AVR 单片机还是 16 位的 MSP430 单片机,本处理器在 Flash、RAM、工作频率以及外设上具有绝对的优势,性价比较高。4.1.2 STM32F103ZET6 外围电路介绍(1) 供电系统电源是电子设备中必不可少的一部分,它为设备提供了能量。STM32F103ZET6 电源电压为 3.3v,电源芯片采用艾迈斯公司的 AMS1117-3.3。AMS1117-3.3 是艾迈斯公司推出的具有单输出 LDO、固定电源(3.3v)、内部电流限制、过流保护特性的线性稳压器。USB 或 5V 锂电池经过 AMS1117-3.3 产生 3.3V 的直流电源供系统使用。C8 可以防止电感效应而产生的自激,C12 用来减小由于负载电流瞬时变化而引起的高频干扰。如图 4.2 为供电系统- 8 -电路图。 5V关3.GND1OUT2I9AMS7C046FuR+mB图 4.2 供电系统电路图(2) 晶振振荡电路STM32F103ZET6 有 4 个时钟源可供使用。分别是内部高速时钟(HSI),内部低速时钟(LSI)、外部高速时钟(HSE),外部低速时钟(LSE)。选择外部高速时钟作为片内时钟来源,主振荡器由 OSC0 输入管脚输入一个外部单端时钟信号或在 OSC0 输入管脚和 OSC1 输出管脚之间连接一个外部晶体。如果主振荡器作为 PLL 的时钟参考源,那么支持的晶体的频率范围为 3.579545MHz-8.192MHz。系统采用 8MHz 晶振,如图 4.3 所示:Yp_图 4.3 STM32F103ZET6 外部晶振振荡电路图(3) 复位电路STM32F103ZET6 外部复位输入管脚(RST)为低电平有效。按下按键 S2 能对系统复位。复位电路如图 4.4 所示:- 9 -1KR4es2VCSWPB0pFaGNDET图 4.4 STM32F103ZET6 复位电路图(4) JTAG 接口本系统使用的 JTAG 接口由 5 个管脚组成。数据由 TDI 引脚串行发至控制器,然后通过 TDO 引脚从控制器串行输出。程序的调试、下载都通过 JTAG 接口来完成。电路图如图 4.5 所示: 3I6M/O78L#JA.图 4.5 STM32F103ZET6JTAG 接口电路4.2 TFT 彩屏系统采用的彩屏分辨率为 240*320,2.寸。支持 262K/65K 色,数据位为8/16 位可选,控制器为 ILI9341。电路连接图如图 4.6 所示:- 10 -VC3.LD_SWR/KTB2468157GNMIOPE0JFap9+关图 4.6 TFT 彩屏电路连接图TFT 彩屏引脚功能如表 4.1 所示:表 4.1 TFT 彩屏引脚功能表DB0-DB15 16 位数据线CS 片选信号输入RS 指令数据选择信号WR 写信号开关RD 读信号开关RESET 复位T_CS 触摸屏片选端T_PEN 触摸屏笔中断BL 液晶背光选择端MISO 串行数据输出端MOSI 串行数据输入端GND 地本 LCD 模块的 LCD 屏内部集成使用 8080 接口的 ILI9341 驱动芯片,对 LCD屏的控制其实是通过控制 ILI9341 芯片实现的,ILI9341 内部的 GRAM 的每个存- 11 -储单元都对应着 LCD 屏的一个像素点,通过往 GRAM 中写数据达到对液晶屏的控制。STM32F103ZET6 有 FSMC 功能,它支持 8080 通讯接口,直接由 FSMC 控制GRAM,实现 LCD 屏快速地刷屏。如图 4.7 为 FSMC 写 NOR 的时序图。图 4.7 FSMC 写 NOR 的时序图4.3 触摸屏控制芯片4.3.1 XPT2046 简介XPT2046 是一种典型的逐次逼近型模数转换器(SAR ADC),包含了采样/保持、模数转换、串口数据输出等功能。供电电压范围为 2.7V5.5V。参考电压值直接决定 ADC 的输入范围,参考电压可以使用内部参考电压,也可以从外部直接输入 1VVCC 范围内的参考电压(要求外部参考电压源输出阻抗低)。X、Y、Z、VBAT、Temp 和 AUX 模拟信号经过片内的控制寄存器选择后进入ADC,ADC 可以配置为单端或差分模式。选择 VBAT、Temp 和 AUX 时可以配置为单端模式;作为触摸屏应用时,可以配置为差分模式,这可有效消除由于驱动开关的寄生电阻及外部的干扰带来的测量误差,提高转换准确度。 引脚图如图 4.8 所示:- 12 -图 4.8 XPT2046 管脚图4.3.2 XPT2046 引脚功能XPT2046 有 16 个引脚,引脚功能介绍如表 4.2 所示:表 4.2 XPT2046 引脚功能表1 BUSY 忙时信号线2 DIN 串行数据输入端3 /CS 片选信号输入4 DCLK 外部时钟输入端口5 +VCC 电源引脚6 XP XP 位置输入端7 YP YP 位置输入端8 XN XN 位置输入端9 YN YN 位置输入端10 GND 地引脚11 VBAT 电池监视输入端12 AUX ADC 辅助输入通道13 VREF 参考电压输入/输出14 IOVDD 数字电源输入端15 /PENIRQ 笔接触中断引脚16 DOUT 串行数据输出端4.4 MPU6050 模块4.4.1 MPU6050 简介MPU6050 是一款整合性 6 轴运动处理组件,它内部带有三轴的加速度传感器、三轴的陀螺仪、并且能通过自身的第二 IIC 接口连接外部的磁力传感器。将这九轴的数据利用 DMP(Digital Motion Processor)进行数据解算,进而就能输出完整的姿态融合解算数据。利用了 DMP 进行数据解算,就降低了单片- 13 -机的负荷,同时缩短了开发周期,降低了开发难度。MPU6050 的陀螺仪和加速度仪分别有 3 个 16 位 AD 转换器将采集的数据数字化输出。该模块体积小,适用于穿戴式设备,与 STM32 进行 I2C 通信。模块实物图片与接口原理图如图 4.9 所示。STM32 内部有两路 IIC 供用户选择,但是硬件 IIC 做的并不稳定,程序容易死在 IIC 通信上。因此本系统采用 IO 口模拟 IIC 的方式进行数据通信。MPU6050 在初始时对其寄存器进行配置,包括陀螺仪采样率、自检及测量范围等参数。图 4.9 MPU-6050 实物与引脚图电路连接图如图 4.10 所示: CLKIN1245AUX_D67VOG809RETFSYPMBu.W图 4.10 MPU6050 电路连接图- 14 -4.5 SD 卡SD 卡(Secure Digital Memory Card)是一种基于 FLASH 的新型存储设备,它具有传输速度快、体积小、容量大、移动灵活、安全性能好等特点。SD 卡有SD 和 SPI 两种工作模式,其中 SPI 模式接口比较简单,有利于降低成本,而且能很好的胜任一般的应用场景。但是 SD 模式相对就比较复杂。因此本系统使用SPI 模式。SD 卡管脚定义如表 4.3:表 4.3 SD 管脚定义Pin SD 4-bit mode SPI mode1 CD/DAT3 Data line 3 CS Card Select2 CMD Command line DI Data input3 VSS1 Ground VSS1 Ground4 VDD Supply voltage VDD Supply voltage5 CLK Clock SCLK Clock6 VSS2 Ground VSS2 Ground7 DAT0 Data line 0 DO Data output8 DAT1Data line 1 orInterrupt(optional)IRQ Interrupt9 DAT2Data line 2 orRead Wait(optional)NC Not Used在 SPI 模式下,1 脚 8 脚保留(未使用)、2 脚片选端、3 脚数据输入端、4 脚 6 脚电源与地端、5 脚时钟信号端、7 脚数据输出端。SD 卡的工作电压为2.73.6V。电路图如图 4.11 所示:- 15 -CD/AT31M2VS4LK560789GNWPsdcarIOR.图 4.11 SD 卡电路图系统中 SD 卡的主要作用是存储接收到的地图图片。SD 卡采用 SPI 总线模式。STM32F103ZET6 集成了 3 个 SPI 接口,方便系统的控制。4.6 EEPROM 存储器 24C02系统掉电时需要保存一些系统配置信息,用于恢复关机前的状态。STM32F103ZET6 提供了数据备份寄存器,但是只能保存 42 个 16 位数据,这对于本设计而言不能满足需求。系统中需要保存的数据量不是很大,采用 24C02即可满足要求。24C02 串行 E2PROM 是基于 I2C 总线的存储器件,遵循二线制协议,它具有接口方便,体积小,数据掉电不丢失等特点。其引脚图如图 4.12 所示,各引脚的功能如表 4.4 所列。图 4.12 24C02 引脚图表 4.4 24C02 引脚功能说明管 脚 名 称 功 能A0 A1 A2 器 件 地 址 选 择SDA 串 行 数 据 /地 址SCL 串 行 时 钟WP 写 保 护- 16 -VCC 电 源VSS 地24C02 接口电路设计如图 4.13 所示。由于只用一个 AT24C02,因而 A0、A1和 A2 可直接接地。WP 接地,关闭写保护功能。 18WP7L6DA5GN4230UT.R9KB图 4.13 24C02 电路设计4.7 FLASH 芯片 W25Q64FLASH 芯片型号我们选择了 W25Q64,其容量为 64Mb,也就是 8M 字节,与上述 AT24C02 一样都是串行传输,占用较少的 IO 口。该芯片与单片机之间的通信方式为 SPI 总线,如图 4.14 所示我们并没有用软件模拟 SPI 总线时序,而是采用了 STM32 自带的硬件 SPI 接口 SPI2,这样传输速度会更快。SPI 总线一般有四根信号控制线:片选线 CS,两根数据线分别为主入从出 MISO 和主出从入MOSI,还有一根时钟线 SCLK。图 4.14 W25Q64 电路图扩展 Flash 为了是存储汉字字库以及图片,因为 STM32F103ZET6 本身只具O#IHQ- 17 -有 512K Flash,如果用来存放字库,肯定不够,外扩的 Flash 可以存放 32*32字体 GBK 码字库,16*16 字体 GBK 码等字库,而且还存放了系统的桌面图片、背景图片。这样我们就可以在 TFT LCD 上显示 16*16 字体等字体的汉字和字符以及图片了。同时我们也可以存储我们喜欢的字体,如华文行楷等。4.8 蜂鸣器电路蜂鸣器按有无震荡源可分为有源蜂鸣器和无源蜂鸣器,有源蜂鸣器内部自带振荡电路,加适当的直流电源就可以发声,频率通常固定,易于操作;而无源蜂鸣器一般需要通过外部的方波信号驱动,频率可以改变,一般为 1 到 4KHz最佳,所以可以演奏出优美的音乐如生日快乐歌等。 32QS805J9BEPVC.GNDKR67图 4.15 蜂鸣器电路在本系统中,蜂鸣器用作闹铃。此处,为了程序控制简单,我们选择了3.3V 的有源蜂鸣器。如图 4.15 所示,由于单片机 IO 口输出电流有限,所以我们的蜂鸣器驱动电路通过 NPN 三极管 S8050 放大电流,从而驱动蜂鸣器发声,同时在三极管的基极要加限流电阻。当 PB8 由程序配置输出高电平时,则基极与发射极有了大约 3V 的压降,三极管 Q1 导通,三极管 Q1 集电极被发射极拉低,此时蜂鸣器两端等于接了 3.3V 电压,所以发声。当 PB8 配置为低电平时,三极管 Q1 基极与发射极没有 0.7V 的导通压降,Q1 此时为截止状态,此时集电极不能被发射极拉低,从而蜂鸣器两端没有施加电压,则不会发声。4.9 GPS 模块GPS 是由美国国防部研制部署和控制的军民两用导航定位卫星系统。现在运行的“GPS”系统是由 24 颗工作卫星和 4 颗备用卫星组成,它们分布在 6 个等间距的轨道平面上,每个轨道面上有 4 颗工作卫星,卫星轨道接近圆形,- 18 -用户在任何时间都至少能看到 46 颗卫星,定位一次仅需几秒钟,可实现全球范围连续的、近实时的定位、测速与授时。本次设计使用型号为 ATK-NEO-6M的 GPS 模块。模块实物图如图 4.16 所示,GPS 芯片引脚图如图 4.17 所示,详细电路连接图参见附录一。4.16 GPS 模块实物图 4.17 GPS 芯片引脚图 GPS 模块的引脚定义如表 4.5 所示:表 4.5 GPS 模块引脚定义表序号 名称 说明1 PPS 时钟脉冲输出脚2 RXD 模块串口接收脚3 TXD 模块串口发送脚4 GND 地5 VCC 电源(3.3V5.0V)NCS_/TIMEPULX0BDGRFV789AKO?- 19 -4.10 GSM 模块4.10.1 SIM900A 模块的对外接口电路S I M 9 0 0 A电源S T M 3 2 F 1 0 3 Z E T 6串口天线语音接口防静电S I M 卡图 4.18 SIM900A 对外接口框图SIM900A 对外接口框图如图 4.18 所示,对外接口包括:RS232 接口,语音接口,控制线接口、SIM 卡接口等。4.10.2 SIM900A 模块初始化本系统使用的 SIM900A 模块是由 12V 1A 电源供电的,在 SIM900A 初始化时,先给 SIM900A 模块上电,然后长按开机按钮,此时开机指示灯会变亮,当开机指示灯快闪时松开开机按钮,此时 SIM900A 模块正在初始化并且注册网络。当模块上的指示灯由快闪变为慢闪时说明模块网络注册成功,模块可以正常使用。如果长时间快闪没有变成慢,应长按启动键会关机模块,检查天线, SIM 卡片的固定情况,还有检查 SIM 卡片是否能正常使用。SIM900A 实物如图 4.19,在与单片机通信之前,我们可以通过电脑串口与 SIM900A 模块通信调试,来检测模块是否能正常工作。在本系统中,我们使用单片机的串口 2 与 GSM 模块的TTL 接口相连。GSM 模块详细电路图参见附录一。4.10.3 AT 指令集AT 指令集是一个指令的集合,它包含了所有的对 GSM 模块操作的指令,包括接打电话、收发短信、连接 GPRS 等等。我们操作 GSM 模块实际上就是通过- 20 -AT 指令集来操作的。AT 指令集必须以 AT 开头,以空格键结束,通常模块的响应会紧随 AT 指令之后。在本系统中主要使用了与 GPRS 功能相关的指令,AT+CGMM 命令用来查询模块型号。AT+CIPMUX=0 表示表示将模块设置为单链接方式。AT+CIPRXGET=0 命令用来设置获取数据的方式,0 表示模块自动获取数据。AT+CIPQRCLOSE=1 命令用来设置加速远程断开连接。AT+CIPMODE=0 命令表明设置 TCP 应用模式为非透明。AT+CIPSTART=TCP,24,80 命令表明建立 TCP 链接,连接到 IP 地址 24。AT+CIPCLOSE=1 命令用来断开 TCP 链接。AT+CIPSHUT 命令用来关闭移动场景。图 4.19 SIM900A 实物- 21 -5 软件部分本部分介绍了系统在软件部分的设计思想和典型代码。整个软件部分分为系统开发工具介绍、程序整体框图及思想、文件系统的移植、GUI 程序的设计、主要功能的实现共五个部分。下面将对每个部分分别介绍。5.1 开发工具介绍Keil MDK v5,该版本使用 uVision5 IDE 集成开发环境,是目前针对 ARM微控制器,尤其是 ARM Cortex-M 内核微控制器最佳的一款集成开发工具。MDK v5 向后兼容 Keil MDK-ARM uVision4,以前的项目同样可以在 MDK v5 上进行开发, MDK v5 同时加强了针对 Cortex-M 微控制器开发的支持,并且对传统的开发模式和界面进行升级,将分成两个部分,MDK Core 和 Software Packs。其中,Software Packs 可以独立于工具链进行新芯片支持和中间库的升级。MDK Core包含微控制器开发所有的所有组件,包括 IDE(uVision5)、编辑器、ARM C/C+编辑器、uVision 调试跟踪器和 Pack Installer。MDK v5 支持完整的微控制器系列,包括 MDK v4 上的所有芯片系列,如 ARM7、ARM9、Cortex-M0、M1、M3、M4 等 ARM 内核芯片。5.2 程序框图因为可穿戴设备程序的运行流程与用户的实际操作密切相关,因此本设计采用状态机编程的思想,将程序在一个个状态之间切换。软件流程图如图 5.1所示:- 22 -开始系统初始化加载主界面等待按键按下或触摸屏按下判断按键值或触摸点地图闹钟计步器画板万年历 秒表返回返回返回返回返回返回模式六模式五模式一模式二模式三 模式四图 5.1 程序流程图5.3 文件系统的移植FATFS 是一个完全免费开源的 FAT 文件系统模块,专门为小型的嵌入式系统而设计。它完全用标准 C 语言编写,所以具有良好的硬件平台独立性,可以移植到 8051、PIC、AVR、SH、Z80、H8、ARM 等系列单片机上而只需做简单的修改。它支持 FATl2、FATl6 和 FAT32,支持多个存储媒介;有独立的缓冲区,可以对多个文件进行读写,并特别对 8 位单片机和 16 位单片机做了优化。FATFS 的特点有:1、Windows 兼容的 FAT 文件系统(支持FAT12/FAT16/FAT32)2、与平台无关,移植简单 3、代码量少、效率高 4、多种- 23 -配置选项支持多卷(物理驱动器或分区,最多 10 个卷)5、多个 ANSI/OEM 代码页包括 DBCS6、支持长文件名、ANSI/OEM 或 Unicode7、支持 RTOS8、支持多种扇区大小 9、只读、最小化的 API 和 I/O 缓冲区等。FATFS 的这些特点,加上免费、开源的原则,使得 FATFS 应用非常广泛。FATFS 模块的层结构如图 5.2所示:图 5.2 FATFS 模块的层结构图最顶层是应用层,使用者无需理会 FATFS 的内部结构和复杂的 FAT 协议,只需要调用 FATFS 模块提供给用户的一系列应用接口函数,如 f_open,f_read,f_write 和 f_close 等,就可以像在 PC 上读写文件那样简单。中间层 FATFS 模块,实现了 FAT 文件读写协议。FATFS 模块提供的是ff.c 和 ff.h。除非有必要,使用者一般不用修改,使用时将头文件直接包含进去即可。需要我们编写移植代码的是 FATFS 模块提供的底层接口,它包括存储媒介读写接口(disk I/O)和供给文件创建修改时间的实时时钟。FATFS 的源码,是从 /fsw/ff/00index_e.html 这个网站下载到,目前最新版本为 R0.09a。我选用的是该版本,下载解压后可以得到两个文件夹:doc 和 src。doc 里面主要是对 FATFS 的介绍,而 src 里面才是我们需要的源码。其中,与平台无关的是: ffconf.h FATFS 模块配置文件 ff.h FATFS 和应用模块公用的包含文件 ff.c FATFS 模块 - 24 -diskio.h FATFS 和 disk I/O 模块公用的包含文件 interger.h 数据类型定义 option 可选的外部功能(比如支持中文等) 与平台相关的代码(需要用户提供)是: diskio.c FATFS 和 disk I/O 模块接口层文件 FATFS 模块在移植的时候,我们一般只需要修改 2 个文件,即 ffconf.h和 diskio.c。模块的所有配置项都是存放在 ffconf.h 里面,我们可以通过配置里面的一些选项,来满足自己的需求。接下来介绍几个重要的配置选项。(1) 数据类型:在 integer.h 里面去定义好数据的类型。这里需要了解所用的编译器的数据类型,并根据编译器定义好数据类型。 (2) 配置:通过 ffconf.h 配置 FATFS 的相关功能,以满足系统的需要。函数编写:打开 diskio.c,进行底层驱动编写,一般需要编写 6 个接口函数如图 5.3:d i s k i o . cd i s c k _ s t a t u sd i s c k _ w r i t ed i s c k _ i o c t lg e t _ f a t t i m ed i s c k _ i n i t i a l i z ed i s c k _ r e a d图 5.3 FatFs 接口函数如通过以上步骤就可以完成对 FatFs 文件系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六年级体育上册 第二十四课 小排球说课稿
- 塑料厂包装材料管理细则
- 第2课《说和做-记闻一多先生言行片段》说课稿 2025-2026学年统编版语文七年级下册
- 5.1.6 鸟(第一课时)说课稿-2024-2025学年人教版生物八年级上册
- 6.3 向心加速度 教学设计-2024-2025学年高一下学期物理人教版(2019)必修第二册
- 《 虞美人》教学设计 2023-2024学年统编版语文高中必修上册
- 第7课 隋唐制度的变化与创新 教学设计-2023-2024学年高一上学期统编版(2019)必修中外历史纲要上册
- 2025江苏苏州市市级机关遴选公务员18人笔试备考题库及答案解析
- 吉林省四平市2025-2026学年七年级上学期第一次检测历史试卷(含答案)
- 企业员工劳动合同签订与绩效考核标准
- 2025-2026学年人教精通版四年级英语上册(全册)教学设计(附目录)
- 抽油机井示功图分析判断1
- 机电一体化说专业比赛
- 平地机操作规程
- GB/T 39141.3-2022无机和蓝宝石手表玻璃第3部分:定性标准和试验方法
- GB/T 1142-2004套式扩孔钻
- 2022年天津市河东区生态环境系统事业单位招聘笔试试题及答案
- 研究生学术道德与学术规范课件
- 浦发银行个人信用报告异议申请表
- 电镀行业环境执法现场检查要点
- 趣味成语 完整版PPT
评论
0/150
提交评论