周宇陽,酒衷豪
(東南大學(xué)吳健雄學(xué)院,江蘇 南京 210096)
脈搏是由心臟搏動而引起的,經(jīng)動脈和血流傳至遠端的橈動脈處,它攜帶著人體豐富的健康狀況及信息。中醫(yī)一直是靠手指加經(jīng)驗獲取脈搏信息,這種切脈技巧普通人很難掌握?;诖耍疚臄M通過單片機與傳感器對脈搏心率信號進行檢測、采集和處理,對脈搏信號進一步分析將是一項重要且有意義的基礎(chǔ)工作,它是對心臟及動脈血管系統(tǒng)疾病預(yù)報和診斷的前提[1]。
本文設(shè)計的心率監(jiān)測與分析系統(tǒng)能夠?qū)崿F(xiàn)人體心率信號的采集和保存,能夠?qū)崟r顯示心率波形,并且實時更新心率值,并對心率信號進行時域和頻域的分析。整個系統(tǒng)由STC12C5A60S2單片機采集PusleSensor的模擬信號,并數(shù)據(jù)信號通過串口送入上位機LabVIEW進行分析、顯示等[2-3]。
2.1.1 電源電路
電源電路如圖1所示,USB電源線輸出的5V直流電J1,經(jīng)過switch開關(guān)K_PW1選擇通斷電,再經(jīng)過電容C2,C3濾波后送給單片機40引腳電源端,其中LED1為供電指示燈。通過人為控制K_PW1,當(dāng)電源接通時,LED1發(fā)光,斷開時,則熄滅。
2.1.2 復(fù)位電路
單片機在上電瞬間會自動復(fù)位,以便中央處理器CPU及其他功能部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。RST引腳是復(fù)位信號的輸入端,高電平實現(xiàn)復(fù)位且高電平的持續(xù)時間需要兩個機器周期以上[4]。復(fù)位電路一般是RC構(gòu)成的微分電路,只要保證微分脈沖寬度足夠大,即RC時間常數(shù)大于2個機器周期。一般取10uF電容、10K歐姆電阻。另外也可通過在電容兩端并聯(lián)一個外接按鍵實現(xiàn)手動復(fù)位。如本設(shè)計中復(fù)位電路采用的上電復(fù)位和按鍵復(fù)位兩種方式,當(dāng)給單片機上電時,電容與電阻組合構(gòu)成上電復(fù)位,當(dāng)單片機運行的過程中出現(xiàn)故障或程序跑飛時,則可人為控制,按鍵開關(guān)與電阻組合則構(gòu)成按鍵復(fù)位。
圖1 電源電路
2.1.3 晶振電路
STC12C5A60S2單片機內(nèi)有一增益反相放大器,振蕩頻率取決于石英晶體的振蕩頻率。一般取用11.059 2 M 和12 M(有串口通信,建議采用11.059 2 M;如需要精準時間定時,建議采用12 M)。與晶振并聯(lián)到GND的30 pF小電容是為了穩(wěn)定晶振頻率,也可以微調(diào)晶振頻率。一般取值在20~33 pF范圍內(nèi),都可以正常工作[5]。
由于使用串口通信,為了減少通信誤差,晶振頻率未選擇12 MHz,而選擇11.059 2 MHz,C4,C5,Y1組合構(gòu)成晶振電路,XTAL1,XTAL2分別接單片機的19,18引腳。
主控芯片STC12C5A60S2 芯片內(nèi)用8路10bit ADC,本文主要利用ADC0來采集PulseSensor傳感器的模擬值,只需要將PulseSensor的1引腳接單片機的P1.0引腳,PulseSensor的2引腳和3引腳分別接5V電源和地,單片機將10bit數(shù)位信號通過串口傳送給上位機。串口電路如圖2所示,其中R4電阻起上拉作用。
圖2 串口電路
本節(jié)中介紹的硬件電路連同上述的STC12C5A60S2最小系統(tǒng)電路,構(gòu)成了下位機系統(tǒng)的硬件電路總圖。
上位機總共有四大模塊,由4個按鈕組成,除退出按鈕以外,其余3個按鈕可以分別調(diào)用3個子模塊。采用動態(tài)調(diào)用,每個功能模塊是獨立的,方便日后擴展新的模塊。
心率信號采集和保存模塊界面如圖3所示,一個波形圖表顯示心率信號,另一個波形圖顯示脈沖尖峰之間的時間差,也就是RR interval。通過函數(shù)運算,可以計算出脈沖個數(shù),以及脈沖峰值差的平均值,以及脈沖個數(shù)。同時本模塊程序還可以讀出已經(jīng)保存好的心率文件,進行同樣的分析。HRV心率變異分析本模塊先讀取心率波形數(shù)據(jù),通過波形圖表顯示出來,然后計算出RR interval,將RR interval數(shù)組通過函數(shù)運算,可以進行心率變異分析。ECG特征值提取統(tǒng)計模塊先讀取心率波形數(shù)據(jù),通過波形圖表顯示出來,然后調(diào)用庫函數(shù),進行統(tǒng)計分析,可以提取ECG特征值的結(jié)果,此結(jié)果可以作為心率分析的一個重要依據(jù)。
給單片機上電后,程序從初始地址0000H單元開始運行,首先進行初始化:定時器0初始化,串口初始化,及ADC初始化。接著延時一段時間以使得單片機的外圍模塊上電穩(wěn)定。開啟總中斷后進入下位機的核心部分—while死循環(huán),里面包含了ADC采樣和串口接收服務(wù)等程序。
圖3 心率信號采集和保存模塊
本文設(shè)計的一款實用的人體心率脈搏測量顯示裝置,下位機通過單片機采集心率傳感器發(fā)出的脈搏信號,上位機利用LabVIEW設(shè)計脈搏信號的采集和分析系統(tǒng),對心率的測定提供精準、形象的畫面,可為醫(yī)生分析人體健康情況提供重要的參考。