本文介紹了一種基于ARM微處理器的脈象儀系統,該系統以S3C2410嵌入式芯片作為硬件平臺。并且詳細分析了基于uClinux嵌入式操作系統的軟件設計方法。實踐證明該系統有效地提高了診斷的精度與效率,具有成本低、可靠性高、操作簡單等優點。 1 引言 脈象攜帶有豐富的人體健康狀況的信息。在中醫學中,脈診占有非常重要的位置。由于中醫是靠手指獲取脈搏信息,在長期的醫療實踐中也暴露出一些缺陷。脈診的定性化和主觀性大大影響了其精度與可行性,成為中醫脈診應用和發展中的制約因素。為了促進脈診的應用和發展,必須與現代科技相結合,實現更科學、客觀的診斷。隨著嵌入式技術的飛速發展,我們研制出一種基于ARM920T處理器的新型脈象儀。它采用一款ARM920T核的高速處理器S3C2410。該新型脈象儀具有成本低,體積小,可靠性高和操作簡單等優點,適用于個人和中小醫院的脈象診斷用途。 2 系統總體設計思想 按照中醫脈診的理論,從左右手腕的寸、關、尺三部按不同的輕重可獲知人體五臟六腑的病理變化,模擬中醫脈診過程,設計中醫脈象儀。脈象儀原理圖如圖1所示。 圖1 脈象儀原理圖 圖2 傳感器結構圖 3 系統硬件模塊設計 3.1 嵌入式處理器的選擇 系統采用了ARM920T作為系統與上位機溝通的橋梁。該實驗箱如圖3所示。 圖3 ARM920T實驗箱圖 片上資源包括2個32位定時器;1個A/D輸入接口;18個多功能I/O接口;1個CPLD;1個64M的SDRAM;1個4M的Flash;1個64M 的Nand Flash控制器;還有中斷控制器和系統管理器。 處理器采用芯片S3C2410。S3C2410有出色的內核性能,豐富的外部接口和低功耗。在系統中我們用到2種內存,一種SDRAM,一種Flash。 SDRAM具有運行速度快的優點,但是掉電后不能保存數據。所以在系統主要是用來運行操作系統、應用程序和各類數據的緩存。 Flash內存較SDRAM運行速度慢.但掉電后能保存數據。在該系統設計中選用一種通用的Flash (SST39VF1601),容量為2MB,主要用于固化啟動代碼和控制應用程序,并保存一些系統數據。 3.2 A/D轉換 A/D轉換電路采用MAXIM公司的MAX197,MAX197采用逐次逼近技術以達到快速變換和低功耗。如圖4所示。 圖4 MAX197 4 系統軟件設計 為了滿足系統對實時性和安全性的要求,系統采用了嵌入式操作系統uClinux。uClinux是針對微控制領域而設計的linux系統,是在linux的基礎上添加了對沒有內存管理單元的微處理器的支持。一方面它繼承了linux的穩定性優點,另一方面其內核相當精簡。因此在嵌入式領域得到廣泛應用。 該脈象儀系統的軟件主要由三個部分組成,系統軟件結構如圖5所示,包括嵌入式linux操作系統,A/D驅動程序和應用程序。 圖5 系統軟件結構 4.1 嵌入式uClinux的構建 將嵌入式uClinux系統移植到特定的硬件平臺上,大致需要完成建立叉編譯環境,配置編譯uClinux內核,制作根文件系統,下載和調試內核四部分的工作。 4.2 A/D驅動程序的設計 在uClinux系統下,驅動程序可以看成uClinux內核與外部設備之間的接口。驅動程序向應用程序屏蔽了硬件實現上的細節?梢允褂煤筒僮魑募邢嗤南到y調用接口函數來完成對硬件設備的打開,關閉,讀,寫以及I/O控制操作。 本系統中的A/D驅動程序主要結構包括: 。1)數據類型定義文件 #define U32 unsigned int #define U16 unsigned short #define S32 int #define S16 short int #define U8 unsigned char #define S8 char #define TRUE 1 #define FALSE 0 #define ERROR 0 。2)啟動A/D轉換文件 void INT_ADC_Enable(int flag) { int temp;//定義臨時變量 if(flag == FALSE) { temp = rINTSUBMSK; temp |=(1<<10); rINTSUBMSK = temp; temp = rINTMSK; temp |=0x80000000; rINTMSK = temp; } else { temp = rINTSUBMSK; temp = 0x5ff; rINTSUBMSK = temp; temp = rINTMSK; temp &= ~(0x80000000) ; rINTMSK = temp; } } (3)主程序文件 #include "2410addr.h"http://調用S3C2410地址頭文件 #include "def.h"http://調用數據類型頭文件 main() { clrsrc();//刷新操作 INT_ADC_Enable(int flag);//啟動A/D轉換 … … } 4.3 應用程序的設計 應用程序是實現系統所需功能的核心部分,主要是A/D采樣分析。該部分主要負責對采集到的脈象模擬信號進行數模轉換,并根據脈象的時域和頻域特征進行分析脈象圖的結構。 5 結束語 本文作者創新點是,與傳統的中醫脈象儀相比,基于ARM的脈象儀具有高性能,低成本,電路簡潔可靠和擴展性好等優點。嵌入式uClinux的引入保證了系統穩定和運行的可靠。ARM技術將計算機硬件和軟件有機的融為一體,它使測試設備簡單化,軟件設計變得更加靈活,具有無比的優越性。ARM技術應用于脈象儀具有很高的應用價值和良好的市場前景,值得我們深入研究。 |