步态监测系统的嵌入式软件设计与实现

2017-06-09 16:59刘光宇
科学与财富 2017年9期
关键词:嵌入式软件软件设计

刘光宇

摘要:人体步态研究在医疗康复治疗、生物识别和仿生机器人等多个领域中具有重要的意义,结合中国人口老龄化的步伐迅速推进,医疗资源紧张,低成本便携的医疗设施的研制可以作为缓解我国医疗现状的一个方向。本文主要探讨的就是步态监测系统的嵌入式软件设计与实现相关内容。

关键词:步态监测;嵌入式软件;软件设计

引言:

步态分析是指通过对人行走时的姿态进行观察和力学等方面的分析,得到一系列距离、角度、时间和受力等方面的参数和信号曲线等。相比于基于视觉的步态监测设备复杂昂贵且只能提供直观的运动图像而言,基于惯性传感器的步态分析节点灵巧方便携带,耗资较小,可在绝大部分环境下多次采样,不受光线色系重合等影响,最重要的是惯性器件精度较高可感受微小变化,并提供量化的参数为进一步的数据和图像分析提供更准确的依据,近年来已受到了广泛的应用。

1.系统硬件平台介绍

1.1硬件平台简介

步态监测系统的嵌入式硬件平台由基于TI的超低功耗单片机MSP430F169的两个下位机数据采集缓存节点,一个上位机数据存储节点和一块给三个节点提供电的8.4V铿聚合物电池构成。三个节点共用一个电源,下位机节点与上位机节点之间通过双绞线连接,硬件构成如图1所示,图中红色标注的部分1为上位机节点,2为电源,3是两个下位机节点。

硬件系统中上位机和下位机节点均以MSP430F169为微处理器控制实现各种功能,该单片机以低功耗著称,具有精简指令集、强大的处理能力、运算速度快、丰富的片内资源、高性能模拟技术与丰富的片上外围模块以及系统稳定等特点。MSP430F169中16位CPU通过总线连接到存储器和外围模块,具有JTAG接口可直接进行嵌入式仿真。片内有复位模块、时钟模块、定时器模块、低功耗结构、硬件乘法器、片内Flash存储器模块、比较器模块、USART模块、DMA控制器,P1}P6.s和COM端口实现I/O和片内外设功能,还有多个通用寄存器和特殊功能寄存器。本系统的设计中使用了单片机的复位、时钟模块为节点提供时钟,P1~P6端口分别使用通用I/O或片内外围功能实现传感器数据的读取、指示LED电平输出、按键动作电平输入等功能,RS-485总线使用USART模块UART模式实现数据从下位机向上位机的传输,上位机中USART模块使用SPI模式对SD卡进行读写操作,下位机中USART模块使用SPI模式对片外Flash进行读写操作。

1.2下位机硬件介绍

两个下位机节点硬件结构完全相同,MSP430F169芯片作为微处理器控制三个功能模块,分别是搭载ADIS16405惯性测量单元的传感器模块采集步态活动中的加速度和角速度数据并以数字量的形式输出至与单片机相连的端口,片外Flash模块可连续将数据采集过程中一定量的数据暂存在AT45DB 161芯片中,RS-485总线模块以MAX3485芯片为接口将Flash中的数据传输到上位机中。

1.3上位机硬件介绍

上位机节点硬件结构与下位机有所不同,由MSP430F169芯片作为微处理器控制两个功能模块,MAX3485采集芯片作为接口的RS-485总线模块负责向下位机发送操作指令和接收下位机惯性测量单元采集的原始数据,并将所有数据经过单片机控制存储在SD卡中。

2.系统软件设计

2.1软件总流程

步态监测样机的使用流程如下:

使用者将两个下位机节点固定在双脚外侧,上位机固定在腰部,立正双腿站直,双脚并齐脚尖向前;

打开上位机总开关为三个节点同时供电,两个下位机节点进行惯性测量单元的初始校正和Flash芯片的格式化过程,此阶段使用者需保持静止不动大概30s左右。

初始校正结束惯性传感器开始采样,下位机LED闪烁提示开始采集数据,使用者进行步态活动,采集中不断将一定量的数据缓存至Flash芯片中。使用者步态活动结束,惯性传感器停止采集数据,指示数据采集的LED停止闪烁。打开两个下位机RS-485总线开关,按下上位机按键1,固定在左脚的下位机LED闪烁,开始将Flash中数据通过总线传输到上位机SD卡中,数据传输完毕LED停止闪烁,关闭该下位机节点RS-485总线开关。固定在右脚的下位机进行同样的操作过程,数据传输结束时将双脚下位机节点中采集的数据全部存储在SD卡中。将SD卡中数据导入PC端步态软件进行存储、处理和分析,查看监测结果,整个监测过程结束。

按照上述流程,整个系统的软件設计流程图如图2所示。

2.2软件功能模块介绍

本文所设计的步态监测系统要实现采集测试者步行活动中的数据,并将这些原始数据经过Flash缓存后通过RS485总线上传到SD卡中。按照所实现的功能,整个系统的嵌入式软件分为以下四个模块。

1、采集模块:数据采集在硬件平台的下位机完成,下位机上电后开始工作,首先对惯性测量单元ADIS16405进行端口初始化和SPI初始化,通过操作寄存器进行初始的校准,使静止时惯性传感器输出偏置消除后,单片机的SPI总线开始采集步态活动中的加速度和角速度数据,惯性测量单元输出的数据进入单片机RAM中。

2、缓存模块:数据缓存也在硬件平台的下位机完成,由于MSP430F169的内部RAM容量为2KB只能存储140个采样点的数据,所以在采集加速度和角速度信息过程中收集一定容量数据后随即缓存在片外Flash芯片AT45DB 161中。上电后对Flash模块进行初始化,采集36个数据包后向Flash中写一页,如此不间断循环至步态活动结束。

3、传输模块:数据传输由硬件平台的下位机和上位机配合完成,步态活动结束后对RS-485总线进行初始化,单片机的USART模块以异步通信UART模式工作。上位机按键1按下后,左脚下位机Flash中的数据开始进入发送缓冲器,上位机以UART中断的方式做数据的接收,该节点数据接收完毕后对右脚下位机做类似操作。

4、存储模块:数据存储在硬件平台的上位机完成,步态活动结束后对SD卡进行初始化操作,RS-485总线将数据从下位机Flash中传输到上位机后,单片机USART模块工作在同步通信sPI模式将数据以一页为单位写入SD卡指定位置,直至两个下位机节点中所有原始数据全部存储在卡中一段连续空间。

3.总结语

本文所设计并实现的步态监测系统的概况,介绍了软件设计的四个功能模块,数据采集模块、数据缓存模块、数据传输模块和数据存储模块实现采集测试者步行活动中的数据,并将这些原始数据经Flash缓存后通过RS-485总线上传到SD卡中等一系列功能。随着集成电路技术的不断进步和传感器网络的迅速发展,使用惯性测量单元设计可穿戴人体步态监测系统成为研究的热点。

猜你喜欢
嵌入式软件软件设计
基于人工智能的模块化嵌入式软件开发研究
实时嵌入式软件的测试技术
全景相机遥控器嵌入式软件V1.0 相关操作分析
CAN总线通信技术在电梯监控系统中的应用
基于单片机SPCE061A的字幕机点阵式字母电子显示屏的设计制作
基于STM8S903K3的序列打螺丝夹具的软件设计
一种VHDL语言代码重用的方法
基于Eclipse的航天嵌入式软件集成开发环境设计与实现
航天嵌入式软件浮点运算误差分析与控制
嵌入式软件算法级能耗建模与分析