柳海華,盧路瑤,朱秀委
?。刂葆t(yī)科大學(xué) 信息與工程學(xué)院,浙江 溫州,325035)
摘要:為了減小設(shè)備體積,提高系統(tǒng)的靈活性,提出了一種采用STC12單片機(jī)、光電式傳感器和NRF24L01的無(wú)線脈搏監(jiān)測(cè)系統(tǒng),給出了該系統(tǒng)的硬件和軟件設(shè)計(jì)的具體方案,展示并分析了系統(tǒng)運(yùn)行結(jié)果。該系統(tǒng)在10 m范圍內(nèi)可實(shí)時(shí)地監(jiān)測(cè)脈搏信號(hào),在軟件界面中可顯示、分析和保存數(shù)據(jù),在發(fā)現(xiàn)生理參數(shù)異常時(shí)發(fā)出報(bào)警,適用于病人監(jiān)護(hù),具有一定實(shí)用價(jià)值。
關(guān)鍵詞:STC12C5A60S2;光電式脈搏傳感器;NRF24L01;串口通信
0引言
中西醫(yī)研究表明,脈搏波蘊(yùn)藏著豐富的生理病理信息,在預(yù)防疾病、診斷治療、保健康復(fù)等各個(gè)方面發(fā)揮著重要作用[1]。目前的脈搏信號(hào)監(jiān)測(cè)系統(tǒng)中,傳感器類型主要包括光電式、液體耦合腔式、壓阻式以及應(yīng)變式等[23]。其中,液體耦合式傳感器的制作過(guò)程較為復(fù)雜且抗干擾差,壓阻式傳感器的實(shí)時(shí)性差且誤差較大,而應(yīng)變式脈搏傳感器存在較大的非線性。相比之下,光電式傳感器具有制作方便、精度較高、成本較低及線性度較好等優(yōu)點(diǎn),因而得以廣泛應(yīng)用。此外,大量導(dǎo)線的使用增大了系統(tǒng)規(guī)模和復(fù)雜度,同時(shí)降低了系統(tǒng)的便攜性和擴(kuò)展性,因此無(wú)線傳輸技術(shù)日益普遍[4]。
基于上述分析,本設(shè)計(jì)采用STC12C5A60S2單片機(jī)、光電式脈搏傳感器和NRF24L01無(wú)線收發(fā)模塊完成了一個(gè)無(wú)線脈搏信號(hào)監(jiān)測(cè)系統(tǒng)。該系統(tǒng)先通過(guò)下位機(jī)采集電路對(duì)使用者的脈搏信號(hào)進(jìn)行提取、去噪和放大處理,再以無(wú)線傳輸方式發(fā)送給連接PC的接收電路,接著上位機(jī)軟件從串口接收數(shù)據(jù)實(shí)時(shí)顯示波形,并進(jìn)行參數(shù)(例如心率、脈搏間隔等)分析、參數(shù)異常報(bào)警和數(shù)據(jù)存儲(chǔ)等。本系統(tǒng)不僅能對(duì)使用者進(jìn)行脈搏實(shí)時(shí)診斷和分析,也可用于后續(xù)的數(shù)據(jù)統(tǒng)計(jì)和長(zhǎng)期跟蹤,有助于使用者生理狀態(tài)的有效監(jiān)測(cè),具有一定的實(shí)際應(yīng)用價(jià)值。
1系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)的總體結(jié)構(gòu)由6部分組成:電源模塊、采集模塊、單片機(jī)控制單元、無(wú)線模塊、串口通信模塊、上位機(jī)模塊。系統(tǒng)的總體結(jié)構(gòu)框圖如圖1所示。
系統(tǒng)前端采用光電式脈搏傳感器,將人體的脈搏信號(hào)轉(zhuǎn)化為電壓信號(hào)。由于人體的脈搏信號(hào)微弱(毫伏電壓),頻譜范圍包含工頻干擾,因此需通過(guò)前置放大、高低通濾波、二級(jí)放大等處理[5]。從傳感器獲得的初始信號(hào)經(jīng)過(guò)適當(dāng)放大和處理之后,通過(guò)單片機(jī)控制的AD轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),繼而通過(guò)無(wú)線模塊實(shí)現(xiàn)信號(hào)的無(wú)線發(fā)送與接收。接收模塊收到的數(shù)據(jù)通過(guò)串口通信電路傳輸至計(jì)算機(jī)的串口,最終由上位機(jī)軟件對(duì)串口進(jìn)行掃描而讀取。上位機(jī)軟件可實(shí)時(shí)顯示接收到的脈搏信號(hào)波形,進(jìn)行數(shù)據(jù)處理、分析和監(jiān)視,也可存儲(chǔ)數(shù)據(jù)以備后續(xù)統(tǒng)計(jì)與回訪。為了保證系統(tǒng)中不同芯片的正常工作,本設(shè)計(jì)還包含了雙電壓輸出的電源模塊。
2系統(tǒng)硬件設(shè)計(jì)
2.1單片機(jī)控制單元
單片機(jī)是整個(gè)系統(tǒng)的核心,主要負(fù)責(zé)啟動(dòng)AD轉(zhuǎn)換、配置無(wú)線發(fā)送與接收、與上位機(jī)通信等工作。本系統(tǒng)采用STC12C5A60S2單片機(jī),其指令代碼與傳統(tǒng)的8051單片機(jī)兼容,工作電壓為3.3~5.5 V,工作頻率范圍為0~40 MHz,自帶8路10位AD轉(zhuǎn)換器,處理速度比傳統(tǒng)8051快8~12倍。本系統(tǒng)單片機(jī)最小系統(tǒng)的晶振為11.059 2 MHz,5 V電源供電,采集轉(zhuǎn)換頻率為100 Hz,由定時(shí)程序控制,即每10 ms啟動(dòng)一次AD轉(zhuǎn)換。
2.2采集模塊
采集模塊的核心器件是傳感器,它的性能直接影響整個(gè)系統(tǒng)的穩(wěn)定性和精準(zhǔn)性。因此,本設(shè)計(jì)采用綜合性能優(yōu)良的光電式脈搏傳感器來(lái)完成,它可分為光源和光接收器兩個(gè)主要部分。光源部分采用的是峰值波長(zhǎng)為515 nm的綠光LED,型號(hào)為AM2520;光接收器的敏感峰值為565 nm,型號(hào)為APDS9008。據(jù)相關(guān)文獻(xiàn)和實(shí)驗(yàn)結(jié)果表明,560~650 nm光波可較好地反映皮膚淺部微動(dòng)脈信息,適合用來(lái)采集分析人體脈搏信號(hào)[6]。因此,本設(shè)計(jì)采用的傳感器能有效收集脈搏信息,且靈敏度較高。此外,脈搏信號(hào)的頻帶范圍為0.05~200 Hz,信號(hào)幅度是毫伏級(jí)的小信號(hào),容易受到各種干擾。因此,在傳感器后面連接一個(gè)低通濾波器和一個(gè)由運(yùn)放MCP6001為核心的放大器,將初級(jí)脈搏信號(hào)放大300倍左右。同時(shí),采用分壓電阻設(shè)置直流偏置電壓為電源電壓的1/2,使輸出信號(hào)更容易被單片機(jī)的AD采集,并由單片機(jī)的P1.7口輸入。傳感器相關(guān)電路圖如圖2所示。
2.3無(wú)線通信模塊
實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸,可減少設(shè)備復(fù)雜性,提高系統(tǒng)靈活性。本系統(tǒng)以NRF24L01模塊為核心來(lái)實(shí)現(xiàn)脈搏數(shù)據(jù)在采集和接收模塊之間的遠(yuǎn)程無(wú)線傳輸,類似工作可參見(jiàn)參考文獻(xiàn)[7]、[8]。單片機(jī)通過(guò)AD轉(zhuǎn)換將脈搏信號(hào)數(shù)字化后,將轉(zhuǎn)換結(jié)果傳給NRF24L01模塊進(jìn)行無(wú)線發(fā)送。無(wú)線模塊的工作參數(shù)(包括信道、發(fā)送功率、發(fā)送頻率等參數(shù))由單片機(jī)配置。接收電路中的NRF24L01模塊的工作參數(shù)也由單片機(jī)配置,且要求與發(fā)送端匹配。發(fā)送和接收的NRF24L01模塊和單片機(jī)的連接如圖3所示。
CE引腳與P1.2引腳連接,CSN引腳與P1.3引腳連接,SCK引腳與P1.1引腳連接,MOSI引腳與P1.4引腳連接,MISO引腳與P1.0引腳連接、IRQ引腳與P1.6引腳連接。
2.4串口通信模塊
串口通信模塊主要負(fù)責(zé)將接收到的數(shù)據(jù)傳給上位機(jī),本設(shè)計(jì)采用MAX232EPE來(lái)完成。由于串口一次最多只能通過(guò)8位二進(jìn)制數(shù),而單片機(jī)自帶AD轉(zhuǎn)換一次能產(chǎn)生10位的二進(jìn)制數(shù),因此要將10位數(shù)據(jù)分解成高2位和低8位。串口通信采用經(jīng)典設(shè)置,即波特率9 600 b/s、校驗(yàn)位N、數(shù)據(jù)位8、停止位1。
2.5電源模塊
由于本系統(tǒng)采用的單片機(jī)的供電要求為5 V,而無(wú)線收發(fā)模塊的供電要求為3.3 V,因此要求電源模塊能輸出兩種電壓。其中,+5 V是由輸出電壓9 V、輸出功率9 W的交流變壓器、整流橋及7805芯片組成的電路產(chǎn)生的;+3.3 V是由5 V電源經(jīng)LM1117芯片穩(wěn)壓和濾波后產(chǎn)生的。
3系統(tǒng)軟件設(shè)計(jì)
為了保證系統(tǒng)正常穩(wěn)定運(yùn)行,需要良好的下位機(jī)硬件驅(qū)動(dòng)程序和上位機(jī)軟件界面。該系統(tǒng)的下位機(jī)軟件是采用基于Keil C 集成開(kāi)發(fā)環(huán)境的C語(yǔ)言進(jìn)行設(shè)計(jì)和開(kāi)發(fā)的,上位機(jī)的軟件界面主要利用VB編程語(yǔ)言編程實(shí)現(xiàn)。
3.1下位機(jī)軟件設(shè)計(jì)
下位機(jī)軟件由以下子程序組成:AD轉(zhuǎn)換控制程序、定時(shí)器程序、NRF24L01發(fā)送子程序、NRF24L01接收子程序和串口發(fā)送程序。模擬信號(hào)從P1.7輸入單片機(jī)經(jīng)過(guò)10位精度的AD轉(zhuǎn)換。AD轉(zhuǎn)換受定時(shí)程序的控制,定時(shí)程序達(dá)到設(shè)定閾值則啟動(dòng)AD轉(zhuǎn)換,轉(zhuǎn)換并發(fā)送數(shù)據(jù)完成后AD使能端被禁止,AD啟動(dòng)轉(zhuǎn)換的頻率被設(shè)定為100 Hz。兩個(gè)NRF24L01模塊分別由兩個(gè)單片機(jī)控制,不斷發(fā)送和接收數(shù)據(jù),接收數(shù)據(jù)的單片機(jī)通過(guò)串口查詢法不斷將接收到的數(shù)據(jù)傳給上位機(jī)。由于AD轉(zhuǎn)換的結(jié)果是10位的二進(jìn)制數(shù),因此在串口發(fā)送之前要先將10位的二進(jìn)制數(shù)拆成2個(gè)8位二進(jìn)制數(shù)(高2位和低8位,分別存于ADC_RES和ADC_RESL兩個(gè)寄存器中)才能通過(guò)串口發(fā)送。
NRF24L01相關(guān)子程序的主要任務(wù)是:先進(jìn)行片選,即選好引腳P1.2并置低電平,再對(duì)芯片的狀態(tài)、功率等參數(shù)進(jìn)行配置,具體如表1所示。
系統(tǒng)軟件程序流程圖如圖4所示。
3.2上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件采用VB語(yǔ)言編程實(shí)現(xiàn)。主界面包括數(shù)據(jù)顯示區(qū)、快捷功能鍵、生理參數(shù)顯示、串口選擇和報(bào)警提示等部分。為了顯示從串口讀取的數(shù)據(jù),采用iplot控件(集成C語(yǔ)言)作為畫圖工具。橫縱坐標(biāo)根據(jù)輸出信號(hào)的強(qiáng)度能進(jìn)行自動(dòng)調(diào)節(jié),實(shí)際運(yùn)行時(shí),先要對(duì)兩次接收到的數(shù)據(jù)相加得到一個(gè)完整的數(shù)據(jù),并通過(guò)不同時(shí)刻得到的數(shù)值進(jìn)行比較得到波峰,記錄當(dāng)時(shí)的時(shí)刻,應(yīng)用同樣的方法判斷出下一個(gè)波峰與時(shí)刻,將這一系列的數(shù)據(jù)由iplot控件進(jìn)行繪圖[9]。
快捷功能鍵主要包括圖形區(qū)放大、縮小和數(shù)據(jù)保存等功能,另外的功能還在開(kāi)發(fā)中,例如打印、自動(dòng)縮放、注釋等。生理參數(shù)顯示暫時(shí)只考慮脈搏頻率,其算法如下:取10 s左右長(zhǎng)度的數(shù)據(jù),用上述方法檢測(cè)出每個(gè)周期中的峰值,對(duì)5個(gè)峰峰間期取平均得到準(zhǔn)實(shí)時(shí)的脈搏頻率[10]。串口選擇功能是為了滿足上位機(jī)軟件對(duì)多個(gè)下位機(jī)采集電路的管理而設(shè)計(jì)的。盡管目前軟件只能顯示一個(gè)通道的數(shù)據(jù)變化情況,但預(yù)留了多通道顯示的功能。報(bào)警提示功能是通過(guò)label控件來(lái)展示的,當(dāng)上位機(jī)軟件對(duì)一段時(shí)間的數(shù)據(jù)進(jìn)行顯示、處理和分析后,若發(fā)現(xiàn)生理參數(shù)超出正常范圍則開(kāi)始報(bào)警[11]。
4系統(tǒng)運(yùn)行結(jié)果
系統(tǒng)運(yùn)行時(shí)的上位機(jī)軟件界面如圖5所示。
顯示的參數(shù)包括:實(shí)時(shí)脈搏波形[12]、計(jì)算得到的心率、參數(shù)異常報(bào)警提示。軟件還具有數(shù)據(jù)存儲(chǔ)功能,以便于數(shù)據(jù)回訪和統(tǒng)計(jì)分析,對(duì)使用者的脈搏參數(shù)進(jìn)行長(zhǎng)期跟蹤。與標(biāo)準(zhǔn)儀器的測(cè)量結(jié)果(示波器采集顯示如圖6所示)對(duì)比發(fā)現(xiàn),本系統(tǒng)采集到的脈搏信號(hào)顯示結(jié)果與之接近,從而同時(shí)驗(yàn)證了下位機(jī)信號(hào)采集、無(wú)線收發(fā)模塊工作正常。其中,針對(duì)無(wú)線模塊的性能測(cè)試結(jié)果表明,在15 m2內(nèi)無(wú)障礙物環(huán)境下,數(shù)據(jù)傳輸流暢且無(wú)失真,按照每秒100個(gè)數(shù)據(jù)采集的速率計(jì)算,數(shù)據(jù)傳輸速度可達(dá)125 B/s。
5結(jié)論
本設(shè)計(jì)以STC12C5A60S2單片機(jī)、光電式脈搏傳感器和NRF24L01無(wú)線收發(fā)模塊為核心,完成了一個(gè)無(wú)線脈搏信號(hào)的實(shí)時(shí)監(jiān)測(cè)系統(tǒng)。經(jīng)測(cè)試,本系統(tǒng)可將被測(cè)人員的脈搏信號(hào)實(shí)時(shí)地顯示在上位機(jī)軟件中,顯示結(jié)果與標(biāo)準(zhǔn)的示波器結(jié)果相吻合,在大約15 m2內(nèi)系統(tǒng)運(yùn)行穩(wěn)定。除脈搏信號(hào)的實(shí)時(shí)顯示,該系統(tǒng)還支持簡(jiǎn)單的數(shù)據(jù)分析(脈搏頻率及強(qiáng)度等),并能實(shí)現(xiàn)閾值可調(diào)的報(bào)警監(jiān)護(hù)功能。本系統(tǒng)為人體脈搏等生理信號(hào)監(jiān)測(cè)系統(tǒng)的研發(fā)工作提供了一個(gè)實(shí)用案例,具有一定的實(shí)用價(jià)值和參考意義。下一步的工作中還可進(jìn)一步完善本系統(tǒng)的軟硬件功能。
參考文獻(xiàn)
[1] 喬愛(ài)科, 伍時(shí)桂. 動(dòng)脈中的脈搏波理論[J]. 生物醫(yī)學(xué)工程學(xué)雜志, 2000, 17(1): 95 100.
?。?] 曾小青, 李旭光, 熊政剛,等. 一種具有高信噪比的脈搏波光電傳感器的研制[J]. 中國(guó)現(xiàn)代醫(yī)學(xué)雜志, 2003, 13(15):76 78.
?。?] 劉常春, 李遠(yuǎn)洋, 李鵬, 等. 橈動(dòng)脈脈搏波檢測(cè)裝置[P]. 中國(guó): CN101703394B, 2011 04 27.
[4] 譚莉, 向忠民. 便攜式簡(jiǎn)易人體測(cè)量裝置對(duì)心血管危險(xiǎn)的預(yù)測(cè)價(jià)值[J]. 心臟雜志, 2013, 25(6):753.
?。?] 王曉蘭, 蔣中. 一種簡(jiǎn)易人體脈搏測(cè)試儀[P]. 中國(guó):CN 104138251A,2014 11 12.
?。?] 戴君偉, 王博亮. 光電脈搏傳感器的研制和噪聲分析[J]. 現(xiàn)代電子技術(shù), 2006, 29(2):78 80.
?。?] 諸德宏, 張介環(huán). 具有遠(yuǎn)程升級(jí)功能的小區(qū)電能監(jiān)測(cè)系統(tǒng)[J]. 電子器件, 2014(4): 733 736.
?。?] 蔣超, 金陶威, 李世嬌, 等. 高精度無(wú)線脈搏波采集系統(tǒng)[J]. 電子測(cè)量技術(shù), 2012, 36(7): 112 124.
[9] 張文, 秦開(kāi)宇, 李志強(qiáng). VC環(huán)境下多波形顯示ActiveX控件開(kāi)發(fā)[J]. 中國(guó)測(cè)試, 2009, 35(2): 33 36.
?。?0] 劉一, 任占兵. 基于安卓手機(jī)的遠(yuǎn)程心電測(cè)量系統(tǒng)的設(shè)計(jì)[J]. 電子器件, 2015(1): 194 197.
?。?1] 鄭爭(zhēng)兵. 脈搏信號(hào)檢測(cè)儀的設(shè)計(jì)與實(shí)現(xiàn)[J]. 自動(dòng)化儀表, 2012, 33(11): 77 79.
?。?2] 徐明. 基于MSP430G2553的智能脈搏測(cè)試儀設(shè)計(jì)[J]. 自動(dòng)化應(yīng)用, 2015(6): 78 79.