劉智豐,黃敏,肖仲喆
(蘇州大學(xué)光電科學(xué)與工程學(xué)院,江蘇 蘇州 215006)
生物電信號(hào)源自細(xì)胞,當(dāng)細(xì)胞受到內(nèi)部或外部刺激時(shí)產(chǎn)生興奮,產(chǎn)生由靜息電位向動(dòng)作電位的變化,從而產(chǎn)生電信號(hào)[1]。生物電信號(hào)是人體上一種寶貴的資源,種類繁多且獲取的復(fù)雜程度也有所不同。肌電信號(hào)是相對(duì)容易獲取的一種生物電信號(hào),它與人體肌肉的活動(dòng)和功能等有著一定程度的關(guān)聯(lián)。現(xiàn)階段肌電信號(hào)主要分為兩種,一種為線性肌電信號(hào),主要通過植入式的針式電極檢測(cè);另一種為表面肌電信號(hào),主要通過非植入式的表面電極檢測(cè)[2]。針式電極檢測(cè)需要把探針插入肌肉深處,雖然能夠在很大程度上避免外界的干擾,獲得清晰的肌電信號(hào),但由于這種方法對(duì)人體肌肉組織極可能造成創(chuàng)傷,且不宜長(zhǎng)時(shí)間采集,應(yīng)用范圍相對(duì)比較局限[3]。而表面電極檢測(cè)具有的無創(chuàng)傷性、便捷性等優(yōu)勢(shì),使其得到了更為廣泛的應(yīng)用。表面肌電圖(surface Electromyography,sEMG)就是由從人體皮膚表面獲得的反映神經(jīng)肌肉系統(tǒng)活動(dòng)的表面肌電信號(hào)繪制而成。表面肌電圖早期主要應(yīng)用在生物和醫(yī)療領(lǐng)域,比如運(yùn)動(dòng)員的肌肉疲勞檢測(cè)與力量恢復(fù)、長(zhǎng)期臥床病人的術(shù)后康復(fù)等[4]。隨著檢測(cè)技術(shù)的發(fā)展和人工智能的興起,通過表面肌電信號(hào)識(shí)別肢體的動(dòng)作模式已經(jīng)成為仿生機(jī)器人、智能機(jī)械手臂等領(lǐng)域的重要課題[5]。
表面肌電信號(hào)是一種比較微弱的信號(hào),幅值通常在微伏至毫伏之間,頻率不高于1 kHz,它是一種隨機(jī)信號(hào),也是一種交變信號(hào),它的大小和幅值具有不確定性[6],但在一定程度上又與肌肉產(chǎn)生的收縮力成正相關(guān)[7]。表面肌電信號(hào)的采集尤其要注意噪聲的影響,比如環(huán)境的干擾、工頻干擾、皮膚潔凈度、表面電極位置移動(dòng)等[8],因此在電路設(shè)計(jì)、器件選型、實(shí)驗(yàn)操作方面要格外注意。
本文主要完成了一種低能耗表面肌電信號(hào)采集系統(tǒng)設(shè)計(jì),包括硬件和軟件兩個(gè)部分。在完成表面肌電信號(hào)采集和傳輸?shù)幕A(chǔ)上,通過不同工作模式的切換,系統(tǒng)總體最高功耗僅為0.046 W,實(shí)現(xiàn)了低功耗運(yùn)行。
表面肌電信號(hào)采集系統(tǒng)的總體框架如圖1 所示。
圖1 表面肌電信號(hào)采集系統(tǒng)總體框架
人體皮膚采集到的表面肌電信號(hào)經(jīng)過預(yù)處理電路的放大和濾波,被主控芯片EFM32TG840F32 的內(nèi)置ADC 采集實(shí)現(xiàn)行模數(shù)轉(zhuǎn)換,然后通過低能耗通用異步收發(fā)器發(fā)送給低功耗藍(lán)牙模塊,藍(lán)牙模塊和上位機(jī)進(jìn)行數(shù)據(jù)通訊,從而進(jìn)行指令控制和表面肌電圖的顯示。
表面肌電信號(hào)預(yù)處理電路的主要作用就是對(duì)采集到的電信號(hào)進(jìn)行放大和濾波。前端放大電路主要部分是儀表放大器AD8237,后端濾波電路主要是運(yùn)算放大器OPA4313。
AD8237 是ADI 公司出品的一款微功耗、零漂移、軌到軌輸入和輸出儀表放大器,其結(jié)構(gòu)如圖2 所示。
圖2 AD8237 結(jié)構(gòu)
AD8237 集成了RFI 濾波器,可在不影響輸入阻抗和頻率范圍內(nèi)共模抑制比的情況下極大抑制環(huán)境中電磁干擾的影響。AD8237 的增益設(shè)置是通過調(diào)整兩個(gè)匹配電阻的阻值完成的,可以設(shè)置1 至1 000 間的任何增益,在任何增益下均可用比率匹配的兩個(gè)電阻保持出色的增益精度。
AD8237 放大電路如圖3 所示。sEMG+和sEMG-分別連接有兩個(gè)貼片電極,R7和R6為兩個(gè)匹配電阻,增益G1為:
圖3 AD8237 放大電路
AD8237 的增益精度和兩個(gè)匹配電阻有關(guān),兩個(gè)誤差為1%的電阻可能會(huì)造成約2%的最大增益誤差。通過計(jì)算可得G1范圍在197~205 之間。則最終輸出電壓為:
式中:VREF為1.5V,是3V的VDD經(jīng)兩個(gè)等值電阻分壓獲得的,通過一個(gè)0.2 Ω 的電阻連接至AD8237前端,為輸入的差分電路提供直流偏置,同時(shí)還為后面的OPA4314 放大電路提供直流偏置。
OPA4313 是TI 公司出品的一款微功耗、低噪聲,軌到軌輸入輸出的四通道運(yùn)算放大器,本質(zhì)上是集成了4 個(gè)單通道的OPA313 運(yùn)算放大器。OPA4313 工作電壓為1.8 V~5.5 V,增益帶寬為1 MHz,輸入偏置電流為0.2 pA。軌到軌輸入和輸出擺幅,低靜態(tài)電流(典型值50 μA)與1 MHz 的帶寬和極低噪聲(1 kHz時(shí)為25 nV/√Hz)組合在一起,使得其在電池供電類的應(yīng)用中能夠很好地平衡成本和性能。
OPA4313 帶通放大電路如圖4 所示。低通濾波電路和高通濾波電路組合構(gòu)成六階帶通濾波電路[8]。根據(jù)截止頻率計(jì)算公式
可得高通截止頻率fH約為800 Hz,低通截止頻率fL約為20 Hz。根據(jù)運(yùn)算放大器虛短、虛斷特性[9],可以得到圖4 中的放大倍數(shù)G2為
圖4 OPA4313 帶通放大電路
實(shí)際中由于信號(hào)幅值較小,電容的實(shí)際影響不能忽略,增益G2會(huì)小于10。
那么,根據(jù)式(1)和式(4),最終表面肌電信號(hào)預(yù)處理電路的放大倍數(shù)G為
2.2.1 EFM32TG 最小系統(tǒng)
表面肌電信號(hào)經(jīng)過放大、濾波等處理后,通過主控芯片進(jìn)行ADC 采樣和轉(zhuǎn)換,這樣表面肌電信號(hào)由模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),之后再進(jìn)行數(shù)據(jù)傳輸。在本文系統(tǒng)設(shè)計(jì)中,使用的主控芯片為Silicon Labs公司出品的EFM32TG840F32,基于ARM Cortex-M3架構(gòu),有著32 kB 的閃存,4 kB 的內(nèi)存,運(yùn)行速度最高達(dá)32 MHz。EFM32TG840F32 作為采集系統(tǒng)中處理調(diào)度模塊的MCU 具有許多優(yōu)勢(shì):
(1)具備豐富的接口和外設(shè),集成了模擬數(shù)字轉(zhuǎn)換器ADC、數(shù)字模擬轉(zhuǎn)換器DAC、直接存儲(chǔ)訪問DMA、通用定時(shí)器TIM 等諸多功能,集成度高,可以在采集方案系統(tǒng)中承擔(dān)控制、運(yùn)算、數(shù)據(jù)獲取、模塊通信等作用;
(2)建立于低能耗平臺(tái)之上,有著創(chuàng)新的低能耗技術(shù)、快速喚醒時(shí)間和節(jié)能模式??梢愿鶕?jù)外設(shè)的使用選擇不同的低能耗模式,從而降低整個(gè)系統(tǒng)的總功耗,非常適合能源敏感型的系統(tǒng)設(shè)計(jì);
(3)提供集成片上調(diào)試支持,可以方便地利用JATG 接口(支持SWD 模式)進(jìn)行調(diào)試。
EFM32TG840F32 作為主控芯片的EFM32TG 最小系統(tǒng)硬件電路設(shè)計(jì)如圖5 所示。
圖5 EFM32TG840F32 最小系統(tǒng)
本文設(shè)計(jì)中的EFM32 最小系統(tǒng)包含有兩個(gè)晶振,頻率分別為32 MHz 和32.769 Hz,如圖6 所示。
圖6 時(shí)鐘電路
EFM32 最小系統(tǒng)的調(diào)試端口如圖7 所示。
圖7 調(diào)試端口
EFM32 最小系統(tǒng)的電源管理單元如圖8 所示。
圖8 電源管理單元
LT1962 是ADI 公司出品的一款輸出可調(diào)的低噪聲、微功率低壓差線性穩(wěn)壓器(Low Dropout Regulator,LDO),通過改變兩電阻的比值從而改變出輸出,如式(6)所示:
式中:VADJ=1.22V,IADJ=30 nA at 25 ℃。本系統(tǒng)采用3.7 V 的鋰電池作為電源,VCC 經(jīng)過LT1962 轉(zhuǎn)換成3 V 的VMCU。此外,為了檢測(cè)電池電量,VCC 經(jīng)過兩個(gè)等值電阻分壓后接入主控芯片ADC 輸入端PD7。
2.2.2 通訊模塊電路
CC2541 是TI 公司出品的一款低功耗藍(lán)牙專有無線微控制器,非常適合應(yīng)用于低能耗系統(tǒng)之中。DX-BT05-A 4.0 低功耗藍(lán)牙模塊是基于CC2541 的一款產(chǎn)品,如圖10 所示,它使得與EFM32 芯片的通訊變得更為簡(jiǎn)單。只需要對(duì)該模塊進(jìn)行供電和接地,就可以通過串口TX 和RX 端與EFM32TG840F32 芯片的低功耗通用異步收發(fā)器(Low Energy Universal Asynchronous Receiver Transmitter,LEUART)進(jìn)行通訊。DX-BT05-A 4.0 低功耗藍(lán)牙模塊的工作在2.4 GHz ISM 頻段,待機(jī)電流約400 μA~1.5 mA,傳輸數(shù)據(jù)時(shí)電流約8 mA。
藍(lán)牙模塊與主控芯片的電路連接如圖9 所示。
圖9 低功耗藍(lán)牙模塊電路
表面肌電信號(hào)的采集流程如圖10 所示。在芯片、LEUART、ADC、低功耗藍(lán)牙模塊初始化后,EFM32 進(jìn)入低能耗模式EM2,上位機(jī)向下位機(jī)發(fā)送指令,如果該指令符合通信協(xié)議,就會(huì)進(jìn)行表面肌電信號(hào)的采集,ADC 完成采樣轉(zhuǎn)換后經(jīng)過串口發(fā)送到藍(lán)牙模塊,藍(lán)牙模塊與上位機(jī)透?jìng)鲾?shù)據(jù),實(shí)現(xiàn)表面肌電圖的顯示。
圖10 表面肌電信號(hào)采集流程
3.1.1 工作模式轉(zhuǎn)換實(shí)現(xiàn)低能耗
在EFM32TG 中,能源管理單元(Energy Management Unit,EMU)負(fù)責(zé)管理每種能源模式,包括運(yùn)行模式EM0 以及四種低能耗模式,分別為睡眠模式EM1、深度睡眠模式EM2、停止模式EM3、關(guān)機(jī)模式EM4,每種模式管理CPU 和各種外圍設(shè)備是否可用,EM0 模式下,32 MHz 高頻晶振為系統(tǒng)提供時(shí)鐘,所有功能和外設(shè)均可使用。EM2 模式下,32.768 Hz的低頻晶振為系統(tǒng)提供時(shí)鐘,屏蔽了高頻晶振、高頻外圍時(shí)鐘樹和片上穩(wěn)壓器。EM2 模式下LETIMER和LEUART 均可正常使用。EM4 模式下,除了復(fù)位鍵和配置好的EM4 喚醒源皆處于屏蔽狀態(tài)。EM0~EM4 模式下能量消耗如表1 所示。
表1 EM0~EM4 模式能耗
為了最大程度降低能耗,本文系統(tǒng)設(shè)計(jì)中的主控芯片采用了LEUART 進(jìn)行通信,這樣主控MCU就可以在深度睡眠模式EM2 下進(jìn)行異步串口通訊。EM0 模式作為所有低能耗模式轉(zhuǎn)變的承接,整個(gè)工作過程中的模式轉(zhuǎn)換如圖11 所示。
圖11 工作模式轉(zhuǎn)換圖
3.1.2 模數(shù)轉(zhuǎn)換器ADC
EFM32TG840F32 芯片內(nèi)置ADC 為一種低能耗逐次逼近型ADC,可對(duì)多達(dá)8 個(gè)通道進(jìn)行采樣,具有高達(dá)12 位的分辨率,采樣速率最高達(dá)100 萬個(gè)樣本/s。
根據(jù)硬件設(shè)計(jì),采用了ADC 8 個(gè)通道中的2個(gè),其中,用于采集表面肌電信號(hào)的為通道6,用于采集鋰電池電壓的為通道7。
在2.1 節(jié),表面肌電信號(hào)預(yù)處理電路中,OPA4313 運(yùn)算放大器4 個(gè)通道的參考電壓均為1.5 V,且經(jīng)過測(cè)試后所采集的表面肌電信號(hào)幅值一般不超過1 mV,所以選擇ADC 通道0 的參考電壓為2.5 V;鋰電池電量的檢測(cè)時(shí)通過電壓來進(jìn)行簡(jiǎn)單的判斷,3.7 V 的電源電壓經(jīng)過兩個(gè)相同電阻分壓后為1.85 V,所以選擇ADC 通道1 的參考電壓也為2.5 V。
ADC 的常見的工作模式為單次采樣模式、掃描模式和過采樣模式等。32 個(gè)時(shí)鐘周期能夠滿足各個(gè)模式的采樣時(shí)間要求,12 位的分辨率滿足了系統(tǒng)精度需求,何時(shí)進(jìn)行表面肌電電壓的采集和鋰電池電量的采集是由上位機(jī)的指令來控制的,所以最終選擇ADC 工作模式為單次采樣模式。ADC 時(shí)鐘頻率允許的范圍為32 kHz~13 MHz。
ADC 兩個(gè)采集通道CH6 和CH7 使用同一配置:時(shí)鐘頻率13 MHz;工作模式為單次;參考電壓為2.5 V;采集時(shí)間為32 個(gè)時(shí)鐘周期;采樣精度為12 位。
鋰電池電量單位為毫伏,其計(jì)算如式(7):
式中:ADCData0 為ADC 通道6 采樣值,通過庫(kù)函數(shù)ADCDataSingleGet(ADC0)獲得,N0=103/212,VADC.REF為ADC 參考電壓。設(shè)定鋰電池電壓為3.3 V 時(shí)電量百分比為0,這樣可以延長(zhǎng)電池使用時(shí)間,則電池電量百分比為
式中:voltBAT0=3.3×1 000。
表面肌電信號(hào)幅值單位為微伏,其計(jì)算如式(9):
式中:ADCData1 為ADC 通道7 采樣值,通過庫(kù)函數(shù)ADCDataSingleGet(ADC0)獲得,VREF為式(2)中的偏置電壓,VADC.REF為ADC 參考電壓,N1=106/212,G為式(5)中的放大倍數(shù)。
3.2.1 低能耗通用異步收發(fā)器(LEUART)配置
EFM32TG840F32 芯片可以進(jìn)行通訊的有I2C接口,通用同步/異步接口(USART)和低能耗通用異步收發(fā)器(LEUART)。LEUART 使用32.768 kHz低頻時(shí)鐘提供完整的通用異步收發(fā)通信。它允許UART 通信以低能耗模式執(zhí)行,在主動(dòng)通信期間工作電流僅幾微安,在等待輸入數(shù)據(jù)時(shí)工作電流僅150 nA,支持波特率范圍300 bit/s~9 600 bit/s。
EFM32TG840F32 芯片的PD4 和PD5 分別為L(zhǎng)EUART 的TX 引腳和RX 引腳,具體配置如表2所示。
表2 LEUART 配置
LEUART 采用中斷函數(shù)LEUART0_IRQHandler接收,便于判斷幀頭和幀尾是否正確;采用庫(kù)函數(shù)LEUART_Tx 進(jìn)行主動(dòng)發(fā)送。
3.2.2 低能耗定時(shí)器(LETIMER)配置
EFM32TG840F32 共包含2 個(gè)普通定時(shí)器/計(jì)數(shù)器和1 個(gè)低能耗定時(shí)器。本系統(tǒng)中使用的LETIMER 是一個(gè)16 位的遞減定時(shí)器,時(shí)鐘源為32.768 kHz 低頻時(shí)鐘,可以在深度睡眠模式下作為定時(shí)器運(yùn)行。時(shí)鐘不預(yù)分頻,則為了實(shí)現(xiàn)中斷時(shí)間50 ms,需要把遞減值設(shè)置為
3.2.3 通信協(xié)議
為了增強(qiáng)傳輸過程中數(shù)據(jù)的準(zhǔn)確性,設(shè)計(jì)了簡(jiǎn)單的通信協(xié)議,如表3 所示。幀頭為AA,幀尾為CC 33 C3 3C。
表3 通信協(xié)議
3.2.4 DX-BT05-A 4.0 低功耗藍(lán)牙模塊
2.2.2 節(jié)中介紹了DX-BT05-A 4.0 低功耗藍(lán)牙模塊,用戶對(duì)該模塊的配置是通過發(fā)送AT 指令來實(shí)現(xiàn)的,本文系統(tǒng)設(shè)計(jì)中使用的指令如表4 所示。
表4 AT 指令設(shè)置
在指令末尾要加上‘\r\n’,藍(lán)牙模塊才能夠正常識(shí)別。對(duì)藍(lán)牙模塊的初始化,即通過LEUART 發(fā)送AT 指令,完成表4 中的配置。
經(jīng)過計(jì)算硬件電路最小共模抑制比(Common Mode Rejection Ratio,CMRR)大于106 dB,高于我國(guó)行業(yè)標(biāo)準(zhǔn)YY1905-2007 肌電生物反饋儀規(guī)定的90 dB 的標(biāo)準(zhǔn)。由于表面肌電信號(hào)電壓量級(jí)在微伏,難以使用信號(hào)發(fā)生器準(zhǔn)確施加信號(hào)并測(cè)量,所以采用Multisim 仿真,電路結(jié)構(gòu)和2.1 節(jié)中基本相同,如圖12所示,其中采用4 個(gè)OPA313 代替OPA4313。
圖12 Multism 仿真電路
仿真結(jié)果如圖13、14 所示,波形圖的橫坐標(biāo)為時(shí)間(s),縱坐標(biāo)為電壓(mV)。探針1 電壓峰峰值為282 μV,探針2(通道B)電壓峰峰值為55.9 mV,放大倍數(shù)約為198 倍,符合式(1)中增益G1實(shí)際范圍。探針3 電壓峰峰值為495 mV,放大倍數(shù)約為9倍,符合式(4)中增益G2的實(shí)際范圍,所以最終總的增益G也在合理范圍內(nèi)。
圖13 探針1 和探針2 波形
同時(shí),我們用市面上某同分辨率肌電儀器的采集結(jié)果進(jìn)行比較,結(jié)果基本一致。
圖14 探針2 和探針3 波形
本文使用的編程和調(diào)試軟件是Simplicity Studio,一款Silicon Labs 公司基于Eclipse 和C/C++開發(fā)的IDE(集成開發(fā)環(huán)境)。對(duì)于該公司出品的EFM32 系列芯片,Simplicity Studio 中的Energy Profiler 工具可以實(shí)時(shí)監(jiān)測(cè)芯片的電流消耗,正常工作模式下電流消耗約4 mA,如圖15 所示,橫坐標(biāo)為時(shí)間(s),縱坐標(biāo)為電流(mA)。
圖15 工作模式下芯片電流消耗
低功耗藍(lán)牙模塊的電流消耗約8 mA,加上ADC、LETIMER 和LEUART,系統(tǒng)的整體電流消耗應(yīng)該在12 mA 以上。使用直流電源供電測(cè)量實(shí)際功耗,如圖16 所示,電壓3.7 V,電流約12.4 mA,功耗約0.046 W。
圖16 實(shí)際系統(tǒng)功耗測(cè)試
本文完成了一種低能耗表面肌電信號(hào)采集系統(tǒng)的設(shè)計(jì)。在3.7 V 鋰電池供電下,深度睡眠模式系統(tǒng)電流消耗約為0.1 mA,工作模式下系統(tǒng)電流消耗約為12.4 mA,功耗0.046 W,實(shí)現(xiàn)了以極低的功耗采集表面肌電信號(hào)。本文的不足之處在于:采集通道數(shù)較少、缺少對(duì)噪聲干擾相關(guān)的數(shù)字信號(hào)處理;沒有對(duì)表面肌電信號(hào)進(jìn)行變化進(jìn)行分析,比如肌肉疲勞度等[10]。在下一階段的工作中,將繼續(xù)完善表面肌電信號(hào)采集系統(tǒng),利用數(shù)字信號(hào)處理提高采集信號(hào)準(zhǔn)確性;對(duì)原始肌電信號(hào)進(jìn)行信號(hào)處理,提取其中更多有用信息,利用深度學(xué)習(xí)方法進(jìn)行動(dòng)作、情感等的識(shí)別[11];探索腦電采集和相關(guān)生理信息的提取與識(shí)別[12]。