微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于AT91S的表面肌电信号采集仪的软硬件设计与实现

基于AT91S的表面肌电信号采集仪的软硬件设计与实现

时间:08-05 来源:3721RD 点击:

运动性肌疲劳是体育界和运动医学界十分关注的课题。目前,许多研究致力于寻找*定和预防肌肉疲劳产生的方法,大多数研究是从全身的生理、生化状况来推断肌肉的功能状况,直接进行局部肌肉的研究还很少。表面肌电信号(sEMG信号)是从皮肤表面通过电极引导、放大、显示和记录下来的神经肌肉系统活动时的生物电信号,信号形态具有较大的随机性和不稳定性。它与肌肉的活动状态和功能状态之间存在着不同程度的关联性,因而能在一定的程度上反映神经肌肉的活动,在康复医学领域的肌肉功能*价以及在体育科学中的疲劳判定、运动技术合理性分析等方面均有重要的实用价值。表面肌电信号采集属无创性,操作简单,病人易接受,有着广泛的应用前景。

这里涉及到的便携式肌电采集仪小巧方便,结构简单,性能稳定,可以随身携带,可由电池供电,一般用于运动员的训练中。本文主要介绍表面肌电信号采集仪的软硬件设计与实现。

1 硬件系统总体设计

该系统的控制核心选择Atmel公司的AT91SAM7SE512处理器。AT91SAM7SE512是一款32位嵌入式微处理器,可针对交互式终端类和工业控制类等多种嵌入式应用。AT91SAM7SE512提供了丰富的外围设备接口,包括USB,UART,SPI,TWI(I2C)和系统高速并行BUS等总线接口,从而减小了添加、配置附加外围接口的困难与开销,为用户开发简化了硬件和软件设计,节省了系统成本。系统的整体结构如图1所示。
\
基于AT91SAM7SE512核心板的底板上配备了8 MB的SDRAM,l GB的NANFLASH等存储芯片,对外提供SPI,UART,TWI(I2C),USB及高速并行BUS等通信接口,并对其余外部模块(表面肌电信号采集模块、人机接口模块、Xbee无线通信模块等)进行统一调度。

整个系统的工作流程如下:两个通道的表面肌电信号被表面电极拾取,首先通过硬件放大和模拟滤波后送入多通道16 b ADC中进行2 500 Hz采样与A/D转换;转换好的双通道数据通过SPI总线接口送入AT91SAM7SE512中进行处理。处理分两种情况:在没有连接使用PC端时,本地进行实时滤波、简单分析、显示、存储;在连接使用PC端时,通过USB接口或者Xbee无线通信模块将数据实时传输给PC端处理。另外,在已有存储数据的情况下,可以进行表面肌电波形的回放。以上所有人机交换操作是通过采用带触摸功能的液晶显示屏(320×240彩色分辨率)实现的。

2 软件系统总体设计

随着嵌入式系统的广泛应用,传统的前/后台程序开发机制已经不能满足日益复杂的需求,因而现在常采用嵌入式实时操作系统RTOS开发实时多任务系统。

嵌入式实时操作系统一般可以提供多任务的任务调度、时间管理、任务间通信和同步以及内存管理等重要服务,使得嵌入式应用程序易于设计和扩展。采用RTOS可以使嵌入式产品更可靠,开发周期更短。μC/OS-Ⅱ以其本身所具有的源码开放,代码规模极小,运行稳定,执行效率高,实时性好等优点在诸多RT0S中拥有自己的一席之地。代码采用ANSIC编写,具有很强的可移植性和较好的可裁剪性,在移植过程中只需对与处理器相关的一些代码进行修改。

同时为了进一步增强软件的可操作性,该系统在μC/OS-Ⅱ的基础上移植了μC/GUI,用作用户图形界面设计。μC/GUI是由Micrium公司专门针对嵌入式系统开发的一款图形开发系统。它用于为任何使用LCD图形显示的应用提供高效的独立于处理器及LCD控制器的图形用户接口,适用于单任务或者多任务系统环境,并适用于任意LCD控制器和CPU下任何尺寸的真实显示或虚拟显示。

另外,为了方便对于用户资料和肌电数据的存储与操作,在SD卡存储机制上,移植了FATFS文件系统。FATFS是一种完全免费开源的FAT文件系统模块,是专门为小型嵌入式系统而设计的。它完全用标准C语言编写,所以具有良好的硬件平台独立性,可以移植到多种平台而只需做简单的修改。需要使用者编写移植代码的是FATFS提供的底层接口,包括存储介质读/写接口DiskIO和供给文件创建修改时间的实时时钟。

2.1 系统软件架构

软件系统的整体架构围绕表面肌电采集仪的几个基本功能来设计,结构如图2所示。主要分成下面几个部分:

(1)肌电采集显示,用于控制对肌电信号的实时采集、分析处理、显示和存储;

(2)本地肌电回放,用于对已存储在SD卡中的肌电数据进行回放显示,并支持对无用肌电数据文件的删除操作;

(3)肌电采集传输,选择传输模式向PC端实时发送采集的肌电数据;

(4)用户设置,用于设置用户ID及实时时钟初始值等参数。以上各功能均在μC/GUI用户图形界面上实现人机交互。

如图2所示,依据表面肌电采集仪的功能要求,在μC/OS-Ⅱ下设计了肌电采集任务;液晶屏显示任务;触摸屏输入任务;肌电回放任务。其他所需功能均做成模块,集成在上述某一任务中。

μC/OS-Ⅱ是基于优先级抢占式调度的操作系统,优先权的设置非常重要。该系统根据整个系统运行的时序,将对系统安全运行较重要和对实时性要求较严格的任务设成较高的优先级。以下分别介绍这几个任务和功能模块。

2.2 肌电采集任务

肌电采集任务用于对经过硬件放大与滤波后的双通道肌电信号进行2 500 Hz采样与A/D转换,并将其通过SPI总线接口传输至主芯片中以进行后续处理。基于肌电采集的实时性要求,在μC/0S-Ⅱ操作系统中,将肌电采集任务设置为除系统内核使用的优先级外最高的优先级,同时为满足肌电采集的精确性要求,通过启动定时器中断来运行肌电采集任务。

肌电采集任务分两种情况运行:第一种,本地采集显示,此时运行该任务前会被要求输入存储文件名,然后在采集肌电同时,调用下文的肌电滤波模块进行滤波和调用文件存储模块进行实时存储数据,滤波后的肌电数据和已采集的时间会送到下文液晶屏显示任务中同步显示出来;第二种,肌电采集并与PC端交互,此时启动任务需先选择USB通信与Xbee无线模块通信中的一种,然后才能启动肌电采集任务,并将原始肌电数据传输给PC端进行处理。

2.3 肌电回放任务

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top