《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于A(yíng)RM的人體生理參數(shù)監(jiān)護(hù)系統(tǒng)的設(shè)計(jì)
基于A(yíng)RM的人體生理參數(shù)監(jiān)護(hù)系統(tǒng)的設(shè)計(jì)
摘要: 該監(jiān)護(hù)系統(tǒng)采用了ARM7系列芯片中的LPC2292嵌入式微處理器,主要用來(lái)測(cè)量人體的生理參數(shù),,如:心電圖、血壓,、血氧飽和度、體溫等。因?yàn)橄到y(tǒng)需要采集、處理大量的數(shù)據(jù)信息,,而在CPU上用單任務(wù)的軟件來(lái)處理這些數(shù)據(jù)信息是很難的,,甚至是不可能的。因此在設(shè)計(jì)中選用可同時(shí)處理多任務(wù)的 μC/OS-Ⅱ操作系統(tǒng),。其提供了安全可靠的操作系統(tǒng)平臺(tái),縮短了開(kāi)發(fā)周期,。
Abstract:
Key words :

1 引言

隨著我國(guó)經(jīng)濟(jì)的快速發(fā)展,、城市化進(jìn)程的日益加速、人們生活節(jié)奏的不斷加快,,越來(lái)越多的人們開(kāi)始感到自己的健康每況愈下,,很多人直至病情突發(fā)才明白。據(jù)報(bào)道,,我國(guó)絕大多數(shù)人都處于亞健康狀態(tài),。隨著現(xiàn)代電子技術(shù)的發(fā)展,16/32位CPU的廣泛應(yīng)用,,傳統(tǒng)的生理信號(hào)監(jiān)護(hù)儀的CPU系統(tǒng)也在逐漸的由8位 CPU向更高位數(shù)的處理器發(fā)展,。隨著監(jiān)護(hù)儀功能的強(qiáng)大,對(duì)數(shù)據(jù)處理速度的要求越來(lái)越高,,使得8位CPU的發(fā)展受到了限制,,16/32位CPU可以在遠(yuǎn)高于 8位CPU的時(shí)鐘頻率下正常工作,數(shù)據(jù)一次性吞吐量大,,處理器的價(jià)格卻在下降,,16/32位CPU開(kāi)始被廣泛應(yīng)用于生理信號(hào)監(jiān)護(hù)儀中。

該監(jiān)護(hù)系統(tǒng)采用了ARM7系列芯片中的LPC2292嵌入式微處理器,,主要用來(lái)測(cè)量人體的生理參數(shù),,如:心電圖、血壓,、血氧飽和度,、體溫等。因?yàn)橄到y(tǒng)需要采集,、處理大量的數(shù)據(jù)信息,,而在CPU上用單任務(wù)的軟件來(lái)處理這些數(shù)據(jù)信息是很難的,甚至是不可能的,。因此在設(shè)計(jì)中選用可同時(shí)處理多任務(wù)的 μC/OS-Ⅱ操作系統(tǒng),。其提供了安全可靠的操作系統(tǒng)平臺(tái),縮短了開(kāi)發(fā)周期,。

2 系統(tǒng)硬件設(shè)計(jì)

ARM 7系列芯片LPC2292最小系統(tǒng)如圖1所示:
 

系統(tǒng)的總體結(jié)構(gòu)框圖如圖2所示:
 


由圖2可看出整個(gè)系統(tǒng)以ARM 7系列芯片LPC2292為核心,,在其外圍擴(kuò)展一些外圍電路,從而實(shí)現(xiàn)了對(duì)人體生理參數(shù):心電,、血壓、血氧飽和度,、體溫的安全檢查。系統(tǒng)通過(guò)心電模塊,、血壓模塊,、血氧飽和度模塊、體溫模塊采集人體的生理參數(shù),、調(diào)理電路對(duì)這些信號(hào)進(jìn)行濾波和放大,,LPC2292自帶的A/D轉(zhuǎn)換器將傳輸過(guò)來(lái)的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),最后人體的各參數(shù)指標(biāo)通過(guò)LCD顯示,。

2.1 ARM系統(tǒng)模塊

ARM系統(tǒng)是這個(gè)系統(tǒng)的控制中心,,主要完成運(yùn)算、控制,、管理等工作,,是系統(tǒng)工作的核心模塊。該系統(tǒng)采用的ARM 7系列芯片LPC2292,,他是基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的16/32位CPU,,并帶有256 kb嵌入的高速FLASH存儲(chǔ)器。128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使2位代碼能夠在最大時(shí)鐘速率下運(yùn)行,。對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16 位Thumb模式將代碼規(guī)模降低超過(guò)30%,,而性能的損失卻很小。由于LPC2292的144腳封裝,、極低的功耗,、多個(gè)32位定時(shí)器、8路10位ADC,、 2路PWM通道以及多達(dá)9個(gè)外部中斷使他們特別適用于醫(yī)療系統(tǒng),、汽車(chē)、工業(yè)控制應(yīng)用以及容錯(cuò)維護(hù)總線(xiàn),。

2.2 LCD顯示模塊

LCD顯示模塊主要完成數(shù)據(jù)顯示,、輸出數(shù)據(jù)與顯示數(shù)據(jù)的同步等功能。由于LPC2292中沒(méi)有液晶控制器的功能模塊,,如果所選擇的液晶屏內(nèi)部也沒(méi)有液晶控制器,,那么,要使CPU可以對(duì)液晶進(jìn)行控制,,就必須加設(shè)計(jì)一個(gè)液晶驅(qū)動(dòng)控制電路,。因此本系統(tǒng)中選擇自帶控制器的液晶屏HLM6323。他是5英寸偽彩液晶屏,,像素是320×240點(diǎn)陣,,每個(gè)點(diǎn)需要RGB三色數(shù)據(jù),每種色需要1個(gè)字節(jié)數(shù)據(jù)表示,。而設(shè)計(jì)要求需要連續(xù)觀(guān)看圖圖像,,根據(jù)標(biāo)準(zhǔn)需要每秒鐘25幀圖像,,那么每秒至少需要傳輸數(shù)據(jù)為25×8×320×240=15 360 000位數(shù)據(jù),若選用串行傳輸,,則需要4.6 Mb/s的串行傳輸速度,,但是遺憾的是,沒(méi)有任何一種串行標(biāo)準(zhǔn)傳輸大于這個(gè)速度,,因此,,勢(shì)必需要選擇并行的數(shù)據(jù)傳輸。

2.3 報(bào)警模塊

當(dāng)測(cè)得的生理參數(shù),,如心電、血壓,、血氧飽和度,、體溫超過(guò)預(yù)設(shè)的正常值,則產(chǎn)生報(bào)警,,提醒患者趕緊進(jìn)行治療或醫(yī)護(hù)人員需進(jìn)行搶救措施,。

2.4 FLASH數(shù)據(jù)存儲(chǔ)器以及USB接口

為了能夠確保實(shí)時(shí)數(shù)據(jù)的保存,以及提取,,從而設(shè)計(jì)此模塊,。本系統(tǒng)中選擇NAND08GW3D2系列的存儲(chǔ)器芯片。由于該芯片不同存儲(chǔ)密度器件引腳一致,,因此系統(tǒng)可以在電路不做改動(dòng)的情況下升級(jí)為高容量存儲(chǔ)器件,。通過(guò)USB設(shè)備接口芯片ISP1161A1擴(kuò)展出一個(gè)USB的設(shè)備接口。通過(guò)該USB接口,,可以實(shí)現(xiàn)將監(jiān)護(hù)系統(tǒng)記錄的數(shù)據(jù)上傳到PC機(jī),,PC機(jī)也可以通過(guò)該接口下載程序到LPC2292處理器的存儲(chǔ)器中。

2.5 系統(tǒng)電源

電源設(shè)計(jì)是一個(gè)系統(tǒng)設(shè)計(jì)中的關(guān)鍵部分,,對(duì)于整個(gè)系統(tǒng),,一個(gè)穩(wěn)定的、具有一定功率的電源和合理的電源管理是必不可少的,。本系統(tǒng)有以下幾種電源:CPU 的內(nèi)核數(shù)字和模擬電源電壓+1.8 V,,CPU的I/O口數(shù)字和模擬電源電壓+3.3 V、總線(xiàn)的隔離電源,、LCD的驅(qū)動(dòng)電源,、LCD的背光逆變電源、其他外圍設(shè)備電源電壓+5 V等電源,。

3 軟件設(shè)計(jì)

本系統(tǒng)的軟件設(shè)計(jì)主要包括ARM的應(yīng)用程序的開(kāi)發(fā)和μC/OS-Ⅱ操作系統(tǒng)的移植2個(gè)基本部分,。ARM的應(yīng)用程序主要包括LCD顯示程序、 FLASH存儲(chǔ)程序,、USB通信程序,、鍵盤(pán)掃描程序,、A/D程序和報(bào)警程序等。μC/OS-Ⅱ操作系統(tǒng)是協(xié)調(diào)LPC2292對(duì)程序的任務(wù)管理和調(diào)度,。整個(gè)系統(tǒng)的軟件流程圖如圖3所示,。
 

3.1 LCD驅(qū)動(dòng)軟件的設(shè)計(jì)思想


LCD驅(qū)動(dòng)軟件的功能是完成數(shù)據(jù)最終輸出顯示,其主要軟件流程有數(shù)據(jù)的收發(fā),、LCD上按鍵的讀取,、LCD掃描等。數(shù)據(jù)收發(fā)是為了完成數(shù)據(jù)與CPU,、 LCD液晶顯示器進(jìn)行數(shù)據(jù)的傳輸,,CPU通過(guò)驅(qū)動(dòng)芯片向LCD輸送數(shù)據(jù),而LCD要向CPU返回響應(yīng)數(shù)據(jù)等,。為了增強(qiáng)人機(jī)界面的可讀性,,在LCD上設(shè)置了幾個(gè)按鍵,當(dāng)有按鍵反應(yīng)時(shí),,應(yīng)當(dāng)向CPU發(fā)出相應(yīng)的響應(yīng),,并且可以通過(guò)按鍵對(duì)LCD的顯示界面設(shè)置和對(duì)其他系統(tǒng)參數(shù)進(jìn)行設(shè)置。LCD的掃描是為了保證顯示不出現(xiàn)明顯間斷,、不出現(xiàn)花屏現(xiàn)象,,在出現(xiàn)花屏現(xiàn)象時(shí)能夠進(jìn)行準(zhǔn)確的錯(cuò)誤響應(yīng)。其中的按鍵設(shè)計(jì)沒(méi)有給每個(gè)按鍵使用硬件中斷,,因?yàn)樵诒鞠到y(tǒng)中,,LCD顯示驅(qū)動(dòng)的任務(wù)優(yōu)先級(jí)在應(yīng)用程序中是最高的,按鍵統(tǒng)一使用一個(gè)硬件外部中斷,,然后用軟件對(duì)按鍵進(jìn)行軟件中斷安排,,確定軟件優(yōu)先級(jí);另一個(gè)原因由于按鍵較多,,沒(méi)有足夠的硬件中斷設(shè)置為按鍵中斷,,如果設(shè)置為中斷擴(kuò)展,除了要進(jìn)行硬件的擴(kuò)展,,還要進(jìn)行軟件擴(kuò)展,,將浪費(fèi)很多資源。

本設(shè)計(jì)中,,LCD的驅(qū)動(dòng)需要編寫(xiě)2個(gè)文件,,其中一個(gè)是C語(yǔ)言文件,另一個(gè)是C語(yǔ)言頭文件,。C語(yǔ)言文件是通信接口協(xié)議文件,,需要與其他模塊進(jìn)行數(shù)據(jù)的交換。而頭文件是設(shè)計(jì)一些LCD基本參數(shù),在系統(tǒng)運(yùn)行中,,這些參數(shù)基本不變,。

3.2 USB通信軟件的設(shè)計(jì)思想

本系統(tǒng)設(shè)計(jì)的USB通信軟件通過(guò)中斷響應(yīng)來(lái)實(shí)現(xiàn),這樣做的目的是CPU在沒(méi)有USB設(shè)備或者不需要USB設(shè)備時(shí),,可以進(jìn)行其他工作,,節(jié)省CPU和操作系統(tǒng)的資源。其有利于保護(hù)CPU,。

3.3 FLASH讀寫(xiě)操作軟件的設(shè)計(jì)思想

整個(gè)程序文件包括芯片的擦除,、芯片的寫(xiě)入和讀取、數(shù)據(jù)的效驗(yàn)等幾個(gè)部分,。擦除是為了存儲(chǔ)器能夠進(jìn)行重復(fù)利用而不更換芯片,;芯片的寫(xiě)入和讀取是整個(gè)文件的中心,負(fù)責(zé)存儲(chǔ)器的數(shù)據(jù)的寫(xiě)入,,在適當(dāng)時(shí)候要讀取數(shù)據(jù),;效驗(yàn)是為了保證數(shù)據(jù)的正確,在錯(cuò)誤時(shí)需要報(bào)警,。

本設(shè)計(jì)中,存儲(chǔ)器有3個(gè)存儲(chǔ)器地址入口,,所有的數(shù)據(jù)都需要經(jīng)過(guò)這3個(gè)地址入口,,因此,必須保證此3個(gè)地址入口在任何時(shí)刻都沒(méi)有與其他地址發(fā)生地址交叉的狀況,。

3.4 μC/OS-Ⅱ操作系統(tǒng)的移植

μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)是一種可移植,、可固化、可裁剪及可剝奪型的多任務(wù)實(shí)時(shí)內(nèi)核(RTOS),,適合應(yīng)用于各種微處理器和微控制器,。其性能足可以媲美于各種商用內(nèi)核,在某些方面表現(xiàn)更佳,。所有代碼都是采用ANSI的C語(yǔ)言編寫(xiě),,故具有良好的可移植性。

μC/OS-Ⅱ不像其他實(shí)時(shí)操作系統(tǒng),,他提供給用戶(hù)的是一個(gè)標(biāo)準(zhǔn)的API函數(shù),,程序開(kāi)發(fā)人員利用操作系統(tǒng)提供的API函數(shù)進(jìn)行應(yīng)用程序的開(kāi)發(fā)。要想在 μC/OS-Ⅱ內(nèi)核上進(jìn)行應(yīng)用程序的開(kāi)發(fā),,就需要程序開(kāi)發(fā)人員在實(shí)時(shí)內(nèi)核基礎(chǔ)上建立自己的實(shí)時(shí)操作系統(tǒng),。首先,把μC/OS-Ⅱ移植到自己的硬件目標(biāo)板上,,寫(xiě)出相應(yīng)的驅(qū)動(dòng)程序以及用戶(hù)圖形界面等,;在這些接口函數(shù)之上,加上用戶(hù)自己的應(yīng)用程序,,就構(gòu)成了嵌入式軟件,。

μC/OS-Ⅱ的移植條件是:處理器C編譯器能產(chǎn)生可重入型代碼,;處理器支持中斷,并能產(chǎn)生定時(shí)中斷,;用C語(yǔ)言可以開(kāi),、關(guān)中斷;處理器支持一定數(shù)量的數(shù)據(jù)存儲(chǔ)硬件堆棧,;處理器有將堆棧指針及其他CPU寄存內(nèi)容讀出,,并保存到堆棧或內(nèi)存中的指令這5個(gè)方面的要求,。Philips公司LPC2292芯片和 ADS1.2的C編譯器一起可以滿(mǎn)足上述5個(gè)條件,,因此本設(shè)計(jì)是完全可以移植操作系統(tǒng),以提高系統(tǒng)的功能,。

μC/OS-Ⅱ軟件的體系結(jié)構(gòu)如圖4所示:
 


雖然μC/OS-Ⅱ大部分源代碼是用C語(yǔ)言寫(xiě)的,,但是完成和處理器有關(guān)的一些代碼時(shí),還是必須要用匯編語(yǔ)言來(lái)實(shí)現(xiàn)的,。寄存器的讀,、寫(xiě)只能通過(guò)匯編語(yǔ)言的存儲(chǔ)和加載指令實(shí)現(xiàn)。

移植μC/OS-Ⅱ到一個(gè)新的體系結(jié)構(gòu)上需要對(duì)如下3個(gè)文件進(jìn)行修改:

(1)c語(yǔ)言頭文件OS-CPU.H,;

(2)C語(yǔ)言源文件OS-CPU.C,;

(3)匯編源文件程序OS-CPU-A.ASM。

4 結(jié)語(yǔ)

人體生理參數(shù)監(jiān)護(hù)系統(tǒng)在基于A(yíng)RM7微處理器的硬件平臺(tái)上實(shí)現(xiàn),,采用當(dāng)前流行的C/OS-Ⅱ?qū)崟r(shí)多任務(wù)操作系統(tǒng),,能實(shí)時(shí)檢測(cè)用戶(hù)的心電、血壓,、血氧飽和度和體溫,,并能對(duì)其進(jìn)行數(shù)據(jù)分析,當(dāng)出現(xiàn)異常時(shí),,能自動(dòng)報(bào)警使用戶(hù)得到及時(shí)救治,。該系統(tǒng)可擴(kuò)展性比較高,可根據(jù)需要直接在該系統(tǒng)上進(jìn)行擴(kuò)展,,使其具有 GPS,,GPRS,CDMA功能的遠(yuǎn)程人體生理參數(shù)監(jiān)護(hù)儀,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。