ARM在脈象儀系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1
指脈搏應(yīng)指的強(qiáng)弱、流暢等趨勢(shì)。脈勢(shì)包含著多種因素,如脈動(dòng)的軸向和徑向力度;主要有由心臟和阻力影響所產(chǎn)生的流利度;由血管彈性和張力影響而產(chǎn)生的緊張度等。每次診脈均應(yīng)診察脈動(dòng)勢(shì)力的強(qiáng)弱及流暢程度。正常脈象,應(yīng)指和緩,力度適中。應(yīng)指有力為實(shí)脈;應(yīng)指無(wú)力為虛脈;通暢狀態(tài)較好,脈來(lái)流利圓滑者為滑脈;通暢狀態(tài)較差,脈來(lái)艱澀不暢者為澀脈等。為了促進(jìn)脈診的應(yīng)用和發(fā)展,必須與現(xiàn)代科技相結(jié)合,實(shí)現(xiàn)更科學(xué)、客觀的診斷。隨著嵌入式技術(shù)的飛速發(fā)展,我們研制出一種基于ARM920T處理器的新型脈象儀。它采用一款A(yù)RM920T核的高速處理器S3C2410.該新型脈象儀具有成本低,體積小,可靠性高和操作簡(jiǎn)單等優(yōu)點(diǎn),適用于個(gè)人和中小醫(yī)院的脈象診斷用途。
2 系統(tǒng)總體設(shè)計(jì)思想
按照中醫(yī)脈診的理論,從左右手腕的寸、關(guān)、尺三部按不同的輕重可獲知人體五臟六腑的病理變化,模擬中醫(yī)脈診過(guò)程,設(shè)計(jì)中醫(yī)脈象儀。脈象儀原理圖如圖1所示。
圖1 脈象儀原理圖
應(yīng)變式傳感器是基于測(cè)量物體受力變形所產(chǎn)生的應(yīng)變的一種傳感器。電阻應(yīng)變片則是其最常采用的傳感元件。它是一種能將機(jī)械構(gòu)件上應(yīng)變的變化轉(zhuǎn)換為電阻變化的傳感元件。在測(cè)試時(shí),將應(yīng)變片用粘合劑牢固地粘貼在被測(cè)試件的表面上,隨著試件受力變形,應(yīng)變片的敏感柵也獲得同樣的變形,從而使其電阻隨之發(fā)生變化,而此電阻變化是與試件應(yīng)變成比例的,因此如果通過(guò)一定測(cè)量線路將這種電阻變化轉(zhuǎn)換為電壓或電流變化,然后再用顯示記錄儀表將其顯示記錄下來(lái),就能知道被測(cè)試件應(yīng)變量的大小
應(yīng)變式傳感器是脈象儀普遍采用的一類(lèi)傳感器。某些固體材料受到外力的作用后,其電阻率要發(fā)生變化,這種由于應(yīng)力的作用而使材料電阻率發(fā)生變化的現(xiàn)象稱(chēng)為壓阻效應(yīng)。半導(dǎo)體應(yīng)變片測(cè)量應(yīng)變的原理是以半導(dǎo)體晶體的壓阻效應(yīng)為基礎(chǔ)的。用此應(yīng)變片制成的傳感器稱(chēng)為半導(dǎo)體應(yīng)變式傳感器。傳感器結(jié)構(gòu)圖如圖2所示,上下各一片半導(dǎo)體應(yīng)變片。
圖2 傳感器結(jié)構(gòu)圖
應(yīng)變式傳感器的基本組成部件包括:應(yīng)變片、彈性元件、測(cè)量電橋。本文中選用懸壁梁式壓力傳感器,應(yīng)變片采用半導(dǎo)體應(yīng)變片。
3 系統(tǒng)硬件模塊設(shè)計(jì)
3.1 嵌入式處理器的選擇
嵌入式微處理器是由通用計(jì)算機(jī)中的CPU演變而來(lái)的。它的特征是具有32位以上的處理器,具有較高的性能,當(dāng)然其價(jià)格也相應(yīng)較高。但與計(jì)算機(jī)處理器不同的是,在實(shí)際嵌入式應(yīng)用中,只保留和嵌入式應(yīng)用緊密相關(guān)的功能硬件,去除其他的冗余功能部分,這樣就以最低的功耗和資源實(shí)現(xiàn)嵌入式應(yīng)用的特殊要求。和工業(yè)控制計(jì)算機(jī)相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優(yōu)點(diǎn)。
系統(tǒng)采用了ARM920T作為系統(tǒng)與上位機(jī)溝通的橋梁。該實(shí)驗(yàn)箱如圖3所示。
圖3 ARM920T實(shí)驗(yàn)箱圖
ARM920T有如下幾個(gè)主要特點(diǎn):處理器有高性能的RISC構(gòu)架;大量的內(nèi)部寄存器讓它的執(zhí)行效率非常高,使它成為實(shí)時(shí)控制設(shè)備的理想選擇。片上的Flash可在線編程。
片上資源包括2個(gè)32位定時(shí)器;1個(gè)A/D輸入接口;18個(gè)多功能I/O接口;1個(gè)CPLD;1個(gè)64M的SDRAM;1個(gè)4M的Flash;1個(gè)64M 的Nand Flash控制器;還有中斷控制器和系統(tǒng)管理器。
處理器采用芯片S3C2410.S3C2410有出色的內(nèi)核性能,豐富的外部接口和低功耗。在系統(tǒng)中我們用到2種內(nèi)存,一種SDRAM,一種Flash.
SDRAM具有運(yùn)行速度快的優(yōu)點(diǎn),但是掉電后不能保存數(shù)據(jù)。所以在系統(tǒng)主要是用來(lái)運(yùn)行操作系統(tǒng)、應(yīng)用程序和各類(lèi)數(shù)據(jù)的緩存。
Flash內(nèi)存較SDRAM運(yùn)行速度慢。但掉電后能保存數(shù)據(jù)。在該系統(tǒng)設(shè)計(jì)中選用一種通用的Flash (SST39VF1601),容量為2MB,主要用于固化啟動(dòng)代碼和控制應(yīng)用程序,并保存一些系統(tǒng)數(shù)據(jù)。
3.2 A/D轉(zhuǎn)換
A/D轉(zhuǎn)換電路采用MAXIM公司的MAX197,MAX197采用逐次逼近技術(shù)以達(dá)到快速變換和低功耗。如圖4所示。
圖4 MAX197
預(yù)處理電路包括了電流電壓互感器、隔離電路和同步采樣電路,可以將信號(hào)轉(zhuǎn)換成MAX197相匹配的量值。圖4所示的電路采用了內(nèi)部時(shí)鐘。 和 邏輯輸入端用于啟動(dòng)變換和從器件讀出數(shù)據(jù)。
4 系統(tǒng)軟件設(shè)計(jì)
為了滿足系統(tǒng)對(duì)實(shí)時(shí)性和安全性的要求,系統(tǒng)采用了嵌入式操作系統(tǒng)uClinux.一方面它繼承了linux的穩(wěn)定性優(yōu)點(diǎn),另一方面其內(nèi)核相當(dāng)精簡(jiǎn)。因此在嵌入式領(lǐng)域得到廣泛應(yīng)用。
該脈象儀系統(tǒng)的軟件主要由三個(gè)部分組成,系統(tǒng)軟件結(jié)構(gòu)如圖5所示,包括嵌入式linux操作系統(tǒng),A/D驅(qū)動(dòng)程序和應(yīng)用程序。
圖5 系統(tǒng)軟件結(jié)構(gòu)
4.1 嵌入式uClinux的構(gòu)建
uCLinux是一種優(yōu)秀的嵌入式Linux版本,是micro-Conrol-Linux的縮寫(xiě)。它秉承了標(biāo)準(zhǔn)Linux的優(yōu)良特性,經(jīng)過(guò)各方面的小型化改造,形成了一個(gè)高度優(yōu)化的、代碼緊湊的嵌入式Linux.雖然它的體積很小,卻仍然保留了Linux的大多數(shù)的優(yōu)點(diǎn):穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能、對(duì)各種文件系統(tǒng)完備的支持和標(biāo)準(zhǔn)豐富的API.它專(zhuān)為嵌入式系統(tǒng)做了許多小型化的工作,目前已支持多款CPU.其編譯后目標(biāo)文件可控制在幾百KB數(shù)量級(jí),并已經(jīng)被成功地移植到很多平臺(tái)上。
將嵌入式uClinux系統(tǒng)移植到特定的硬件平臺(tái)上,大致需要完成建立叉編譯環(huán)境,配置編譯uClinux內(nèi)核,制作根文件系統(tǒng),下載和調(diào)試內(nèi)核四部分的工作。
4.2 A/D驅(qū)動(dòng)程序的設(shè)計(jì)
在uClinux系統(tǒng)下,驅(qū)動(dòng)程序可以看成uClinux內(nèi)核與外部設(shè)備之間的接口。驅(qū)動(dòng)程序向應(yīng)用程序屏蔽了硬件實(shí)現(xiàn)上的細(xì)節(jié)。可以使用和操作文件中相同的系統(tǒng)調(diào)用接口函數(shù)來(lái)完成對(duì)硬件設(shè)備的打開(kāi),關(guān)閉,讀,寫(xiě)以及I/O控制操作。
本系統(tǒng)中的A/D驅(qū)動(dòng)程序主要結(jié)構(gòu)包括:
(1)數(shù)據(jù)類(lèi)型定義文件
#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)啟動(dòng)A/D轉(zhuǎn)換文件
void INT_ADC_Enable(int flag)
{
int temp;//定義臨時(shí)變量
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://調(diào)用S3C2410地址頭文件
#include "def.h"http://調(diào)用數(shù)據(jù)類(lèi)型頭文件
main()
{
clr src();//刷新操作
INT_ADC_Enable(int flag);//啟動(dòng)A/D轉(zhuǎn)換
… …
}
4.3 應(yīng)用程序的設(shè)計(jì)
應(yīng)用程序是實(shí)現(xiàn)系統(tǒng)所需功能的核心部分,主要是A/D采樣分析。該部分主要負(fù)責(zé)對(duì)采集到的脈象模擬信號(hào)進(jìn)行數(shù)模轉(zhuǎn)換,并根據(jù)脈象的時(shí)域和頻域特征進(jìn)行分析脈象圖的結(jié)構(gòu)。
5 結(jié)束語(yǔ)
本文作者創(chuàng)新點(diǎn)是,與傳統(tǒng)的中醫(yī)脈象儀相比,基于ARM的脈象儀具有高性能,低成本,電路簡(jiǎn)潔可靠和擴(kuò)展性好等優(yōu)點(diǎn)。嵌入式uClinux的引入保證了系統(tǒng)穩(wěn)定和運(yùn)行的可靠。ARM技術(shù)將計(jì)算機(jī)硬件和軟件有機(jī)的融為一體,它使測(cè)試設(shè)備簡(jiǎn)單化,軟件設(shè)計(jì)變得更加靈活,具有無(wú)比的優(yōu)越性。ARM技術(shù)應(yīng)用于脈象儀具有很高的應(yīng)用價(jià)值和良好的市場(chǎng)前景,值得我們深入研究。
QICK