基于飞思卡尔CortexM0+微控制器的计步器设计毕业设计说明书.docx
- 文档编号:9280771
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:77
- 大小:1.20MB
基于飞思卡尔CortexM0+微控制器的计步器设计毕业设计说明书.docx
《基于飞思卡尔CortexM0+微控制器的计步器设计毕业设计说明书.docx》由会员分享,可在线阅读,更多相关《基于飞思卡尔CortexM0+微控制器的计步器设计毕业设计说明书.docx(77页珍藏版)》请在冰豆网上搜索。
基于飞思卡尔CortexM0+微控制器的计步器设计毕业设计说明书
毕业设计说明书
题目:
基于飞思卡尔Cortex-M0+微控制器的
计步器设计
学院名称:
电气工程学院班级:
自动F0903
学生姓名:
学号:
指导教师:
教师职称:
教授
目次
1概述
1.1背景与意义
随着生活水平的提高,人们越来越注重自己的身体健康。
与此同时,科学技术的迅猛发展也催生了“可穿戴健康跟踪设备”的问世。
研究如何通过“便携式健康跟踪器”改善人们的健康状况,将对人类的未来产生深远的影响。
计步器作为一款可穿戴健康跟踪设备,可以记录人的行走步数,反馈给用户准确的运动数据,帮助佩戴者量化锻炼强度、制定合理的健身方案,提醒佩戴者适当调节运动量,激励佩戴者坚持锻炼。
计步器起源于奶牛养殖业,后经外观和测量精度的改善,逐渐推广到医疗器械上面,并向个人保健养生方面延伸,曾一度引发了人们的锻炼热潮。
随着人口老龄化时代的到来,计步器等相关产品的需求量持续增加,市场持续扩大。
由此可见,计步器仍具有巨大的商业前景和研究价值。
1.2国内外发展现状
早期的计步器设计采用机械一维振动传感器,利用机械球的来回运动来控制触点的通断,从而实现人体运动的检测,但是这种传感器的固有缺点是精度不高,灵敏度不可调。
近年来,随着三轴加速度传感器的出现,计步器得到了迅速地发展,其精确度也越来越高。
三轴加速度传感器能够检测人运动时X、Y、Z轴三个方向的加速度分量,灵敏度较高。
同时三轴加速度传感器的超低功耗和高集成度也使得计步器更加轻便。
目前,市面上计步器的基本功能有时间显示、跑表功能、步数检测、距离计算、能量消耗计算及个性化步幅设计。
此外还有FM收音机、行走时间、闹钟提醒功能、步距设置、10000步提示、速度显示、能量消耗计算、心率检测、数据浏览等特色功能。
市场上,国外知名品牌主要有:
acumen(安康盟)、casio(卡西欧)、欧姆龙品牌等,而国产知名品牌有GreenForest/绿森林(武汉产)多功能计步器和康都牌计步器(广东产),价格在168-398元不等。
整体上,计步器正朝着功能多元化、体积小型化、寿命长、精度高,价格低等方面发展。
1.3课题介绍
本课题的设计要求为:
所设计的计步器须使用寿命长、检测精度高、系统功耗低、人机界面操作友好,能满足用户的日常需求。
本课题设计的计步器的基本功能是计步,除此之外,还有行走距离换算、能量消耗计算、提醒是否满足日常运动需求等增值功能,并通过USB将采集的数据传送到上位机。
拓展功能为对温度、湿度、气压等环境变量的检测。
整个系统的设计理念为高精度,低功耗。
本课题选用了功耗极低、处理数据能力较强的基于Cortex-M0+内核的32位微控制器MKL25Z作为主控芯片。
计步传感器采用三轴加速度传感器MMA8451Q,分辨率更高、反应速度更快、功耗更低。
同时,在低功耗的基础上,为了改善用户界面,在输出设备中,我们选用了一块84×48分辨率的液晶屏作为显示器;在输入设备中,我们采用MKL25Z内置的TSI模块设计了5个电容触摸按键作为输入按键。
2课题方案论证
2.1总体设计框图
系统总体设计框图如图2.1所示。
图2.1系统总体设计框图
2.2功能描述
本设计利用三轴加速度传感器获取佩戴者运动时身体在三个轴的加速度分量,通过滤波算法和计步算法分析获取步数,配合佩戴者的身高、体重、步距等信息,换算得到行走距离和消耗的能量,并将相关信息显示在液晶屏上。
利用本设计的电容触摸按键可快捷地控制屏幕显示相应信息。
温湿度传感器采集到环境的温湿度参数后也可将环境的温湿度变化显示在液晶屏上。
当佩戴者的特征信息和运动数据确定后,通过电容触摸按键的相关操作将其储存到微控制器的内部Flash中,保证信息在系统掉电后不丢失。
用户也可以通过USB数据线将计步器连接至电脑终端,将记录的信息上传至上位机显示。
此外,在开发调试阶段,为实现对计步器的远程监控,本设计又另外增加了无线模块,将佩戴者X、Y、Z三个方向的加速度分量实时传送至上位机显示,可视化效果明显。
为配合上述功能,本设计运用C#语言编写了一个计步器专用的上位机软件。
2.3微控制器的选择
2.3.1方案一:
采用8位微控制器
8位微控制器的典型代表是8051微控制器。
8051微控制器是一款入门级微控制器,它内核简易,应用广泛,资料齐全,非常适合入门学习。
同时它的价格低廉,是一款适用于追求低成本,不追求实时性的电子产品。
在我国很长一段时间内,8051微控制器占据了小型家电市场,其中的原因正是超低的成本。
2.3.2方案二:
采用16位微控制器
MSP430微控制器是一款以低功耗闻名的16位微控制器,有许多低功耗的工作模式,采用了精简指令集(RISC)结构,具有丰富的寻址方式,高效率的查表处理指令。
这些特点都保证了用它可以编写出高效率的源程序。
2.3.3方案三:
采用32位微控制器
Cortex-M0+内核基于ARMv6架构,支持Thumb/Thumb-2子集ISA,单核心,采用低成本的90nmLP工艺制造,核心面积仅0.04mm2,每MHz单位频率消耗的电流、功耗分别有9μA、11μW,是现今其它8/16位微控制器的大约三分之一,而性能上又比它们高出很多。
飞思卡尔的KinetisL系列微控制器基于ARMCortex-M0+内核,是目前市场上能效极高的32位微控制器,每微安数据吞吐量居业内领先水平;超低功耗模式多种灵活的功率模式,适合不同的应用情形,可最大限度延长电池寿命;多种技术优化功耗,包括90nm薄膜存储(TFS)技术、时钟和电源门控技术,以及带有位处理引擎、外围交叉桥和零等待闪存控制器的高效平台等;深度睡眠模式下,可在不唤醒内核的情况下进行智能决策并处理数据。
2.3.4方案对比
为选择一款最适合本课题的微控制器,我们列出了上述三种方案的微控制器特性对比表,如表2.1和表2.2所示。
表2.1微控制器特性对比表1
类型
8位微控制器
16位微控制器
32位微控制器
代表系列
8051系列微控制器
MSP430系列微控制器
ARM公司的Cortex系列微控制器属于ARMv7指令集构架,其中有:
“A”系列;“R”系列;“M”系列。
Cortex-A系列
Cortex-R系列
Cortex-M系列
设计方向
面向实时性要求不高的场合
面向低功耗应用
面向尖端的基于虚拟内存的操作系统和用户应用
面向实时应用和实时系统
面向微控制器应用的成本敏感型解决方案
应用
广泛应用于工业测控系统之中
广泛应用于手持式产品,远程抄表等低功耗系统中
应用于超低成本的智能手机、数字电视、机顶盒、打印机和服务器
应用于汽车制动系统、大容量存储控制器
应用于混合信号设备、智能传感器、汽车电子和气囊
电压
5V
1.8~3.6V
1.8~3.6V
1.8~3.6V
1.71~3.6V
表2.2微控制器特性对比表2
芯片类型
80C51
MSP430
Cortex-M0+
Cortex-M3
Cortex-M4
位数
8位
16位
32位
32位
32位
主频(最大)
24M
25M
48M
72M
204M
最小工作电流
20mA
165μA/MHz
9μA/MHz
175μA/MHz
90µA/MHz
价格(元)
2.5
12.0
11.0
20.0
37.0
通过两表的对比可知,8051微控制器的片上资源少、功耗高,因此它很难充当复杂系统的微控制器,而只适用于低性能的产品开发。
MSP430系列的微控制器比8051系列微控制器的功耗低很多,但是处理速度不及Cortex-M0+微控制器,而且Cortex-M0+微控制器的功耗更低一些,价格上也有一定优势。
此外,我们也参考了目前市面上比较热门的微控制器,如Cortex-M3和Cortex-M4系列微控制器,考虑到它们功耗稍和成本稍高、内部资源无TSI,暂不采用。
综上所述,本设计选择基于Cortex-M0+内核的KinetisL系列MCU,具体型号选择MKL25Z128VLK4。
2.4传感器的选择
2.4.1计步传感器的选择
一共有三种方案,第一种是选择机械式振动传感器,第二种是选择加速度传感器,第三种选择压力传感器。
此外还有GPS定位等方案,在此不再考虑。
机械式振动传感器内部有一个平衡锤,当传感器振动时,平衡被破坏,如此会造成上下触点的通断。
佩戴者在跑步过程中,身体起伏重心高低产生变化,计步器内部的振动传感器就会将这一变化转换为数字量送至控制单元,从而获得佩戴者的运动信息。
机械式振动传感器原理简单、精度和成本低,适用于振幅较大的场合。
三轴加速度传感器分为压阻式,压电式和电容式。
加速度的变化能够改变电阻、电压或者电容的变化,从而获得空间位置三个垂直方向的加速度分量。
佩戴者在跑步过程中,身体上下起伏,计步器内部的微控制器读取三轴加速度传感器的三组模拟量,通过计步算法分析,获取运动信息。
三轴加速度传感器具有精度高、反应速度快、通讯协议简单可靠等特点,广泛使用于汽车、数码产品、航天设备等领域。
压力传感器是将压力的变化转化为电压的变化。
利用这一特性,可将压力传感器内置在鞋的底部,当用户在行进过程中,压力传感器受到的压力不同(抬脚时脚对鞋无压力,放脚时脚对鞋有持续压力),这样,计步器的主控单元读取压力值,经过计步算法即可判断运动状态。
为选择一款最适合本课题的计步传感器,表2.3列出了三种传感器的特性对比表。
表2.3计步传感器特性对比表
类型
机械式振动传感器
加速度传感器
压力传感器
工作电流
5mA
30μA
--
工作精度
0.1g
0.002g
--
价格(元)
1.0元
5.0元
--
目前内置于鞋底的压力传感器属于柔性传感器。
在2008年北京奥运会上曾将它用于检测运动员的蹬地力、蹬地时间、足底接触形状、运动速度、离心力等信息,以便指导运动员取得更好的成绩。
这种传感器价格昂贵,设计难度较大,不适合本设计。
机械设振动传感器应用于早期的计步器,测量精度低,误判、漏判严重,不符合本课题高精度的设计原则。
随着加速度传感器的工艺逐渐成熟,测量精度也逐渐提高,功耗已达到微安级别,随着市场的大量使用,价格也降了下来,非常符合本课题的设计理念。
表2.4列出了不同型号的三轴加速度传感器的特性。
表2.4加速度传感器特性对比表
加速度计代表型号
LSM303DLH
MPU-6050
MMA8451Q
ADXL345BCCZ
工作电流
0.83mA
500μA
50μA
150μA
精度
0.0003g
0.0003g
0.002g
0.008g
价格(元)
40.0元
50.0元
5.0元
3.0元
结合价格、功耗和精度等多方面考虑,本课题选择飞思卡尔公司的三轴加速度传感器MMA8451Q作为计步传感器。
2.4.2温湿度传感器的选择
在本课题中,采集环境的温湿度变化为扩展要求,故对温湿度传感器的要求并不高。
同时,为简化硬件电路和软件设计,应选择数字式的温湿度传感器模块。
最终本课题选择目前市面上常用的温湿度传感器模块DHT11,它采用的是单总线协议。
2.5显示器的选择
一共有两种方案,第一种是选择数码管,第二种是选择LCD(如笔段式、TFTLCD等)。
方案对比如表2.5所示。
表2.5显示屏对比表
类型
LED(如数码管)
LCD
正常工作电流
mA级别
μA级别,400μA左右(LCD5110)
接口电路
若需要多个数码管时,电路较复杂,显示信息少
支持多种协议,与MCU的通讯接口简单
体积
大
小
价格(元)
数码管0.3(元)/段
可低至10元
通过对比可以看出,数码管的体积大,当使用多个数码管静态显示时,需增加锁存电路,不适合作为小型携带设备的显示部分;同时数码管每段所需要的电流也比较大,不适合作为低功耗产品的设计。
液晶屏机身薄,节省空间,省电,发热量小,画面柔和不伤眼,满足本项目设计的性能需求和低功耗的设计理念。
TFT液晶屏的显示效果很好,但是功耗稍高。
最后折中选择了一款功耗较低的液晶屏,具体型号为诺基亚LCD5110(单色,分辨率为84×48)。
2.6输入设备的选择
2.6.1方案一,机械式按键
机械式按键使用最为普遍,型号繁多,价格低廉。
缺点是有一定的使用寿命,易损坏,手感较差。
2.6.2方案二:
电容触摸按键
根据采用触摸传感器类型的不同,触摸输入方式可以分为电阻式、电波式、光学式、电感式、电容式和电磁式等几种类型。
电容式触摸输入方式凭借其工艺成本低、触摸检测方便、硬件免维护、按键精度高、灵敏度可调、外观时尚等特点,成为触摸输入方式的主要选择。
TSI模块(TouchSensingInterface)是飞思卡尔公司为简化硬件设计人员开发过程而嵌入到Kinetis架构的电容触控驱动模块,结构简单,使用简单的驱动接口连接到一定面积的覆铜区即可。
(TSI)模块具有高灵敏度和强鲁棒性的特点,提供了较强的触摸检测的能力,它最高支持和带有16个电容性触摸输入引脚,TSI模块拥有可编程模块和相应的结果寄存器。
2.6.3方案对比
方案对比如表2.6所示。
表2.6按键对比表
按键类型
机械式按键
电容触摸式按键
工作电流
1mA
10μA
价格(元)
0.01
0(仅需引出一块覆铜即可)
与触摸键盘相比,机械按键易老化,寿命短,而且工作电流比触摸按键的高很多,在成本上,他们相差不大,但是从整体性能上考虑,触摸式按键更加符合本项目的性能设计需求。
综上所述,本课题选择电容触摸式按键作为本项目的输入输入设备。
2.6.4TSI触摸感应原理
根据电子学知识可知,未接地的电极与地之间存在电容。
而人体可以当做一个接地面(虚地),当手指接近电极板时,等效的增大了电极与地之间的有效面积,使电极板电容增大(如图2.2)。
TSI模块的内部机制能实现对电极电容值的检测,并且可以设定触发事件的阈值。
当检测到电容值大于设定阈值时,TSI触发标志位将被置位,并可激活发出中断请求,从而实现对触摸感应事件的响应。
图2.2电容检测电路
TSI模块测量电容的简易电路图如图2.2所示。
可以看出,两个电流源对外接电极进行充放电,在电极板上产生三角波信号,此电压的峰峰值可以通过配置TSI模块中的寄存器来配置,电极上的三角波信号的频率随电极电容的变化而变化,当电极电容增大时,三角波信号的频率减小,周期变大。
TSI模块以一个内部振荡器产生的时钟信号为信号参考节拍,对电极的周期进行计数,当三角波周期增大时,则对应的计数值也会增大,如图2.3所示,红色为扫描结果存放在TSI的数值寄存器中,可通过程序访问。
TSI模块将每次取得的计数值与存放在阈值寄存器中的预设阈值进行比较,若超出设定阈值范围,则会导致TSI扫描计数器超出标志位,此时,若使能TSI溢出中断,则进入TSI中断服务程序响应事件。
图2.3参考时钟对信号频率进行计数
2.7存储器的选择
一共有两种方案。
方案一、选用外扩SPI-Flash;方案二、选用内部Flash。
对比如表2.7所示。
表2.7存储器对比表
类型
外部Flash
内部Flash
功耗
2mA
不增加功耗
读写速度(根据主控主频)
12M
24M
本课题的主控芯片拥有128KB的Flash,对于本项目的软件设计来说是有剩余的,所以可以从128KB存储空间中分配4KB空间作为系统的存储器,这样不但降低了系统的功耗,而且还节约了成本,在读写速度上也比外扩的存储器要快。
综上所述,本设计不再外扩Flash存储器空间,将运动数据直接存储在微控制器内部Flash中。
2.8电源的选择
一共有三种方案,第一种是选择干电池,第二种是选择纽扣电池,第三种是选择聚合物锂电池。
如表2.8所示。
表2.8电池对比表
类型
型号
容量
电压
体积
价格(元)
干电池
555电池
1000mAH
1.5V
大
0.4
纽扣电池
CR2032
210mAH
3.0V
小
1.2
聚合物锂电池
072030
450mAH
3.7V~4.2V
中
8
计步器本来就是小型便携型的设备,电池太大会影响到整体的美观。
为减小计步器尺寸,电池体积越小越好,不再考虑普通的干电池。
为增加计步器的续航能力,应采用大容量的可充电电池。
通过对比,最终选择聚合物锂电池作为本设计的电源。
为此在设计硬件电路时须增加充电电路。
2.9关键指标
●精准记录行走步数,实现灵敏度可调;
●降低计步器的功耗,要求整机电流在1-2mA范围内;
●完成电容触摸按键的设计,通过点触、滑动等操作,有效控制显示界面;
●记录用户特征、运动步数等信息,保证掉电不丢失;
●通过USB与上位机通信,将用户的运动参数上传至上位机显示。
2.10可行性分析
2.10.1低功耗的可行性分析
本设计采用基于Cortex-M0+内核的微控制器KL25Z128VLK4。
另外,本设计采用LCD显示屏,功耗低,正常工作电流在μA级别,符合我们设计的要求。
采用的三轴数字加速度传感器的正常工作电流也在30μA左右。
电容触摸按键灵敏度高,且正常工作电流在10μA左右。
各模块具体电流如表2.9。
表2.9模块电流
功能模块
Cortex-M0+控制器
LCD显示屏
三轴加速度传感器
TSI触摸按键
电流
9μA/MHZ
200-300μA
30μA
10μA
综上,本设计可以实现整机电流在1-2mA的低功耗计步器。
2.10.2TSI触摸按键的可行性分析
图2.4为TSI模块示意图,该图反映了模块各部分的连接关系。
TSI模块拥有从低功耗中唤醒CPU的能力。
具有可配置的TSI中断,当结尾扫描、TSI计数寄存器超过阈值寄存器的值和VDD/VSS的短暂停留等事件发生时都会触发中断。
另外,它还拥有补充温度补偿、电压变化补偿的功能,支持在低电压模式下不使用外部晶振等功能。
对于高灵敏的可编程电平极性振荡器和TSI索引振荡器,具有极小的扫描时间。
它为触摸键盘、旋转式机器、滑块等提供了一种稳定有力的措施。
该TSI模块被集成在KL25Z芯片上,写出该触摸按键的驱动即可实现用触摸感应技术实现控制,所以,使用TSI触摸按键来实现输入控制可行。
图2.4TSI模块示意图
2.10.3灵敏度可控的可行性分析
飞思卡尔公司的MMA8451Q是14位/8位精度可选的智能低功耗三轴加速度传感器,工作电压为1.95V-3.6V,动态可选择满刻度为±2g/±4g/±8g,输出数据速率(ODR)的范围为1.56Hz到800Hz,噪声为99μg/√Hz,利用I2C总线进行通信,在实时方向检测(如3D定位反馈)和实时行为分析上具有很大的优势。
MMA8451Q提供了一系列特殊的感测功能:
动态和静态感测功能可以检测有无运动的发生以及在任何轴上的加速度是否超过用户设置的水平;点击感测功能可以检测单击和双击动作。
这些功能都可以映射到中断信号输出的引脚上。
MMA8451Q拥有一个集成的32级FIFO,可用于储存数据,利用此特性可以将主机处理负荷降至最低,从而降低系统总功耗。
图2.5不同姿态下的X、Y、Z重力输出
显而易见,无论用户如何携带计步器,至少有一个轴具有相对较大的周期性加速度变化。
因此只要做好峰值检测和设定好加速度阈值即可判断目标是否在跑动,图2.5是MMA8451Q在不同姿X、Y、Z重力输出。
综上,可以实现灵敏度可控。
2.10.4上位机通信的可行性分析
本次设计使用的飞思卡尔自由开发平台FRDM-KL25Z支持USB功能,通过将微控制器的USB虚拟成串口,与上位机进行数据通信。
在USB标准子类中,有一类称之为CDC类,可以实现虚拟串口通信。
CDC类由两个接口子类组成,这两个接口子类称为接口通信类(CommunicationInterfaceClass)和数据接口类(DataInterfaceClass)。
它们占有不同数量和类型的终端点,如图2.6所示。
通信接口类需要一个控制终端点和一个可选的中断型终端点,数据接口子类需要一个方向为输入(IN)的周期性型终端点和一个方向为输出(OUT)的周期性型终端点。
其中控制终端点主要用于USB设备的枚举和虚拟串口的波特率和数据类型(数据位数、停止位和起始位)设置的通信。
输出方向的非同步终端点用于主机向从设备发送数据,相当于传统物理串口中的TXD线(从微控制器的角度看),输入方向的非同步终端点用于从设备向主机发送数据,相当于传统物理串口中的RXD线。
这样即可保证与上位机的正常通信。
图2.6CDC分类
3系统硬件设计
3.1硬件整体设计
为尽可能的降低功耗,可只引出使用到的一些端口,未使用的资源一律不引出。
对于功耗高的模块,可通过一个IO口控制P沟道MOS管的通断,从而控制对模块的供电。
为方便调试程序,增加了无线模块,故需要预留SPI接口。
表3.1列出了计步器最小系统所使用的硬件资源。
表3.1最小系统资源使用表
功能分类
引脚名
引脚序号
功能描述
电源
VDD
7,38,60
电源
VSS
8,39,59
地
VREGIN
12
USB模块的参考电压(5V)
复位
nRST
42
复位引脚。
拉低可使芯片复位
时钟
EXTAL0,XTAL0
40,41
时钟输入输出引脚
RTC
RTC_CLKIN
56
时钟输入引脚,可实现日历,时间功能
下载接口
SWD_CLK
26
JTAG时钟
SWD_IO
29
JTAG数据输入、输出
为了实现远程监控计步器的工作状态,确保计步器正常工作,同时为了直观的快捷的观测传感器数据,本设计增加了NRF24L01模块和UART接口作为系统的调试接口。
表3.2列出了系统调试工具所占用的资源。
表3.2系统调试资源使用表
功能分类
引脚名
引脚序号
功能描述
串口
UART0_RX,TX
79,80
用于UART收发数据,用于调试程序
无线模块接口
SPI0_PCS0,SCK,MOSI,MISO
61,62,63,64
硬件SPI
PTD3
76
复用为外部中断功能
PTC10
67
控制无线模块的工作模式
PTD2
75
控制对无线模块的供电
表3.3列出了系统所有外设所使用的微控制器的引脚。
表3.3外设资源使用表
功能分类
引脚名
引脚序号
功能描述
三轴加速度传感器
I2C0_SCL,SDA
24,25
硬件I2C
PTA2,PTA1
28,27
复用为中断引脚
唤醒
LLWU_P14
77
复用为唤醒引脚
液晶屏接口
PTB1,PTB2,PTB3,
PTB8,PTB9,
44,45,46,47,48
模拟串行总线协议
PTB10
49
控制对液晶屏的供电
PTB11
50
控制液晶屏的背光
电容触摸
按键
TSI0_CH0,10,11,13,15
43,52,53,55,57
五个触摸按键功能分别为:
切换、进入、退出、+、-
温湿度传感器接口
PTD5
78
模拟单总线协议
PTE0
1
控制对温湿度传感器的供电
USB通讯
USB_DP,USB_DM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 卡尔 CortexM0 控制器 计步器 设计 毕业设计 说明书