阮小微 林霖 王濤
摘 要: 為了實現(xiàn)多頻探測音的聲導抗測試方法,提升聲導抗診斷靈敏度,設(shè)計一種基于FPGA的多頻耳聲導抗測試系統(tǒng)。采用FPGA芯片協(xié)調(diào)多模塊同步工作,實現(xiàn)上位機通信、探測音產(chǎn)生、氣壓改變、聲壓和氣壓信號采集、數(shù)據(jù)緩沖和傳輸?shù)群诵墓δ?,由上位機軟件對數(shù)據(jù)實時處理和鼓室導抗圖顯示。系統(tǒng)對多名正常聽力成年人采用1 000 Hz高頻和226 Hz低頻探測音進行測試試驗,結(jié)果穩(wěn)定并與理論分析一致,表明該系統(tǒng)設(shè)計正確和工作可靠。
關(guān)鍵詞: FPGA; 多頻探測音; 耳聲導抗測試; 診斷靈敏度; 同步工作; 鼓室導抗圖
中圖分類號: TN304.94?34; TH77 文獻標識碼: A 文章編號: 1004?373X(2018)12?0063?04
Abstract: A multi?frequency ear acoustic immittance testing system based on FPGA is designed to realize the acoustic immittance testing method for multi?frequency probing sounds and improve the sensitivity of acoustic immittance diagnosis. The FPGA chip is used to coordinate multiple modules′ synchronous working, so as to realize the key functions such as communication with the upper computer, generation of probing sounds, air pressure variation, acquisition of sound pressure and air pressure signals, and data buffering and transmission. The software of the upper computer is used to perform real?time data processing and tympanogram display. A test in which several adults with normal hearing were tested with the 1000 Hz high frequency probing sounds and 226 Hz low frequency probing sounds was carried out by the system. The testing results are stable and consistent with those of the theoretical analysis, which indicates the correctness and reliability of the designed system.
Keywords: FPGA; multi?frequency probing sound; ear acoustic immittance testing; diagnosis sensitivity; synchronous working; tympanogram
0 引 言
耳聲導抗測試是在改變外耳道壓力的情況下引起鼓膜連同聽骨鏈對探測音的順應性的改變,測量耳道內(nèi)的反饋聲壓發(fā)生改變,利用等效容積法,將其與已知容積的標準腔內(nèi)聲壓級相比,得到聲導抗值,從而畫出耳道內(nèi)氣壓與聲壓的關(guān)系圖,既鼓室導抗圖[1]。耳聲導抗測試被廣泛應用于中耳功能狀態(tài)檢查。根據(jù)探測音的頻率不同,可分為低頻耳聲導抗測試和高頻耳聲導抗測試。低頻耳聲導抗測試主要反映中耳的勁度聲納的情況,高頻耳聲導抗測試主要反映中耳質(zhì)量聲納的情況[2]。測量時既要同步采集氣壓和聲壓數(shù)據(jù),又要同步改變耳道內(nèi)壓力。國內(nèi)關(guān)于耳聲導抗測試儀器的研發(fā)較少,文獻[1]利用ARM作為主控芯片,硬件結(jié)構(gòu)復雜,且因ARM只有串行工作模式的限制[3],不能實現(xiàn)聲壓和氣壓采集并行同步進行,數(shù)據(jù)結(jié)果需要校正,較難實現(xiàn)。本文根據(jù)以上設(shè)計的不足,結(jié)合當前FPGA的發(fā)展及其接口簡單靈活、數(shù)據(jù)傳輸速率快且資源容量大等特點[4],提出采用FPGA作為主控芯片實現(xiàn)耳聲導抗測試儀的設(shè)計。FPGA芯片既能用作數(shù)字頻率合成器(Direct Digital Synthesizer,DDS)產(chǎn)生多個頻率探測音,又能同步控制氣壓聲壓采集,還能同步控制氣壓改變以及數(shù)據(jù)傳輸。
1 系統(tǒng)的總體設(shè)計
本設(shè)計主要由電源模塊、FPGA主控模塊、探測音轉(zhuǎn)換模塊、恒聲壓控制模塊、聲壓及氣壓信號采集模塊、氣路模塊以及計算機幾個部分組成[5]?;贔PGA多頻耳聲導抗測試系統(tǒng)的總體設(shè)計框圖如圖1所示。電源模塊為各個模塊提供不同的電壓;FPGA主控模塊實現(xiàn)對各模塊的并行控制以及實現(xiàn)DDS生成多個頻率正弦波信號;探測音轉(zhuǎn)換模塊將FPGA設(shè)計的DDS生成的正弦波信號經(jīng)D/A轉(zhuǎn)換后生成對應頻率的探測音;聲壓及氣壓信號采集模塊采集耳道中的聲壓及氣壓信號經(jīng)A/D轉(zhuǎn)換后送入FPGA處理;氣路模塊改變密閉耳道內(nèi)壓力,由電機驅(qū)動、步進電機、電磁閥驅(qū)動、電磁閥、活塞泵、導管及探頭組成;計算機用于人機交互和數(shù)據(jù)處理、顯示、存儲。
2 系統(tǒng)硬件設(shè)計
2.1 電源模塊
電源模塊電路如圖2所示,220 V交流電壓首先通過變壓器降壓,經(jīng)整流電橋?qū)⒔涣麟妷恨D(zhuǎn)為直流電壓,再通過電容濾波,最后經(jīng)過一系列穩(wěn)壓芯片得到不同的直流電壓。系統(tǒng)分別采用L7805和L7812,L7905和L7912穩(wěn)壓芯片提供穩(wěn)定的5 V,12 V,-5 V,-12 V電源。L78XX正電壓系列與L79XX負電壓系列三端穩(wěn)壓器具有低噪聲、高功率、所需的外圍元件少、內(nèi)部有過流過熱及調(diào)整管的保護電路等優(yōu)點,為系統(tǒng)提供低噪聲,高穩(wěn)定的電壓源。
2.2 探測音轉(zhuǎn)換模塊
探測音轉(zhuǎn)換模塊采用一款型號為DAC0832并行DAC芯片,其具有匹配FPGA并行傳輸結(jié)構(gòu)以及控制簡單的優(yōu)點。DAC0832內(nèi)部由一個8位輸入鎖存器、一個8位DAC寄存器、一個8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。DAC0832有單緩沖、雙緩沖和直通三種工作方式,本設(shè)計中采用直通方式。電路如圖3所示,DAC0832通過[CS,ILE,WR1,WR2,XFER及DI0~DI7]引腳與FPGA相連接。[CS,ILE,WR1,WR2,XFER]是FPGA控制DAC0832的工作模式的接口。[DI0~DI7]用于FPGA與DAC0832并行傳輸數(shù)字信號探測音數(shù)據(jù)。DAC0832將數(shù)字信號探測音D/A轉(zhuǎn)換為模擬正弦信號后,以電流形式輸出,再通過低噪聲放大器NE5532進行電流電壓轉(zhuǎn)換,最終輸出模擬探測音信號。
2.3 恒聲壓控制模塊
因為在測試時,保持入耳的探測音聲壓級不變,改變耳道內(nèi)氣壓,又因為在進行耳聲導抗測試時,耳道不同,頻率變化,這些因素會導致對應探測音強度的變化。因此需要系統(tǒng)負反饋調(diào)節(jié)探測音輸出強度,調(diào)節(jié)探測音強度維持在一定的聲壓級下。恒聲壓控制通過采集當前的聲壓級,與固定的聲壓級做對比,反饋調(diào)節(jié)音量控制器的增益,從而使探測音維持在一定的聲壓級范圍。
為了滿足上述要求,恒聲壓控制模塊采用高精度電子音量控制器PGA2311[6]對探測音強度進行精確控制。PGA2311具有調(diào)音實時性強、動態(tài)范圍寬的優(yōu)點。電路如圖3所示,PGA2311與FPGA之間通過SPI總線、ZCEN、[MUTE]連接,其中SPI總線負責PGA2311與FPGA之間的控制指令傳輸;ZCEN是過零保護引腳,高電平有效;[MUTE]是靜音設(shè)置引腳,低電平有效。計算機增益強度由串口輸入FPGA中再經(jīng)SPI總線寫入PGA2311中,增益調(diào)節(jié)公式為[Gain=31.5-[0.5(255-N)]],其中N為增益調(diào)節(jié)參數(shù)。
2.4 聲壓及氣壓信號采集模塊
聲壓及氣壓采集電路圖如圖4所示,聲壓及氣壓信號采集模塊包括聲壓信號采集電路及氣壓信號采集電路。其中氣壓采集電路采用高精度型號為SSCMRRN060MDAA3的壓差式氣壓傳感器,該傳感器既能放大輸出氣壓信號,又能進行溫度補償,在全溫度范圍內(nèi)具有優(yōu)異的重復性和穩(wěn)定性,精度可達0.05%,輸出的氣壓信號經(jīng)ADS8860進行A/D轉(zhuǎn)換。聲壓采集電路采用型號為TM24568000的麥克風作為聲壓傳感器,經(jīng)過放大、濾波、電平抬升預處理電路后送至ADS8860進行A/D轉(zhuǎn)換。ADS8860是一款16位,采樣率可為1 MHz,無延遲輸入的A/D轉(zhuǎn)換器。ADS8860與FPGA之間采用SPI總線通信。
2.5 氣路模塊
氣路系統(tǒng)由電機驅(qū)動、步進電機、電磁閥驅(qū)動、電磁閥、活塞泵、導管以及探頭組成[7]。其中FPGA分別與電機驅(qū)動和電磁閥驅(qū)動連接,從而控制氣路系統(tǒng)的工作。步進電機驅(qū)動為A4988,該芯片具有較高的步距精度,最小能達到[116]的步距角。電磁閥驅(qū)動是型號為TIP142T的達林頓管,用于驅(qū)動電磁閥開通或關(guān)斷。FPGA控制A4988的步距模式和方向,從而改變電機的轉(zhuǎn)動速度和轉(zhuǎn)動方向,使外耳道內(nèi)的氣壓在[±200] daPa的范圍內(nèi)變化。FPGA通過輸出高低電平控制電磁閥打開或關(guān)斷,從而起到過壓保護的作用。
3 系統(tǒng)軟件設(shè)計
軟件設(shè)計包括用Verilog VHDL描述語言設(shè)計的FPGA固件程序和C#語言為主的上位機程序。其中FPGA固件程序,采用模塊化的設(shè)計方法,將整個軟件系統(tǒng)分為若干個模塊:頂層模塊、控制模塊、DDS模塊、恒聲壓控制模塊、電機控制模塊、A/D采樣模塊以及串口模塊。其中頂層模塊將各功能模塊進行例化;控制模塊控制整個系統(tǒng)的工作流程;DDS模塊用于生成測試所需的多個頻率的正弦波信號;串口模塊用于FPGA與計算機之間的通信。各模塊調(diào)試仿真通過后,在頂層模塊統(tǒng)一下進行模塊間的綜合。
3.1 控制模塊程序設(shè)計
控制模塊負責控制和管理各模塊之間的協(xié)調(diào)工作,起到了核心作用。控制模塊采用狀態(tài)機的方式來實現(xiàn),分別以S0,S1,S2,S3,S4五個狀態(tài)標識控制模塊的5個狀態(tài)。圖5為控制模塊狀態(tài)轉(zhuǎn)換圖,狀態(tài)S0負責判斷計算機發(fā)出的指令sys_start是否為0000 0001決定向A/D采樣模塊發(fā)送聲壓數(shù)據(jù)和氣壓數(shù)據(jù)采樣起始命令,同時向電機控制模塊發(fā)送電機使能命令,以及向DDS模塊發(fā)送探測音信號生成命令,同時進入S1狀態(tài);狀態(tài)S1負責判斷A/D采樣模塊發(fā)出的flag是否為高電平?jīng)Q定向電機控制模塊發(fā)送電機反向轉(zhuǎn)動命令,并進入S2狀態(tài);狀態(tài)S2負責判斷A/D采樣模塊發(fā)出的flag是否為低電平?jīng)Q定向電機控制模塊發(fā)送停止工作命令,并進入S3狀態(tài);狀態(tài)S3負責判斷計算機發(fā)出sys_start的指令是否是0000 0000決定向ADS采樣模塊發(fā)送停止聲壓數(shù)據(jù)和氣壓數(shù)據(jù)采樣命令,同時向DDS模塊發(fā)送停止探測音信號生成命令,并進入S4狀態(tài);狀態(tài)S4利用count計數(shù)延遲1 ms后重置本模塊向各模塊發(fā)送的命令,并進入S0狀態(tài)等待下一次計算機發(fā)送指令。
3.2 DDS模塊程序設(shè)計
DDS用于生成不同頻率探測音信號。DDS是一種全數(shù)字化的頻率合成器,以數(shù)字取樣技術(shù)為基礎(chǔ),由相位累加器、ROM(Read Only Memory)查找表、D/A轉(zhuǎn)換器和低通濾波器構(gòu)成的頻率合成器[8]。DDS有頻率分辨率高、頻率切換速度快、頻率切換有相位連續(xù)、相位噪聲低等優(yōu)點。用FPGA設(shè)計DDS電路,簡單、靈活,而且支持系統(tǒng)現(xiàn)場升級。DDS的結(jié)構(gòu)框圖及工作原理如圖6所示。
圖6中:K表示頻率控制字;fclk表示時鐘頻率;f0表示DDS系統(tǒng)的輸出頻率;相位累加器是由N位的全加器和一個N位的相位寄存器構(gòu)成。相位累加器相當于以步長K做累加運算,累加的結(jié)果存儲在相位寄存器中;把相位寄存器中的結(jié)果作為地址碼尋址存儲在ROM的正弦表,每尋址一次,ROM查找表就輸出一個對應的幅度值。為了節(jié)省ROM的存儲空間,本設(shè)計中相位累加器只用了高M位而不用全部的N位來尋址。
DDS的輸出頻率為:
3.3 上位機設(shè)計
上位機程序主要負責下發(fā)指令控制FPGA各固件模塊工作[9],完成聲導抗測量并具有數(shù)據(jù)的傳輸、處理、顯示和存儲的功能,采用以C#語言為主的編程語言開發(fā)。上位機程序主要包括人機交互模塊、數(shù)據(jù)傳輸模塊、數(shù)據(jù)處理模塊、鼓室導抗圖顯示模塊,其采用多線程交互控制技術(shù)實現(xiàn)數(shù)據(jù)的同步傳輸、處理、顯示、存儲[10]。
4 實 驗
為了測試本系統(tǒng)工作的有效性與穩(wěn)定性,本文采用226 Hz和1 000 Hz探測音,分別重復進行4次實驗。將實驗的數(shù)據(jù)導入Matlab處理,畫出鼓室導抗圖如圖7所示。
從圖7可清晰看出,實驗結(jié)果重復性強,同時證明,按上述方案設(shè)計的基于FPGA的多頻聲導抗系統(tǒng)運行穩(wěn)定,具有很強的實用性和可行性。
5 結(jié) 論
本文設(shè)計了一種基于FPGA的多頻耳聲導抗測試系統(tǒng)。該系統(tǒng)采用FPGA芯片協(xié)調(diào)多模塊同步工作,實現(xiàn)了上位機通信、探測音產(chǎn)生、氣壓改變、聲壓和氣壓信號采集、數(shù)據(jù)緩沖和傳輸?shù)群诵墓δ?,由上位機軟件對數(shù)據(jù)實時處理和鼓室導抗圖顯示。系統(tǒng)對多名正常聽力成年人采用1 000 Hz高頻和226 Hz低頻探測音進行測試試驗。結(jié)果表明,該系統(tǒng)設(shè)計正確,工作可靠穩(wěn)定并與理論分析一致。
注:本文通訊作者為王濤。
參考文獻
[1] 王立偉,李躍杰.一種基于ARM系統(tǒng)的多頻耳聲導抗測試系統(tǒng)的研究[J].醫(yī)療衛(wèi)生裝備,2008,29(1):3?5.
WANG Liwei, LI Yuejie. Research on multiple frequency tympanometry on ear system based on ARM [J]. Chinese medical equipment journal, 2008, 29(1): 3?5.
[2] 謝鼎華,伍偉景.基礎(chǔ)與應用聽力學概要[M].長沙:科學技術(shù)出版社,2016.
XIE Dinghua, WU Weijing, XU Li. Introduction to bases and applications of hearing science [M]. Changsha: Hunan Science & Technology Press, 2016.
[3] 韓彬,于瀟宇,張雷鳴,等.FPGA設(shè)計技巧與案例開發(fā)詳解[M].2版.北京:電子工業(yè)出版社,2016.
HAN Bin, YU Xiaoyu, ZHANG Leiming, et al. Detailed explanation of FPGA design skills and case development [M]. 2nd ed. Beijing: Publishing House of Electronics Industry, 2016.
[4] 樊繼明,陸錦宏.FPGA深度解析[M].北京:北京航空航天大學出版社,2015.
FAN Jiming, LU Jinhong. Depth analysis of FPGA [M]. Beijing: Beihang University Press, 2015.
[5] MURAKOSHI M, YOSHIDA N, SUGAYA M, et al. Dynamic characteristics of the middle ear in neonates [J]. International journal of pediatric otorhinolaryngology, 2013, 77(4): 504?512.
[6] 徐榮,曾瓊,田湘.音頻控制芯片PGA2311的音頻增益自動控制[J].單片機與嵌入式系統(tǒng)應用,2011,11(8):72?73.
XU Rong, ZENG Qiong, TIAN Xiang. Audio gain automatic control of audio control chip PGA2311 [J]. Microcontroller & embedded systems, 2011, 11(8): 72?73.
[7] AITHAL V, KEI J, DRISCOLL C, et al. Sweep frequency impedance measures in Australian aboriginal and Caucasian neonates [J]. International Journal of Pediatric Otorhinolaryngology, 2015, 79(7): 1024?1029.
[8] 章宇杰,支敏.基于FPGA的DDS實現(xiàn)[J].電子與封裝,2013(10):31?32.
ZHANG Yujie, ZHI Min. DDS implementation based on FPGA [J]. Electronics & packaging, 2013(10): 31?32.
[9] 周陽,周美嬌,黃波,等.基于C#的串口通信系統(tǒng)的研究與設(shè)計[J].電子測量技術(shù),2015(7):135?140.
ZHOU Yang, ZHOU Meijiao, HUANG Bo, et al. The research and design of serial communication system based on C# [J]. Electronic measurement technology, 2015(7): 135?140.
[10] 卜春芬.C#后臺處理與多線程技術(shù)的應用[J].昆明學院學報,2010,32(3):82?85.
BU Chunfen. The practical application of C# background processing and multi?threading technology [J]. Journal of Kunming University, 2010, 32(3): 82?85.