基于ARM處理器的便攜式心電血壓檢測儀
近年來,心臟病和高血壓的患病率逐年增高,動(dòng)態(tài)心電圖和血壓監(jiān)測為心血管疾病的預(yù)測、診斷和評估提供了極有價(jià)值的信息。隨著嵌入式系統(tǒng)在醫(yī)用儀表中的廣泛應(yīng)用,本文介紹了一種以Samsung公司的S3C44B0X為核心的集血壓和心電檢測功能于一體的便攜式家庭健康監(jiān)護(hù)系統(tǒng),該系統(tǒng)充分利用ARM的片內(nèi)資源,實(shí)現(xiàn)了人體心電、血壓信號的采集、顯示、打印和傳輸。儀器硬件主要由S3C44B0X主控芯片、心電放大電路、血壓檢測模塊、存儲(chǔ)系統(tǒng)及外圍接口電路組成,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。S3C44B0X內(nèi)置的A/D轉(zhuǎn)換器用于采集心電信號和血壓信號,LCD用于顯示數(shù)據(jù),微型打印機(jī)用于輸出心電圖波形,用戶可通過外接PS2鍵盤控制系統(tǒng)的工作狀態(tài),包括選擇檢測血壓或心電、數(shù)據(jù)的顯示和打印等。此外,USB接口可將采集數(shù)據(jù)傳送至計(jì)算機(jī)以便通過Internet進(jìn)行專家會(huì)診。
1 信號調(diào)理電路
1.1 血壓檢測模塊
人的心臟在射血過程中,主動(dòng)脈的輸出能加速整個(gè)存在于血管中的血液的流動(dòng),而血液的慣性則阻礙這個(gè)過程,即加速作用只影響到主動(dòng)脈起始段中的血液,并在此處使壓力升高,引起壓力脈搏,這就是測量血壓時(shí)所需要的兩個(gè)信息:壓力與脈搏。由這兩種信號可以測定人體最高血壓(收縮壓)和最低血壓(舒張壓),并計(jì)算出脈搏數(shù),因此要獲取這兩種信息,就是利用心臟搏動(dòng)時(shí)對血管壁的壓力,將脈搏信號和壓力信號轉(zhuǎn)換為電信號輸出。血壓測量模塊如圖2所示。壓力傳感器選用Motorola公司的壓力傳感器MPX53GP02,它具有精確度高、線性度好、成本低等特點(diǎn),使壓力/電信號轉(zhuǎn)換公式和系統(tǒng)血壓測量的定標(biāo)操作都得以簡化,節(jié)約了軟硬件資源。MPX53GP將袖套內(nèi)的壓力信號經(jīng)過放大、濾波處理后送入A/D轉(zhuǎn)換器。脈搏信號經(jīng)放大器、鑒別電路、箝位整形后送S3C44B0X外部中斷計(jì)數(shù)。
1.2 心電采集模塊
心電信號是從人體體表拾取的微弱電信號,一般只有0.05~5mV,信號頻率比較低,頻譜范圍在0.05~100Hz之間,具有微弱和易受干擾等特點(diǎn)。心電放大電路包括前置放大、RC高通濾波網(wǎng)絡(luò)、100倍的后級放大、RC低通濾波網(wǎng)絡(luò)及右腿驅(qū)動(dòng)等模塊。心電采集模塊如圖3所示。前置放大電路采用了低功耗、高精度儀表放大器AD623。它具有高輸入電阻、低輸入偏置電流、低噪聲和高共模抑制比等特點(diǎn),可通過1腳和8腳間的外接電阻Rg來設(shè)置增益(1~1000)。由于體表液體與電極之間可能形成原電池,致使電極之間存在固定的電位差,為避免飽和差分放大的增益不能太高,設(shè)定AD623增益為10。后級采用TL084等通用運(yùn)放構(gòu)成同相主放大電路,增益可以高達(dá)100倍,這樣整個(gè)電路放大倍數(shù)可以達(dá)到1000倍。兩級放大電路之間必須進(jìn)行直流隔離。
心電檢測過程中,存在很多干擾。主要有電極移動(dòng)引起的基線漂移(一般小于1Hz)、工頻干擾、肌電干擾(幾百Hz以上)。因此將濾波器的通頻帶設(shè)置為0.15~100Hz,這樣的帶寬基本上保留了心電中大部分有用成份,能滿足一般臨床需要。0.15Hz高通采用RC微分實(shí)現(xiàn),100Hz低通采用三階巴特沃思濾波器。用有源雙T網(wǎng)絡(luò)濾除50Hz工頻,Q值不能太大,否則電路不穩(wěn)定。一般情況下,硬件電路不能完全濾除干擾,可借助軟件進(jìn)行數(shù)字濾波。此外,右腿驅(qū)動(dòng)電路和屏蔽驅(qū)動(dòng)電路是心電放大系統(tǒng)前端的兩個(gè)附屬電路,右腿驅(qū)動(dòng)電路是為了防止外界電磁干擾在人體內(nèi)產(chǎn)生位移電流,而屏蔽驅(qū)動(dòng)電路則是為了增加共模信號的抑制。
2 S3C44B0X外圍接口電路
S3C44B0X是Samsung公司推出的基于ARM7TDMI的精簡指令系統(tǒng)的32位高速處理器,它的工作電壓為3.3V,片內(nèi)帶有8個(gè)Memory Banks,用于管理外部存儲(chǔ)器,最大存儲(chǔ)容量達(dá)256M;兩路UART口,最高傳輸速率為115200bps;71個(gè)I/O口,包括8個(gè)外部中斷源,可用于鍵盤、LCD背光、照明控制等;LCD控制器,支持單色,4、16級灰度的LCD模塊;內(nèi)置PLL鎖相環(huán),可以設(shè)置系統(tǒng)工作頻率,最高為75MHz;一路多主機(jī)I2C總線、一路SIO總線;四種系統(tǒng)工作模式;一個(gè)8路復(fù)用10位A/D轉(zhuǎn)換器[2]。片內(nèi)功能部件齊全,能很好地滿足系統(tǒng)設(shè)計(jì)的需求。系統(tǒng)硬件電路如圖4所示。
2.1 存儲(chǔ)器接口電路
S3C44B0X自身不具有ROM,系統(tǒng)中選用Flash ROM SST39VF160來作為代碼存儲(chǔ)器,其映射在處理器的BANK0地址空間,系統(tǒng)上電復(fù)位時(shí)處理器就自動(dòng)從0x00000000地址處開始取指令運(yùn)行程序??紤]到S3C44B0X是按照字節(jié)編址,而Flash ROM 是以16位為一個(gè)存儲(chǔ)單元,故Flash ROM的A19~0對應(yīng)連接S3C44B0X的ADDR20~1,偏移了1位,其片選信號與處理器的nGCS0相連,將BANK0的數(shù)據(jù)總線寬度設(shè)定為16位,即OM1~0=01,在BANKCON0寄存器中設(shè)置tacc=0x6, tacp=0x0。
采集、存儲(chǔ)大量數(shù)據(jù)需要的內(nèi)存較大,本系統(tǒng)選擇了SDRAM-HY57V 161610D[3]。它的數(shù)據(jù)寬度為16位,由兩個(gè)BANK組成,共2MB的存儲(chǔ)容量。由于S3C44B0X的BANK6、7支持SDRAM,本身提供了和SDRAM進(jìn)行直接接口的解決方案,所以只要對與存儲(chǔ)器控制器相關(guān)的寄存器進(jìn)行適當(dāng)配置即可。在BWSCON寄存器中設(shè)置BANK6的數(shù)據(jù)寬度為16位,在BANKCON6寄存器中設(shè)置MT=0x3,tred=0x0, SCAN=0x0。
2.2 A/D接口電路
S3C44B0X內(nèi)置8路10位A/D轉(zhuǎn)換器,系統(tǒng)用兩路A/D轉(zhuǎn)換通道(AIN0~AIN1)分別獲得心電、血壓信號的采樣數(shù)據(jù)。由于不帶采樣保持電路,僅在較窄頻帶(0~100Hz)范圍內(nèi)的信號才可能獲得正確的采樣結(jié)果,若設(shè)置ADCPSR寄存器為20,則10位A/D轉(zhuǎn)換的時(shí)間置為10μs。編程時(shí)要注意避免通道間切換延遲所引起的錯(cuò)誤。
2.3 USB接口電路
由于心電數(shù)據(jù)量大,系統(tǒng)采用USB通信接口芯片USB9603實(shí)現(xiàn)采集數(shù)據(jù)的快速傳輸。USB9603是9602的改進(jìn)型,使得對USB通訊的編程相對簡單些,它支持USB1.1協(xié)議的節(jié)點(diǎn)控制器,內(nèi)置7個(gè)FIFO端點(diǎn),其中包括1個(gè)雙向控制端點(diǎn)、3個(gè)發(fā)送端點(diǎn)和3個(gè)接收端點(diǎn)。該芯片沒有專用的USB通信命令集,要通過對芯片內(nèi)的各寄存器的操作實(shí)現(xiàn)USB通信的控制功能。具體措施:USB控制器與S3C44B0X的BANK3連接,即nGCS3作為USB9603的片選線,S3C44B0X的低8位數(shù)據(jù)線D0~D7與USB9603并行數(shù)據(jù)線相連,USB9603的引腳MODE0和MODE1接地,配置為非復(fù)用方式工作;引腳A0作為USB9603片內(nèi)寄存器的選擇線,尋址訪問各寄存器對USB9603的讀寫操作時(shí),分兩個(gè)周期:首先把A0置為高電平,將待訪問的寄存器的地址從數(shù)據(jù)線D0~D7寫入U(xiǎn)SB9603,然后在第二周期把A0置為低電平,由數(shù)據(jù)線實(shí)現(xiàn)相應(yīng)寄存器的讀寫操作。將USB9603的INTR引腳連接到S3C44B0X的外部中斷EXINT1上,設(shè)置USB為中斷請求模式。這樣,整個(gè)USB通信過程主要是處理包括接收數(shù)據(jù)、發(fā)送數(shù)據(jù)在內(nèi)的各種中斷事件。
2.4 電路鍵盤接口及LCD顯示
鍵盤顯示以PS2鍵盤配合LCD液晶顯示模塊代替?zhèn)鹘y(tǒng)的矩陣按鍵和數(shù)碼管顯示,無需鍵盤顯示驅(qū)動(dòng)芯片而與S3C44B0X直接連接,接口簡單方便。PS2鍵盤接口為mini-DIN6引腳連接器,通過DATA、CLK與S3C44B0X的PC4、EXINT0引腳連接。這里只涉及PS2鍵盤向S3C44B0X發(fā)送數(shù)據(jù)的單向通信,S3C44B0X作為主機(jī)對總線有控制權(quán)。PS2鍵盤在時(shí)鐘作用下向S3C44B0X發(fā)送鍵值數(shù)據(jù),S3C44B0X在時(shí)鐘下降沿接收數(shù)據(jù),時(shí)鐘信號由PS2鍵盤內(nèi)部產(chǎn)生。PS2鍵盤發(fā)送時(shí)序及數(shù)據(jù)格式如圖5所示。目前使用的PS2鍵盤都默認(rèn)采用第二套掃描碼集。掃描碼分為通碼和斷碼兩種類型,當(dāng)一個(gè)鍵被按下時(shí),鍵盤將該鍵的通碼發(fā)送給S3C44B0X,而該鍵被釋放時(shí)鍵盤會(huì)將其斷碼發(fā)送給S3C44B0X。S3C44B0X通過外部中斷EXINT0串行讀取鍵值的通碼與斷碼來確定按鍵,從而選擇系統(tǒng)的工作狀態(tài)。第二套掃描碼集可見參考文獻(xiàn)[4]。
S3C44B0X內(nèi)置LCD控制器,可以通過編程控制相應(yīng)的寄存器值,以適應(yīng)不同的LCD顯示板。本系統(tǒng)選用EPSON公司的TCM-A0902單色、320×200LCD模塊,可直接通過S3C44B0X的BANK2來控制。為保證顯示正常,對LCD操作時(shí)應(yīng)加入適當(dāng)?shù)难訒r(shí)。
3 軟件設(shè)計(jì)
編程調(diào)試、軟件仿真是在SDT2.5的調(diào)試平臺(tái)上用標(biāo)準(zhǔn)C語言完成的,系統(tǒng)軟件由初始化、PS2鍵盤處理、A/D轉(zhuǎn)換、LCD顯示及USB通信幾部分構(gòu)成。初始化是通過Bootloader完成對S3C44B0X外部中斷、內(nèi)置A/D轉(zhuǎn)換器、I/O口及LCD控制器的設(shè)置;鍵盤處理是通過外部中斷EINT0讀取鍵值,按預(yù)定鍵值設(shè)置系統(tǒng)的工作模式,完成數(shù)據(jù)的采集、顯示、打印及傳輸?shù)裙δ埽恍盘柕娘@示則是從S3C44B0X的A/D轉(zhuǎn)換數(shù)據(jù)寄存器中讀取數(shù)據(jù)送LCD顯示;USB接口部分主要是固件程序的開發(fā),完成與計(jì)算機(jī)的通信,可根據(jù)芯片廠商提供的固件開發(fā)包來完成。系統(tǒng)控制流程如圖6所示。
本文介紹了利用S3C44B0X微處理器作為核心控制器件,充分利用其片內(nèi)外設(shè)資源實(shí)現(xiàn)了對血壓、心電信號的采集、顯示、打印與傳輸。系統(tǒng)實(shí)用性強(qiáng),人機(jī)接口簡單可靠,體積小、功耗低、便于攜帶,可以方便地在家庭中和社區(qū)內(nèi)使用,是一種經(jīng)濟(jì)實(shí)用的健康監(jiān)護(hù)系統(tǒng)。
評論