劉佳華 曹帝杰 牛子健 張子林
摘 要:隨著可穿戴設(shè)備的普及,心率監(jiān)測(cè)功能已經(jīng)成為各種可穿戴設(shè)備必備的功能,但是現(xiàn)有可穿戴設(shè)備所具有的人體心率監(jiān)測(cè)系統(tǒng)比較單一,不能對(duì)體溫和心率等多種指標(biāo)同時(shí)進(jìn)行檢測(cè),降低了用戶體驗(yàn)感。本設(shè)計(jì)通過一種LabVIEW軟件與單片機(jī)來對(duì)人體溫度和心率進(jìn)行讀取和分析,其原理是利用LabVIEW軟件進(jìn)行各種子VI設(shè)計(jì),主要包括收集MIT-BIH通道數(shù)、采樣率、數(shù)據(jù)點(diǎn)數(shù)、數(shù)據(jù)存儲(chǔ)格式、數(shù)值等參數(shù),并收集電壓轉(zhuǎn)換倍數(shù)、數(shù)據(jù)格式分析以及單片機(jī)溫度等數(shù)據(jù)。本設(shè)計(jì)成本較低,可以節(jié)約人工成本,同時(shí)具有人機(jī)交互性強(qiáng)、操作簡單等優(yōu)點(diǎn)。
關(guān)鍵詞:LabVIEW;單片機(jī);數(shù)據(jù)處理
中圖分類號(hào):R318.6;TP368.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-1064(2020)11-053-02
DOI:10.12310/j.issn.1674-1064.2020.11.025
為實(shí)現(xiàn)采集人體心率和溫度等目標(biāo),筆者結(jié)合單片機(jī)開發(fā)板,運(yùn)用溫度傳感器模塊和MIT-BIH讀取,進(jìn)行溫度與人體心率的實(shí)時(shí)采集與顯示,在LabVIEW2018軟件上搭建信息采集的前面板與子程序。
1 溫度采集模塊設(shè)計(jì)
利用DS18B20實(shí)現(xiàn)對(duì)溫度的采集。在8段數(shù)碼管上顯示采集溫度的示數(shù)變化(整數(shù)部分顯示整數(shù)溫度,小數(shù)保留一位小數(shù)),可以根據(jù)用戶需求設(shè)置采樣時(shí)間、溫度范圍、溫度采集的開始與結(jié)束等。
LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā),類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計(jì)算機(jī)語言的顯著區(qū)別是:其他計(jì)算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。LabVIEW軟件是NI設(shè)計(jì)平臺(tái)的核心,也是開發(fā)測(cè)量或控制系統(tǒng)的理想選擇。LabVIEW開發(fā)環(huán)境集成了工程師和科學(xué)家快速構(gòu)建各種應(yīng)用所需的所有工具,旨在幫助工程師和科學(xué)家解決問題、提高生產(chǎn)力,推動(dòng)不斷創(chuàng)新。界面的設(shè)計(jì)與控制就變得十分方便,子程序的編寫更加直觀明確,使人容易理解。
單片機(jī)開發(fā)板一般具有流水燈、點(diǎn)陣顯示、DS18B20溫度檢測(cè)、液晶屏、SD卡、收音機(jī)、mp3解碼等功能,為開發(fā)提供了很大的便利。DS18B20溫度檢測(cè)模塊是開發(fā)板自帶的,能夠直接將程序?qū)戇M(jìn)去,方便實(shí)用。
利用現(xiàn)有的單片機(jī)開發(fā)板,加上LabVIEW開發(fā)軟件,為設(shè)計(jì)基于LabVIEW的連續(xù)實(shí)時(shí)數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)提供了很大的幫助。
單片機(jī)開發(fā)板具有的功能較多,但是該設(shè)計(jì)中僅僅使用顯示模塊和溫度傳感器模塊,因此將單片機(jī)與LabVIEW調(diào)通之后,在設(shè)計(jì)界面、編寫程序過程中,只需要使用這兩個(gè)模塊的功能,通過LabVIEW編程控制單片機(jī)即可。
單片機(jī)和PC的通信,是通過單片機(jī)串口和PC串口之間的硬件連接實(shí)現(xiàn)的。在許多單片機(jī)應(yīng)用系統(tǒng)中,上、下位機(jī)分工明確,作為下位機(jī)核心器件的單片機(jī)往往只負(fù)責(zé)數(shù)據(jù)的采集和通信,而上位機(jī)通常以基于圖形界面的Windows系統(tǒng)為操作平臺(tái)。為便于查詢和保存數(shù)據(jù),還需要數(shù)據(jù)庫的支持,這種應(yīng)用的核心是數(shù)據(jù)通信,其包括單片機(jī)和上位機(jī)之間、客戶端和服務(wù)器之間,以及客戶端和客戶端之間的通信,而單片機(jī)和上位機(jī)之間的數(shù)據(jù)通信則是整個(gè)系統(tǒng)的基礎(chǔ)。
數(shù)據(jù)通信的硬件采用3線制,將單片機(jī)和PC串口的3個(gè)引腳(RXD、TXD、GND)分別連在一起,即將PC和單片機(jī)的發(fā)送數(shù)據(jù)線TXD與接收數(shù)據(jù)RXD交叉連接,兩者的地線GND直接相連,而其他信號(hào)線,如握手信號(hào)線均不使用,采用軟件握手的方式。這樣既可以實(shí)現(xiàn)預(yù)定的任務(wù),又可以簡化電路設(shè)計(jì)。
在保證單片機(jī)能夠順利通信之后,才能實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)采集和存儲(chǔ)。
利用Keil C51和LabVIEW編寫程序?qū)崿F(xiàn)PC與單片機(jī)串口的通信后,就可以在LabVIEW 2018上設(shè)計(jì)界面、編寫程序[1]。
1.1 LabVIEW前面板設(shè)計(jì)
該設(shè)計(jì)需要有溫度的數(shù)字顯示、柱狀顯示與波形圖顯示,并能夠設(shè)置溫度的上下限,采集頻率的快慢能夠更改,儲(chǔ)存的位置與形式可以選擇,并使串口參數(shù)與單片機(jī)開發(fā)版保持一致。運(yùn)用labview前面板的功能對(duì)這些功能進(jìn)行布局,設(shè)計(jì)其主界面。
其具有的功能顯示自上而下,依次為時(shí)間顯示、開始按鍵、文件儲(chǔ)存位置選擇、采集停止按鈕、串口參數(shù)設(shè)置口、溫度波形圖、溫度計(jì)、溫度值、采集時(shí)間、溫度上下限、溫度狀態(tài)、溫度狀態(tài)燈等。
運(yùn)行l(wèi)abview之前,將單片機(jī)的串口參數(shù)設(shè)置正確,并選擇溫度采集的溫度存儲(chǔ)位置,設(shè)置溫度的上下限。點(diǎn)擊開始按鍵,單片機(jī)開發(fā)板就開始采集溫度數(shù)據(jù),此時(shí)的時(shí)間與系統(tǒng)時(shí)間保持一致,溫度傳感器對(duì)采集的溫度進(jìn)行數(shù)值顯示、柱狀顯示以及波形圖顯示。改變溫度傳感器周圍的溫度,能夠觀察到采集的溫度的變化[2]。
1.2 LabVIEW子程序設(shè)計(jì)
建立主界面顯示,需要特定的程序?qū)崿F(xiàn),于是根據(jù)數(shù)據(jù)傳輸?shù)捻樞?,加上循環(huán)指令和中斷指令保證實(shí)時(shí)連續(xù)采集與儲(chǔ)存,并能實(shí)現(xiàn)顯示。
每一個(gè)功能的實(shí)現(xiàn),都需要制定一個(gè)程序。首先,串口傳輸設(shè)定一個(gè)固定的參數(shù),能夠?qū)纹瑱C(jī)采集的溫度數(shù)據(jù),通過串口傳輸?shù)絣abview前面板上顯示。點(diǎn)擊“開始”指令,如果滿足通訊協(xié)議,就通過了真假判斷指令,執(zhí)行接下來的程序;如果不滿足程序就會(huì)報(bào)錯(cuò),提醒修改。之后進(jìn)入while循環(huán),在循序結(jié)構(gòu)圖中,首先判斷進(jìn)入信號(hào)是否滿足要求,滿足要求進(jìn)入第二層結(jié)構(gòu)。在第二層結(jié)構(gòu)中可以設(shè)定采集信號(hào)的頻率,根據(jù)設(shè)定頻率采集周圍環(huán)境的溫度。這時(shí)將采集的數(shù)據(jù)經(jīng)過字符串的轉(zhuǎn)化,分到三部分進(jìn)行顯示和判斷,其中的一部分通過連接字符串進(jìn)入存儲(chǔ)格式選擇,格式自帶的日期和系統(tǒng)保持一致;另外一部分則直接通過數(shù)值和溫度計(jì)直接顯示;最后一部分則要判斷采集的溫度是否在設(shè)定溫度之間,若在范圍內(nèi)就顯示正常指示燈綠色,如果不在,就會(huì)顯示不正常,變?yōu)榧t色。最后點(diǎn)擊“結(jié)束”,即可不再采集。否則,一直進(jìn)行數(shù)據(jù)采集。后面板設(shè)計(jì)如圖1所示[3]。
2 心率采集模塊設(shè)計(jì)
心電信號(hào)的分析比較復(fù)雜,可能會(huì)用到高級(jí)信號(hào)處理工具箱(ASPT)和數(shù)字濾波器設(shè)計(jì)工具箱(DFDT)等。另外,還有NI LabVIEW生物醫(yī)學(xué)工具包,工具包的VI庫包含多種信號(hào)處理算法,用于許多常見的生物醫(yī)學(xué)信號(hào)處理任務(wù),比如EEG和ECG信號(hào)仿真、EEG雙譜和相干性分析、ECG特性提取和EMG功率分析等。對(duì)于本設(shè)計(jì),筆者僅利用LabVIEW的基本函數(shù)進(jìn)行簡單的心電信號(hào)分析。典型的心電信號(hào)如圖2所示。
可以利用信號(hào)處理→波形測(cè)量→波形監(jiān)測(cè)→波形波峰監(jiān)測(cè)函數(shù)測(cè)量出心電信號(hào)各尖峰(R)的位置和尖峰數(shù)量,由各尖峰的位置差可以計(jì)算出每次心跳的時(shí)間間隔(RR間隔)并進(jìn)而計(jì)算出每次心跳的頻率,這樣就可以分析出平均心率和心率的標(biāo)準(zhǔn)差。每兩次心跳的間隔都是不同的,由RR間隔可以計(jì)算出RR間隔的均值和標(biāo)準(zhǔn)差。
HRV分析提供了自主神經(jīng)系統(tǒng)(ANS)的一個(gè)定量標(biāo)記,因?yàn)镠RV的調(diào)節(jié)機(jī)制源自交感和副交感神經(jīng)系統(tǒng)。迄今為止,許多研究人員和工程師都致力于發(fā)掘HRV分析中對(duì)臨床應(yīng)用有價(jià)值的信息。在過去的十年中,已經(jīng)發(fā)表了超過2 000篇關(guān)于HRV的文章,這些文章考察了HRV與血壓、心肌梗塞、神經(jīng)系統(tǒng)、心律失常、糖尿病、呼吸、腎衰竭、性別、年齡、疲勞程度、藥物、吸煙、酒精等因素的關(guān)系[4]。
3 結(jié)語
文章闡述的人體心率與溫度檢測(cè)設(shè)計(jì)方法簡單但具有創(chuàng)新實(shí)用性,對(duì)日常生活比較實(shí)用方便。利用LabVIEW2018軟件與單片機(jī)進(jìn)行結(jié)合設(shè)計(jì),打破了傳統(tǒng)設(shè)計(jì)方法的局限,有很好的創(chuàng)新性。設(shè)計(jì)方法簡單,但功能齊全,是一種檢測(cè)人體心率與溫度的好方法[5]。
參考文獻(xiàn)
[1] 楊忠仁,饒程,鄒建,等.基于LabVIEW數(shù)據(jù)采集系統(tǒng)[J].重慶大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,27(2):18-22.
[2] 陳敏,湯曉安.虛擬儀器軟件LabVIEW與數(shù)據(jù)采集[J].小型微型計(jì)算機(jī)系統(tǒng),2001,22(4):32-35.
[3] 呂向鋒,高洪林,馬亮,等.基于LabVIEW串口通信的研究[J].國外電子測(cè)量技術(shù),2009,28(12):8-11.
[4] 王建群,南金瑞,孫逢春,等.基于LabVIEW的數(shù)據(jù)采集系統(tǒng)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2003,39(21):23-24.
[5] 胡蔣明,張曉青,賈豫東,等.3km分布式多模光纖溫度報(bào)警系統(tǒng)設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī),2016(6):45-47.