基於嵌入式技術的監護系統設計方案
——可擴充套件,如gprs,即時通訊……
1 引言
隨著我國經濟的快速發展、城市化程序的日益加速、人們生活節奏的不斷加快,越來越多的人們開始感到自己的健康每況愈下,很多人直至病情突發才明白。據報道,我國絕大多數人都處於亞健康狀態。隨著現代電子技術的發展,16/32位cpu的廣泛應用,傳統的生理訊號監護儀的cpu系統也在逐漸的由8位cpu向更高位數的處理器發展。隨著監護儀功能的強大,對資料處理速度的要求越來越高,使得8位cpu的發展受到了限制,16/32位cpu可以在遠高於8位cpu的時鐘頻率下正常工作,資料一次性吞吐量大,處理器的**卻在下降,16/32位cpu開始被廣泛應用於生理訊號監護儀中。
該監護系統採用了arm7系列晶元中的lpc2292嵌入式微處理器,主要用來測量人體的生理引數,如:心電圖、血壓、血氧飽和度、體溫等。因為系統需要採集、處理大量的資料資訊,而在cpu上用單任務的軟體來處理這些資料資訊是很難的,甚至是不可能的。因此在設計中選用可同時處理多工的μc/os-ⅱ作業系統。其提供了安全可靠的作業系統平台,縮短了開發周期。
2 系統硬體設計
arm 7系列晶元lpc2292最小系統如圖1所示:
系統的總體結構框圖如圖2所示。
由圖2可看出整個系統以arm 7系列晶元lpc2292為核心,在其外圍擴充套件一些外圍電路,從而實現了對人體生理引數:心電、血壓、血氧飽和度、體溫的安全檢查。系統通過心電模組、血壓模組、血氧飽和度模組、體溫模組採集人體的生理引數、調理電路對這些訊號進行濾波和放大,lpc2292自帶的a/d轉換器將傳輸過來的模擬訊號轉換為數碼訊號,最後人體的各引數指標通過lcd顯示。
2.1 arm系統模組
arm系統是這個系統的控制中心,主要完成運算、控制、管理等工作,是系統工作的核心模組。該系統採用的arm 7系列晶元lpc2292,他是基於乙個支援實時**和跟蹤的16/32位cpu,並帶有256 kb嵌入的高速flash儲存器。128位寬度的儲存器介面和獨特的加速結構使2位**能夠在最大時鐘速率下執行。對**規模有嚴格控制的應用可使用16位thumb模式將**規模降低超過30%,而效能的損失卻很小。由於lpc2292的144腳封裝、極低的功耗、多個32位定時器、8路10位adc、2路pwm通道以及多達9個外部中斷使他們特別適用於醫療系統、汽車、工業控制應用以及容錯維護匯流排。
2.2 lcd顯示模組
lcd顯示模組主要完成資料顯示、輸出資料與顯示資料的同步等功能。由於lpc2292中沒有液晶控制器的功能模組,如果所選擇的液晶屏內部也沒有液晶控制器,那麼,要使cpu可以對液晶進行控制,就必須加設計乙個液晶驅動控制電路。因此本系統中選擇自帶控制器的液晶屏hlm6323。他是5英吋偽彩液晶屏,畫素是320×240點陣,每個點需要rgb三色資料,每種色需要1個位元組資料表示。而設計要求需要連續**圖影象,根據標準需要每秒鐘25幀影象,那麼每秒至少需要傳輸資料為25×8×320×240=15 360 000位資料,若選用序列傳輸,則需要4.6 mb/s的序列傳輸速度,但是遺憾的是,沒有任何一種序列標準傳輸大於這個速度,因此,勢必需要選擇並行的資料傳輸。
2.3 報警模組
當測得的生理引數,如心電、血壓、血氧飽和度、體溫超過預設的正常值,則產生報警,提醒患者趕緊進行**或醫護人員需進行搶救措施。
2.4 flash資料儲存器以及usb介面
為了能夠確保實時資料的儲存,以及提取,從而設計此模組。本系統中選擇nand08gw3d2系列的儲存器晶元。由於該晶元不同儲存密度器件引腳一致,因此系統可以在電路不做改動的情況下公升級為高容量儲存器件。通過usb裝置介面晶元isp1161a1擴充套件出乙個usb的裝置介面。通過該usb介面,可以實現將監護系統
2.5 系統電源
電源設計是乙個系統設計中的關鍵部分,對於整個系統,乙個穩定的、具有一定功率的電源和合理的電源管理是必不可少的。本系統有以下幾種電源:cpu的核心數字和模擬電源電壓+1.8 v,cpu的i/o口數字和模擬電源電壓+3.3 v、匯流排的隔離電源、lcd的驅動電源、lcd的背光逆變電源、其他外圍裝置電源電壓+5 v等電源。
3 軟體設計
本系統的軟體設計主要包括arm的應用程式的開發和μc/os-ⅱ作業系統的移植2個基本部分。arm的應用程式主要包括lcd顯示程式、flash儲存程式、usb通訊程式、鍵盤掃瞄程式、a/d程式和報警程式等。μc/os-ⅱ作業系統是協調lpc2292對程式的任務管理和排程。整個系統的軟體流程圖如圖3所示。
3.1 lcd驅動軟體的設計思想
lcd驅動軟體的功能是完成資料最終輸出顯示,其主要軟體流程有資料的收發、lcd上按鍵的讀取、lcd掃瞄等。資料收發是為了完成資料與cpu、lcd液晶顯示器進行資料的傳輸,cpu通過驅動晶元向lcd輸送資料,而lcd要向cpu返回響應資料等。為了增強人機介面的可讀性,在lcd上設定了幾個按鍵,當有按鍵反應時,應當向cpu發出相應的響應,並且可以通過按鍵對lcd的顯示介面設定和對其他系統引數進行設定。lcd的掃瞄是為了保證顯示不出現明顯間斷、不出現花屏現象,在出現花屏現象時能夠進行準確的錯誤響應。其中的按鍵設計沒有給每個按鍵使用硬體中斷,因為在本系統中,lcd顯示驅動的任務優先順序在應用程式中是最高的,按鍵統一使用乙個硬體外部中斷,然後用軟體對按鍵進行軟體中斷安排,確定軟體優先順序;另乙個原因由於按鍵較多,沒有足夠的硬體中斷設定為按鍵中斷,如果設定為中斷擴 展,除了要進行硬體的擴充套件,還要進行軟體擴充套件,將浪費很多資源。
本設計中,lcd的驅動需要編寫2個檔案,其中乙個是c語言檔案,另乙個是c語言標頭檔案。c語言檔案是通訊介面協議檔案,需要與其他模組進行資料的交換。而標頭檔案是設計一些lcd基本引數,在系統執行中,這些引數基本不變。
3.2 usb通訊軟體的設計思想
本系統設計的usb通訊軟體通過中斷響應來實現,這樣做的目的是cpu在沒有usb裝置或者不需要usb裝置時,可以進行其他工作,節省cpu和作業系統的資源。其有利於保護cpu。
3.3 flash讀寫操作軟體的設計思想
整個程式檔案包括晶元的擦除、晶元的寫入和讀取、資料的效驗等幾個部分。擦除是為了儲存器能夠進行重複利用而不更換晶元;晶元的寫入和讀取是整個檔案的中心,負責儲存器的資料的寫入,在適當時候要讀取資料;效驗是為了保證資料的正確,在錯誤時需要報警。
本設計中,儲存器有3個儲存器位址入口,所有的資料都需要經過這3個位址入口,因此,必須保證此3個位址入口在任何時刻都沒有與其他位址發生位址交叉的狀況。
3.4 μc/os-ⅱ作業系統的移植
μc/os-ⅱ實時作業系統是一種可移植、可固化、可裁剪及可剝奪型的多工實時核心(rtos),適合應用於各種微處理器和微控制器。其效能足可以媲美於各種商用核心,在某些方面表現更佳。所有**都是採用ansi的c語言編寫,故具有良好的可移植性。
μc/os-ⅱ不像其他實時作業系統,他提供給使用者的是乙個標準的api函式,程式開發人員利用作業系統提供的api函式進行應用程式的開發。要想在μc/os-ⅱ核心上進行應用程式的開發,就需要程式開發人員在實時核心基礎上建立自己的實時作業系統。首先,把μc/os-ⅱ移植到自己的硬體目標板上,寫出相應的驅動程式以及使用者圖形介面等;在這些介面函式之上,加上使用者自己的應用程式,就構成了嵌入式軟體。
μc/os-ⅱ的移植條件是:處理器c編譯器能產生可重入型**;處理器支援中斷,並能產生定時中斷;用c語言可以開、關中斷;處理器支援一定數量的資料儲存硬體堆疊;處理器有將堆疊指標及其他cpu寄存內容讀出,並儲存到堆疊或記憶體中的指令這5個方面的要求。philips公司lpc2292晶元和ads1.2的c編譯器一起可以滿足上述5個條件,因此本設計是完全可以移植作業系統,以提高系統的功能。
μc/os-ⅱ軟體的體系結構如圖4所示:
雖然μc/os-ⅱ大部分源**是用c語言寫的,但是完成和處理器有關的一些**時,還是必須要用組合語言來實現的。暫存器的讀、寫只能通過組合語言的儲存和載入指令實現。
移植μc/os-ⅱ到乙個新的體系結構上需要對如下3個檔案進行修改:
(1)c語言標頭檔案os-cpu.h;
(2)c語言原始檔os-cpu.c;
(3)彙編原始檔程式os-cpu-a.asm。
4 結 語
該人體生理引數監護系統在基於arm7微處理器的硬體平台上實現,採用當前流行的μc/os-ⅱ實時多工作業系統,能實時檢測使用者的心電、血壓、血氧飽和度和體溫,並能對其進行資料分析,當出現異常時,能自動報警使使用者得到及時救治。該系統可擴充套件性比較高,可根據需要直接在該系統上進行擴充套件,使其具有gps,gprs,cdma功能的遠端人體生理引數監護儀,甚至可以嵌入anychat sdk元件生成一定時刻用到的即時通訊系統,與外界聯絡。
嵌入式系統設計
嵌入式系統 embedded system 是一種 嵌入機械或電氣系統內部 具有專屬功能的計算機系統 通常要求實時計算效能。被嵌入的系統通常是包含硬體和機械部件的完整裝置。相反,通用計算機如個人計算機則設計靈活,以滿足廣大終端使用者的需求。現在常見的很多裝置都採用嵌入式系統控制。現代嵌入式系統通常是...
基於ARM CLinux嵌入式系統
32位arm嵌入式處理器具有高效能 低軾耗的特性,已被廣泛應用於消費電子產品 無線通訊和網路通訊等領域。clinux是專門為無mmu處理器設計的嵌入式作業系統,支援arm motorola等微處理器。目前國內外採用arm clinux作為嵌入式系統非常普遍。而嵌入式系統的啟動引導技術是嵌入式系統開發...
嵌入式系統設計2
linux介紹 posix gpl gnu bin系統中的命令,普通使用者命令 sbin管理員的命令 dev系統中所有裝置檔案 etc配置檔案 root使用者的工作目錄 home普通使用者的工作目錄 usr存放第三方安裝軟體 庫檔案 標頭檔案 tmp 一般使用者或正在執行的程式臨時存放檔案的目錄,任...