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