基于stm32的学霸手表1.docx

上传人:b****5 文档编号:7015420 上传时间:2023-01-16 格式:DOCX 页数:21 大小:3.35MB
下载 相关 举报
基于stm32的学霸手表1.docx_第1页
第1页 / 共21页
基于stm32的学霸手表1.docx_第2页
第2页 / 共21页
基于stm32的学霸手表1.docx_第3页
第3页 / 共21页
基于stm32的学霸手表1.docx_第4页
第4页 / 共21页
基于stm32的学霸手表1.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

基于stm32的学霸手表1.docx

《基于stm32的学霸手表1.docx》由会员分享,可在线阅读,更多相关《基于stm32的学霸手表1.docx(21页珍藏版)》请在冰豆网上搜索。

基于stm32的学霸手表1.docx

基于stm32的学霸手表1

学霸手表

摘要

目前可穿戴的应用越来越广泛,如谷歌眼镜、家电控制手环、运动手表、导航手链、等等。

可穿戴应用已经成为市场发展的一大热门方向。

本文作者用单片机STM32F103VET6结合μC/GUI图形处理系统设计了一款学霸手表,实现了单词记忆、课程提醒、作业备忘、移动U盘、日历、时钟等功能。

达到为学生的学习以及生活提供更为便利的服务。

本文在分析了系统各模块原理的基础上,介绍了用单片机读取FATFS文件系统单词和课程表数据并加以优化显示,记录课程数据实现人性化的作业备忘的功能。

同时可实现USB读取SD卡,基于低功耗特点,利用陀螺仪检测人体手臂摆动从而实现开关屏幕等。

经测试,可正确达到实验预设定目标,能实现单词、课程表显示,备忘功能,同时可实现基本看表动作识别开关屏降低作品功耗的特点。

关键词:

可穿戴单片机FATFS文件系统μC/GUI学习

StudyWatch

XianChunyeLinWenzhouHanJinpeng

ABSTRACT

Atpresent,wearableappliedwasusedmoreandmorewidely,suchasGoogleglasses,appliancecontrolwristbands,sportswatches,braceletsnavigation,andsoon.Wearabletechnologyhasbecomeapopulardirectionofmarketdevelopment.TheauthorsusethemicrocontrollerSTM32F103VET6andtheμC/GUIgraphicsprocessingsystemdesignedastudywatch,Ithasthewordmemory,curriculumreminders,homeworknotes,Udisk,calendar,clockandotherfunctions.Reachedtoprovidemoreconvenientservicesforstudentlearningandlife.

Basedontheanalysisofthebasicprincipleofeachmoduleofthesystem,thearticledescribeshowtouseMCUtoreadthewordsandcurriculumdatafromtheFATFSfilesystemandoptimizeddisplay,recordingtheprogramsdatatoachievehumaneworkingmemofunction.USBreadtheSDcardcanberealizedsimultaneously,basedonlowpowerfeatures,usinggyroscopestodetectthebodyarmswingtoswitchscreens.

Afterthetest,itwasproperlyaccomplishexperimentspresetgoals,canachievethebasicwatchandactionrecognitionreduceworkpowerswitchscreen.

Keywords:

WearableMCUFATFSFileSystemμC/GUIStudy

第一章绪论

1.1产品设计的背景

作为又一浪兴起的科技热潮,智能穿戴式设备已逐渐发展,作为穿戴式智能设备大军中的一员,智能手表以其体积小,功耗低,携带方便、功能强大等优点受到人们的青睐,成为消费市场的新宠。

各种传感器的引入包括触摸屏使智能手表跻身手机高端行列。

手表的轻薄和低功耗使其在生活电子产品中脱颖而出。

手表内置智能化系统、搭载智能手机系统而连接于网络而实现多功能。

在电子产品的设计中,可触摸的手表代替传统按键的单一,使其功能丰富强大。

手机成为大学生生活不可替代品,但其弊端也逐渐突出。

利用手机整天刷朋友圈、玩游戏的现象也日益严重。

现代大学生的学习生活太过于依赖手机而使学习变得没规划。

而手表虽然没有手机那样具有各种聊天工具和游戏软件,但其轻薄便携带的优点是手机不可替代的。

避免娱乐类的功能加之以学习类的功能,手表的优化可帮助人们特别是大学生摆脱对手机的过度依赖。

手表的便携性也使人们在对一些事务的处理简便快捷,包括接收短信、打电话、查询天气、检测身体健康状况等。

1.2产品设计的意义

为大学生摆脱过度依赖手机的弊病,使他们对学习和生活有良好的规划,本产品设计具有单词记忆、课程查询、功课提醒、时钟闹钟、移动U盘等相关学习功能的手表,体积小、功耗低让本产品易于让人接受。

让学生利用课余零碎时间记忆单词,包括四六级等词汇。

功课提醒能帮助学习避免因没来得及写作业而四处找作业抄的尴尬局面。

移动U盘的功能更易于学生存储携带重要文件。

本产品利用微处理器加触摸彩屏显示,设计良好的显示界面以及简易的操作图标,设计风格贴近手机,增加使大学生从使用手机到使用手表的筹码。

 

第一章系统总体设计

2.1系统总体结构

2.1.1功能结构

根据设计思路,本课题设计的学霸手表总体功能结构如图2-1-1所示。

该系统功能主要包括五大部分:

单词记忆、作业备忘、课程表查询、随身U盘以及时钟闹钟。

图2-1-1系统功能简介图

1、单词记忆:

在主界面的时钟显示下会间隔出现单词,佩戴者在查看时间时可以记住,点击单词会进入单词显示界面,有音标注释、中文注释和例句及解释。

2、课程表查询:

佩戴者可以查看整个星期的课程表,包括课程内容、上课时间、地点、老师等。

3、时钟闹钟:

主界面有时钟显示,进入设置界面可设置闹钟提醒。

4、随身U盘:

通过USB访问内部SD卡,存储重要文件等方便携带。

5、作业备忘:

通过设置交作业的时间,一到指定时间会手表会发出震动提醒。

2.1.2硬件结构图

为了实现产品所构想的功能,设计了硬件总体框图如图2-1-2所示。

包括五大硬件模块:

内核处理器、加速度模块、电源供电模块、USB读SD卡模块和触摸屏显示控制模块。

ARMCortex-M3

内核处理器

STM32F103VET6

电源供电模块

加速度模块

触摸屏显示和控制模块

USB读SD卡模块

图b-1系统总体框图

●以STM32F103VET6为主微处理器,具有处理速度快,闪存大等优点。

最高主频可达72MHz,有三个通用串口,带日历功能的RTC,一个USB接口和SDIO接口。

●加速度模块选型以体积小,功耗低为主,对穿戴者手臂的角速度等参数进行测量并判断是否有看表姿势。

●触摸显示模块采用联詠带触摸的彩色液晶屏,分辨率176x220,采用驱动芯片NT39016,通过FSMC与STM32F103VET6连接,外扩触摸控制器XPT2046,采用SPI与STM32F103VET6连接。

●电源使用3.7v微型锂电池,体积小容量大的优点适用于本产品,采用锂电池充电管理芯片TP4057通过USB为其充电,方便佩戴者使用。

●USB接口符合USB2.0传输协议,传输速度快,SD卡采用大容量2G卡,通过SDIO与STM32F103VET6通信。

第三章系统硬件设计

3.1电源充电及供电设计

根据穿戴式与各芯片模块供电需求,我们决定使用3.7V锂电池作为系统的供电电源。

3.7V锂电池标称电压为3.7V,满充电压为4.2伏,由于系统及各芯片模块工作电压为3.3V,故我们使用低压差、高精度、低功耗、大电流的3.3V稳压芯片XC6206进行双芯片并联稳压,输出电流在400mA左右。

USB标准在生活中给用户带来了极大的方便,而通过USB接口也可以方便的为设备电池进行充电。

通过USB接口给锂电池充电的时候需要一个锂电池充电器,在这里选用TP4057作为充电器芯片。

TP4057采用恒定电压/电流线性控制,并带电池。

充电电压固定于4.2V,充电电流可以通过一个外部电阻进行设置。

3.7V锂电池的满电电压为4.2V,当锂电池达到满电电压时,充电电流将降低到设置电流的1/10,这时将自动停止充电。

当输入电压被拿掉的时候,TP4057进入一个低电流状态。

具体电路图如图3-1所示。

图3-1电源设计电路图

3.2触摸显示电路设计

本设计的使用了36线G200T36T电阻式触摸屏,分辨率为176*220,使用其16位RGB接口,显示部分使用了STM32F103VET6的FSMC存储器扩展技术,FSMC的好处就是一旦设置好之后,WR、RD、DB0-DB15等控制线和数据线,都由FSMC自动控制的,本设计使用了A16作为读写地址。

触摸部分采用了XPT2046作为触摸芯片,使用SPI传输协议进行与STM32之间的通讯,XPT2046是一款4导线制触摸屏控制器,内含12位分辨率125KHz转换速率逐步逼近型A/D转换器。

XPT2046支持从1.5V到5.25V的低电压I/O接口。

XPT2046能通过执行两次A/D转换查出被按的屏幕位置,除此之外,还可以测量加在触摸屏上的压力。

3.3USB通讯电路设计

本课题中的USB模块为PC主机和STM32F103VET6处理器之间提供了符合USB规范的通信连接。

此USB模块能够通过硬件完成与PC主机的数据传输,用户可以使用电脑读取并操作手表中的SD卡,上传课程表等信息及其他文件。

在该系统中,USB接口的硬件电路比较简单,硬件电路设计只需要连接USB相关的3条信号线即可达到使用要求[2],具体接口电路如图3-3所示。

图3-3

在图中,D1、D2分别连接供电电路中USB接口的D1、D2接口,D+、D-分别连接STM32F103VET6的一个USB接口:

PA12、PA11。

D1使用1K电阻上拉,使USB传输直接进入高速传输状态。

3.4锂电池电量监测电路设计

本系统的电量监测使用了STM32VET6芯片内部连接到ADC1的通道17的1.2V参考电压,以ADC1的第10通道为电量模拟输入通道,采用两个阻值分别为1M欧和2.5M欧的电阻作为分压电阻,在符合比例的情况下保证精度足够高,电压值可精确到小数点后两位,模拟输入口电压转换公式为temp=apower*(1.2/4098),temp为电压值,apower为模拟输入口的模拟量。

原理图如图3-4所示。

图3-4

3.5GY521-MPU6050陀螺仪模块连接电路设计

MPU-6050传感器芯片融合了三轴陀螺仪、三轴加速度和一个I2C接口供处理器访问。

MPU-6050的陀螺仪和加速度仪分别有3个16位AD转换器将采集的数据数字化输出。

该模块体积小,适用于穿戴式设备,与STM32进行I2C通信。

模块实物图片如图3-5(a),接口原理图如图3-5(b)。

STM32自带I2C总线接口,但硬件接口传输数据不稳定,故模块与STM32通过普通的GPIO口模拟I2C进行数据通信。

MPU6050的初始时对其寄存器进行配置,包括陀螺仪采样率、自检及测量范围等参数。

图3-5(a)图3-5(b)

3.6系统PCB设计及电路实物图

本作品的电路PCB设计分别如下3-6(a)、3-6(b),实物打板如3-6(c)、3-6(d)。

3-6(a)主控板PCB设计3-6(b)触摸屏驱动板PCB

2-2-6(c)主控板实物图2-2-6(d)触摸屏驱动板实物图

3.73D打印外壳设计:

为了实现作品的完整性,我们使用三维制图软件solidworks绘制了手表的外壳三维图,并使用3D打印机打印出来。

外壳总长度为57.22mm,总宽45.8mm,总高18.9mm。

分为底盘和上盖两部分。

底盘三维设计图如图3-7.1、图3-7.2,上盖三维设计图如图3-7.3、图3-7.4。

solidworks软件是世界上第一个基于Windows开发的三维CAD系统,有功能强大、易学易用和技术创新三大特点,在CAD届处于领先、主流地位。

我们所用的3D打印机是属于民用级的打印机,打印定位误差为百分之零点五,厚度误差为0.1mm,最小厚度为0.9mm,材料为塑胶。

图3-7.1图3-7.2底盘三维图

 

图3-7.3图3-7.4上盖三维图

第四章系统软件设计

4.1显示驱动实现

本文中的STM32F103VET6利用FSMC(FlexibleStaticMemoryController)接口驱动显示电路。

FSMC接口是一种总线接口,有4个专用的片选信号,可以访问最多4个NOR、NAND闪存或SRAM存储设备[1]。

本设计统采用存储块1(Bank1)作为数据、控制区域,其基地址从0x60000000开始,显示芯片数据或命令选择信号接在FSMC_A16上,因此LCD的指令地址、数据地址定义如下:

#defineBank1_LCD_C((uint32)0x60010000)//数据

#defineBank1_LCD_D((uint32)0x60000000)//指令

根据显示芯片SSD1963的指令集,编写了基础的画点、画线、画矩形的函数,便于以后作为uC/GUI的基础软件。

触摸屏驱动的芯片XPT2046用SPI口分别读出触摸点的x轴、y轴数据即可。

4.2μC/GUI的实现

μC/GUI是一种嵌入式应用中的图形支持系统.它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器及LCD控制器的图形用户接口,它适用单任务或是多任务系统环境,并适用于任意LCD控制器和CPU下任何尺寸的真实显示或虚拟显示它的设计架构是模块化的,由不同的模块中的不同层组成。

μC/GUI的软件构架如图4-2.1。

字体

文本

图形

数值

μC/GUI应用程序

μC/GUI函数库

μC/GUI基本函数

LCD底层驱动

图4-2.1μC/GUI的软件构架

在设计中,通过调用μC/GUI提供的窗口显示函数来实现一定功能,对各个控件包括按键、文本、对话框等进行设置,绘制显示出各种图形[3]。

利用触摸屏实现按键的实时简易操作,按键触发的流程如图4-2.2。

利用文本显示控件对特定文字显示在屏幕上,实现良好的人机互动。

读取屏幕坐标

按键回调函数

用户自定义

回调函数

对按键信息

作出处理

图4-2.2按键触发流程

4.3FatFs文件系统

文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。

也指用于存储文件的磁盘或分区,或文件系统种类。

操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

文件系统由三部分组成:

与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。

从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。

具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。

FatFS是一个通用的文件系统模块,用于在小型嵌入式系统中实现FAT文件系统。

FatFs的编写遵循ANSIC,因此不依赖于硬件平台。

它可以嵌入到便宜的微控制器中,如8051、PIC、AVR、SH、Z80、H8、ARM等等,几乎不需要做任何修改[4]。

其结构如图4-3:

 

应用层

FATFS模块

DiskIO接口

实时时钟

图4-3FatFs结构图

 

它的特点:

1)兼容windowsFAT系统;

2)独立于硬件平台,移植方便;

3)非常小的软件封装;

4)支持长文件名SBCS/DBCS或者Unicode;

5)支持RTOS实时操作系统;

6)支持多块一起操作;

7)最小的API,I/O缓存。

4.4系统软件流程图

根据设计需要,程序部分可分为四个判断任务:

USB判断、触摸判断、闹钟判断、手势判断。

系统任务关联如图4-4。

应用程序开始

IAP检测是否对系统升级

从SD卡读取升级文件进行系统更新

初始化系统(TFT触摸液晶屏、SD卡、GUI图型支持系统、陀螺仪模块、USB)

菜单显示

是否插入USB

是否触摸屏幕

闹钟时间匹配

是否抬手

关闭屏幕

文件传输

进入功能菜单

震动提醒

显示屏幕

应用程序结束

图4-4系统任务关联示意图

第五章系统测试

5.1系统整机测试

5.1.1系统启动测试

系统开机过程首先对SD卡目录经行扫描,如果检测到命名为APP.bin的系统升级文件则经行系统更新,更新界面如图5-1-1.1所示。

在启动完成后,系统即进入时钟界面,界面包括时钟、四六级单词、闹钟状态、电池容量信息,界面如图5-1-1.2所示。

触摸时钟界面可进入系统主菜单,如图5-1-1.3所示。

图5-1-1.1系统更新过程图5-1-1.2时钟界面

图5-1-2.1系统主菜单界面

5.1.2系统设置测试

在系统主菜单点击设置可进入设置菜单,其中包括系统时间设置以及黑屏时间设置。

系统主菜单界面、设置菜单、时间设置、黑屏设置分别如图5-1-2.1、5-1-2.2、5-1-2.3、5-1-2.4所示。

图5-1-2.1设置菜单图5-1-2.3时间设置

图5-1-2.3黑屏设置

5.1.3课程表显示以及USB测试

在主菜单点击课程表菜单可进入课程表显示界面,如图5-1-3.1所示。

在连接电脑与手表时,电脑能识别手表的USB接口,实现电脑访问手表的SD卡,并对其增添和删除操作。

如图5-1-3.2显示电脑连接手表成功。

图5-1-3.1课程表显示图5-1-3.2USB连接示意图

5.2陀螺仪测试

通过轮训可读取陀螺仪X、Y、Z轴方向的加速度值,利用读到加速度AD值,再通过公式(5-2.1)、(5-2.2)、(5-2.3)可求得三轴偏转角速度。

进而通过所测量转换的角速度判断是否进入休眠状态。

(5-2.1)

(5-2.2)

(5-2.3)

分别代表X、Y、Z轴的偏转角,

分别代表加速度模块测量换算的角度值。

通过举手看表这个动作的测试,得出三轴加速度和三轴角度,数据如表5-2(该数据是测试中一次比较典型的数值)可以发现,在这个动作的全过程中Z轴加速度和Y轴角度的变化是很明显的,所以在程序处理中会额外关注这两个值。

表5-2

时间(s)

X轴加速度

Y轴加速度

Z轴加速度

X轴角度

Y轴角度

Z轴角度

0.2

0.1098

0.0967

0.9762

7.3419

-8.9056

1.0452

0.4

0.1120

0.1023

0.9089

7.9803

-14.5604

2.3067

0.6

0.1189

0.1347

0.8006

8.3901

-28.6873

8.9358

0.8

0.1078

0.1028

0.6905

9.0285

-40.9367

12.0943

1.0

0.1257

0.1107

0.6006

9.3908

-72.8605

13.3241

1.2

0.1987

0.1154

0.5305

9.9056

-90.5438

15.2943

1.4

0.1067

0.1104

0.6789

12.0956

-97.0453

19.8945

1.6

0.1134

0.1023

0.7390

14.0769

-104.9342

24.0743

1.8

0.1037

0.1052

0.8994

18.9762

-120.7834

25.7643

5.3功耗分析测试

实验中采用直流稳压电源为样机提供5V直流电压,在实验过程中详细记录了设备在是/否开启屏幕下的电流,电流由直流稳压器直接读出,对每个状态的电流数据进行数学统计分析,得到如表5-3的实验数据。

 

表5-3实验测试结果

状态

电流(mA)

最小值

典型值

最大值

开启屏幕

85

90

105

关闭屏幕

42

48

62

 

第六章全文总结

随着人们文化水平的普遍提高,大学生四六级英语考证难度也相应增加,同学们对好的学习方法和学习辅助设备的需求也越来越大。

本文研究一种基于STM32F103VET6、针对四六级英语学习的学习型智能手表,以满足同学们的学习需要。

一.该手表的设计有以下特点:

●在时钟界面开辟单词窗口,同学们可利用看时间的时候来记忆一个单词,既充分地利用了时间,而且在日积月累之下,能够让同学们记住大量的词汇;

●本手表以词汇记忆与时间查看为主要功能,同时还有课程表及课程提醒、作业提醒等人性化辅助功能;

●设置了USB通信接口。

用户可使用USB线通过该接口连接电脑和手表,通过电脑以移动存储设备的方式直接操作手表的2GSD卡,上传课程表等信息以及其他文件;

●电路简单、成本低廉。

系统采用STM32F103VET6作为主控CPU,该芯片外围接口资源丰富,降低了硬件设计成本,同时降低了设备功耗;

●在系统设计中运用了卡刷的升级方式,使以后的系统升级更加方便。

二.在整个项目制作过程中主要做了以下工作:

●对同学们关于四六级的学习需求进行了口头调查,并对调查结果进行了讨论分析,制定了系统的各项功能;

●讨论决定了使用全触屏的操作方式,完成了各芯片的选型工作,完成初步调试电路的设计及测试电路板的制作;

●搭建起一个人性化的UI界面,收集并完成各图标的对应图案,构思好各功能的图标对应关系;

●完成了系统的整体硬件设计,包括主控CPU的选型及外围电路设计、各模块的选用及接口电路的设计、触摸显示屏接口电路设计以及电源电路设计等,搭建了一套完整的硬件平台;

●完成了测试电路到完整电路的程序移植,并完成各项参数的测试。

三.创新性说明:

创新点1:

本作品再提供日常手表功能之外,增加单词记忆功能,可令使用者在看时间的同时记忆单词。

创新点2:

作品增加课程表功能,可随时随地方便轻松查看课程表。

创新点3:

课程作业提醒功能,在设定作业提交时间后,可在每天设定时间对使用者进行提醒,更可在提交作业当节课程前提醒携带课程作业上课。

 

参考文献

[1]杨显强,田远富。

嵌入式系统中LCD驱动的实现原理[J].今日电子,2005(6);65-67.

[2]萧世文,USB2.0硬件设计,清华大学出版社,2002年12月版.

[3]Micrium.μC/GUI3.90中文手册[EB/OL].[2012-04]..

[4]ChaN.ELM-FATFileSystemModule[EB/OL].http:

//elm-chan.org/fsw/ff/00index_e.html.

附录:

1、****发改局《关于*******迁建工程项目建议书的批复》

2、****村镇建设管理所《*******迁建项目用地红线》

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1