柳海華,,盧路瑤,,朱秀委
(溫州醫(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é)啟動(dòng)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啟動(dòng)一次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光波可較好地反映皮膚淺部微動(dòng)脈信息,,適合用來采集分析人體脈搏信號[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ū)動(dòng)程序和上位機(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è)定閾值則啟動(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ī)通過串口查詢法不斷將接收到的數(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)行自動(dòng)調(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ā)中,,例如打印、自動(dòng)縮放,、注釋等,。生理參數(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í)桂. 動(dòng)脈中的脈搏波理論[J]. 生物醫(yī)學(xué)工程學(xué)雜志, 2000, 17(1): 95 100.
[2] 曾小青, 李旭光, 熊政剛,等. 一種具有高信噪比的脈搏波光電傳感器的研制[J]. 中國現(xiàn)代醫(yī)學(xué)雜志, 2003, 13(15):76 78.
?。?] 劉常春, 李遠(yuǎn)洋, 李鵬, 等. 橈動(dòng)脈脈搏波檢測裝置[P]. 中國: CN101703394B,, 2011 04 27.
[4] 譚莉, 向忠民. 便攜式簡易人體測量裝置對心血管危險(xiǎn)的預(yù)測價(jià)值[J]. 心臟雜志, 2013, 25(6):753.
?。?] 王曉蘭, 蔣中. 一種簡易人體脈搏測試儀[P]. 中國:CN 104138251A,,2014 11 12.
[6] 戴君偉, 王博亮. 光電脈搏傳感器的研制和噪聲分析[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]. 自動(dòng)化儀表, 2012, 33(11): 77 79.
[12] 徐明. 基于MSP430G2553的智能脈搏測試儀設(shè)計(jì)[J]. 自動(dòng)化應(yīng)用, 2015(6): 78 79.