- 3.42 MB
- 2022-09-27 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
毕业设计(论文)开题报告院系电子科学与工程学院专业电子科学与技术姓名学号指导教师开题报告日期\n论文题目基于DA14681x平台的运动手环嵌入式软件开发一、选题背景和意义:随着科技的进步,智能化成为了人们关注的焦点,同时也越来越贴近人们的生活。人们对于健康生活方式的需求催生出了智能可穿戴设备,智能手环就属于其中的一种代表性产物。其主要应用于监测运动,监测睡眠,心率检测以及智能化的安排人的生活作息方式等,并基于蓝牙技术实现与智能手机之间的信息传输。是一款突出个性与人性的智能化产物。本课题可以学习FreeRTOS操作系统的相关知识,熟悉多任务程序的开发流程,了解蓝牙通讯的基本原理及运动软件常用功能,熟悉DA14681x的体系结构及功能,并锻炼相应的问题分析与动手解决能力。二、课题关键问题及难点:难点关键技术1G-sensor作用于计步以及速度的感知G-sensor及心率传感器2加入了对于心率,睡眠作息的计量振动马达3LED显示运用多色晶体显示LED4加入数据记录以及完备作息培养计划DA14681x体系结构注:开题报告可单独装订,但在院(系)范围内,封面和装订格式必须统一。\n三、文献综述(或调研报告):本课题的相关文献较少,本人主要阅读了嵌入式系统开发相关的书籍,包括张建、周立功写的一些嵌入式开发指导书,最有指导意义的就是SmartSnippets软件开发套件(SDK),以及DA1468xHomeKit软件开发工具包。以下分别介绍SDK以及HomeKit软件开发工具包。1.HomeKit软件开发工具包:此文档为开发人员和工具包用户提供基本指南,以便熟悉DA1468xHomeKit软件开发工具包,并根据它修改或创建一个HomeKit应用程序。omeKit参考设计硬件包括蓝牙智能开发套件Pro以及一个包含AppleMFi协处理器的附加子板DA14681模块。该参考设计针对HomeKit附件测试仪1.4.2进行测试,并通过了基于最新HAP附件R6规范的Apple认证计划。工具包的主要内容包括演示运行应用程序,开发环境的配置,软件架构,空中软件升级(SUOTA),硬件描述,优化功耗等。(1)开始运行演示应用程序:此部分内容主要包括连接硬件和上电,按钮和LED的使用,开关设置,切换HAP配置文件状态,与ElgatoEveiOS应用程序交互,连接控制附件,用交互HAT使用附件测试器等,并且使用HomeKit附件测试程序(HAT)作为MacOS示例,并使用ElgatoEveiOS应用程序作为iOS示例。(2)开发环境的配置:此部分内容主要介绍如何设置HomeKitSDK的开发环境。包括安装开发环境,导入和构建homekitSDK项目,后将新SW烧录到闪存中,开始调试程序,阅读调试透视图,查看系统日志,使用SEGGERSystemView,一个实时记录和可视化工具,用于深入了解应用程序的运行时行为。它提供周期精确的分析,连续实时记录和FreeRTOS跟踪。(3)软件架构:HomeKit是一个用于与用户家中的连接附件进行通信和控制的框架。开发人员可以使用户能够在家中发现HomeKit配件并对其进行配置,或者创建控制这些设备的操作。HAP是HomeKit附件协议的缩写。ios控制器要在附件访问HomeKit配置文件之前创建初始HAP配对,完成配对过程。配对完成后,所有启用HomeKit的产品都需要通过AppleInc.的HomeKit认证,附件和iOS应用程序都需要通过HomeKit附件审核。此部分内容还介绍了HomeKit的七个任务:系统初始化任务,空闲任务,计时任务,BLE适配器任务,BLE管理器任务,Homekit安全任务,Homekit应用任务。(4)硬件描述:此部分内容主要介绍DA14681DialogHomeKit参考设计硬件,提供必要的硬件相关信息,以便开发固件。DA14681HomeKit参考设计硬件由以下部分组成:DA1468xPro开发套件主板DA14681、HomeKit子板。子板基本框图\n母板基本框图母板结构包括QSPI闪存,调试接口,电源,wifi模块,Mfi,天线,用户LED及扩展的GPIO口,除了主板上的用户LED和按钮,子板还包含一个用户指示灯(白色),一个用户按钮和一个电源RGBLED。其他关于功耗优化,内存转储调试等内容因为相对用的较少不作赘述。1.SmartSnippets软件开发套件(SDK):此SDK文档涵盖范围广泛的主题,包括蓝牙低功耗(BLE),操作系统(OS)相关材料的简介,以及包含对硬件元件(例如时钟和电源管理)的更详细技术分析的多个部分。主要内容包括:蓝牙低功耗平台概述,DA1468x片上系统平台,使用操作系统,BLE框架,系统管理,系统内存,运行模式和启动程序,驱动和适配器。(1)蓝牙低功耗平台:BLE是蓝牙4.0的核心Profile,主打功能是快速搜索,快速连接,超低功耗保持连接和传输数据,弱点是数据传输速率低,由于BLE的低功耗特点,因此普遍用于穿戴设备。BLE分为三部分Service、Characteristic、Descriptor,这三部分都由UUID作为唯一标示符。一个蓝牙4.0的终端可以包含多个Service,一个Service可以包含多个Characteristic,一个Characteristic包含一个Value和多个Descriptor,一个Descriptor包含一个Value。一般来说,Characteristic是手机与BLE终端交换数据的关键,Characteristic有较多的跟权限相关的字段,例如PERMISSION和PROPERTY,而其中最常用的是PROPERTYCharacteristic的PROPERTY可以通过位运算符组合来设置读写属性,例如READ|WRITE、READ|WRITE_NO_RESPONSE|NOTIFY,因此读取PROPERTY后要分解成所用的组合。(2)DA1468x片上系统平台:DA1468x是一个灵活的片上系统,包括应用处理器,系统内存,密码引擎,电源管理单元,数字和模拟外设,智能MAC引擎和无线电收发器。DA1468x-M0CPU可提供高达84个DMIPS,并提供灵活的存储器架构,从嵌入式存储器(RAM,ROM)或非易失性存储器(FLASH,OTP)中实现代码执行。DA1468x的高级电源管理单元使其能够从一次电池和二次电池运行,并为外部设备提供电源。(3)操作系统的使用:SmartSnippetsDA1468xSDK包含FreeRTOSv8.2.0内核。作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS\n内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。FreeRT0S内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。(4)BLE框架:BLE协议架构总体上分成3块,从下到上分别是:控制器(Controller),主机(Host)和应用端(Apps);3者可以在同一芯片类实现,也可以分不同芯片内实现,控制器(Controller)是处理射频数据解析,接收和发送,主机(Host)是控制不同设备之间如何进行数据交换;应用端(Apps)实现具体应用。1.嵌入式系统开发基础知识学习:\n其他内容因为篇幅原因不过多解释,我打算在遇到具体问题时再详细查询具体学习。参考文献:[1]沈华.嵌入式系统的中嵌入式处理器的分类与选型[J].数字技术与应用学报, 2013(6):78-78[2]张建.基于ARM处理器的嵌入式系统开发[M].国防科学技术大学出版社.2006\n[3]周立功等.ARM微控制器基础与实践[M].北京航空航天大学出版社.2003[4]张晓利.嵌入式系统中的处理器技术[J].单片机与嵌入式系统应用,2010[5]UM-B-062_DA1468xHomekitsoftwaredevelopmentkit_v1.1.pdf\n四、方案(设计方案、或研究方案、研制方案)论证:手环硬件电路设计部分,包括一颗集成BLE功能的MCU(DA1468x),和由MCU控制的各种外设:l蓝牙射频电路;l使用SPI接口的G-sensor;l使用I2C接口的线性马达驱动电路;l使用I2C接口的LED点阵驱动,与线性马达共用总线;l使用GPIO的按键输入;l使用GPIO的LED灯;l使用GPIO的普通马达驱动电路;l外部复位电路。1.DA1468x:支持QSPIFLASH接口(DA14680内置8MbQSPIFLASH),可以在QSPIFLASH中直接跑程序,理论上可以支持无限大程序空间;内置64kBOTP,128kBRAM,128kBROM(包括bootROOM和BLEstack),16kBCacheSRAM;支持USB1.1(目前只支持充电,USB功能会在后续添加);Crystal依旧是外挂16M和32768Hz(可省略),最高主频可支持96M;支持硬件ECC、AES-256、SHA-1、SHA-256、SHA-512和真随机数产生器;37个IO口(AQFN),21个IO口(WLCSP),可支持3.3V和1.8V电平输出;支持常用接口:QSPI、UART*2、SPI+*2、IIC*2、IIS/PCM、硬件keyboardscanner、Infrared(IR)interface(PWM)、USB1.1;8channel10-bitADC;ThreematchedwhiteLEDdrivers;Temperaturesensor;0dbm发射功率;-94dbm接收灵敏度;3V供电时功耗:\nTX-3.4mA,RX-3.1mA。1.Spi接口的实现。2.I2C总线协议的实现。3.G-sensor模块:G-sensor中文是重力传感器的意思(英文全称是Gravity-sensor),它能够感知到加速力的变化,加速力就是当物体在加速过程中作用在物体上的力,比如晃动、跌落、上升、下降等各种移动变化都能被G-sensor转化为电信号,然后通过微处理器的计算分析后,就能够完成程序设计好的功能,比如MP3能根据使用者的甩动方向,前后更换歌曲,放进衣袋的时候也能够计算出使用者的前进步伐。\n关于G-sensor模块电路接口需要注意以下几点:芯片本身支持SPI或者I2C接口,实际使用时选择SPI。因为SPI的速度远超过I2C(目前nRF51822的SPI接口最高速率8Mbps,I2C是400kbps),能减少CPU运行的时间,从而降低功耗;芯片加速度部分的供电虽然和数字IO的供电电压相等。但是需要保证IO部分先于加速度部分工作,否则芯片初始化会有问题,因此VDD引脚(加速度部分的供电)另外并联了一个大电容保证足够的上电时间。5.按键输入模块:按键作为输入,只需要提供一个电平信号给MCU的GPIO口。6.LED灯控制模块:首先说明LED点亮的条件:LED阳极接正电压,阴极接负电压,即可点亮。所以if(阴极==负电压){If(阳极==正电压)light=on;Elselight=off;}Elselight=off;\n即使阳极接负电压,阴极接正电压,这种LED反接的情况下,LED不会点亮,也不会损坏灯。如果有一极是高阻(不输出能量),LED也不点亮。7.线性马达模块:线性马达控制复杂,需要用专用的芯片完成(设计中采用了DRV2605驱动芯片)。芯片与MCU通过I2C总线通信。线性马达的功能由驱动芯片控制,驱动芯片本身的输入电压范围是2.5V-5.5V。给驱动芯片的供电电压,设计中使用的是电池供电,而不是DCDC输出的系统电压。理由是:驱动芯片的工作电压是使用内部的DCDC完成电压转换。假设DCDC转换效率均为90%,那么使用电池供电,能量效率为90%;使用系统电压供电,效率为90%*90%=81%。8.调试接口:调试接口主要有:l时钟检测点:系统无法运行时,先检测时钟;也可以测试偏频等问题;l下载口:包括2.54mm间距(适合通用JLINK烧写器)和1.27间距(适合Nordic官方烧写器);l串口:用于LOG输出等;\n五、进度安排:毕业设计(论文)进度安排起止日期工作内容2016年11月1日至2017年1月23日查文献、调研、翻译资料2017年2月20日至3月8日方案论证、撰写开题报告2017年3月9日至3月13日毕业设计开题2014年3月14日至4月19日学习FreeRTOS开发平台及相关硬件平台资料2017年4月20日至4月24日毕业设计期中检查2014年4月25日至5月15日编写软件代码,并完成相关实验2014年5月16日至6月5日论文定稿2017年6月6日左右毕业设计答辩六、指导教师意见:\n签名:年月日七、开题审查小组意见:签名:年月日