嵌入式醫(yī)療保健終端系統(tǒng)的研究與實現(xiàn)_第1頁
嵌入式醫(yī)療保健終端系統(tǒng)的研究與實現(xiàn)_第2頁
嵌入式醫(yī)療保健終端系統(tǒng)的研究與實現(xiàn)_第3頁
嵌入式醫(yī)療保健終端系統(tǒng)的研究與實現(xiàn)_第4頁
嵌入式醫(yī)療保健終端系統(tǒng)的研究與實現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

嵌入式醫(yī)療保健終端系統(tǒng)的研究與實現(xiàn)1.課題背景隨著科學(xué)技術(shù)的進(jìn)步和人民生活水平的日益提高,人均壽命同益延長,老年人的醫(yī)療保健問題成了社會廣泛關(guān)注的焦點。家庭醫(yī)療保健系統(tǒng)在這種社會大環(huán)境下應(yīng)運而生,本文研究和實現(xiàn)了一種基于嵌入式技術(shù),以家庭為核心的“家庭——效勞網(wǎng)絡(luò)——醫(yī)生〞的三層體系結(jié)構(gòu)的家庭醫(yī)療保健系統(tǒng)。終端通過以太網(wǎng)接入Internet,利用TCP/IP協(xié)議進(jìn)行數(shù)據(jù)傳輸,實現(xiàn)生理參數(shù)信號的采集、傳輸及遠(yuǎn)程醫(yī)療。工作過程:通過血壓計、心率計、血糖計等數(shù)字儀器采集老年人的各種生理參數(shù),經(jīng)過RS232串行門或USB口送入嵌入式醫(yī)療保健終端系統(tǒng),然后該終端系統(tǒng)對數(shù)據(jù)打包并通過網(wǎng)絡(luò)傳送給效勞器端,效勞器端處理數(shù)據(jù)后及時與醫(yī)院、主治醫(yī)師取得聯(lián)系??蛻舳伺c效勞器端可以連接攝像頭和麥克風(fēng),雙方進(jìn)行視頻遠(yuǎn)程醫(yī)療。圖1.1是醫(yī)療保健系統(tǒng)總體結(jié)構(gòu)圖。.硬件體系結(jié)構(gòu)2.1終端系統(tǒng)硬件平臺的結(jié)構(gòu)及功能終端系統(tǒng)硬件平臺的整體架構(gòu)本課題采用的硬件平臺是UP—NETARM3000,運行嵌入式系統(tǒng)中應(yīng)用非常廣泛的uC/os—II和uClinux雙操作系統(tǒng),其主板資源有:MPU:SamsungS3C44BOX;NandFlash:K9F2808UOC;NorFlash:AM29LVl60DB;SDRAM:HY57V281620HCT;320*240STN彩色LCD;觸摸屏;一個USB從口;網(wǎng)卡:RTL8019AS,lOM以太網(wǎng)口;2個RS232標(biāo)準(zhǔn)串行口;JTAG接口(包括14Pin和lOPin標(biāo)準(zhǔn));IIC接口;IIS音頻CODEC;ATA硬盤接口;通用串行口UART(UniversalAsynchronousReceiver/Transmitter)又稱作通用異步收發(fā)器,它是用于控制計算機(jī)與串行設(shè)備的芯片。S3C44BOX本身集成有UART控制器,主要通過對UART特殊功能存放器設(shè)置來控制UART操作的。S3C44BOX的UART單元特性包括:1.基于DMA或中斷操作的RxDO、RxDl、TxDO、TxDl;2.UART通道0支持紅外發(fā)送與接收;3.UART通道1支持紅外發(fā)送與接收;4.支持握手模式傳輸與發(fā)送。2.1.3以太網(wǎng)口S3C44BOX處理器本身不集成以太網(wǎng)控制器,我們選擇使用集成了MAC控制器和PHY層的以太網(wǎng)芯片來擴(kuò)展網(wǎng)絡(luò)接口。RTL8019AS是全雙工以太網(wǎng)芯片,支持lOMbit/s的傳輸速率,支持即插即用功能并與NE2000網(wǎng)絡(luò)適配器兼容。2.1.4存儲模塊S3C44BOX的存儲管理方法是把芯片中或芯片外的Flash、RAM、和外設(shè)等統(tǒng)一編址,用地址來表示對象。2.1.4.1SDRAM——HY57V281620HCTSDRAM即同步動態(tài)隨機(jī)存取存儲器,它集成了一個命令控制器,處理器通過向SDRAM發(fā)送命令來訪問SDRAM。NorFlash--AM29LVl60DBNorFlash也稱為線性Flash,可靠性高、隨機(jī)讀耿速度快,具有片內(nèi)可執(zhí)行的特點,這樣應(yīng)用程序可以直接在Flash閃存內(nèi)運行,不必再把代碼搬運到系統(tǒng)RAM中。它常用在擦除和編程操作較少而可直接執(zhí)行代碼的場合。本課題為了降低嵌入式醫(yī)療終端系統(tǒng)的生產(chǎn)本錢和功耗,僅僅采用了NorFlashAM29LVl60DB作為存儲介質(zhì)。如果ARM處理器外部擴(kuò)展的是16位的NorFlash,數(shù)據(jù)信號線一一對應(yīng),地址線必須要錯位連接,要錯位連接的原因是:處理器的每個地址對應(yīng)的是一個字節(jié)的數(shù)據(jù)單元,而16位的NorFlash的每個地址對應(yīng)的是一個半字的數(shù)據(jù)單元。為了保持匹配,所以必須錯位連接。2.1.5LCD顯示模塊本課題在進(jìn)行研究時連接的LCD顯示器為SHARPLQ080V3DGOl真彩色TFT液晶屏,屏幕分辨率可以到達(dá)320x240像素。3.BootLoader設(shè)計3.1BootLoader介紹簡單地講,BootLoader(引導(dǎo)加載程序)是系統(tǒng)加電后運行的第一段軟件代碼,作用相當(dāng)于PC機(jī)中的BIOS。系統(tǒng)加電或復(fù)位后,CPU通常都在CPU制造商預(yù)先定義好的地址上取指令,然后執(zhí)行存放在該地址處的代碼,如基于ARM7TDMI核的CPU在復(fù)位時從地址Ox00000000處取它的第一條指令。通過這段代碼可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個適宜的狀態(tài),以便為引導(dǎo)加載操作系統(tǒng)內(nèi)核準(zhǔn)備好環(huán)境。3.2BootLoader之U-Boot3.2.1U-Boot簡介U-Boot,全稱UniversalBootLoader,是遵循GPL條款的自由軟件工程。其源代碼目錄、編譯形式與Linux內(nèi)核很相似。事實上,不少U—Boot源碼就是相應(yīng)的Linux內(nèi)核源程序的簡化,尤其是一些設(shè)備的驅(qū)動程序。3.2.2U-Boot源碼結(jié)構(gòu)U-Boot源代碼是通過GCC和Makefile組織編譯的,頂層目錄下的Makefile首先設(shè)置開發(fā)板的信息,然后遞歸地調(diào)用各級子目錄下的Makefile,最后把編譯過的程序鏈接成U-Boot的映像。3.2.3U-Boot向S3C44BOX開發(fā)板的移植移植是針對硬件的不同來移植,移植的過程需要根據(jù)硬件的差異綜合分析,然后修改源代碼,最后在目標(biāo)平臺上測試,如果各個功能均可正常工作那么說明移植成功。源碼修改為了減少移植工作量,可根據(jù)目標(biāo)板上CPU、Flash、SDRAM及其它外設(shè)的情況,在board目錄中找出與目標(biāo)板相同或相同系列微處理器的開發(fā)板,在移植過程中作為參照。根據(jù)UP—NETARM3000的硬件配置,選定同樣基于S3C44BOX處理器的B2開發(fā)板作為參照。根據(jù)開發(fā)板硬件情況修改相關(guān)的參數(shù),移植過程中主要需要修改以下文件:include/configs/B2.hboard/dave/B2/B2.Cboard/dave/B2/lowlevel_init.SCPU/S3C44BOX/start.SCPU/S3C4480X/serial.C二.交叉編譯分別執(zhí)行makeB2一config,make編譯產(chǎn)生3個文件:U—Boot—ELF格式的文件,可以被大多數(shù)Debug程序識別;U-Boot.bin一二進(jìn)制bin文件,純粹的U-BOOT二進(jìn)制執(zhí)行代碼,不保存ELF格式和凋試信息,一般用于燒錄到用戶開發(fā)板中;U-Boot.srec--MotorolaS—Record格式,可以通過串行口下載到開發(fā)板。嵌入式Linux系統(tǒng)的構(gòu)建4.1嵌入式linux介紹本課題采用uClinux作為嵌入式操作系統(tǒng),uClinux表示Micro—Control-Linux,即“微控制器領(lǐng)域中的Linux操作系統(tǒng)〞,uClinux主要針對目標(biāo)處理器沒有存儲管理單元MMU(MemoryManagementUnit)的嵌入式系統(tǒng)而設(shè)計。4.2嵌入式linux開發(fā)環(huán)境的建立嵌入式系統(tǒng)的軟件開發(fā)一般都是采用交叉編譯調(diào)試的方式。交叉編譯調(diào)試環(huán)境建立在一臺宿主機(jī)上,使用主機(jī)上的交叉編譯、匯編及連接工具形成在目標(biāo)板上可以運行的二進(jìn)制代碼,然后下載到開發(fā)板上面運行。4.3RTL8019AS驅(qū)動程序開發(fā)RTL8019AS驅(qū)動程序移植所做的主要工作就是將驅(qū)動程序正確的配置進(jìn)內(nèi)核,具體步驟如下:一.將RTL8019AS.c和RTLS019AS.h兩個文件添;hNNLinux一2.6.x/drivers/net/目錄下。RTL8019AS.h中定義了特殊功能存放器;RTL8019AS.C是具體函數(shù)的實現(xiàn),包括網(wǎng)絡(luò)控制器的仞始化、收/發(fā)數(shù)據(jù)等。將驅(qū)動程序配置進(jìn)內(nèi)核。為了使RTL8019AS驅(qū)動程序編譯進(jìn)內(nèi)核,源文件需要修改如下:1.Linux-2.6.x/drivers/net/makefi1e修改如下:Mainmenu_optionnext_commentcomment’Ethernet(10orlOOMbit)’bool’Ethernet(10orlOOMbit),CONFIG_NET_ETHERNETif[〞$CONFIGNETETttERNET〞=〞y〞];then……if[〞$CONFIG—CPU—S3C44BOX〞=〞y〞];thentristate’Samsung44B0ethernetsupport’CONFIG—ETH—S3C44BOXFi……2.在Linux-2.6.x/d—vers/net/config.in文件中參加obj一$(CONFIG~ETH—S3C44BOX)+=RTL8019AS.ko4.4LCD驅(qū)動程序開發(fā)4.4.1LCD顯示器描述本課題主要對SHARPLQ080V3DG01256K色320x240/3.5英寸TFT真彩液晶屏進(jìn)行LCD驅(qū)動程序開發(fā)。TFT—LCD具有屏幕反響速度快、比照度和亮度都較高、屏幕可視角度大、色彩豐富、分辨率高等特點,是目自訂最好的LCD彩色顯示設(shè)備之一。4.4.2LCD的顯示接口本文的3.5英寸液晶為TFT屏,支持256K色顯示模式,用來滿足根本的液品輸出需要。對于控制TFT屏來說,除了要給它傳送視頻資料(VD[7:0])以外,還有以下一些信號是必不可少的,分別是:(1)VSYNC(VFRAME):幀同步信號,用高電平(或低電平)表示每一幀掃描的丌始。(2)HSYNC(VLINE):行同步信號,用高電平(或低電平)表示每一行掃描的.丌始。(3)VCLK:像素時鐘信號,在上升沿或下降沿將數(shù)據(jù)寫入液晶屏。(4)VDEN(VM):數(shù)據(jù)有效標(biāo)志信號,表示是否丌啟TFT輸出。(5)VD:數(shù)據(jù)信號,表示每個點的顏色,通常有16位、18位、24位等模式。4.4.3基于Framebuffer的LOD驅(qū)動程序S3C4480開發(fā)板上集成了framebuffer緩沖區(qū)用來對信號進(jìn)行顯示,故本課題的LCD驅(qū)動開發(fā)是基于framebuffer幀緩沖的。幀緩沖(framebuffer)是Linux為顯示設(shè)備提供的一個接口,把顯存抽象后的一種設(shè)備,且允許上層慮用程序在圖形模式下直接對顯示緩沖區(qū)進(jìn)行讀寫操作。4.5構(gòu)建文件系統(tǒng)4.6內(nèi)核定制根據(jù)需要修改完uClinux源代碼之后,進(jìn)入到系統(tǒng)內(nèi)核配置階段,用makemenuconfig方式來配置內(nèi)核更加直觀。在Linux終端中運行makemenuconfig命令,會進(jìn)入內(nèi)核配置總界面。嵌入式醫(yī)療保健終端應(yīng)用軟件設(shè)計5.1醫(yī)療終端系統(tǒng)介紹終端通過以太網(wǎng)接入到Internet,利用TCP/IP協(xié)議進(jìn)行傳輸,實現(xiàn)塵理參數(shù)信號的遠(yuǎn)程采集與傳輸及遠(yuǎn)程醫(yī)療。優(yōu)健康效勞器端針對不同客戶向醫(yī)療終端給出相應(yīng)的健康資料和效勞。家庭醫(yī)療保健終端系統(tǒng)總共分為九大模塊,系統(tǒng)架構(gòu)如下列圖5.1所示:5.2搭建應(yīng)用軟件開發(fā)環(huán)境Host機(jī)操作系統(tǒng):Ubuntu-9.10;集成開發(fā)環(huán)境:Anjuta;編程語言:C語言;圖形開發(fā)庫:Gtk+2.0圖形庫;交叉編譯工具鏈:arm—elf—tools。5.3應(yīng)用程序靜態(tài)編譯進(jìn)uClinux首先在Host機(jī)編譯應(yīng)用程序并測試無誤,然后再將應(yīng)用程序靜態(tài)編譯進(jìn)uClinux內(nèi)核,其步驟如下:1.把應(yīng)用程序文件夾放在uClinux的user目錄下2.增加下面的內(nèi)容到../user/Makefile中:dir_$(CONFIG_USER_UHMM)+=uhmm此句作用是讓編譯器可以訪問到剛剛創(chuàng)立的uhmm目錄的Makefile。修改uClinux系統(tǒng)中對編澤器來講最重要的一個文件。最后重新編譯一遍內(nèi)核,跟4.8節(jié)中講述類似,不同的是:添加Gtk+2.0庫到uClinux操作系統(tǒng)中;在Applications配置信息中選中uhmm應(yīng)用程序。這樣uClinux系統(tǒng)在啟動以后,就可以正常運行uhmm醫(yī)療保健終端系統(tǒng)的應(yīng)用程序了??偨Y(jié)本課題的研究工作主要圍繞ARM7體系結(jié)構(gòu)處理器進(jìn)行嵌入式醫(yī)療保健終端系統(tǒng)的開發(fā)與設(shè)計來展開,本文主要完成了以下幾個方面的工作:1.分析了當(dāng)前老年人的醫(yī)療保健現(xiàn)狀,結(jié)合對嵌入式系統(tǒng)的研究,給出了嵌入式醫(yī)療保健系統(tǒng)的設(shè)計方案。2.學(xué)習(xí)和研究了嵌入式系統(tǒng)開發(fā)的技術(shù)方法,包括:嵌入式開發(fā)板的硬件設(shè)計原理、BootLoader設(shè)計、嵌入式操作系統(tǒng)的構(gòu)建、應(yīng)用程序的開發(fā)。3.重點研究了嵌入式Linux操作系統(tǒng)的源碼結(jié)構(gòu)和配置、編譯方法,完成了Linux一2.6.9向S3C44BOX開發(fā)平臺的移植,建立了嵌入式Linux開發(fā)平臺,為后續(xù)應(yīng)用程序的開發(fā)奠定根底。4.深入研究了嵌入式Linux下RTL8019AS網(wǎng)絡(luò)驅(qū)動程序的開發(fā),成功實現(xiàn)了開發(fā)平臺接入Internet。5.深入研究了LCD的工作原理,在嵌入式Linux下利用Framebuffer機(jī)制實現(xiàn)了LCD驅(qū)動程序的開發(fā)。6.針對已經(jīng)構(gòu)建好的嵌入式Linux系統(tǒng),基于Gtk+2.0開發(fā)醫(yī)療保健嵌入式終端系統(tǒng)軟件。通過以上工作,已經(jīng)完成了一個具有根本功能的嵌入式醫(yī)療保健終端系統(tǒng)的設(shè)計,然而這僅僅是最初版本,距離實際應(yīng)用還需要進(jìn)一步的丌發(fā)研究,如:1.增加系統(tǒng)對ATA硬盤的支持。2.將Sqlite移植到uClinux中,利用數(shù)據(jù)庫管理數(shù)據(jù)更加有效。3.完善終端應(yīng)用軟件的功能等。附錄:初始化存儲器系統(tǒng)代碼如下:MEMORY——CONFIG:.10ngOxll010102/*Bank7、6、5、4、O數(shù)據(jù)寬度為16位,Bank3、2、l為8位,模式為小端*/.10ngOx600/*GCS0,NorFlash,Tacc=lOclk*/.10ngOx7ffc/術(shù)(;CSl,K9F2808UOC*/.10ngOx7ffc/*GCS2,USBN9603,USB設(shè)備端接口芯片,占用系統(tǒng)外部中斷0,8位數(shù)據(jù)總線*/.10ngOx7ffc/*GCS3,、未接設(shè)備,可以供擴(kuò)展使用*/.10ngOx7ffc/*GCS4,未接設(shè)備,可以供擴(kuò)展使用*/.10ng0x2610/*GCS5,RTL8019AS,ISA總線兼容的10M以太網(wǎng)(PHY+MAC層)控制:芯片。占用系統(tǒng)外部中斷1,16位數(shù)據(jù)總線*/.1ongOx18000/*GCS6,SDRAM(Trcd:2,SCAN=8)*/.10ngOxl8000/*GCS7,未接設(shè)備,可以供擴(kuò)展使用*/.1ong0x960459/*REFRESH的配置/.10ngOxl0/*SCLK為PowerDownMode,BANKSIZE:8M*/.1ongOx20/*MRSR6CL=2clk*/.1ongOx20/*MRSR7CL=2clk*/幀緩沖文件結(jié)構(gòu)代碼如下:staticstructfile—operationsfb_fops={owner:THIS—MODULE,,read:fb_read,/*讀操作*/write:fb_write./*寫操作*/ioctl:fb_ioctl,/*控制操作*/mmap:fb_mmap,/*映射操作*/open:fb_open,/*翻開操作*/release:fb_release,/*關(guān)閉操作*/};實驗五GPIO檢測idea641的按鍵操作一.實驗過程:1.準(zhǔn)備好實驗環(huán)境,將JLINK連接好。2.將串口線的一端插在PC的串口上,另一端插在開發(fā)板的‘COM0’上。翻開DNW.EXE軟件,給開發(fā)板上電,使Bootloader〔eboot和uboot均可〕停在菜單處〔在系統(tǒng)引導(dǎo)時按空格鍵〕。3.翻開軟件‘CodeWarriorforRVDS’,新建工程‘forlinx6410-key1.mcp’,并添加兩個程序文件‘main.c’和‘init.s’〔匯編文件〕。4.對工程文件進(jìn)行相應(yīng)設(shè)置。5.編譯該工程,成功后將生成映像文件‘forlinx6410-key1.axf’。翻開AXD,裝載映像文件‘forlinx6410-key1.axf’。運行程序,觀察結(jié)果。實驗電路圖:實驗程序main.c#definerGPFCON(*(volatileunsigned*)(0x7F0080A0))#definerGPFDAT(*(volatileunsigned*)(0x7F0080A4))#definerGPFPUD(*(volatileunsigned*)(0x7F0080A8))#definerGPNCON(*(volatileunsigned*)(0x7F008830))#definerGPNDAT(*(volatileunsigned*)(0x7F008834))#definerGPNPUD(*(volatileunsigned*)(0x7F008838))voidmsDelay(inttime){volatileunsigne

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論