刘智丰,黄敏,肖仲喆
(苏州大学光电科学与工程学院,江苏 苏州 215006)
生物电信号源自细胞,当细胞受到内部或外部刺激时产生兴奋,产生由静息电位向动作电位的变化,从而产生电信号[1]。生物电信号是人体上一种宝贵的资源,种类繁多且获取的复杂程度也有所不同。肌电信号是相对容易获取的一种生物电信号,它与人体肌肉的活动和功能等有着一定程度的关联。现阶段肌电信号主要分为两种,一种为线性肌电信号,主要通过植入式的针式电极检测;另一种为表面肌电信号,主要通过非植入式的表面电极检测[2]。针式电极检测需要把探针插入肌肉深处,虽然能够在很大程度上避免外界的干扰,获得清晰的肌电信号,但由于这种方法对人体肌肉组织极可能造成创伤,且不宜长时间采集,应用范围相对比较局限[3]。而表面电极检测具有的无创伤性、便捷性等优势,使其得到了更为广泛的应用。表面肌电图(surface Electromyography,sEMG)就是由从人体皮肤表面获得的反映神经肌肉系统活动的表面肌电信号绘制而成。表面肌电图早期主要应用在生物和医疗领域,比如运动员的肌肉疲劳检测与力量恢复、长期卧床病人的术后康复等[4]。随着检测技术的发展和人工智能的兴起,通过表面肌电信号识别肢体的动作模式已经成为仿生机器人、智能机械手臂等领域的重要课题[5]。
表面肌电信号是一种比较微弱的信号,幅值通常在微伏至毫伏之间,频率不高于1 kHz,它是一种随机信号,也是一种交变信号,它的大小和幅值具有不确定性[6],但在一定程度上又与肌肉产生的收缩力成正相关[7]。表面肌电信号的采集尤其要注意噪声的影响,比如环境的干扰、工频干扰、皮肤洁净度、表面电极位置移动等[8],因此在电路设计、器件选型、实验操作方面要格外注意。
本文主要完成了一种低能耗表面肌电信号采集系统设计,包括硬件和软件两个部分。在完成表面肌电信号采集和传输的基础上,通过不同工作模式的切换,系统总体最高功耗仅为0.046 W,实现了低功耗运行。
表面肌电信号采集系统的总体框架如图1 所示。
图1 表面肌电信号采集系统总体框架
人体皮肤采集到的表面肌电信号经过预处理电路的放大和滤波,被主控芯片EFM32TG840F32 的内置ADC 采集实现行模数转换,然后通过低能耗通用异步收发器发送给低功耗蓝牙模块,蓝牙模块和上位机进行数据通讯,从而进行指令控制和表面肌电图的显示。
表面肌电信号预处理电路的主要作用就是对采集到的电信号进行放大和滤波。前端放大电路主要部分是仪表放大器AD8237,后端滤波电路主要是运算放大器OPA4313。
AD8237 是ADI 公司出品的一款微功耗、零漂移、轨到轨输入和输出仪表放大器,其结构如图2 所示。
图2 AD8237 结构
AD8237 集成了RFI 滤波器,可在不影响输入阻抗和频率范围内共模抑制比的情况下极大抑制环境中电磁干扰的影响。AD8237 的增益设置是通过调整两个匹配电阻的阻值完成的,可以设置1 至1 000 间的任何增益,在任何增益下均可用比率匹配的两个电阻保持出色的增益精度。
AD8237 放大电路如图3 所示。sEMG+和sEMG-分别连接有两个贴片电极,R7和R6为两个匹配电阻,增益G1为:
图3 AD8237 放大电路
AD8237 的增益精度和两个匹配电阻有关,两个误差为1%的电阻可能会造成约2%的最大增益误差。通过计算可得G1范围在197~205 之间。则最终输出电压为:
式中:VREF为1.5V,是3V的VDD经两个等值电阻分压获得的,通过一个0.2 Ω 的电阻连接至AD8237前端,为输入的差分电路提供直流偏置,同时还为后面的OPA4314 放大电路提供直流偏置。
OPA4313 是TI 公司出品的一款微功耗、低噪声,轨到轨输入输出的四通道运算放大器,本质上是集成了4 个单通道的OPA313 运算放大器。OPA4313 工作电压为1.8 V~5.5 V,增益带宽为1 MHz,输入偏置电流为0.2 pA。轨到轨输入和输出摆幅,低静态电流(典型值50 μA)与1 MHz 的带宽和极低噪声(1 kHz时为25 nV/√Hz)组合在一起,使得其在电池供电类的应用中能够很好地平衡成本和性能。
OPA4313 带通放大电路如图4 所示。低通滤波电路和高通滤波电路组合构成六阶带通滤波电路[8]。根据截止频率计算公式
可得高通截止频率fH约为800 Hz,低通截止频率fL约为20 Hz。根据运算放大器虚短、虚断特性[9],可以得到图4 中的放大倍数G2为
图4 OPA4313 带通放大电路
实际中由于信号幅值较小,电容的实际影响不能忽略,增益G2会小于10。
那么,根据式(1)和式(4),最终表面肌电信号预处理电路的放大倍数G为
2.2.1 EFM32TG 最小系统
表面肌电信号经过放大、滤波等处理后,通过主控芯片进行ADC 采样和转换,这样表面肌电信号由模拟信号转换为数字信号,之后再进行数据传输。在本文系统设计中,使用的主控芯片为Silicon Labs公司出品的EFM32TG840F32,基于ARM Cortex-M3架构,有着32 kB 的闪存,4 kB 的内存,运行速度最高达32 MHz。EFM32TG840F32 作为采集系统中处理调度模块的MCU 具有许多优势:
(1)具备丰富的接口和外设,集成了模拟数字转换器ADC、数字模拟转换器DAC、直接存储访问DMA、通用定时器TIM 等诸多功能,集成度高,可以在采集方案系统中承担控制、运算、数据获取、模块通信等作用;
(2)建立于低能耗平台之上,有着创新的低能耗技术、快速唤醒时间和节能模式。可以根据外设的使用选择不同的低能耗模式,从而降低整个系统的总功耗,非常适合能源敏感型的系统设计;
(3)提供集成片上调试支持,可以方便地利用JATG 接口(支持SWD 模式)进行调试。
EFM32TG840F32 作为主控芯片的EFM32TG 最小系统硬件电路设计如图5 所示。
图5 EFM32TG840F32 最小系统
本文设计中的EFM32 最小系统包含有两个晶振,频率分别为32 MHz 和32.769 Hz,如图6 所示。
图6 时钟电路
EFM32 最小系统的调试端口如图7 所示。
图7 调试端口
EFM32 最小系统的电源管理单元如图8 所示。
图8 电源管理单元
LT1962 是ADI 公司出品的一款输出可调的低噪声、微功率低压差线性稳压器(Low Dropout Regulator,LDO),通过改变两电阻的比值从而改变出输出,如式(6)所示:
式中:VADJ=1.22V,IADJ=30 nA at 25 ℃。本系统采用3.7 V 的锂电池作为电源,VCC 经过LT1962 转换成3 V 的VMCU。此外,为了检测电池电量,VCC 经过两个等值电阻分压后接入主控芯片ADC 输入端PD7。
2.2.2 通讯模块电路
CC2541 是TI 公司出品的一款低功耗蓝牙专有无线微控制器,非常适合应用于低能耗系统之中。DX-BT05-A 4.0 低功耗蓝牙模块是基于CC2541 的一款产品,如图10 所示,它使得与EFM32 芯片的通讯变得更为简单。只需要对该模块进行供电和接地,就可以通过串口TX 和RX 端与EFM32TG840F32 芯片的低功耗通用异步收发器(Low Energy Universal Asynchronous Receiver Transmitter,LEUART)进行通讯。DX-BT05-A 4.0 低功耗蓝牙模块的工作在2.4 GHz ISM 频段,待机电流约400 μA~1.5 mA,传输数据时电流约8 mA。
蓝牙模块与主控芯片的电路连接如图9 所示。
图9 低功耗蓝牙模块电路
表面肌电信号的采集流程如图10 所示。在芯片、LEUART、ADC、低功耗蓝牙模块初始化后,EFM32 进入低能耗模式EM2,上位机向下位机发送指令,如果该指令符合通信协议,就会进行表面肌电信号的采集,ADC 完成采样转换后经过串口发送到蓝牙模块,蓝牙模块与上位机透传数据,实现表面肌电图的显示。
图10 表面肌电信号采集流程
3.1.1 工作模式转换实现低能耗
在EFM32TG 中,能源管理单元(Energy Management Unit,EMU)负责管理每种能源模式,包括运行模式EM0 以及四种低能耗模式,分别为睡眠模式EM1、深度睡眠模式EM2、停止模式EM3、关机模式EM4,每种模式管理CPU 和各种外围设备是否可用,EM0 模式下,32 MHz 高频晶振为系统提供时钟,所有功能和外设均可使用。EM2 模式下,32.768 Hz的低频晶振为系统提供时钟,屏蔽了高频晶振、高频外围时钟树和片上稳压器。EM2 模式下LETIMER和LEUART 均可正常使用。EM4 模式下,除了复位键和配置好的EM4 唤醒源皆处于屏蔽状态。EM0~EM4 模式下能量消耗如表1 所示。
表1 EM0~EM4 模式能耗
为了最大程度降低能耗,本文系统设计中的主控芯片采用了LEUART 进行通信,这样主控MCU就可以在深度睡眠模式EM2 下进行异步串口通讯。EM0 模式作为所有低能耗模式转变的承接,整个工作过程中的模式转换如图11 所示。
图11 工作模式转换图
3.1.2 模数转换器ADC
EFM32TG840F32 芯片内置ADC 为一种低能耗逐次逼近型ADC,可对多达8 个通道进行采样,具有高达12 位的分辨率,采样速率最高达100 万个样本/s。
根据硬件设计,采用了ADC 8 个通道中的2个,其中,用于采集表面肌电信号的为通道6,用于采集锂电池电压的为通道7。
在2.1 节,表面肌电信号预处理电路中,OPA4313 运算放大器4 个通道的参考电压均为1.5 V,且经过测试后所采集的表面肌电信号幅值一般不超过1 mV,所以选择ADC 通道0 的参考电压为2.5 V;锂电池电量的检测时通过电压来进行简单的判断,3.7 V 的电源电压经过两个相同电阻分压后为1.85 V,所以选择ADC 通道1 的参考电压也为2.5 V。
ADC 的常见的工作模式为单次采样模式、扫描模式和过采样模式等。32 个时钟周期能够满足各个模式的采样时间要求,12 位的分辨率满足了系统精度需求,何时进行表面肌电电压的采集和锂电池电量的采集是由上位机的指令来控制的,所以最终选择ADC 工作模式为单次采样模式。ADC 时钟频率允许的范围为32 kHz~13 MHz。
ADC 两个采集通道CH6 和CH7 使用同一配置:时钟频率13 MHz;工作模式为单次;参考电压为2.5 V;采集时间为32 个时钟周期;采样精度为12 位。
锂电池电量单位为毫伏,其计算如式(7):
式中:ADCData0 为ADC 通道6 采样值,通过库函数ADCDataSingleGet(ADC0)获得,N0=103/212,VADC.REF为ADC 参考电压。设定锂电池电压为3.3 V 时电量百分比为0,这样可以延长电池使用时间,则电池电量百分比为
式中:voltBAT0=3.3×1 000。
表面肌电信号幅值单位为微伏,其计算如式(9):
式中:ADCData1 为ADC 通道7 采样值,通过库函数ADCDataSingleGet(ADC0)获得,VREF为式(2)中的偏置电压,VADC.REF为ADC 参考电压,N1=106/212,G为式(5)中的放大倍数。
3.2.1 低能耗通用异步收发器(LEUART)配置
EFM32TG840F32 芯片可以进行通讯的有I2C接口,通用同步/异步接口(USART)和低能耗通用异步收发器(LEUART)。LEUART 使用32.768 kHz低频时钟提供完整的通用异步收发通信。它允许UART 通信以低能耗模式执行,在主动通信期间工作电流仅几微安,在等待输入数据时工作电流仅150 nA,支持波特率范围300 bit/s~9 600 bit/s。
EFM32TG840F32 芯片的PD4 和PD5 分别为LEUART 的TX 引脚和RX 引脚,具体配置如表2所示。
表2 LEUART 配置
LEUART 采用中断函数LEUART0_IRQHandler接收,便于判断帧头和帧尾是否正确;采用库函数LEUART_Tx 进行主动发送。
3.2.2 低能耗定时器(LETIMER)配置
EFM32TG840F32 共包含2 个普通定时器/计数器和1 个低能耗定时器。本系统中使用的LETIMER 是一个16 位的递减定时器,时钟源为32.768 kHz 低频时钟,可以在深度睡眠模式下作为定时器运行。时钟不预分频,则为了实现中断时间50 ms,需要把递减值设置为
3.2.3 通信协议
为了增强传输过程中数据的准确性,设计了简单的通信协议,如表3 所示。帧头为AA,帧尾为CC 33 C3 3C。
表3 通信协议
3.2.4 DX-BT05-A 4.0 低功耗蓝牙模块
2.2.2 节中介绍了DX-BT05-A 4.0 低功耗蓝牙模块,用户对该模块的配置是通过发送AT 指令来实现的,本文系统设计中使用的指令如表4 所示。
表4 AT 指令设置
在指令末尾要加上‘\r\n’,蓝牙模块才能够正常识别。对蓝牙模块的初始化,即通过LEUART 发送AT 指令,完成表4 中的配置。
经过计算硬件电路最小共模抑制比(Common Mode Rejection Ratio,CMRR)大于106 dB,高于我国行业标准YY1905-2007 肌电生物反馈仪规定的90 dB 的标准。由于表面肌电信号电压量级在微伏,难以使用信号发生器准确施加信号并测量,所以采用Multisim 仿真,电路结构和2.1 节中基本相同,如图12所示,其中采用4 个OPA313 代替OPA4313。
图12 Multism 仿真电路
仿真结果如图13、14 所示,波形图的横坐标为时间(s),纵坐标为电压(mV)。探针1 电压峰峰值为282 μV,探针2(通道B)电压峰峰值为55.9 mV,放大倍数约为198 倍,符合式(1)中增益G1实际范围。探针3 电压峰峰值为495 mV,放大倍数约为9倍,符合式(4)中增益G2的实际范围,所以最终总的增益G也在合理范围内。
图13 探针1 和探针2 波形
同时,我们用市面上某同分辨率肌电仪器的采集结果进行比较,结果基本一致。
图14 探针2 和探针3 波形
本文使用的编程和调试软件是Simplicity Studio,一款Silicon Labs 公司基于Eclipse 和C/C++开发的IDE(集成开发环境)。对于该公司出品的EFM32 系列芯片,Simplicity Studio 中的Energy Profiler 工具可以实时监测芯片的电流消耗,正常工作模式下电流消耗约4 mA,如图15 所示,横坐标为时间(s),纵坐标为电流(mA)。
图15 工作模式下芯片电流消耗
低功耗蓝牙模块的电流消耗约8 mA,加上ADC、LETIMER 和LEUART,系统的整体电流消耗应该在12 mA 以上。使用直流电源供电测量实际功耗,如图16 所示,电压3.7 V,电流约12.4 mA,功耗约0.046 W。
图16 实际系统功耗测试
本文完成了一种低能耗表面肌电信号采集系统的设计。在3.7 V 锂电池供电下,深度睡眠模式系统电流消耗约为0.1 mA,工作模式下系统电流消耗约为12.4 mA,功耗0.046 W,实现了以极低的功耗采集表面肌电信号。本文的不足之处在于:采集通道数较少、缺少对噪声干扰相关的数字信号处理;没有对表面肌电信号进行变化进行分析,比如肌肉疲劳度等[10]。在下一阶段的工作中,将继续完善表面肌电信号采集系统,利用数字信号处理提高采集信号准确性;对原始肌电信号进行信号处理,提取其中更多有用信息,利用深度学习方法进行动作、情感等的识别[11];探索脑电采集和相关生理信息的提取与识别[12]。