第一篇:嵌入式遠程醫療監護系統(范文模版)
嵌入式遠程醫療監護系統
嵌入式醫療監護系統設計
一、整體設計
MSP430系列單片機是美國德州儀器(TI)1996年開始推向市場的一種16位超低耗(具有精簡指令集的混合信號處理器(Mixed Signal Processor)。稱之為混合信號處理器,是由于其針對實際應用需求,將多個不同功能的模擬電路、數字電路模塊和微處理器集成在一個芯片上,以提供“單片”解決方案。該系列單片機多應用于需要電池供電的便攜式儀器儀表中。MSP430特點
MSP430系列單片機是一個16位的單片機,采用了精簡指令集(RISC)結構,具有豐富的尋址方式(7 種源操作數尋址、4 種目的操作數尋址)、簡潔的 27 條內核指令以及大量的模擬指令;大量的寄存器以及片內數據存儲器都可參加多種運算;還有高效的查表處理指令。這些特點保證了可編制出高效率的源程序。
MSP430 系列單片機能在25MHz晶體的驅動下,實現40ns的指令周期。16位的數據寬度、40ns的指令周期以及多功能的硬件乘法器(能實現乘加運算)相配合,能實現數字信號處理的某些算法(如 FFT 等)。
MSP430 單片機之所以有超低的功耗,是因為其在降低芯片的電源電壓和靈活而可控的運行時鐘方面都有其獨到之處。
首先,MSP430 系列單片機的電源電壓采用的是1.8-3.6V 電壓。因而可使其在1MHz 的時鐘條件下運行時,芯片的電流最低會在165μA左右,RAM 保持模式下的最低功耗只有0.1μA。
其次,獨特的時鐘系統設計。在 MSP430 系列中有兩個不同的時鐘系統:基本時鐘系統、鎖頻環(FLL 和FLL+)時鐘系統和DCO數字振蕩器時鐘系統。可以只使用一個晶體振蕩器(32768Hz),也可以使用兩個晶體振蕩器。由系統時鐘系統產生 CPU 和各功能所需的時鐘。并且這些時鐘可以在指令的控制下,打開和關閉,從而實現對總體功耗的控制。
由于系統運行時開啟的功能模塊不同,即采用不同的工作模式,芯片的功耗有著顯著的不同。在系統中共有一種活動模式(AM)和五種低功耗模式(LPM0~LPM4)。在實時時鐘模式下,可達2.5μA,在RAM 保持模式下,最低可達0.1μA。
MSP430 系列單片機的各系列都集成了較豐富的片內外設。它們分別是看門狗(WDT)、模擬比較器A、定時器A0(Timer_A0)、定時器A1(Timer_A1)、定時器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驅動器、10位/12位ADC、16位Σ-Δ ADC、DMA、I/O端口、基本定時器(Basic Timer)、實時時鐘(RTC)和USB控制器等若干外圍模塊的不同組合。其中,看門狗可以使程序失控時迅速復位;模擬比較器進行模擬電壓的比較,配合定時器,可設計出 A/D 轉換器;16 位定時器(Timer_A 和 Timer_B)具有捕獲/比較功能,大量的捕獲/比較寄存器,可用于事件計數、時序發生、PWM 等;有的器件更具有可實現異步、同步及多址訪問串行通信接口可方便的實現多機通信等應用;具有較多的 I/O 端口,P0、P1、P2 端口能夠接收外部上升沿或下降沿的中斷輸入;10/12位硬件 A/D 轉換器有較高的轉換速率,嵌入式遠程醫療監護系統
最高可達200kbps,能夠滿足大多數數據采集應用;能直接驅動液晶多達 160 段;實現兩路的 12 位 D/A 轉換;硬件I2C串行總線接口實現存儲器串行擴展;以及為了增加數據傳輸速度,而采用的DMA模塊。MSP430 系列單片機的這些片內外設為系統的單片解決方案提供了極大的方便。
另外,MSP430 系列單片機的中斷源較多,并且可以任意嵌套,使用時靈活方便。當系統處于省電的低功耗狀態時,中斷喚醒只需5μs。
MSP430 系列有 OPT 型、FLASH 型和 ROM 型三種類型的器件,這些器件的開發手段不同。對于 OPT 型和 ROM 型的器件是使用仿真器開發成功之后燒寫或掩膜芯片;對于 FLASH 型則有十分方便的開發調試環境,因為器件片內有 JTAG 調試接口,還有可電擦寫的 FLASH 存儲器,因此采用先下載程序到 FLASH 內,再在器件內通過軟件控制程序的運行,由 JTAG 接口讀取片內信息供設計者調試使用的方法進行開發。這種方式只需要一臺 PC 機和一個 JTAG 調試器,而不需要仿真器和編程器。開發語言有匯編語言和 C 語言。
考慮以上原因,我們決定采用該型號單片機為本系統的微處理器。
二、溫度采集芯片 18B20 DS18B20數字溫度計是DALLAS公司生產的1-Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統,具有線路簡單,在一根通信線,可以掛很多這樣的數字溫度計,十分方便。
1、DS18B20產品的特點
(1)、只要求一個端口即可實現通信。
(2)、在DS18B20中的每個器件上都有獨一無二的序列號。
(3)、實際應用中不需要外部任何元器件即可實現測溫。
(4)、測量溫度范圍在-55。C到+125。C之間。
(5)、數字溫度計的分辨率用戶可以從9位到12位選擇。(6)、內部有溫度上、下限告警設置。2. DS18B20的使用方法
由于DS18B20采用的是1-Wire總線協議方式,即在一根數據線實現數據的雙向傳輸,而對AT89S51單片機來說,硬件上并不支持單總線協議,因此,我們必須采用軟件的方法來模擬單總線的協議時序來完成對DS18B20芯片的訪問。
由于DS18B20是在一根I/O線上讀寫數據,因此,對讀寫的數據位有著嚴格的時序要求。DS18B20有嚴格的通信協議來保證各位數據傳輸的正確性和完整性。該協議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設備,單總線器件作為從設備。而每一次命令和數據的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數據,在進行寫命令后,主機需啟動讀時序完成數據接收。數據和命令的傳輸都是低位在先。
DS18B20的復位時序
DS18B20的讀時序
對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。
對于DS18B20的讀時隙是從主機把單總線拉低之后,在15秒之內就得釋放單總線,以讓DS18B20把數據傳輸到單總線上。DS18B20在完成一個讀時序過程,至少需要60us才能完成。
嵌入式遠程醫療監護系統
DS18B20的寫時序
對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內就得釋放單總線。
綜合各方原因我們采用該芯片模擬所有醫用傳感器,來完成整個系統設計。
三、無線模塊 NRF2401 nRF2401是單片射頻收發芯片,工作于2.4~2.5GHz ISM頻段,芯片內置頻率合成器、功率放大器、晶體振蕩器和調制器等功能模塊,輸出功率和通信頻道可通過程序進行配置。芯片能耗非常低,以-5dBm的功率發射時,工作電流只有10.5mA,接收時工作電流只有18mA,多種低功率工作模式,節能設計更方便。其DuoCeiverTM技術使nRF2401可以使用同一天線,同時接收兩個不同頻道的數據。nRF2401適用于多種無線通信的場合,如無線數據傳輸系統、無線鼠標、遙控開鎖、遙控玩具等。nRF2401內置地址解碼器、先入先出堆棧區、解調處理器、時鐘處理器、GFSK濾波器、低噪聲放大器、頻率合成器,功率放大器等功能模塊,需要很少的外圍元件,因此使用起來非常方便。QFN24引腳封裝,外形尺寸只有5×5mm。
nRF2401的收發模式有ShockBurstTM收發模式和直接收發模式兩種,收發模式由器件配置字決定,具體配置將在器件配置部分詳細介紹。
ShockBurstTM收發模式
ShockBurstTM收發模式下,使用片內的先入先出堆棧區,數據低速從微控制器送入,但高速(1Mbps)發射,這樣可以盡量節能,因此,使用低速的微控制器也能得到很高的射頻數據發射速率。與射頻協議相關的所有高速信號處理都在片內進行,這種做法有三大好處:盡量節能;低的系統費用(低速微處理器也能進行高速射頻發射);數據在空中停留時間短,抗干擾性高。nRF2401的ShockBurstTM技術同時也減小了整個系統的平均工作電流。
在ShockBurstTM收發模式下,nRF2401自動處理字頭和CRC校驗碼。在接收數據時,自動把字頭和CRC校驗碼移去。在發送數據時,自動加上字頭和CRC校驗碼,當發送過程完成后,數據準備好引腳通知微處理器數據發射完畢。
ShockBurstTM發射流程
接口引腳為CE,CLK1,DATA
A.當微控制器有數據要發送時,其把CE置高,使nRF2401工作;
B.把接收機的地址和要發送的數據按時序送入nRF2401;
C.微控制器把CE置低,激發nRF2401進行ShockBurstTM發射;
D.nRF2401的ShockBurstTM發射
給射頻前端供電;
射頻數據打包(加字頭、CRC校驗碼);
高速發射數據包;
發射完成,nRF2401進入空閑狀態。
嵌入式遠程醫療監護系統
ShockBurstTM接收流程
接口引腳CE、DR1、CLK1和DATA(接收通道1)
A.配置本機地址和要接收的數據包大小;
B.進入接收狀態,把CE置高;
C.200us后,nRF2401進入監視狀態,等待數據包的到來;
D.當接收到正確的數據包(正確的地址和CRC校驗碼),nRF2401自動把字頭、地址和CRC校驗位移去;
E.nRF2401通過把DR1(這個引腳一般引起微控制器中斷)置高通知微控制器;
F.微控制器把數據從nRF2401移出;
G.所有數據移完,nRF2401把DR1置低,此時,如果CE為高,則等待下一個數據包,如果CE為低,開始其它工作流程。
直接收發模式
在直接收發模式下,nRF2401如傳統的射頻收發器一樣工作。
直接發送模式
接口引腳為CE、DATA
A.當微控制器有數據要發送時,把CE置高;
B.nRF2401射頻前端被激活;
C.所有的射頻協議必須在微控制器程序中進行處理(包括字頭、地址和CRC校驗碼)。
直接接收模式
接口引腳為CE、CLK1和DATA
A.一旦nRF2401被配置為直接接收模式,DATA引腳將根據天線接收到的信號開始高低變化(由于噪聲的存在);
B.CLK1引腳也開始工作;
C.一旦接收到有效的字頭,CLK1引腳和DATA引腳將協調工作,把射頻數據包以其被發射時的數據從DATA引腳送給微控制器;
D.這頭必須是8位;
E.DR引腳沒用上,所有的地址和CRC校驗必須在微控制器內部進行。
配置模式
在配置模式,15字節的配置字被送到nRF2401,這通過CS、CLK1和DATA三個引腳完成,具體的配置方法請參考本文的器件配置部分。
空閑模式
nRF2401的空閑模式是為了減小平均工作電流而設計,其最大的優點是,實現節能的同時,縮短芯片的起動時間。在空閑模式下,部分片內晶振仍在工作,此時的工
嵌入式遠程醫療監護系統
作電流跟外部晶振的頻率有關,如外部晶振為4MHz時工作電流為12uA,外部晶振為16MHz時工作電流為32uA。在空閑模式下,配置字的內容保持在nRF2401片內。
關機模式
在關機模式下,為了得到最小的工作電流,一般此時的工作電流小于1uA。關機模式下,配置字的內容也會被保持在nRF2401片內,這是該模式與斷電狀態最大的區別。
nRF2401的所有配置工作都是通過CS、CLK1和DATA三個引腳完成,把其配置為ShockBurstTM收發模式需要15字節的配置字,而如把其配置為直接收發模式只需要2字節的配置字。由上文對nRF2401工作模式的介紹,我們可以知道,nRF2401一般工作于ShockBurstTM收發模式,這樣,系統的程序編制會更加簡單,并且穩定性也會更高,因此,下文著重介紹把nRF2401配置為ShockBurstTM收發模式的器件配置方法。
ShockBurstTM的配置字使nRF2401能夠處理射頻協議,在配置完成后,在nRF2401工作的過程中,只需改變其最低一個字節中的內容,以實現接收模式和發送模式之間切換。ShockBurstTM的配置字可以分為以下四個部分:
數據寬度:聲明射頻數據包中數據占用的位數。這使得nRF2401能夠區分接收數據包中的數據和CRC校驗碼;
地址寬度:聲明射頻數據包中地址占用的位數。這使得nRF2401能夠區分地址和數據;
地址:接收數據的地址,有通道1的地址和通道2的地址;
CRC:使nRF2401能夠生成CRC校驗碼和解碼。
當使用nRF2401片內的CRC技術時,要確保在配置字中CRC校驗被使能,并且發送和接收使用相同的協議。
在配置模式下,注意保證PWR_UP引腳為高電平,CE引腳為低電平。配置字從最高位開始,依次送入nRF2401。在CS引腳的下降沿,新送入的配置字開始工作。PCB設計
PCB設計對nRF2401的整體性能影響很大,所以PCB設計在nRF2401收發系統的開發過程中主要的工作之一,在PCB設計時,必須考慮到各種電磁干擾,注意調整電阻、電容和電感的位置,特別要注意電容的位置。
nRF2401的PCB一般都是雙層板,底層一般不放置元件,為地層,頂層的空余地方一般都敷上銅,這些敷銅通過過孔與底層的地相連。直流電源及電源濾波電容盡量靠近VDD引腳。nRF2401的供電電源應通過電容隔開,這樣有利于給nRF2401提供穩定的電源。在PCB中,盡量多打一些通孔,使頂層和底層的地能夠充分接觸。
nRF2401通過ShockBurstTM收發模式進行無線數據發送,收發可靠,其外形尺寸小,需要的外圍元器件也少,因此,使用方便,在工業控制、消費電子等各個領域都具有廣闊的應用前景。
由于2401的諸多優點,我們決定選用此芯片完成無線部分。至此我們已經完成整體設計。
嵌入式遠程醫療監護系統
二、軟件部分
接收程序:
#include “msp430.h” #include “cry1602.h” typedef unsigned char uchar;typedef unsigned intuint;
/**************宏定義***************/ #define DataDir P4DIR #define DataPort P4OUT
#define Busy 0x80 #define CtrlDir P3DIR #define CLR_RS P3OUT&=~BIT0;//RS = P3.0 #define SET_RS P3OUT|=BIT0;
#define CLR_RW P3OUT&=~BIT1;//RW = P3.1 #define SET_RW P3OUT|=BIT1;
#define CLR_EN P3OUT&=~BIT2;//EN = P3.2 #define SET_EN P3OUT|=BIT2;
/*********************************************** 函數名稱:DispStr 功 能:讓液晶從某個位置起連續顯示一個字符串 參 數:x--位置的列坐標 y--位置的行坐標 ptr--指向字符串存放位置的指針 返回值 :無
***********************************************/ voidDispStr(ucharx,uchary,uchar *ptr){ uchar *temp;uchari,n = 0;
temp = ptr;while(*ptr++!= ' 主站蜘蛛池模板: 无套内谢少妇毛片aaaa片免费| 亚洲精品9999久久久久无码| 欧洲熟妇色xxxx欧美老妇| 美女无遮挡免费视频网站| 国产精品久久久久久久久鸭| 99久久免费精品国产72精品九九| 免费国产在线一区二区| 45分钟免费真人视频| 天天躁日日躁很很很躁| 人妻在厨房被色诱 中文字幕| 亚洲热妇无码av在线播放| 青青草国产午夜精品| 天天爱天天做天天添天天欢| 免费精品国偷自产在线在线| 精品久久久久香蕉网| av无码播放一区二区三区| 国产精品激情欧美可乐视频| 成人亚洲欧美在线观看| 乱码午夜-极国产极内射| 国产av无码专区影视| 久久99久久99久久综合| 久久亚洲sm情趣捆绑调教| 精品一区二区久久久久久久网站| 亚洲精品乱拍国产一区二区三区| 国产精品久久久一区二区三区| 精品久久久久久无码人妻蜜桃| 国产成人精品免高潮在线观看| 国产精品午夜福利视频234区| 国产高清在线精品一区| 国产黄网免费视频在线观看| 又色又爽又高潮免费视频国产| 亚洲人午夜射精精品日韩| 久久久日韩精品一区二区三区| 色欲久久久天天天综合网精品| 精品国产不卡一区二区三区| 亚洲色欲久久久综合网| 国产精品久久久久久久久岛| 亚洲a∨无码一区二区三区| 激情航班h版在线观看| 色翁荡熄又大又硬又粗又动态图| 亚洲中文无码av永久伊人|