




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于STM32F103芯片和MAX30100傳感器的血氧飽和度檢測器設(shè)計目錄摘要 3第1章緒論 51.1課題研究的意義 51.2國內(nèi)外研究現(xiàn)狀 51.2.1血氧飽和度檢測系統(tǒng)國外研究概述 51.2.2血氧飽和度檢測系統(tǒng)國內(nèi)研究概述 61.3本文主要研究內(nèi)容 6第2章血氧飽和度檢測的相關(guān)理論 72.1血氧飽和度檢測方法 72.2血氧飽和度檢測原理 72.2.1血氧飽和度簡介 72.2.2檢測原理 8第3章血氧飽和度檢測系統(tǒng)硬件設(shè)計 93.1血氧飽和度檢測系統(tǒng)硬件總體設(shè)計方案 93.2主控芯片 103.2.1主控芯片選擇 103.2.2STM32F103系列單片機的優(yōu)點 103.2.3主控芯片電路設(shè)計 103.3血氧飽和度傳感器 113.3.1血氧飽和度傳感器選型 113.3.2血氧飽和度傳感器簡介 123.3.3傳感器外圍電路設(shè)計 133.4顯示模塊 133.4.1顯示模塊的選擇 133.4.2顯示模塊電路設(shè)計 143.5通信模塊 153.5.1通信模塊選擇 153.5.2模塊簡介 153.5.3通信模塊電路設(shè)計 15第4章血氧飽和度檢測系統(tǒng)軟件設(shè)計 164.1開發(fā)環(huán)境簡介 164.2軟件設(shè)計流程 164.2.1系統(tǒng)主程序設(shè)計 164.2.2傳感器模塊程序設(shè)計 174.2.3OLED顯示模塊程序設(shè)計 184.2.4通訊模塊程序設(shè)計 18第5章系統(tǒng)功能測試 195.1系統(tǒng)調(diào)試 195.2系統(tǒng)功能驗證 19第6章總結(jié)與討論 216.1總結(jié) 216.2設(shè)計展望 21參考文獻 22附錄 23摘要結(jié)合當前醫(yī)療監(jiān)護儀器的發(fā)展現(xiàn)狀,以及傳統(tǒng)便攜式監(jiān)護儀器的優(yōu)缺點。本文將以人體血氧飽和度作為研究對象,設(shè)計了一款能夠?qū)崟r監(jiān)測人體血氧飽和度的便攜式健康檢測系統(tǒng)。本設(shè)計選取STM32F103系列的MCU作為系統(tǒng)的主控芯片,然后通過MAX30100傳感器對信號進行采集,將得到的模擬信號進行處理、轉(zhuǎn)換、濾波,并發(fā)送到主控芯片進行血氧飽和度值的計算,利用其內(nèi)部的存儲控制器以及OLED顯示器等資源實現(xiàn)數(shù)據(jù)的實時顯示,同時使用ESP8266WIFI模塊將數(shù)據(jù)傳輸?shù)絆neNet云平臺,進行實時的數(shù)據(jù)記錄。用戶可通過網(wǎng)頁版OneNet或者OneNet對應(yīng)的手機APP進行登錄,實時查看數(shù)據(jù)分析,對自身的身體狀況做出預(yù)判。當上傳到平臺的數(shù)據(jù)低于所設(shè)定的閾值時,平臺會對用戶發(fā)出報警,以郵件的形式提醒用戶進行及時調(diào)整或者就醫(yī),改善身體狀況。最后通過綜合調(diào)試,本設(shè)計完成了對人體血氧飽和度的實時檢測,實現(xiàn)了數(shù)據(jù)的實時上傳和報警功能,達到了本設(shè)計的預(yù)期目的。關(guān)鍵詞:STM32血氧飽和度MAX30100傳感器ESP8266OLED第1章緒論1.1課題研究的意義伴隨著社會不斷的發(fā)展和進步,各種各樣的慢性病不斷涌現(xiàn),能夠隨時進行自我檢測的各類醫(yī)療監(jiān)護檢測儀器,已經(jīng)成為自我診斷和治療不可或缺的工具。其主要功能是診斷人體的各項身體參數(shù),對疾病進行預(yù)防和控制。其中,血氧飽和度的健康參數(shù)在衡量我們身體各項健康指標中占據(jù)著非常重要的地位。人體生命和其所有生理活動都離不開氧的支持,所以氧是人體生命至關(guān)重要的物質(zhì)。人體缺氧會使器官功能下降,嚴重時會對身體健康以及生命造成不小的傷害。例如血液中氧氣含量的降低,會導致人們疲勞、思維變慢、注意力降低、記憶力減退。長期或嚴重的缺氧更會增加慢性低血氧癥、肺心病、低血糖等一系列疾病的患病概率,尤其是針對老年人這一弱勢群體。血氧飽和度作為身體健康的重要指標,直接反映了人體的呼吸循環(huán)以及心腦血管等系統(tǒng)的生理狀況,在臨床醫(yī)學檢測和醫(yī)療監(jiān)護領(lǐng)域有重要的參考價值。所以血氧飽和度的實時監(jiān)測,對患有慢性呼吸病和心腦血管疾病的患者起到了很好的預(yù)防和控制作用。因而,結(jié)合日益苛刻的血氧動態(tài)監(jiān)護要求,深入研究血氧飽和度檢測技術(shù),具有很重要的科學意義和廣闊的應(yīng)用前景。1.2國內(nèi)外研究現(xiàn)狀早在20世紀以前,很多國外的學者就已經(jīng)開始研究有關(guān)于血氧飽和度的采集和處理,并做了大量的研究和實驗,取得了巨大的進步。相比于國內(nèi),國外的技術(shù)更為成熟先進,在創(chuàng)新性、實用性等方面都處于遙遙領(lǐng)先的地位。1.2.1血氧飽和度檢測系統(tǒng)國外研究概述在國外,最早對于血氧飽和度檢測系統(tǒng)的研究可以追溯到十九世紀,開始于朗伯-比爾定律的提出。早在1929年,美國生理學家GlenMillian研究了血氧飽和度的測量原理,他提出了“Oximeter”的概念,即血氧儀是一種光電測量儀器,這種儀器利用光穿透血管,以人體內(nèi)動脈血氧飽和度進行連續(xù)測量;1935年,維也納生理學教授Matthes研制出第一個雙波長的無創(chuàng)血氧儀,其原理是利用雙波長光源(紅光和綠光)照射耳部進行測量,但是這種儀器測量速度較慢,需要頻繁、復雜的儀器校準;1938年,Hertzman第一次提出了光電容積脈搏波掃描原理,這為隨后運用光電容積脈搏波檢測血氧飽和度打下堅實的基礎(chǔ);1942年,科學家MilliKan研制了一款用于檢測飛行員血氧飽和度的血氧儀,這款設(shè)計一度成為當時的一個熱點,這對血氧飽和度檢測系統(tǒng)研究的快速發(fā)展,起到了巨大的促進作用;1949年,美國的科學家Wood利用朗伯-比爾定律,設(shè)計了一種通過耳垂測量血氧飽和度的方法,然而因為每個人的血液成分不同,使得它的測量過程較為復雜,測量結(jié)果也不夠準確,因此沒有得到實際的應(yīng)用;直到1964年,同樣是美國的外科醫(yī)生ShawR,研制出一種可以避免繁瑣儀器調(diào)整過程的八波長自調(diào)節(jié)脈搏血氧儀,基于這種原理研制的血氧儀,避免了繁雜的儀器校準過程,并且可以有效的減少色素、皮膚的吸收干擾,使該血氧儀在臨床上取得成功,但是這個血氧儀體積龐大、結(jié)構(gòu)特殊,患者長期佩戴會使耳部產(chǎn)生不適并且容易受傷,另外它的精度也只達到了70%,這些缺點極大程度上影響了它的普及;1972年,日本科學家Aoyagi提出了用搏動式的光的變化去測量動脈中的血氧飽和度。該血氧儀的原理是利用發(fā)光二極管發(fā)出的紅光和紅外光穿過測量部位的動脈血管,根據(jù)氧合血紅蛋白和脫氧血紅蛋白對光的吸收特點,直接計算出脈搏血氧飽和度,從而達到減少了血氧探頭的體積和簡化儀器復雜程度的目的;隨后利用此方法研制的血氧儀,順利投入商業(yè)化的應(yīng)用,并且迅速在市場上得到了推廣;直至1982年,Nellcor研制出了精度更高而且功能更加優(yōu)越的脈搏血氧飽和度檢測儀N-100,成為了現(xiàn)代血氧飽和度檢測儀設(shè)計的一種標準。從這以后,依據(jù)這種標準模式設(shè)計的各種血氧飽和度檢測儀不斷被研制出來,并廣泛使用在臨床醫(yī)療和家庭保健等方面,成為了一種不可或缺的醫(yī)療檢測儀器;2010年,RammohanV.Maikala對朗伯-比爾定律進行了修正,成功的利用修正后的朗伯-比爾定律研制了一種基于反射式檢測原理的血氧儀。1.2.2血氧飽和度檢測系統(tǒng)國內(nèi)研究概述在國內(nèi),雖然對于這項技術(shù)的研究還比較落后,但依舊有許多大學和科研機構(gòu)對這項技術(shù)進行了深入的研究,并且取得了顯著的成果。例如中國航天工業(yè)總公司的第十三研究所研究出的無創(chuàng)傷脈率血氧飽和度監(jiān)護儀,這款監(jiān)護儀在抗干擾等方面有了新的提高,但是精度方面還是略顯不足;廈門大學的團隊設(shè)計了一種主控為PIC單片機的脈搏血氧檢測儀,很好的控制了噪聲干擾等問題,但是由于體積偏大,便攜性較差。綜上,雖然我國在血氧飽和度檢測系統(tǒng)的功能研發(fā)上發(fā)展迅速,但還是會在受到各種外界干擾時,對系統(tǒng)的性能產(chǎn)生影響。譬如在運動時抖動會導致測量結(jié)果準確性較低。此外,中高端產(chǎn)品的價格、耗能較高。因此,在提高精度、消除干擾、提高穩(wěn)定性、降低耗能、減少成本,縮小體積等方面還有待進一步的提升。1.3本文主要研究內(nèi)容本設(shè)計結(jié)合傳統(tǒng)便攜式醫(yī)療監(jiān)護設(shè)備,旨在研發(fā)一種精度高、低成本、低耗能、能夠?qū)崟r監(jiān)測的便攜式血氧飽和度醫(yī)療監(jiān)護儀器。下面將對本文的主要研究內(nèi)容進行詳細闡述:通過血氧傳感器MAX30100獲取用于計算血氧飽和度的光信號,并且利用芯片內(nèi)部的轉(zhuǎn)換器將光信號轉(zhuǎn)化為電信號,這些電信號經(jīng)過處理、轉(zhuǎn)化、濾波后傳輸給主控芯片;然后運用主控芯片來完成血氧飽和度值的計算;最后經(jīng)由OLED顯示模塊將測量數(shù)據(jù)進行實時顯示,并且利用ESP8266WIFI模塊將檢測數(shù)據(jù)實時傳輸?shù)絆neNet物聯(lián)網(wǎng)云平臺進行記錄與實時監(jiān)測。利用OneNet手機APP或者網(wǎng)頁版OneNet云平臺進行數(shù)據(jù)的記錄,用戶能夠隨時查看過往的檢測數(shù)據(jù),對用戶自身的身體狀況做出預(yù)判。如果當上傳到平臺的數(shù)據(jù)低于所設(shè)定的閾值時,平臺會以郵件報警的形式告知用戶。通過與標準血氧儀的對比驗證,本設(shè)計所測得的數(shù)據(jù)精度基本達到ISO醫(yī)學血氧飽和度檢測儀的標準。
第2章血氧飽和度檢測的相關(guān)理論2.1血氧飽和度檢測方法血氧飽和度檢測的方法分為電化學法和光化學法,即有創(chuàng)和無創(chuàng)兩種方法。早期的血氧飽和度檢測大都是采用電化學法。這種方法需要先采集血液,然后利用血氣分析儀對采集到的血液進行電化學分析,然后計算血氧飽和度的值。盡管這種檢測方法得到的結(jié)果比較精準,但是會給被檢測者造成創(chuàng)傷。而且這種方法操作繁瑣、耗費時間,不能實時檢測。因此,目前在臨床治療上這種方法已經(jīng)很少被使用。目前,應(yīng)用最廣泛的血氧飽和度測量方法是光化學法。這種檢測方式主要是以朗伯-比爾定律為基礎(chǔ),運用光譜學的方法對生物組織進行無損害檢測。這種測量方式操作簡單,不會給檢測者帶來傷害,同時還能進行實時、連續(xù)的檢測。這種方法目前在臨床治療上已經(jīng)大量普及。通常依據(jù)朗伯-比爾定律來進行的血氧飽和度測量,按照使用的傳感器類型又可以分為透射式和反射式。當光源與光電檢測器位于人體組織的同一側(cè)時為反射式;當光源與光電檢測器位于人體組織兩側(cè)時為透射式。兩種方式的結(jié)構(gòu)圖如圖2-1所示。圖2-1傳感器結(jié)構(gòu)示意圖透射式的傳感器主要應(yīng)用于臨床的監(jiān)護,目前這種設(shè)備的應(yīng)用也比較廣泛,但是在測量過程中會受到測量部位的限制。反之,反射式的傳感器則不會受到這種限制,反而在某些特定的場合得到了大量的普及。本設(shè)計所應(yīng)用的就是反射式血氧飽和度測量的方法。2.2血氧飽和度檢測原理2.2.1血氧飽和度簡介血氧飽和度()是血液中被氧氣結(jié)合的氧合血紅蛋白()的容量占全部可結(jié)合的血紅蛋白()容量的百分比,即血液中血氧的濃度,它是呼吸循環(huán)的重要生理參數(shù)。血氧飽和度()的表達式如式(2.1):(2.1)人體的新陳代謝過程是生物氧化過程,而新陳代謝過程中所需要的氧,是通過呼吸系統(tǒng)進入人體血液,與血液紅細胞中的血紅蛋白結(jié)合成氧合血紅蛋白,在輸送到人體各部分組織細胞中去。為了使血液循環(huán)和呼吸系統(tǒng)正常運行,常用血氧飽和度來判斷人體中血氧含量。血氧飽和度在人體的呼吸循環(huán)中起到了非常重要的作用,血液攜帶輸送氧氣的能力即用血氧飽和度來衡量,并且可以估計肺的氧合血紅蛋白的攜氧能力。2.2.2檢測原理當檢測血氧飽和度時,主要依據(jù)人體動脈血吸收入射光的量會隨動脈血管收縮或擴張的變化而變化的原理。在血氧飽和度檢測時,血管的脈動會影響血液對光的吸收度,這種變化就是交流量。同時像皮膚、肌肉等對入射光吸收的比例基本是恒定的,受到外界的干擾也會很小,這種變化稱為直流量。朗伯-比爾定律即,物質(zhì)在一定波長處所吸收光的量與照射物質(zhì)的光強度無關(guān),而是與物質(zhì)的濃度和吸光層的厚度相關(guān)。在相同光程的照射下,厚度相同的每一層介質(zhì),它們所吸收光的比例相同。從朗伯-比爾定律可知,人體血液中的氧含量越充沛,則吸收入射光容量就越多;而相反血液中的氧含量越稀少,則吸收入射光容量就會相應(yīng)減少。因此,只需選擇合適波長的光,就可通過測量吸光度求得物質(zhì)的濃度。朗伯-比爾定律如式(2.2)。(2.2)式中I0為單色光的強度;C為介質(zhì)的濃度;I為通過樣品后的透射光強度;A為吸光度;d為光程,即介質(zhì)的厚度;k為光被吸收的比例系數(shù),與介質(zhì)的濃度無關(guān);T為透射比,即透射光強度與入射光強度的比值。公式說明光在人體介質(zhì)的傳輸過程中,其吸光度只與光吸收比例系數(shù)、人體介質(zhì)濃度和其光程成正比例關(guān)系。
第3章血氧飽和度檢測系統(tǒng)硬件設(shè)計3.1血氧飽和度檢測系統(tǒng)硬件總體設(shè)計方案本設(shè)計的硬件部分由主控模塊、血氧傳感器、OLED顯示模塊、通信模塊等組成。本設(shè)計使用的是模塊化設(shè)計,這樣可以使系統(tǒng)更加簡潔,操作變得更為簡單,通過顯示器就可以直觀的讀出測量所得到的數(shù)據(jù)。此外,該系統(tǒng)采用USB數(shù)據(jù)線與電腦USB接口直接相連的供電的方式。在目前,普遍都使用USB接口供電,這樣既提高了電源的可靠性,并且也能夠通過手機充電器供電,給用戶的使用帶來了便利。圖3-1為本設(shè)計的整體電路設(shè)計。圖3-1整體電路結(jié)構(gòu)圖系統(tǒng)的首要前提是采集到精確的血氧飽和度參數(shù),通過精確的數(shù)據(jù)來有效地監(jiān)測用戶的身體狀況。因此,在器件的選擇、電路的設(shè)計過程中,每一個步驟都是至關(guān)重要的,每一個細節(jié)都可能是導致失敗的原因。以下將對各個模塊的選型、功能以及硬件電路設(shè)計做出詳細的闡述和解釋。3.2主控芯片3.2.1主控芯片選擇作為整個血氧飽和度檢測系統(tǒng)的控制核心,處理器的綜合性能一定要高?,F(xiàn)如今市面上設(shè)計出了很多種類的單片機,在速度、功能等方面也是層次不齊,常用到的主要有51、STM32、STC等主流單片機。針對血氧飽和度檢測系統(tǒng)的便攜性、低耗能和精度高等要求,經(jīng)過大量的篩選與對比,本設(shè)計的主控模塊最終選用的是意法半導體(ST)公司生產(chǎn)的STM32F103系列MCU。這款處理器采用小體積的LQF48引腳封裝,大小為10mm×10mm。供電采用2V-3.6V,融合了多種先進的工藝,而且支持引腳復用和重映射功能。此外,它具有豐富的開發(fā)工具、片上資源以及接口、強大的計算能力、大量的開發(fā)資料等優(yōu)勢,是便攜式嵌入式設(shè)備主控芯片的最佳選擇。STM32F103C8T6芯片實物如圖3-2所示。圖3-2STM32F103C8T6芯片實物3.2.2STM32F103系列單片機的優(yōu)點相較于51等其它系列的單片機,STM32系列單片機占據(jù)著明顯的優(yōu)勢。因為它的開發(fā)難度較為簡單,同時具有結(jié)構(gòu)簡單、集成度高、實時處理問題的能力強等優(yōu)點,在各種嵌入式電子產(chǎn)品設(shè)備開發(fā)中得到了普遍的使用。STM32F103系列單片機的主要優(yōu)勢有以下幾點:1.片上集成了從256K-512K字節(jié)的FLASH和64KB的SRAM程序運行空間,可以保證程序流暢的運行。2.多達13個通信接口,保證單片機可以和不同類型通信協(xié)議接口的器件進行通信,增強了硬件的可擴展性。3.12個通道的DMA控制器,能滿足ADC、USART、SPI、IIC、USB2.0和SDIO等外設(shè)的數(shù)據(jù)傳輸,可以節(jié)省CPU資源,提高數(shù)據(jù)的傳輸效率。4.片上集成多個12位精度的ADC,每個ADC含有21個外部通道,每個通道都能夠?qū)崿F(xiàn)單次、多次、連續(xù)掃描模式執(zhí)行AD采樣。根據(jù)不同的需求可以對采樣時間進行修改,可以滿足大多數(shù)情況的采樣。3.2.3主控芯片電路設(shè)計設(shè)計選用STM32F103C8T6單片機作為主控芯片,主要電路包括電源電路、時鐘電路和復位電路。STM32的時鐘可以由內(nèi)部的晶振提供,也可以外接時鐘電路。其中STM32F103C8T6的引腳圖如圖3-3所示:圖3-3STM32F103C8T6的引腳圖由上圖可以看出STM32F103C8T6含有48個引腳,并且每個引腳對應(yīng)著相應(yīng)的功能和復用功能,要完成對血氧飽和度數(shù)據(jù)的采集、傳輸、處理與顯示的功能,就要將模塊與芯片的每一個引腳都對應(yīng)連接好。復位電路如圖3-4所示,只要幾個簡單的電容組合在一起就可以構(gòu)成復位電路,實現(xiàn)復位的功能。在單片機工作狀態(tài)時,按下RESET鍵,就能實現(xiàn)系統(tǒng)的復位功能。圖3-4復位電路3.3血氧飽和度傳感器3.3.1血氧飽和度傳感器選型血氧飽和度傳感器的主要工作是對信號進行高效的采集,并且將信號經(jīng)過AD轉(zhuǎn)換傳輸?shù)娇刂破?。所以,在選擇血氧飽和度檢測的傳感器時,主要的考慮因素有傳感器感光面積和光譜靈敏度,其次要具有便攜性和低耗能性。綜合以上所敘述的特點,本文選用的是美信公司生產(chǎn)的傳感器芯片MAX30100。這款芯片是一款高集成的血氧飽和度檢測芯片,可以省去大量外圍電路設(shè)計,并且芯片本身還帶有對信號采集和預(yù)處理的功能。該器件集成了兩個LED光電檢測器(紅光LED和紅外光LED)、光檢測器和帶有環(huán)境光抑制的低噪聲模擬信號處理器。它的實物如圖3-5所示:圖3-5MAX301003.3.2血氧飽和度傳感器簡介MAX30100芯片內(nèi)部電路的供電采用1.8V,芯片上的LED則需要3.3V電源電壓。芯片測量血氧飽和度的工作原理是通過內(nèi)部預(yù)先設(shè)置好LED驅(qū)動器的時序,驅(qū)動芯片上的LED交替掃描檢測部位。該芯片的通信方式是IIC通信,將采集到的信號通過IIC傳輸?shù)街骺匦酒M行計算。此外,該芯片的斷電還可以通過軟件來實現(xiàn),待機時消耗的電流僅為0.7uA,是目前業(yè)內(nèi)功耗較低的血氧飽和度檢測芯片。該傳感器芯片也被大量應(yīng)用在三星、蘋果等品牌手機中。MAX30100傳感器管腳分布如圖3-6所示,各管腳功能如表3-1所示。圖3-6MAX30100管腳分布表3-1MAX30100各管腳功能管腳名管腳功能VIN電源輸入1.8V-3.3VSCLIIC-SCLSDAIIC-SDAINT低電平有效中斷IRDIRLED陰極與LED驅(qū)動連接點RDRedLED陰極與LED驅(qū)動連接點GND接地3.3.3傳感器外圍電路設(shè)計本設(shè)計選用的MAX30100傳感器模塊電路如圖3-7所示。集成芯片MAX30100提供了標準的IIC兼容通信接口,外部器件通過IIC來進行通信。供電采用1.8V-3.3V。IIC在空閑的時候,為保證IIC正常的工作,IIC兼容通信接口需要將SCL和SDA置為高電平,因此需要在后續(xù)的采集電路里給SDA和SCL引腳接4.7KΩ的上拉電阻。傳感器的IIC時鐘線SCL與單片機的PC15引腳相連,數(shù)據(jù)線SDA與單片機的PC14引腳相連。圖3-7傳感器模塊電路3.4顯示模塊3.4.1顯示模塊的選擇目前市場上主要的顯示器件有LCD、OLED等。LCD具有低功耗、節(jié)省空間、對視力的危害較小、輻射低等特點,但是LCD存在視角窄、響應(yīng)速度慢、適溫范圍窄、需背光等缺點。OLED作為一種新型的顯示模塊,具備自發(fā)光、不需背光源、超廣可視角度、可用于撓曲面板、適溫范圍寬、結(jié)構(gòu)及制作簡單等優(yōu)異的特性。如今,大量的檢測儀器已經(jīng)普遍開始使用OLED作為顯示模塊。表3-2對比了LCD和OLED的一些特性參數(shù)。表3-2LCD和OLED特性的比較特性參數(shù)LCDOLED發(fā)電方式需要背光源自發(fā)光耗電量背光源面板耗電量大約為LCD的2/3面板厚度含背光源時為5mm1-1.8mm反應(yīng)時間40us10us操作溫度(℃)0~50-40~60因此,本設(shè)計最終選定OLED作為系統(tǒng)的顯示模塊,該模塊具有128*64的高分辨率,模塊內(nèi)含128*64bit的顯示RAM,其中的每一位數(shù)據(jù)都對應(yīng)著屏幕上一點的明暗狀態(tài)。顯示模塊引腳列表如表3-3:表3-3顯示模塊引腳列表引腳功能說明13.3V電源輸入2GND地輸入3-8并行數(shù)據(jù)口D2-D79并行數(shù)據(jù)口D0(串行時CLK)10并行數(shù)據(jù)口D1(串行時DATA)11WR,寫控制,低電平有效12RD,讀控制,低電平有效13RES,復位引腳,低電平有效14DC,高電平發(fā)數(shù)據(jù),低電平發(fā)指令15CS,片選,低電平有效16P/S模式選擇,高為并行,低為串行3.4.2顯示模塊電路設(shè)計本設(shè)計選取以SSD1306作為驅(qū)動芯片的OLED顯示模塊。本模塊共有四種數(shù)據(jù)通信協(xié)議方式:兩個并行接口(8080和6800)、IIC模式和4-wrieSPI模式。它們通過設(shè)置模塊的BS0、BS1和BS2三個引腳的高低電平來區(qū)分不同的數(shù)據(jù)通信方式。通信模式選擇如表3-4所示:表3-4SH1106通信方式選擇通信協(xié)議8080IIC68004-wireSPIBS00000BS11100BS21010本設(shè)計使用的OLED是四針的IIC模塊,接口相對較為簡單,只含有四個引腳:電源(VCC),地線(GND),時鐘管腳(SCL)和數(shù)據(jù)管腳(SDA)。本模塊自身含有升壓的功能,不需設(shè)計額外的電路。OLED模塊引腳連接如圖3-8所示,在該電路圖中,單片機的PB6引腳接OLED的時鐘管腳SCL,單片機的PB7引腳接OLED的數(shù)據(jù)管腳SDA。圖3-8OLED引腳連接圖3.5通信模塊3.5.1通信模塊選擇本文設(shè)計的實時血氧飽和度醫(yī)療監(jiān)測設(shè)備,對數(shù)據(jù)傳輸方式的要求主要是能夠?qū)?shù)據(jù)進行實時、高效的傳輸。目前主要的傳輸方式有WIFI、ZigBee、藍牙等。ZigBee可以自組網(wǎng),協(xié)議簡單、功耗低,但是ZigBee的傳輸速率較慢。藍牙這種無線傳輸技術(shù)很早就被廣泛使用,操作簡單,但是傳輸距離較短,遠不能滿足用戶的需求。WIFI的傳輸速率高,傳輸距離較長,支持多媒體的數(shù)據(jù)傳輸。WIFI無線通訊相比于其他方式,應(yīng)用的領(lǐng)域更為廣泛,而且具有體積小、功耗低、傳輸穩(wěn)定、安全等方面的優(yōu)勢。因此,本文選用的是ESP88266WIFI集成通信模塊。3.5.2模塊簡介ESP8266-01是一款具有高性能、低成本、低功耗等特點的無線通訊模塊。內(nèi)置32位MCU,可兼作主控芯片;超小的封裝體積,僅有10mm*10mm;它的適溫范圍寬,可在-40℃—125℃的溫度范圍內(nèi)工作;另外ESP8266是一款集成度特別高的芯片,僅需極少的外部電路設(shè)計,因此只占用極少的PCB空間。而且ESP8266-01無線傳輸模塊硬件接口豐富,可支持UART、GPIO、ADC等。目前,這種通信模塊在國內(nèi)與國外的物聯(lián)網(wǎng)研發(fā)中已經(jīng)得到了大量的使用。模塊實物如圖3-9所示。圖3-9ESP8266實物圖3.5.3通信模塊電路設(shè)計ESP8266-01模塊的管腳排列圖如圖3-10所示。圖3-10ESP8266管腳排列圖模塊的UTXD管腳與STM32單片機的PA3引腳相連;模塊的URXD管腳與STM32單片機的PA2引腳相連;模塊的RST管腳為復位引腳,低電平復位,高電平工作,與STM32單片機的PA1引腳相連;VCC為模擬電源引腳,供電電壓為3.3V;GND為電源地,與STM32單片機的GND引腳相連。
第4章血氧飽和度檢測系統(tǒng)軟件設(shè)計4.1開發(fā)環(huán)境簡介在軟件設(shè)計中,開發(fā)環(huán)境的選擇對前期軟件的編程和后期實現(xiàn)系統(tǒng)性能起著關(guān)鍵性的作用。在本文的設(shè)計中,擇了KEIL公司的KeiluVision5集成開發(fā)環(huán)境,是目前針對ARM處理器和Cortex-M內(nèi)核處理器最佳的開發(fā)工具。相較于其它開發(fā)環(huán)境,KEIL具有以下幾點優(yōu)勢:1.可以自動生成啟動碼,提高了開發(fā)的效率2.具有高效率的RealView編譯器。3.具有集成的Flash燒寫軟件,可以通過仿真器直接進行Flash燒寫。使用KEIL開發(fā)軟件項目可以分為下幾個步驟:1.新建一個工程,選擇對應(yīng)的單片機芯片,對工程編譯環(huán)境進行配置。2.在工程中添加C文件和H文件,編寫C語言程序代碼。3.編譯源程序。4.調(diào)試程序,修改程序中的錯誤。5.將程序下載到硬件里,進行聯(lián)機調(diào)試。4.2軟件設(shè)計流程本設(shè)計首先對傳感器模塊、OLED顯示模塊以及通信模塊等硬件進行驅(qū)動程序的編寫。但是這些硬件的程序只能使系統(tǒng)進行正常的工作,使得各模塊能夠不斷的進行檢測工作。單是這樣還不能實現(xiàn)系統(tǒng)的主要功能,因此,接下來編寫了算法程序,將傳感器檢測到的信號傳輸?shù)街骺匦酒M行算法處理,然后求得血氧飽和度的值。最后實現(xiàn)數(shù)據(jù)的顯示和上傳功能。4.2.1系統(tǒng)主程序設(shè)計首先進行了系統(tǒng)和傳感器模塊MAX30100、OLED顯示模塊、通訊模塊等硬件外設(shè)的初始化。之后MCU通過IIC驅(qū)動MAX30100進行血氧飽和度檢測,讀取對應(yīng)的電信號參數(shù),將數(shù)據(jù)進行模數(shù)轉(zhuǎn)換成數(shù)字量。最后,MCU通過IIC控制OLED顯示模塊將測量結(jié)果實時顯示出來;同時,控制通訊模塊將檢測到的數(shù)據(jù)上傳到OneNet物聯(lián)網(wǎng)云平臺。系統(tǒng)主程序設(shè)計流程如圖4-1所示:圖4-1主程序設(shè)計框圖4.2.2傳感器模塊程序設(shè)計本文選用的傳感器上有兩個集成的光源和一個光電探測器。首先對傳感器模塊的內(nèi)部時鐘以及端口進行初始化;然后通過內(nèi)部預(yù)先設(shè)置的LED驅(qū)動器時序,來驅(qū)動芯片上的LED交替掃描檢測部位,測得的光信號經(jīng)過芯片內(nèi)部的模數(shù)轉(zhuǎn)換和放大濾波處理后,轉(zhuǎn)換為數(shù)字量。將測量到的數(shù)據(jù)存儲到芯片內(nèi)部的FIFO寄存器中,然后對IIC接口進行初始化,進行數(shù)據(jù)的讀取與傳輸。芯片的工作原理如圖4-2所示。在血氧模式下,IIC命令設(shè)置為{2:0},只有當FIFO寄存器存滿的時候,才會產(chǎn)生中斷,但是這時會留一個空間給FIFO寄存器產(chǎn)生中斷。只有寄存器的數(shù)據(jù)被讀取時,中斷才會離開。圖4-2MAX30100工作原理圖4.2.3OLED顯示模塊程序設(shè)計本設(shè)計選取的OLED顯示模塊使用IIC總線進行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸時會使用IIC的串行時鐘線(SCL)和串行數(shù)據(jù)線(SDA)。顯示模塊的程序設(shè)計中,首先需要對模塊的系統(tǒng)進行初始化;然后對模塊的顯示區(qū)間進行程序編寫;最后對數(shù)據(jù)的顯示程序進行編寫。顯示模塊程序設(shè)計如圖4-3所示。圖4-3OLED顯示流程圖4.2.4通訊模塊程序設(shè)計開始首先對通訊模塊ESP8266-01進行模塊內(nèi)部、時鐘及端口的初始化;第二步,進行模塊的參數(shù)配置;第三步,在參數(shù)配置好之后,WIFI模塊開始進行連接請求;第四步,如果連接成功,則需要等待串口數(shù)據(jù);最后將ESP8266介入到TCP服務(wù)端,進行數(shù)據(jù)的傳輸。通訊模塊程序設(shè)計如圖4-4所示。圖4-4通訊模塊流程圖
第5章系統(tǒng)功能測試5.1系統(tǒng)調(diào)試對系統(tǒng)進行調(diào)試的目的是為了發(fā)現(xiàn)設(shè)計過程中的錯誤并且進行及時的改正,確保系統(tǒng)能夠達到預(yù)想的要求。調(diào)試階段是整個系統(tǒng)設(shè)計的最后環(huán)節(jié),也是最關(guān)鍵的一個環(huán)節(jié)。本設(shè)計使用的模塊有主控模塊、傳感器模塊、顯示模塊和通訊模塊。為提高系統(tǒng)調(diào)試的效率,本文的調(diào)試過程使用的是分塊調(diào)試法。這種方法可以縮小電路故障發(fā)生的范圍,能夠及時的對故障進行改正,使解決問題變得更加容易。首先調(diào)試的是系統(tǒng)的主控芯片,檢測系統(tǒng)的輸出電路是否正常;然后對血氧飽和度檢測傳感器進行調(diào)試,驗證傳感器能否正常進行數(shù)據(jù)采集;然后對OLED顯示模塊的電路進行調(diào)試,觀測OLED模塊能否正常的顯示檢測結(jié)果;最后對通信模塊進行調(diào)試,檢測數(shù)據(jù)是否能夠?qū)崟r上傳。在整個測試過程中對各個模塊的功能進行逐級檢測,最后如果系統(tǒng)各個模塊都可以正常工作,將程序下載到系統(tǒng)中進行綜合的調(diào)試,檢測程序在編寫的過程中所出現(xiàn)的錯誤,并進行及時的改正。5.2系統(tǒng)功能驗證完成整個設(shè)計的電路搭建后,將程序下載到主控芯片的最小系統(tǒng)里,對整個系統(tǒng)進行綜合的測試,驗證是否能夠達到預(yù)期的設(shè)計效果。首先將檢測部位放到傳感器上,通過傳感器進行信號采集,芯片內(nèi)部會對信號進行模數(shù)轉(zhuǎn)換,然后進行數(shù)字濾波,通過IIC通信上傳到主控芯片進行血氧飽和度值的計算;最后主控芯片控制顯示模塊對數(shù)據(jù)進行實時顯示,同時通訊模塊也能正常將數(shù)據(jù)傳輸?shù)絆neNet云平臺。當上傳平臺的數(shù)據(jù)小于所設(shè)定的閾值時,平臺會以郵件的形式對用戶做出報警。當上面一系列步驟都能正常工作時,說明設(shè)計達到了預(yù)期的目的。本設(shè)計正常工作實物圖如圖5-1所示,系統(tǒng)數(shù)據(jù)采集如圖5-2所示:圖5-1硬件工作實物圖圖5-2數(shù)據(jù)采集圖
第6章總結(jié)與討論6.1總結(jié)目前,能夠?qū)θ梭w生理健康參數(shù)進行實時監(jiān)測的家用醫(yī)療儀器,已經(jīng)成為自我診斷和治療不可或缺的工具。因此,結(jié)合當前醫(yī)療監(jiān)護儀器的發(fā)展現(xiàn)狀,以及傳統(tǒng)便攜式監(jiān)護儀器的優(yōu)缺點,設(shè)計了一種用于檢測血氧飽和度的醫(yī)療監(jiān)護儀器。首先結(jié)合血氧飽和度對人體健康的重要性,闡述了血氧飽和度檢測系統(tǒng)設(shè)計在醫(yī)療監(jiān)護領(lǐng)域的重要意義。針對國內(nèi)外對血氧飽和度檢測的研究現(xiàn)狀,結(jié)合傳統(tǒng)便攜式監(jiān)護儀器的優(yōu)缺點,確定了本設(shè)計的主要研究方向。本文工作如下:1.確定本文的研究方向。前期查閱了大量有關(guān)于血氧飽和度檢測的文獻,對其進行了深入的了解,并結(jié)合當前醫(yī)療監(jiān)護儀器的發(fā)展現(xiàn)狀,確定了本文的研究方向。2.設(shè)計的模塊選型以及系統(tǒng)硬件的電路設(shè)計。通過對血氧飽和度檢測原理與檢測方法的了解和研究,完成了設(shè)計所需模塊的選型與各模塊的電路設(shè)計。經(jīng)過大量的篩選與對比后,本設(shè)計的主控芯片最終采用了STM32F103系列的STM32F103C8T6;選取MAX30100芯片作為設(shè)計的血氧飽和度檢測傳感器,進行數(shù)據(jù)的采集與處理;選用OLED來進行數(shù)據(jù)的實時顯示;數(shù)據(jù)傳輸模塊則采用的是ESP8266-01。3.對硬件模塊編寫相應(yīng)的驅(qū)動程序。為了配合硬件的使用,利用KeiluVision5嵌入式編程軟件,對每個模塊的驅(qū)動程序進行了編寫。4.對系統(tǒng)功能進行測試。首先對系統(tǒng)各模塊的功能與電路進行逐級檢測;然后完成整個電路的搭建,對系統(tǒng)進行綜合的測試,檢測表明系統(tǒng)能夠正常工作。此外,OneNet云平臺也能夠?qū)崿F(xiàn)數(shù)據(jù)的實時接收與記錄,以便于用戶對以往的數(shù)據(jù)進行回看,對自己的身體健康做出實時的分析;當用戶的檢測值過低時,平臺的報警郵件也能正常發(fā)送。6.2設(shè)計展望通過系統(tǒng)的調(diào)試和驗證,本設(shè)計無論是在采集到的數(shù)據(jù)精度,還是想要實現(xiàn)的功能等方面都已經(jīng)基本達到要求。但設(shè)計還是有一些缺陷,需要在后期進行進一步的完善。1.硬件電路設(shè)計不夠合理,手工焊接電路的連接性不好,造成信號傳輸?shù)姆€(wěn)定性降低。2.數(shù)據(jù)處理沒有過多考慮運動所帶來的干擾,在防抖等方面應(yīng)結(jié)合具體情況,采用合理方法處理,后期在這方面的設(shè)計應(yīng)該做出進一步的改善。3.環(huán)境光會對傳感器的數(shù)據(jù)采集造成一定影響,進而使測量結(jié)果產(chǎn)生一定的誤差,因此在后續(xù)的改進過程中,需要進一步的消除外界環(huán)境所帶來的影響。
參考文獻[1]殷麗,傅琪,王潔君,張秋雨,張正道,智能血氧飽和度監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)[J],測控技術(shù),2018,37(08):78-81.[2]GinglZ,MellarJ,SzepeT,etal,UniversalArduino-basedexperimentingsystemtosupportteachingofnaturalsciences[J],2019:1-3.[3]董永兵,心血管生理參數(shù)監(jiān)測系統(tǒng)的研究[D],西安理工大學,2018:5-8.[4]韓帥,血氧飽和度監(jiān)測儀的設(shè)計與應(yīng)用研究[D],天津工業(yè)大學,2016:12-19.[5]LingY,JiangZ,YongC,etal,Designandimplementationofwirelessvitalsignsinformationmonitoringbasedonandroid[J],ElectronicMeasurement,2015:1-2.[6]胡雄偉,脈搏和血樣飽和度傳感器芯片的研究[D],天津工業(yè)大學,2017.[7]楊濤,便攜式無創(chuàng)數(shù)字脈搏血氧儀的設(shè)計研究[D],南京:南京醫(yī)科大學,2012:11-13.[8]孫海全,脈搏血氧飽和度監(jiān)測系統(tǒng)的研究[D],燕山大學,2009.[9]房磊,無創(chuàng)血氧飽和度測量系統(tǒng)的設(shè)計與實現(xiàn)[D],武漢:華中科技大學,2012.[10]呂春玲,無創(chuàng)血氧飽和度測量儀的研究[D],阜新:遼寧工程技術(shù)大學,2009.[11]薛冰冰,多參數(shù)移動健康監(jiān)護終端的設(shè)計與實現(xiàn)[D],廣東:南方醫(yī)科大學,2014.[12]ShangH,QiZ,JinM,etal,AportablepulsesignalacquiringandmonitoringsystembasedonAndroidplatform[C],IEEEInternationalConferenceonBioinformatics&Biomedicine,2013:1-3.[13]王維,基于ARM的便攜式多生理參數(shù)監(jiān)護裝置的研制[D],上海:上海交通大學,2012.
附錄/*******************主要源程序********************/#include<stdlib.h>#include"sys.h"#include"delay.h"#include"usart.h"#include"usart3.h"#include"timer.h"#include"esp8266.h"#include"myiic.h"#include"max301002.h"#include"algorithm.h"#include"OLED_I2C.h"#include"SpO2.h"structuart1_bufferuart1_rx,uart1_tx;#defineSSID "vivo"#definePASSWORD "19960606"#defineSERVER ""#defineSERVER_PORT "80"#defineDEVICES_ID "563353357"#defineAPI_KEY "VgFQcTZvRZFLDitsKq5J1=OiEzg="#defineTemperature_ID "SpO2"floatSpO2;voidPost_data(floatSpO2){ ESP8266_Post_OneNet(DEVICES_ID,API_KEY,Temperature_ID,SpO2); DelayMs(300);}intmain(void){uart1_tx.buf[0]=0x55; uart1_tx.buf[1]=0xAA; uart1_tx.buf[10]=0x0D; DelayInit(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); uart_init(115200); usart2_init(115200);myiic_Init();max30102_init();I2C_Configuration(); OLED_Init(); OLED_Fill(0x00); OLED_ShowStr(32,0,"Smart",2); OLED_ShowStr(0,2,"Blood:",2); while((ESP8266_STA_Init(SSID,PASSWORD))){ u1_printf("初始化ESP8266為STA模式...\r\n");}if(ESP8266_Link_Server(TCP,SERVER,SERVER_PORT)==0){ u1_printf("連接OneNet服務(wù)器成功...\r\n");} while(1) { OLED_ShowStr(0,4,"OK!",2); test_max30100_fun(); }}/****************血氧飽和度計算函數(shù)**************/externvoidPost_data(floatSpO2);u16g_fft_index=0;u8Her[3];voidtest_max30100_fun(void){ u16fifo_word_buff[15][2]; u16i=0; u16s1_max_index=0; u16s2_max_index=0; u16Heart_Rate=0; u8temp_num=0; while(1) { temp_num=max30102_Bus_Read(0x00); if(INTERRUPT_REG_A_FULL&temp_num) { max10300_FIFO_Read(0x05,fifo_word_buff,15); for(i=0;i<15;i++) { if(g_fft_index<FFT_N) { s1[g_fft_index].real=fifo_word_buff[i][0]; s1[g_fft_index].imag=0; s2[g_fft_index].real=fifo_word_buff[i][1]; s2[g_fft_index].imag=0; g_fft_index++; } } if(g_fft_index>=FFT_N) { FFT(s1); FFT(s2); for(i=0;i<FFT_N;i++) { s1[i].real=sqrtf(s1[i].real*s1[i].real+s1[i].imag*s1[i].imag); s2[i].real=sqrtf(s2[i].real*s2[i].real+s2[i].imag*s2[i].imag); } { u16index=START_INDEX; for(;index<60;index++) { #ifdefSAMPLE_50printf("f=%3.3fHZ,s1[%3d]=%f\r\n",50.0/FFT_N*index,index,s1[index].real);printf("f=%3.3fHZ,s2[%3d]=%f\r\n",50.0/FFT_N*index,index,s2[index].real); #elseprintf("f=%3.3fHZ,s1[%3d]=%f\r\n",100.0/FFT_N*index,index,s1[index].real);printf("f=%3.3fHZ,s2[%3d]=%f\r\n",100.0/FFT_N*index,index,s2[index].real); #endif } } s1_max_index=find_max_num_index(s1,60); s2_max_index=find_max_num_index(s2,60); #ifdefSAMPLE_50 Heart_Rate=60*50*((s1_max_index+s2_max_index)/2)/FFT_N; #else Heart_Rate=60*100*((s1_max_index+s2_max_index)/2)/FFT_N; #endif if(Heart_Rate>=99) Heart_Rate=0; elseHeart_Rate=87+Heart_Rate%10; sprintf(Her,"%2d",Heart_Rate); OLED_ShowStr(62,2,&Her[0],2); OLED_ShowStr(86,2,"%",2); OLED_ShowStr(0,7,"DetectSuccess!",1); Post_data(Heart_Rate); if(Warn_SPO2>Heart_Rate&&Heart_Rate!=0) { GPIO_ResetBits(GPIOB,GPIO_Pin_11); } else { GPIO_SetBits(GPIOB,GPIO_Pin_11); } g_fft_index=0; } } }}/********************OLED_IIC初始化函數(shù)*******************/voidI2C_Configuration(void){ I2C_InitTypeDefI2C_InitStructure; GPIO_InitTypeDefGPIO_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); GPIO_InitStructure.GPIO_Pin=
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技教育在課堂中的有效運用計劃
- 社區(qū)團結(jié)互助的活動示范計劃
- 《大方縣宏能能源開發(fā)有限公司貴州省大方縣金沙煤田巖腳-白花塔井田煤礦(新建)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評審意見
- 2025年美麗的大自然標準教案合集
- 規(guī)范化銷售培訓
- 個人年終總結(jié)培訓
- 透析患者導管感染護理
- Unit 5 Lesson 28 The Study of Living Things2024-2025學年九年級英語上冊同步教學設(shè)計(冀教版)河北專版
- 2025年安徽貨運從業(yè)資格證考試500題題庫
- 高中數(shù)學 第一章 空間幾何體 1.2 空間幾何體的三視圖和直觀圖 1.2.3 空間幾何體的直觀圖教學實錄 新人教A版必修2
- 《竹枝詞》-完整版PPT
- 貴州區(qū)域地質(zhì)地史概述
- Aptitude態(tài)度的重要性
- 《推薦》500kV輸電線路應(yīng)急處置預(yù)案6個
- 麗聲北極星分級繪本第三級下 The Class Trip 課件
- 第一課想聽聽我的忠告嗎
- 高英Lesson3 Pub Talk and the King27s English
- 防洪堤防工程堤頂高程的計算表
- 古詩詞常見題材之思鄉(xiāng)懷人詩鑒賞
- 《平方差公式(1)》導學案
- 等保三級基線要求判分標準v10
評論
0/150
提交評論