郝真鳴,李召,郝晉淵,蘇嬌
(1.河北大學(xué) 電子信息工程學(xué)院,河北 保定 071002;2.河北大學(xué) 中央蘭開夏傳媒與創(chuàng)意學(xué)院,河北 保定 071002)
?
基于安卓音頻接口的多參健康檢測終端設(shè)計
郝真鳴1,李召1,郝晉淵2,蘇嬌1
(1.河北大學(xué) 電子信息工程學(xué)院,河北 保定 071002;2.河北大學(xué) 中央蘭開夏傳媒與創(chuàng)意學(xué)院,河北 保定 071002)
隨著現(xiàn)代社會老齡化速度加快,亞健康和慢性病人群比例逐步升高,這些嚴(yán)重制約著和諧社會的實現(xiàn)和人們生活質(zhì)量的提高.但是傳統(tǒng)的醫(yī)療資源存在城鄉(xiāng)分布不均、優(yōu)劣混雜等等各種不足,遠(yuǎn)不能滿足人們?nèi)找嬖鲩L的需求.因此為了實現(xiàn)對脈搏、體溫、血氧等多種健康數(shù)據(jù)的檢測,設(shè)計了一種基于智能手機的音頻通信的多參數(shù)健康檢測系統(tǒng).系統(tǒng)采用低功耗的Msp430單片機實現(xiàn)脈搏、體溫、血氧等參數(shù)的采集,然后將得到的數(shù)據(jù)按特殊的調(diào)幅通信協(xié)議編碼后通過手機音頻接口傳送給手機終端,最后脈搏、體溫、血氧等參數(shù)在手機終端按通信協(xié)議解碼后就可以顯示在手機終端的界面上,實現(xiàn)多種參數(shù)的檢測.通過測試該設(shè)計采集速度快、操作方便簡單,具有一定的實用價值.
多參數(shù);手機音頻通信;安卓;調(diào)幅調(diào)制
隨著人們生活水平的提高,人們對于身體健康的關(guān)注度也越來越高.在信息化、智能化的環(huán)境下,各種智能化的脈搏、體溫、血氧等健康參數(shù)檢測設(shè)備層出不窮.在智能化手機普及的今天,手機的各項功能都被大大增強,于是智能化手機便成了目前最方便快捷的處理終端,并且安卓系統(tǒng)的智能手機所占的市場份額最大,因此各種基于安卓智能手機的檢測設(shè)備便孕育而生,本設(shè)計也不例外.智能手機的對外通信接口多種多樣,有音頻接口、USB接口和firewire接口等,其中以3.5 mm的音頻接口通用性最強,基本所有手機都會有這個接口,因此在一些通用性要求較強的設(shè)備中,利用手機音頻接口通信的就要占其中重要的一部分.
目前應(yīng)用較廣的“拉卡拉”、“樂刷”等都是利用手機音頻接口通信的典型例子,它們利用的便是音頻接口通信的通用性強和便攜性強等優(yōu)點[1],本設(shè)計便以脈搏、體溫、血氧等參數(shù)采集的實現(xiàn)為例來進(jìn)行介紹.
系統(tǒng)的整體結(jié)構(gòu)如圖1所示,首先搭建好MSP430單片機與脈搏、體溫、血氧傳感器的電路:在由單片機供給傳感器電源后利用傳感器將脈搏、體溫、血氧等信號采集傳遞給單片機,然后利用單片機將采集到的脈搏、體溫、血氧數(shù)據(jù)通過特殊的通信方式調(diào)制后輸出,而輸出的調(diào)制信號通過耳機接口的Mic通道傳送給手機,最后利用Android平臺開發(fā)的應(yīng)用程序來解調(diào)處理采集到的調(diào)制信號[2],將解碼得到的脈搏、體溫、血氧數(shù)據(jù)顯示在手機APP界面上.
圖1 系統(tǒng)整體結(jié)構(gòu)Fig.1 System overall structure diagram
本設(shè)計中下位機使用的是MSP430系列的MSP430F149 單片機芯片,其是美國 TI 公司推出的超低功耗微處理器 ,具有功耗低、低電壓供電、寬工作電壓范圍、低時鐘頻率可實現(xiàn)高速通信等特點[3].脈搏傳感器使用的是HK-2000B+壓電式傳感器,體溫傳感器采用的是華強創(chuàng)意電子的體溫采集模塊,血氧傳感器則使用的是Pulse/SOP2傳感器,而應(yīng)用程序是在IAR embedded workbench平臺下用C語言進(jìn)行開發(fā).
2.1 脈搏、體溫、血氧采集
脈搏數(shù)據(jù)的采集是利用的HK-2000B+傳感器,其是根據(jù)壓電反應(yīng)原理制成.血氧數(shù)據(jù)的采集則是利用的Pulse/SOP2傳感器,其配備2個紅外線LED和1個紅色LED,并利用可見紅光感應(yīng)來采集2個頻率的光的信息,這2個頻率的光的采集是必要的用于感測和計算血液中的氧飽和度.而體溫傳感器則利用的是華強創(chuàng)意電子的體溫采集模塊,其體溫信號是以電壓為識別信號,體溫值和模塊輸出的電壓值呈線性關(guān)系.如圖1所示將3種傳感器各引腳與對應(yīng)的單片機引腳相連,其中脈搏信號是利用引腳的比較器功能將脈搏的模擬波形信號轉(zhuǎn)化為數(shù)字信號,然后從數(shù)字信號中識別出每一個脈搏的波峰將它進(jìn)行定時計數(shù),而體溫和血氧信號則是利用A/D得到體溫采集模塊和血氧模塊輸出的電壓值,然后再利用體溫值、血氧值和電壓值的轉(zhuǎn)換關(guān)系得到最終體溫和血氧數(shù)據(jù),最后將得到的體溫值數(shù)據(jù)、血氧數(shù)據(jù)、脈搏頻率數(shù)據(jù)進(jìn)行編碼調(diào)制后的信號傳送給手機端.
2.2 特殊的調(diào)幅調(diào)制編碼
數(shù)字通信有Fsk(調(diào)頻)、Psk(調(diào)相)、Ask(調(diào)幅)3種方式,該設(shè)計通過對這3種信號調(diào)制方式的研究,實現(xiàn)了一種改進(jìn)的調(diào)幅調(diào)制方式.由于手機音頻接口最高采樣頻率的限制,使得這種調(diào)幅調(diào)制方式與傳統(tǒng)幾種方式相比不僅能在手機音頻接口通信中達(dá)到更高的傳輸速率,而且實現(xiàn)簡單方便.手機音頻接口在MIC通道電路里有一個隔直電容,隔直電容的作用是隔直流通交流,因此為了減少這個隔直電容對輸入信號的影響,就在單片機調(diào)制信號時將輸出信號調(diào)制為交流信號[4].單片機單一引腳只能輸出直流信號,輸出交流信號則需要2個引腳的配合,如圖2所示,設(shè)其中2個引腳為Px.1、Px.2,其他2個為Py.1、Py.2.
當(dāng)Px.1輸出高電平時,Py.1輸出低電平便能產(chǎn)生1個周期波形前半個周期的高電平;而當(dāng)Px.1輸出低電平時,Py.1輸出高電平便能產(chǎn)生1個周期波形的后半個周期的低電平,從而輸出1個完整周期的交流信號.
改進(jìn)的調(diào)幅調(diào)制也是通過圖2所示的電路實現(xiàn)的,調(diào)制信號由m430單片機的4個引腳兩兩相互作用產(chǎn)生.Px.1、Py.1負(fù)責(zé)輸出完整周期的交流信號,而Px.2、Py.2則根據(jù)傳輸數(shù)據(jù)的數(shù)值有選擇性的拉低相對應(yīng)的主引腳電平,形成如圖3的波形.當(dāng)輸出“0”時,Px.2、Py.2都取低電平,這樣就可以通過二極管將Px.1、Py.1輸出的波形整個周期都拉低,形成如圖3中的代表“0”的波形;當(dāng)輸出“1”時,Px.2取低電平而Py.2取高電平,這樣通過二極管只能將前半個周期的波形拉低,這樣便能形成如圖3中代表數(shù)據(jù)“1”的波形;當(dāng)輸出“2”時,Px.2取高電平而Py.2取低電平,這樣通過二極管只能將后半個周期的波形拉低,這樣便能形成如圖3中代表數(shù)據(jù)“2”的波形;當(dāng)輸出“3”時,Px.2和Py.2都取高電平,這樣正反2個方向的波形都沒有發(fā)生變化,這樣便能形成如圖3中代表數(shù)據(jù)“3”的波形.
圖3 編碼后的數(shù)據(jù)波形Fig.3 Coded data waveform
這種調(diào)制編碼為四進(jìn)制編碼,每個數(shù)據(jù)周期波形攜帶的數(shù)據(jù)量更大,總體傳輸速率也就更快,具體編碼實現(xiàn)流程如圖4所示.
2.3 下位機供電方式
對下位機供電目前主流有2種方法:一種是下位機自帶供電電源,如“拉卡拉”等,便是自帶鋰電池;另一種是通過智能手機音頻接口供給電源.相比于第2種需要將音頻接口的輸出電壓先升壓再整流濾波的方法,第1種方法實現(xiàn)要簡單方便很多,因此本設(shè)計采用的便是第1種方法,利用3.7 V的鋰電池給單片機進(jìn)行供電.
Android智能手機終端的應(yīng)用程序是基于Android 4.2版本,在Eclipse平臺下用Java語言進(jìn)行開發(fā),其主要內(nèi)容包括設(shè)計一個人機交互界面、信號解碼處理和實時顯示等.
Android智能手機終端對音頻信號的處理只能通過音頻接口來實現(xiàn).例如接收單片機上傳來的數(shù)據(jù)時,只能先通過手機的內(nèi)置音頻芯片對音頻輸入MIC接口的音頻信號進(jìn)行A/D轉(zhuǎn)換、采集、量化為PCM格式的數(shù)據(jù),然后將得到的PCM格式數(shù)據(jù)使用純軟件算法解碼出從單片機傳送的數(shù)據(jù)信號[5].
圖4 單片機數(shù)據(jù)編碼流程Fig.4 Singlechip data coding flow chart
3.1 UI界面的設(shè)計
User Interface (UI)界面指的即是人機交互界面,此界面貫徹了方便簡單的原則,使得功能又好又簡單的實現(xiàn).
人機交互界面即主界面如圖5所示,目前主要是脈搏等健康數(shù)據(jù)的采集和相鄰幾分鐘內(nèi)的脈搏頻率等數(shù)據(jù)的動態(tài)折線圖顯示.當(dāng)用戶需要實現(xiàn)某個功能時只需要點擊對應(yīng)功能的按鈕就可以了,每個按鈕都設(shè)置了按鍵監(jiān)聽,點擊即能激活相應(yīng)的監(jiān)聽程序,實現(xiàn)對應(yīng)的功能.
3.2 采集數(shù)據(jù)的解碼和顯示
在Android智能手機上對音頻接口中接收的信號的采樣是通過系統(tǒng)內(nèi)部的音頻芯片完成的,每次利用純軟件的AudioRecord類將接收的信號進(jìn)行采樣、量化等處理,然后將轉(zhuǎn)換成的PCM格式數(shù)據(jù)暫時存儲在接收緩沖區(qū),再通過read接口回調(diào)得到采樣數(shù)據(jù),最后按解碼算法對采樣數(shù)據(jù)進(jìn)行解碼得到最終數(shù)據(jù).
利用幅值比較的方法來識別發(fā)送的數(shù)據(jù),因為在沒有數(shù)據(jù)傳輸?shù)臅r候單片機一直發(fā)送的是高低電平交替的最高幅值的交流波形,按調(diào)制編碼上位機應(yīng)該識別為“3”,故在數(shù)據(jù)發(fā)送的第1位加上一位起始位,緊接著是4位4進(jìn)制數(shù)據(jù),最后是一位奇偶校驗位也是結(jié)束位.
數(shù)據(jù)發(fā)送的空閑時間內(nèi)是用4位以上的3來表示,設(shè)正向高電平幅值范圍是(a0,a1),反向高電平幅值的范圍是(b0,b1),正向低電平幅值范圍是(a2,a3),反向低電平幅值的范圍是(b2,b3),通過每個周期波形的正向幅值和反向幅值來判別出當(dāng)前數(shù)值,然后解碼過程便如圖6所示.
圖5 安卓智能手機終端的初始界面Fig.5 Initial interface of Android smart phone terminal
圖6 手機端解碼流程Fig.6 Mobile terminal decoding flow chart
本設(shè)計采用的是特殊調(diào)幅調(diào)制的編碼方式,傳統(tǒng)應(yīng)用較多的是曼徹斯特編碼和FSK編碼方式,而相較于數(shù)據(jù)傳送速率而言,NFSK編碼要比曼徹斯特編碼快,因此這里進(jìn)行的是特殊調(diào)幅調(diào)制編碼與FSK編碼的比較[6].
NFSK編碼即利用N種不同的頻率來表示N個數(shù)值,其中最常用的是2FSK.在本設(shè)計中由于手機音頻口最高采樣頻率僅為44.1 kHz,以2FSK和4FSK為例,由采樣定理可知,被采樣的頻率應(yīng)該小于等于采樣頻率的1/2,但是為了有一些更好的差錯容忍度,設(shè)最高頻率f1為11 kHz[7],這樣每個周期能采到4個點;而另一個頻率f2要與f1區(qū)別,則至少要能每個周期采到8個點,即f2最高為5.5 kHz;同理,f3要使得每個周期采到16個點,即f3最高為2.8 kHz;f4要使的每個周期采到32個點,則f4最高為1.4 kHz左右.
2FSK是2進(jìn)制編碼,發(fā)送1個8位二進(jìn)制數(shù)據(jù)要發(fā)送8個數(shù)據(jù)周期,再加上起始位和一位奇校驗位,設(shè)數(shù)據(jù)位奇數(shù)個數(shù)為偶數(shù)時奇校驗位為0,否則為1.這樣2FSK編碼的傳輸速率是0.66 kHz到1.1 kHz之間;4FSK是4進(jìn)制編碼,發(fā)送1個8位二進(jìn)制數(shù)據(jù)需要發(fā)送4個數(shù)據(jù)周期,再加上起始位和一位奇校驗位共6個數(shù)據(jù)周期,則其傳輸速率是0.8~1.8 kHz.由以上可知如果是8FSK時,最低頻率甚至?xí)档?0 Hz,由于手機音頻口采集時會將長時間不變的信號強行拉低和隔直電容的隔直流作用可知8FSK編碼方式在這里是不可用的[8].
特殊的調(diào)幅調(diào)制編碼方式也是4進(jìn)制編碼,則數(shù)據(jù)位共有4位,由于最高音頻口采樣頻率的限制,調(diào)幅編碼的頻率最高為11 kHz,再加上同樣的一位起始位和一位奇偶校驗位也是每個發(fā)送周期都有6位數(shù)據(jù)周期,由于每個數(shù)據(jù)周期相等,則特殊的調(diào)幅調(diào)制編碼的數(shù)據(jù)傳送速率是1.8 kHz,具體如表1所示.設(shè)FSK編碼中f1代表“0”,f2代表“1”,f3代表“2”,f4代表“3”.
表1 不同編碼方式的通信傳送速率表
在圖7中,橫坐標(biāo)是要發(fā)送的數(shù)據(jù)值,縱坐標(biāo)表示的是發(fā)送當(dāng)前數(shù)據(jù)的傳輸速率,由圖7可知發(fā)送8位二進(jìn)制數(shù)據(jù)即0到255過程中3種編碼方式的傳送速率情況,顯然特殊調(diào)幅調(diào)制方式要比2FSK和4FSK編碼調(diào)制的速率要快而且穩(wěn)定,證明了此編碼方式在傳送速率方面的優(yōu)越性.最終測試過程中,手機端界面的顯示如圖8所示,界面的最上方顯示的是當(dāng)前一次測量的數(shù)據(jù),下方的折線圖則是脈搏次數(shù)動態(tài)的顯示,當(dāng)前一次即橫坐標(biāo)0時和前幾次采集數(shù)據(jù)的顯示,每次檢測數(shù)據(jù)更新一次,即折線圖上的數(shù)據(jù)向右移一位.這樣的界面既簡單易懂,顯示的數(shù)據(jù)又有一定的實際參考價值.
圖7 8位二進(jìn)制數(shù)據(jù)在不同編碼方式下的通信速率Fig.7 Fig of communication rate of eight bit binary data in different coding modes
圖8 手機終端脈搏檢測過程中的顯示界面Fig.8 Display interface in the process of pulse testing of mobile phone
提出了一種通過手機音頻接口與MSP430單片機之間通信的一種方案,并且對該方案中的技術(shù)原理與具體流程做了詳盡的表述.提出了一種特殊的調(diào)幅調(diào)制編碼方法,其方法與傳統(tǒng)的方式相比在傳輸速率上有較大的優(yōu)勢,分析結(jié)果證明該方式簡潔有效,具有很好的實際應(yīng)用價值;而且以后還可以再增加一些其他生理傳感器,完成其他生理參數(shù)的測量,實現(xiàn)簡單方便.當(dāng)然該方案中還有一些不足,例如:如果能實現(xiàn)手機音頻接口供電,那手機外設(shè)就不用擔(dān)心會突然出現(xiàn)電量不足等問題;如果能建立一個數(shù)據(jù)庫,將每個時刻測得的脈搏、體溫、血氧等健康數(shù)據(jù)存入數(shù)據(jù)庫中,還能隨時查看以往時刻存入的數(shù)據(jù),就能便于更好地長時間自我監(jiān)測等,后續(xù)會對其加以改進(jìn),努力將該方案完成得更好.
[1] 徐然,李文耀.一種可用于移動支付的讀卡器設(shè)計研究[J].電視技術(shù),2013,37(5):87-95.DOI:10.16280/j.videoe.2013.05.003. XU R,LI W Y.Study and design of reader for mobile payment[J].Video Engineering,2013,37(5):87-95.DOI:10.16280/j.videoe.2013.05.003.
[2] 孟治國.基于音頻接口的數(shù)據(jù)傳輸模塊設(shè)計[J].電子·電路,2013,26(3):45-47.DOI:10.16180/j.cnki.issn1007-7820.2013.03.024. MENG Z G.Design of data transmission module based on audio interface[J].Electronic Sci&Tech,2013,26(3):45-47.DOI:10.16180/j.cnki.issn1007-7820.2013.03.024.
[3] 馮浩.基于Android音頻接口通信研究與實現(xiàn) [D].武漢:華中科技大學(xué),2014. FENG H.Research and implementation of audio interface communication on Android platform[D].Wuhan: Huazhong University of Science and Technology,2014.
[4] 沈玥.基于手機音頻處理原理的音頻缺陷分析與檢測方法改進(jìn)[D].天津:天津大學(xué),2007. SHEN Y.Improvement of audio defect analysis and detection method based on the principle of audio processing of mobile phone[D].Tianjin:Tianjin University,2007.
[5] 何江山.基于智能手機的家用人體生理參數(shù)檢測終端通信設(shè)計[D].杭州:浙江大學(xué),2015. HE J S.The communication design of the home human physiological parameters detection system based on smart phone[D].Hanzhou: Zhejiang University,2015.
[6] 張佳進(jìn),陳立暢,張超,等.智能移動設(shè)備的音頻通信接口設(shè)計與實現(xiàn)[J].自動化與儀器儀表,2015(4):149-152.DOI:10.14016/j.cnki.1001-9227.2015.04.149. ZHANG J J,CHEN L C,ZHANG C,et al.Design and implementation of audio communication interface for intelligent mobile devices[J].Automation & Instrumentation,2015(4):149-152.DOI:10.14016/j.cnki.1001-9227.2015.04.149.
[7] 趙文景,封化民.智能手機音頻通信的實現(xiàn)[J].北京電子科技學(xué)院學(xué)報,2014,22(4):64-67. ZHAO W J,FENG H M.Realization of audio communication on smartphone [J].Journal of Beijing Electronic Science and Technology Institute,2014,22(4):64-67.
[8] 程遠(yuǎn)增,張海龍,段修生,等.一種軟件實現(xiàn) 2FSK 信號產(chǎn)生的方法[J].四川兵工學(xué)報,2009,30(1):12-14. CHEN Y Z,ZHANG H L,DUAN X S,et al.Method for realizing 2FSK signal generation by software [J].Journal of Sichuan Ordnance,2009,30(1):12-14.
[9] 李虹,溫秀梅,高振天.基于MSP430單片機和DS18B20的小型測溫系統(tǒng)[J].微計算機信息,2006(20):137-248. LI H,WEN X M,GAO Z T.A mini-temperature detecting system based on the MSP430 microcontroller and DS18B20[J].Microcomputer Information,2006(20):137-248.
(責(zé)任編輯:孟素蘭)
Terminal design of multi-parameter health detection based on the android audio interface
HAO Zhenming1,LI Zhao1,HAO Jinyuan2,SU Jiao1
(1.College of Electronic Informational Engineering,Hebei University,Baoding 071002,China;2.HBU/UCLAN School of Media,Communication and Creative Industries,Baoding 071002,China)
With the aggravating trend of aging population,the proportion of the population who are suffering sub-health and chronic disease increases.This situation seriously restricts the improvement of the harmonious society and the quality of peoples' life.However,the traditional medical resource shows some problems,such as uneven distribution and quality difference between urban and rural areas,this cannot meet people’s growing demand.In order to obtain health data,for example,pulse,temperature,blood oxygen,one multi-parameter health detection system is designed based on the android audio interface.This system adopts low power consu-mption Msp430 single clip microcomputer to collect the data of pulse,temperature,blood oxygen,etc.Then it codes the data follows a special amplitude communication protocol and transfers them to the mobile terminal through the android audio interface.Lastly,after the decoding,the data of pulse,temperature and blood oxygen could display on the mobile screen and achieves multi-parameter data detection,this design makes operation simple and fast,and it thus has practical value.
multiple parametera;mobilephone audio communication;Android;amplitude modulation
10.3969/j.issn.1000-1565.2016.05.013
2016-06-21
河北大學(xué)中西部綜合能力提升計劃項目
郝真鳴(1964—),男,山西壽陽人,河北大學(xué)正高級工程師,主要從事自動化控制、檢測技術(shù)等研究. E-mail: hbdxhzm@163.com
TN919
A
1000-1565(2016)05-0529-06