李 洋 張 松* 彭美然 楊益民 楊 琳 王楊柳 邵 晶 陳國柱
脈搏波壓力及波形特征變化是評價人體心血管系統(tǒng)生理和病理學(xué)狀態(tài)的重要依據(jù),國內(nèi)外許多生理、病理學(xué)家都試圖從脈搏波壓力與波形變化中提取各種生理和病理信息。這是因為當(dāng)脈搏波由心臟開始向動脈系統(tǒng)傳播時,不僅要受到心臟本身的影響,同時也會受到流經(jīng)各級動脈及分支中各種生理因素如血管阻力、血管壁彈性和血液黏性等的影響,使動脈脈搏波中包含有極豐富的心血管系統(tǒng)生理和病理信息[1-4]。
近年來,大量的臨床實測結(jié)果證實,脈搏波的波形特征與心血管疾病有著密切的關(guān)系。脈搏波所表現(xiàn)出的形態(tài)(波的形狀)、強度(波的幅值)、速率(波的速度)和節(jié)律(波的周期)等方面的綜合信息的確在相當(dāng)程度上反應(yīng)出人體心血管系統(tǒng)的許多生理和病理學(xué)特征[5-7]。
隨著當(dāng)今計算機技術(shù)、信號處理技術(shù)等先進理論的發(fā)展,國內(nèi)已經(jīng)出現(xiàn)了許多不同種類的脈搏波檢測儀器,以適應(yīng)多種疾病的檢測和診斷。在脈搏波檢測儀器的開發(fā)和研制過程中,常常需要標(biāo)準(zhǔn)的信號源來對檢測儀器的準(zhǔn)確性和精確性進行驗證[8-10]。
普通的信號發(fā)生器只能提供諸如正弦波、方波、三角波等信號源[11],而不能提供代表不同生理意義的脈搏波信號,在實際開發(fā)過程中,需要使用接近真實人體的脈搏波信號來對脈搏波檢測儀器進行準(zhǔn)確度和精確度檢測和驗證,因此迫切需要專用的脈搏波信號發(fā)生器。脈搏波信號發(fā)生器可以把代表人體特定生理意義的脈搏波波形抽象出來,以此來代替實測的人體脈搏波信號并發(fā)送至各類脈搏波檢測儀器中,方便調(diào)試和檢查這些儀器的性能指標(biāo)[12]。
使用USB接口將上位機中的脈搏波波形數(shù)據(jù)發(fā)送至脈搏波信號發(fā)生器,并采用合適的方法對數(shù)據(jù)的準(zhǔn)確性進行校驗。
采用Flash非易失性存儲器,單片機通過SPI串行總線對Flash存儲器進行數(shù)據(jù)的讀取和寫入。
利用單片機的D/A轉(zhuǎn)換器,將存儲在Flash存儲器中的波形數(shù)據(jù)轉(zhuǎn)換為模擬信號,從而進行輸出。
利用液晶觸摸屏顯示波形的相關(guān)信息,用戶通過觸摸屏選擇波形的相關(guān)參數(shù),完成波形數(shù)據(jù)的自主選擇。
脈搏波在動脈血管中傳播時,脈搏波到達(dá)之處血液的壓力、速度與血管直徑將同時發(fā)生脈動變化。通常將血液壓力脈動的傳播過程稱為壓力脈搏波。而血液流量脈動的傳播過程就是流量脈搏波。他們的傳播速度相同但波形并不相同。臨床上壓力脈搏波可在人體橈動脈上通過壓力傳感器無創(chuàng)檢測出來,而容積脈搏波一般可在人體指端通過光電容積脈搏波傳感器無創(chuàng)檢測。兩種波的測試方法和波形如圖1所示[10]。

圖1 橈動脈壓力脈搏波波形和指端容積脈搏波波形
本設(shè)計要求可以在存儲器中存儲任意脈搏波波形,可將其輸出,并在液晶觸摸屏上顯示輸出的波形信息,波形信息包括當(dāng)前選中波形的波形系數(shù)K、頻率以及基線和幅值。脈搏波波形數(shù)據(jù)通過上位機下載至脈搏波信號發(fā)生器的非易失性存儲器后,脈搏波信號發(fā)生器便可脫離上位機單獨使用。
硬件電路劃分為以下6個功能模塊,分別為電源模塊,與上位機通信模塊,F(xiàn)lash存儲模塊,液晶觸摸屏控制模塊,數(shù)/模轉(zhuǎn)換與基線調(diào)節(jié)模塊,波形幅度調(diào)節(jié)與濾波模塊。總體硬件框圖如圖2所示。

圖2 硬件電路的總體模塊劃分圖
其中電源模塊要完成為電路中所有芯片供電的功能;與上位機通信模塊通過USB接口以串口協(xié)議方式接收來自上位機的波形數(shù)據(jù),暫存至單片機存儲空間;Flash存儲模塊,采用AT45DB081型 Flash存儲芯片,其主要功能是存儲波形數(shù)據(jù);液晶觸摸屏控制模塊,采用藍(lán)海微芯公司的LJD-ZU035TH型液晶觸摸屏,其主要功能是完成單片機與觸摸屏控制信息的交換功能,使人機交互得以順利、流暢的進行;當(dāng)需要發(fā)送脈搏波波形數(shù)據(jù)的時候,將數(shù)據(jù)從Flash存儲器中調(diào)出,利用單片機內(nèi)部的D/A轉(zhuǎn)換器換將脈搏波波形數(shù)據(jù)轉(zhuǎn)換成模擬波形信號,送至波形幅度調(diào)節(jié)與濾波模塊進行處理;幅度調(diào)節(jié)與濾波模塊,采用X9241型可編程數(shù)字電位器[13]和TL084型運算放大器,其主要功能是放大或縮小模擬脈搏波波形信號,并對波形信號進行低通濾波處理。
電源模塊電路圖如圖3和圖4所示。電源模塊設(shè)計的電路需要+5 V、+3.3 V(圖中的VDD、AV+)、-3.3 V(-VA)三種電壓。+5 V電壓由USB接口直接提供,選用AMS1117芯片將+5 V電壓轉(zhuǎn)換成+3.3 V電壓并輸出,選用ADM660芯片將+3.3 V電壓轉(zhuǎn)換成-3.3 V電壓并輸出。

圖3 電源模塊電路圖

圖4 ADM660轉(zhuǎn)換正負(fù)電源電路
與上位機通信模塊選擇USB接口的方式對數(shù)據(jù)進行傳輸。而單片機的數(shù)據(jù)傳輸協(xié)議為RS232串口傳輸協(xié)議,為了達(dá)到RS232接口與USB接口的轉(zhuǎn)換,需要使用CP2102轉(zhuǎn)換芯片。CP2102轉(zhuǎn)換芯片是一種高度集成的USB-UART橋接器,提供了一個實現(xiàn)RS232轉(zhuǎn)USB的簡便的解決方案[14-15]。CP2102具體電路圖如圖5所示。

圖5 CP2102應(yīng)用電路原理圖
Flash存儲模塊選用的AT45DB081型Flash存儲芯片,其存儲密度高,引腳資源占用少,電源電壓低、功耗小,有較廣泛的應(yīng)用。AT45DB081型Flash存儲芯片的存儲容量為8650752(264字節(jié)×4096頁×8位)位,以SPI串行總線與單片機進行通信[16]。
選擇藍(lán)海微芯公司的LJD-ZU035TH型液晶觸摸屏,該觸摸屏是3.5寸高清晰真彩數(shù)字屏,輸出分辯率為320×240。此液晶觸摸屏帶有1路標(biāo)準(zhǔn)RS232端口和1路標(biāo)準(zhǔn)RS485端口,可以和PC或者單片機、PIC、AVR、DSP等完美結(jié)合。本文使用液晶觸摸屏的1路RS232端口與單片機進行通信。單片機的串口輸出為TTL電壓,不能與液晶的RS232端口直接相連完成數(shù)據(jù)信息的交換,因此需要使用電壓轉(zhuǎn)換芯片對其進行修改。本文使用MAX232芯片將單片機的TTL電壓轉(zhuǎn)換為與RS232兼容的電壓模式。
數(shù)/模轉(zhuǎn)換的作用是將存儲在Flash中的波形數(shù)據(jù)轉(zhuǎn)換成模擬信號。C8051F020單片機中含有兩個DAC轉(zhuǎn)換模塊,即DAC0和DAC1。其中DAC1將數(shù)字波形數(shù)據(jù)轉(zhuǎn)換成模擬波形數(shù)據(jù),并通過液晶觸摸屏上選擇的頻率進行時間換算,換算出的時間作為延時時間,經(jīng)過一定的延時后更新DAC1寄存器中的數(shù)據(jù),從而達(dá)到控制輸出波形頻率的效果。
由于脈搏波信號發(fā)生器需要適應(yīng)不同用戶的要求,因此在一些情況下需要修改波形的基線值,即提供一定的直流偏移。本課題中采用DAC0作為產(chǎn)生基線的電壓端口,用戶在操作過程中選擇基線電壓值,單片機按照相應(yīng)的算法將基線電壓值轉(zhuǎn)換成數(shù)據(jù)傳遞給DAC0寄存器,以達(dá)到基線調(diào)節(jié)的目的。
4.7.1 波形幅度調(diào)節(jié)電路
由于從人體所提取出的脈搏波信號大約為幾毫伏到十幾毫伏的范圍,因此需要通過模擬電路將D/ A轉(zhuǎn)換器輸出的模擬信號進行縮小處理以達(dá)到所需的波形幅值范圍。設(shè)計波形幅度調(diào)節(jié)電路如圖6所示,其中X9241為可編程數(shù)字電位器,單片機通過I2C總線協(xié)議對X9241的輸出阻值進行較為精確地修改,從而調(diào)整電路的縮小倍數(shù)[17]。

圖6 波形幅度調(diào)節(jié)電路設(shè)計圖
4.7.2 濾波電路
脈搏波信號屬于低頻微弱信號,因此需要去除高頻及工頻干擾,采用二階巴特沃斯低通濾波器對脈搏波信號發(fā)生器產(chǎn)生的脈搏波信號進行濾波處理。按照脈搏波信號的特點,設(shè)計的二階巴特沃斯低通濾波器的截止頻率為30 Hz。
單片機的主要功能有:①接收來自上位機的波形數(shù)據(jù);②將波形數(shù)據(jù)轉(zhuǎn)存至Flash存儲芯片;③與液晶觸摸屏控制模塊進行通信;④對波形數(shù)據(jù)進行數(shù)/模轉(zhuǎn)換,控制輸出波形基線的大小;⑤調(diào)節(jié)X9241芯片,從而控制輸出的脈搏波波形的增益。單片機程序的總體流程如圖7所示。

圖7 單片機軟件總體流程圖
與上位機通信模塊的流程如圖8所示。
與上位機通信模塊完成的功能如下:①單片機程序向上位機的應(yīng)用程序發(fā)送“O”字符以提示上位機的應(yīng)用程序可以發(fā)送波形數(shù)據(jù);②接收來自上位機的控制信息和數(shù)據(jù)信息,包括上機應(yīng)用程序的測試信息、波形數(shù)據(jù)、波形編號等;③判斷是否接收到數(shù)據(jù)發(fā)送停止字符{0xff,0x00,0xff}。如果接收到數(shù)據(jù)發(fā)送停止字符,則表明數(shù)據(jù)發(fā)送完成;④數(shù)據(jù)發(fā)送完成后,單片機程序?qū)邮盏降拿}搏波波形數(shù)據(jù)進行和校驗,如果檢驗成功,則發(fā)送“R”字符,并將接收到的波形數(shù)據(jù)存儲至MyData數(shù)組中,此時上位機程序會顯示波形數(shù)據(jù)發(fā)送成功;如果檢驗失敗,則發(fā)送“W”字符,此時上位機應(yīng)用程序會提示用戶重新發(fā)送波形數(shù)據(jù);⑤在進行數(shù)據(jù)存儲過程中,對數(shù)據(jù)進行比較,找出最小值與最大值,然后將波形數(shù)據(jù)的個數(shù)以及最大值、最小值依次存入Remember數(shù)組中,供后續(xù)操作使用。

圖8 與上位機通信模塊程序流程圖
其中,數(shù)據(jù)校驗存儲流程如圖9所示,具體的通信協(xié)議如表1所示。

圖9 數(shù)據(jù)校驗存儲流程圖
采用AT45DB081型Flash存儲芯片的存儲容量較大(264字節(jié)×4096頁),每個波形的數(shù)據(jù)個數(shù)最大為256個,每個數(shù)據(jù)按照8位進行處理,因此為了達(dá)到對波形參數(shù)信息與波形數(shù)據(jù)合理存儲,方便數(shù)據(jù)調(diào)用,采用以下方式進行存儲:
⑴將每個波形的波形信息(波形數(shù)據(jù)個數(shù),波形數(shù)據(jù)最大值、最小值)按照波形號依次存儲至Flash存儲芯片第一頁。
⑵將波形數(shù)據(jù)按照波形編號存儲至Flash存儲器的相應(yīng)頁中。
本設(shè)計選用型號為LJD-ZU035TH的3.5 in.液晶觸摸屏,單片機可以通過串口發(fā)送相關(guān)控制指令來控制液晶觸摸屏。該觸摸屏提供了豐富的控制指令,如設(shè)置光標(biāo)位置的命令為0x81,顯示漢字或ASCII碼的命令為0x89,顯示BMP圖像的命令為0x91,畫點的命令為0x92,畫線的命令為0x93等,可以利用這些命令完成各種顯示功能的設(shè)計。模塊的流程圖如圖10所示。

圖10 液晶觸摸屏操作基本流程
在操作過程中,在觸摸屏上按下相應(yīng)位置,觸摸屏的控制單元會將位置信息發(fā)送至單片機,單片機提取出用戶所按下的位置信息,通過單片機程序的判斷信息,確定出相應(yīng)的操作內(nèi)容,從而更改相應(yīng)的波形參數(shù),點擊發(fā)送鍵,按照更改后的參數(shù)將波形信號發(fā)送出去。

表1 通信協(xié)議
本設(shè)計的脈搏波信號發(fā)生器能夠順利的接收來著上位機的波形數(shù)據(jù),并將波形數(shù)據(jù)存儲到Flash存儲芯片中,在存儲過程中,按照波形編號的順序?qū)⒉ㄐ螖?shù)據(jù)存儲在不同的Flash頁面內(nèi),達(dá)到合理利用存儲空間的目的。用戶可以根據(jù)不同的需要在觸摸屏上選擇相應(yīng)的選項,以達(dá)到控制輸出波形的頻率、幅值等特征。以下為對脈搏波信號發(fā)生器的性能指標(biāo)的驗證和誤差分析。
脈搏波信號發(fā)生器設(shè)計完畢后,對脈搏波信號發(fā)生器的性能指標(biāo)進行驗證。驗證方法與結(jié)果如下:
⑴通信功能驗證:向單片機發(fā)送波形數(shù)據(jù),查看單片機接收到的波形數(shù)據(jù),結(jié)果表明,接收數(shù)據(jù)與發(fā)送數(shù)據(jù)吻合,通信功能能夠?qū)崿F(xiàn)。
⑵存儲功能驗證:單片機調(diào)用寫數(shù)據(jù)程序后,調(diào)用讀數(shù)據(jù)程序讀取寫入頁的數(shù)據(jù),結(jié)果表明,其與寫入數(shù)據(jù)相同,存儲功能能夠?qū)崿F(xiàn)。
⑶增益調(diào)節(jié)功能:單片機控制程序向數(shù)字電位器X9241寫入不同的數(shù)值,用萬用表可以測量出輸出阻值的變化,證明單片機可以控制X9241從而達(dá)到控制放大倍數(shù)的目的。
⑷液晶觸摸屏控制功能:將液晶連接至電路板,查看其運行情況,結(jié)果表明,通過液晶觸摸屏對輸出波形的參數(shù)(波形系數(shù)K、幅值、頻率、基線)進行修改,輸出波形產(chǎn)生相應(yīng)變化。
脈搏波信號發(fā)生器實物與測試結(jié)果如圖11所示。

圖11 脈搏波信號發(fā)生器(左)實物與測試結(jié)果
按照理論值發(fā)送波形查看幅值輸出情況,所得結(jié)果誤差表格計算見表2。

表2 幅值誤差表
通過上表可知,脈搏波信號發(fā)生器輸出的波形仍有一定的誤差,輸出波形的幅值與用戶選擇的理論值之間誤差在5 mV左右,相對誤差值為2.96%。
常規(guī)信號發(fā)生器只能輸出一些簡單的波形,這些波形不具有人體脈搏波的基本特性,而一些帶有函數(shù)功能的信號發(fā)生器使用起來不僅繁瑣,而且波形也存在一定的誤差,作為檢測和調(diào)試醫(yī)療儀器的輸入信號難以達(dá)到要求的精確度。
脈搏波信號發(fā)生器克服了以上非脈搏波專用信號發(fā)生器的缺陷,滿足了脈搏波檢測儀器的專用性,并且脈搏波信號發(fā)生器的使用更加簡單和方便。
[1]羅志昌,張松,楊文鳴,等.脈搏波波形特征信息的研究[J].北京工業(yè)大學(xué)學(xué)報,1996,22(1): 71-79.
[2]Lee CT, Wei LY. Spectrum analysis of human pulse[J]. IEEE Trans Biomed Eng, 1983,30(6):348-352.
[3]M. Voelg. Measurement of the bloodpressure constantk,over a pressure range in the canine radial artery[J]. Med Biol Eng Comput,1981,19(5):535-537.
[4]李滾.脈搏波的傳播特性研究[D].四川:電子科技大學(xué),2008.
[5]宋相和,王耘.脈搏波:溝通中醫(yī)和西醫(yī)的橋梁[J].中西醫(yī)結(jié)合學(xué)報,2008,6(9):891-895.
[6]Li JK, Melbin J, Riffle RA,et al. Pulse wave propagation[J].Circ Res,1981,49(2): 442-452.
[7]Morgan GW,Kiely JP.Wave propagation in a viscous liquid contained in a flexible tube[J]. Journal of the Acoustical Society of America,1954,26(3):323-328.
[8]柳兆榮,李惜惜.血液動力學(xué)原理與方法[M].上海:上海復(fù)旦大學(xué)出版社,1997:47-58.
[9]王炳河,相敬林.脈搏系統(tǒng)建模與脈象信息分析的研究進展[J].生物醫(yī)學(xué)工程學(xué)雜志,2002,19(2):329-333.
[10]羅志昌,張松,楊益民.脈搏波的工程分析與臨床應(yīng)用[M].北京:科學(xué)出版社,2006:93-106.
[11]王紅衛(wèi),李蓓,王杰瓊,等.信號發(fā)生器的設(shè)計[J]. 企業(yè)技術(shù)開發(fā),2009,28(8):46-47.
[12]呂偉,張松,楊益民,等.脈搏波信號發(fā)生器軟件的設(shè)計[J].北京生物醫(yī)學(xué)工程,2008,27(5): 520-523.
[13]馬海軍,曲爾光.基于X9241數(shù)字電位器的可控增益放大器[J].現(xiàn)代電子技術(shù),2008, 23(1):160-161.
[14]陳桂珍.USB接口及其應(yīng)用[J].計算機與農(nóng)業(yè),2003,12(9):37-38.
[15]張博.用CP2102升級串行接口為USB接口的應(yīng)用設(shè)計[J].自動化技術(shù)與應(yīng)用,2009,28(6): 104-106.
[16]王颯.用C8051F020的SPI接口擴展大容量數(shù)據(jù)存儲器[J].微計算機信息,2006,22(4):77-78.
[17]華成英,童詩白.模擬電子技術(shù)基礎(chǔ)[M].4版.北京:高等教育出版社,2006:185-214.