張志忠 林霖 鄺瑞杰 王濤
摘 要: 耳聲發(fā)射是常用的聽力篩查方法。為了降低成本和開發(fā)難度,設(shè)計(jì)一種基于安卓手機(jī)的耳聲發(fā)射篩查系統(tǒng)。安卓手機(jī)控制基于STM32單片機(jī)的刺激采集雙效卡產(chǎn)生刺激聲,再采集耳聲信號(hào)并傳送至手機(jī)。安卓應(yīng)用程序完成數(shù)據(jù)處理、結(jié)果顯示、打印等功能。該系統(tǒng)實(shí)現(xiàn)了常見的耳聲發(fā)射篩查,包括瞬態(tài)耳聲發(fā)射、畸變產(chǎn)物耳聲發(fā)射篩查。
關(guān)鍵詞: 安卓手機(jī); 耳聲發(fā)射; STM32單片機(jī); 聽力篩查
中圖分類號(hào): TN948.53?34; TH77 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)10?0142?04
Abstract: The otoacoustic emission (OAE) is a commonly?used hearing screening method. To reduce the cost and development difficulty, an OAE screening system based on Android mobile phone was designed. The Android mobile phone controls the stimulation?acquisition dual?task card based on STM32 to produce the acoustic stimulation, and then acquire the otoacoustic signal and transmit it to the Android mobile phone. The Android application program can accomplish the functions of data processing, result displaying and printing. The system realized the conventional OAE screening, including transient evoked otoacoustic emission (TEOAE) and distortion product evoked otoacoustic emission (DPOAE).
Keywords: Android mobile phone; otoacoustic emission; STM32; hearing screening
0 引 言
耳聲發(fā)射(Otoacoustic Emissions,OAE)是一種產(chǎn)生于耳蝸,經(jīng)聽骨鏈及鼓膜傳導(dǎo)釋放入外耳道的音頻能量,OAE被廣泛應(yīng)用于聽力篩查[1]。目前已有的OAE篩查設(shè)備設(shè)計(jì)中,文獻(xiàn)[2]和文獻(xiàn)[3]把PC機(jī)作為上位機(jī)用于數(shù)據(jù)處理和人機(jī)交互,把聲卡或?qū)I(yè)數(shù)據(jù)采集卡作為下位機(jī)用于刺激聲播放和耳聲采集。這種設(shè)計(jì)雖然具備一定的便攜性但PC機(jī)體積較大不便攜帶,聲卡和專業(yè)數(shù)據(jù)采集卡硬件成本高。文獻(xiàn)[4]采用一體化設(shè)計(jì),雖然提高了便攜性但需要自主設(shè)計(jì)處理和人機(jī)交互模塊,電路結(jié)構(gòu)復(fù)雜,較難實(shí)現(xiàn)。
安卓手機(jī)有豐富的計(jì)算資源、外設(shè)接口和良好人機(jī)交互性使其可以成為醫(yī)療設(shè)備開發(fā)平臺(tái)[5]。本文針對(duì)目前的耳聲發(fā)射篩查系統(tǒng)設(shè)計(jì)的不足和安卓手機(jī)的優(yōu)勢(shì),提出以安卓手機(jī)結(jié)合STM32單片機(jī)的設(shè)計(jì)方案。利用安卓手機(jī)豐富的資源作為數(shù)據(jù)處理和人機(jī)交互平臺(tái),控制基于STM32單片機(jī)的刺激采集雙效卡完成刺激聲播放和耳聲采集。本系統(tǒng)簡(jiǎn)化了電路設(shè)計(jì)、降低了成本和系統(tǒng)開發(fā)難度,并用實(shí)驗(yàn)驗(yàn)證設(shè)計(jì)的可行性,使耳聲發(fā)射篩查系統(tǒng)設(shè)計(jì)進(jìn)一步小型化和易于開發(fā)推廣。
1 系統(tǒng)整體設(shè)計(jì)
如圖1所示,本系統(tǒng)由安卓手機(jī)、刺激/采集雙效卡、耳聲探頭三部分組成。安卓手機(jī)通過USB OTG(On?The?Go)接口連接刺激/采集雙效卡,用于供電和交互控制信號(hào)和數(shù)據(jù)。刺激/采集雙效卡以STM32單片機(jī)作為主控,配有電源電路、音頻電路、耳聲信號(hào)調(diào)理電路、ADC電路、TF卡和USB傳輸電路。刺激/采集雙效卡的后端通過USB接口與安卓手機(jī)連接,實(shí)現(xiàn)接收安卓手機(jī)下發(fā)的檢查參數(shù)并完成刺激聲的播放和耳聲數(shù)據(jù)的采集和上傳功能。刺激/采集雙效卡的前端與耳聲探頭直接連接。耳聲探頭包含兩個(gè)微型揚(yáng)聲器用于播放刺激聲,以及一個(gè)微型傳聲器用于采集耳聲信號(hào)。傳聲器連接刺激/采集雙效卡的信號(hào)調(diào)理電路,兩個(gè)揚(yáng)聲器分別連接音頻電路。安卓手機(jī)應(yīng)用程序采用Java語(yǔ)言編寫,完成檢查參數(shù)下發(fā)、耳聲數(shù)據(jù)處理、顯示檢查結(jié)果以及連接打印機(jī)等功能。程序的主要界面包括:病人信息登記界面、瞬態(tài)誘發(fā)OAE(Transient evoked?OAE, TEOAE)檢查界面和畸變產(chǎn)物OAE(Distortion Product OAE, DPOAE)檢查界面,以及打印界面。用戶通過上述界面完成被試人員信息錄入、查詢和存儲(chǔ),以及基本OAE參數(shù)設(shè)置、數(shù)據(jù)處理和結(jié)果顯示、打印結(jié)果等功能。
2 刺激/采集雙效卡硬件結(jié)構(gòu)
2.1 STM32單片機(jī)
刺激/采集雙效卡以STM32F103ZET6單片機(jī)作為主控核心。該核心為基于Cortex?M3 內(nèi)核的32 位增強(qiáng)型閃存微控制器,其內(nèi)核具有低功耗設(shè)計(jì),最高工作頻率可達(dá)72 MHz,能滿足驅(qū)動(dòng)外圍芯片和實(shí)時(shí)控制的要求。該芯片具有3個(gè)SPI接口、2個(gè)I2C接口、5個(gè)串口、1個(gè)SDIO接口等。高度集成的接口資源簡(jiǎn)化了電路設(shè)計(jì)[6]。
2.2 耳聲信號(hào)調(diào)理電路和ADC電路
OAE反應(yīng)強(qiáng)度低、動(dòng)態(tài)范圍大,聲壓級(jí)可從-5~20 dB SPL,頻率在0.5~5 kHz之間[7]。通過傳聲器轉(zhuǎn)換得到的信號(hào),幅度較低為0.01 mV以下。需要經(jīng)過放大和模擬帶通濾波等預(yù)處理。如圖2所示設(shè)計(jì)的信號(hào)調(diào)理電路分為四級(jí)。第一級(jí)為前端放大電路,采用INA128運(yùn)放芯片,放大100倍;第二級(jí)和第三級(jí)分別為高通和低通兩級(jí)2階濾波器,選用集成了兩個(gè)運(yùn)放的單芯片實(shí)現(xiàn),頻率范圍設(shè)計(jì)為0.5~6 kHz;第四級(jí)為后端放大電路,使用一個(gè)INA128芯片,放大1 000倍。
為了滿足耳聲信號(hào)采樣頻率和幅度的精度要求,模/數(shù)轉(zhuǎn)換器選用了ADS1271[8]芯片。該芯片具有較高的性能指標(biāo)和較高的環(huán)境穩(wěn)定性,滿足大多數(shù)生理信號(hào)采集需要。模/數(shù)轉(zhuǎn)換電路如圖3所示,其中VINP和VINN為信號(hào)輸入引腳,SCLK和DOUT引腳與STM32單片機(jī)的SPI1對(duì)應(yīng)引腳連接,用于傳輸數(shù)據(jù)。SYNC為芯片使能引腳,高電平有效。DRDY為ADC數(shù)據(jù)轉(zhuǎn)換完成標(biāo)示引腳,數(shù)據(jù)轉(zhuǎn)換完成后輸出低電平。該引腳可用于STM32單片機(jī)的外部中斷從而實(shí)現(xiàn)中斷模式采集耳聲。根據(jù)應(yīng)用需求,采用ADS1271的高精度模式,36 kHz采樣率和24位量化精度。
2.3 音頻電路
音頻電路用于傳輸轉(zhuǎn)換刺激聲信號(hào),主要電路為PCM1770[9]芯片。該芯片內(nèi)集成有音頻DAC和音頻功放,可以實(shí)現(xiàn)數(shù)字音頻的模/數(shù)轉(zhuǎn)換和功率放大。PCM1770的控制接口為SPI接口,片內(nèi)有4個(gè)寄存器可以實(shí)現(xiàn)聲道和音量控制,音頻傳輸接口為I2S接口。如圖4所示,PCM1770的SPI接口與STM32的SPI1接口連接,I2S接口與STM32的I2S3接口連接。使用時(shí)先通過SPI接口配置音頻播放參數(shù),然后通過I2S接口傳輸音頻數(shù)據(jù)。
2.4 電源電路、TF卡和USB傳輸電路
電源電路引入安卓手機(jī)的USB OTG接口5 V電源為刺激/采集雙效卡的電路和耳聲探頭供電。TF卡電路為TF卡卡槽電路,卡槽內(nèi)插有TF卡,刺激聲文件被預(yù)先存儲(chǔ)在TF卡中,需要更新刺激聲時(shí)僅需重新載入。USB傳輸電路主要由一片USB轉(zhuǎn)串口芯片CH340[10]組成。CH340具備與安卓手機(jī)USB OTG接口連接功能,通過USB OTG接口的數(shù)據(jù)線與STM32單片機(jī)交互數(shù)據(jù)。STM32單片機(jī)串口1波特率高達(dá)4.5 Mb/s,而CH340最大波特率為2 Mb/s,可以滿足耳聲數(shù)據(jù)實(shí)時(shí)傳輸?shù)男枰?/p>
3 系統(tǒng)軟件設(shè)計(jì)
3.1 軟件組成
系統(tǒng)軟件由STM32單片機(jī)固化程序和安卓程序組成。安卓程序完成人機(jī)交互和數(shù)據(jù)處理、分析、顯示等任務(wù),STM32單片機(jī)固化程序負(fù)責(zé)實(shí)時(shí)播放刺激聲和采集傳輸耳聲信號(hào)。兩部分軟件通過USB接口驅(qū)動(dòng)連接,交互控制信號(hào)和數(shù)據(jù)。
3.2 STM32單片機(jī)固化程序
STM32單片機(jī)固化程序工作流程如圖5所示。單片機(jī)上電后首先初始化串口、SPI等接口,此后輪詢串口等待手機(jī)發(fā)送參數(shù)。接收參數(shù)后,程序解析參數(shù)并從TF卡載入對(duì)應(yīng)的TEOAE或DPOAE刺激聲文件到內(nèi)存,在內(nèi)存建立兩個(gè)緩存區(qū)標(biāo)記為1和2作為乒乓緩存區(qū),并建立一個(gè)內(nèi)存指針指向緩存區(qū)1。然后啟動(dòng)I2S接口以DMA方式傳送一個(gè)刺激周期數(shù)字音頻信號(hào)到音頻電路。因?yàn)镈MA不占用STM32單片機(jī)內(nèi)核可同時(shí)使能ADS1271啟動(dòng)SPI接口通過中斷模式采集來自ADS1721的耳聲信號(hào),內(nèi)存指針指向緩存區(qū)1則采集的耳聲信號(hào)先放至緩存區(qū)1,同時(shí)計(jì)數(shù)采集數(shù)據(jù)量,通過數(shù)據(jù)量來確定采集時(shí)長(zhǎng),當(dāng)緩存區(qū)1內(nèi)的數(shù)據(jù)量達(dá)到一個(gè)刺激周期的時(shí)間內(nèi)所需采集的數(shù)據(jù)量時(shí),此時(shí)啟動(dòng)串口把緩存區(qū)1內(nèi)的一個(gè)刺激周期的耳聲數(shù)據(jù)通過另一個(gè)DMA通道傳送至安卓手機(jī)。此時(shí)一次刺激采集周期完成,內(nèi)存指針指向緩存區(qū)2,每次完成后都做一次這樣的指向替換,把下一個(gè)刺激采集的耳聲數(shù)據(jù)存儲(chǔ)在另一個(gè)緩存區(qū)。每完成一個(gè)周期的刺激采集任務(wù)后都做一次判斷是否達(dá)到刺激采集次數(shù)要求,如未達(dá)到則繼續(xù)進(jìn)行刺激采集,否則一次完整的OAE檢查結(jié)束,程序再次進(jìn)入輪詢串口等待手機(jī)下達(dá)檢查指令。
3.3 安卓程序
安卓程序采用Java語(yǔ)言開發(fā),使用了第三方畫圖控件achartengine[10]。如圖6所示為安卓應(yīng)用程序流程圖,安卓應(yīng)用程序主要有病人信息登記界面、TEOAE檢查界面和DPOAE檢查界面頁(yè)面、打印界面等。進(jìn)入程序后首先進(jìn)入病人管理界面,填寫病人信息,程序會(huì)將病人信息保存在SQLite數(shù)據(jù)庫(kù)中。
隨后可選擇進(jìn)入TEOAE檢查或者DPOAE檢查界面。在檢查界面時(shí)首先選擇檢查參數(shù),然后程序會(huì)自動(dòng)連接刺激/采集雙效卡的USB傳輸電路加載檢查參數(shù)。此時(shí)為了保證數(shù)據(jù)接收和處理顯示的實(shí)時(shí)性和數(shù)據(jù)的連續(xù)性,程序已經(jīng)預(yù)先開啟兩個(gè)線程,并建立FIFO隊(duì)列數(shù)據(jù)池,一個(gè)線程負(fù)責(zé)實(shí)時(shí)接收耳聲數(shù)據(jù)并存放至數(shù)據(jù)池,另一個(gè)線程不斷讀取數(shù)據(jù)池內(nèi)的數(shù)據(jù)并進(jìn)行疊加、時(shí)域波形顯示、傅里葉變換、結(jié)果顯示等處理。檢查結(jié)束后結(jié)果也存儲(chǔ)在SQLite數(shù)據(jù)庫(kù)中。打印界面通過手機(jī)藍(lán)牙連接藍(lán)牙打印機(jī)將檢查結(jié)果打印輸出。
4 OAE篩查實(shí)驗(yàn)
為了驗(yàn)證OAE篩查系統(tǒng)的有效性、穩(wěn)定性以及可靠性,對(duì)健聽受試者分別進(jìn)行TEOAE和DPOAE篩查實(shí)驗(yàn)。TEOA篩查實(shí)驗(yàn)刺激聲采用寬度為80 μs的聲壓級(jí)為80 dB SPL的click聲。TEOAE的潛伏期為3~5 ms,誘發(fā)后持續(xù)15 ms左右。為了去除刺激尾跡,刺激開始后延遲3 ms采集數(shù)據(jù)。如圖7所示為TEOAE檢查界面和結(jié)果。界面左上角顯示篩查者姓名,奇/偶次刺激誘發(fā)的OAE分別以藍(lán)紅兩色表示,波形下方為檢查結(jié)果和操作按鈕。對(duì)原始數(shù)據(jù)在Matlab下做分析,結(jié)果如表1和圖8所示,說明本檢查系統(tǒng)引出的TEOAE信號(hào)在相應(yīng)頻段的相關(guān)率和信噪比都較高,可以用于TEOAE篩查。
DPOAE篩查一般采用兩個(gè)揚(yáng)聲器同時(shí)輸出具有固定頻率比和固定聲強(qiáng)差的純音作為刺激聲(f1和f2),一般設(shè)置f2和f1頻率比為1.2。DPOAE反應(yīng)在頻率2f1~f2處具有較高的反應(yīng)強(qiáng)度[7]。本實(shí)驗(yàn)刺激聲選用1 000 Hz和1 200 Hz純音。對(duì)采集結(jié)果用Matlab對(duì)原始數(shù)據(jù)進(jìn)行頻譜分析,如圖9所示可以看到除了兩個(gè)純音刺激聲外,在800 Hz附近的一個(gè)明顯的峰值即對(duì)應(yīng)于引出DPOAE成分。上述TEOAE和DPOAE實(shí)驗(yàn)結(jié)果表示本設(shè)備設(shè)計(jì)方案可行,系統(tǒng)工作正常,可以實(shí)現(xiàn)常規(guī)的OAE篩查功能。
5 結(jié) 論
本文介紹一種基于安卓手機(jī)和STM32單片機(jī)的OAE篩查系統(tǒng)設(shè)計(jì)方案。安卓手機(jī)具有豐富的計(jì)算和接口資源,以及良好的人機(jī)交互性,該系統(tǒng)利用安卓手機(jī)作為開發(fā)平臺(tái),結(jié)合STM32單片機(jī)低功耗多接口的特性設(shè)計(jì)刺激采集雙效卡,經(jīng)實(shí)驗(yàn)表明本系統(tǒng)不但滿足OAE篩查的需求,且降低了成本和開發(fā)難度并具有低功耗、便攜性高的特點(diǎn)。有助于研發(fā)低成本OAE篩查設(shè)備和推廣聽力篩查。
參考文獻(xiàn)
[1] 韓德民.聽力學(xué)基礎(chǔ)與臨床[M].北京:科學(xué)技術(shù)文獻(xiàn)出版社, 2004.
[2] 宮琴,金慧君,關(guān)添,等.基于USB聲卡的便攜式耳聲發(fā)射檢查系統(tǒng)的研制[J].儀器儀表學(xué)報(bào),2010,31(2):383?389.
[3] 彭誠(chéng),李俊奎,杭圣超.基于LabVIEW平臺(tái)的耳聲發(fā)射綜合檢查系統(tǒng)的研制[J].生命科學(xué)儀器,2014(3):51?55.
[4] 徐玉峰.基于DSP的便攜式耳聲發(fā)射篩查儀[D].上海:上海交通大學(xué),2006.
[5] DEPARI A, FLAMMINI A, SISINNI E, et al. A wearable smartphone?based system for electrocardiogram acquisition [C]// Proceedings of 2014 IEEE International Symposium on Medical Measurements and Applications. [S.l.]: IEEE, 2014: 1?6.
[6] 劉軍,張洋,嚴(yán)漢宇.原子教你玩STM32[M].北京:北京航空航天大學(xué)出版社,2013.
[7] 李興啟,鄭杰夫,郗昕.聽覺誘發(fā)反應(yīng)及應(yīng)用[M].北京:人民軍醫(yī)出版社,2007.
[8] 李靈華,何麗君.24位高帶寬Δ?∑模/數(shù)轉(zhuǎn)換器ADS1271的原理及應(yīng)用[J].現(xiàn)代電子技術(shù),2007,30(16):4?6.
[9] Texas Instruments. PCM1770 datasheet [R]. USA: Texas Instruments, 2007.
[10] 張秀香.基于Android的健康管理系統(tǒng)客戶端的設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2012.