基于stm32的便攜式心電圖儀畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  ****大 學(xué)</b></p><p>  本科生畢業(yè)設(shè)計(論文)</p><p>  學(xué)院(系):******</p><p>  專 業(yè):******</p><p>  學(xué) 生: ** </p><p>  指導(dǎo)教師: *** &

2、lt;/p><p>  完成日期 2012 年 5 月</p><p>  ****本科生畢業(yè)設(shè)計(論文)</p><p>  基于STM32的便攜式心電圖儀設(shè)計</p><p>  Design of Portable ECG Device Based on STM32 </p><p>  總計: 畢業(yè)

3、設(shè)計(論文)25頁</p><p>  表 格: 1 個</p><p>  插 圖 : 19 幅</p><p>  ***本 科 畢 業(yè) 設(shè) 計(論文)</p><p>  基于STM32的便攜式心電圖儀設(shè)計</p><p>  Design of Portable ECG Device

4、 Based on STM32</p><p>  學(xué) 院(系): ****** </p><p>  專 業(yè): ****** </p><p>  學(xué) 生 姓 名: ** </p><p>  學(xué) 號: 069108209 <

5、;/p><p>  指 導(dǎo) 教 師(職稱): *** </p><p>  評 閱 教 師: </p><p>  完 成 日 期: </p><p><b>  *****</b></p>

6、<p><b>  ***</b></p><p>  基于STM32的便攜式心電圖儀設(shè)計</p><p>  ****** **</p><p>  [摘要] 本系統(tǒng)完成了基于STM32微處理器的心電采集及分析處理系統(tǒng)的方案設(shè)計、硬件和軟件設(shè)計與實現(xiàn),心電信號采集電路是其關(guān)鍵部分,主要完成信號的正確提取。本系統(tǒng)屬于典型的生物醫(yī)學(xué)

7、信號采集處理系統(tǒng),處理的對象是強噪聲背景下的微弱心電信號,噪聲和干擾的存在對前端采集電路提出了更高的要求。根據(jù)心電信號的特點,選用精密儀表放大器為主要元件設(shè)計了前置放大電路。為更好的降低干擾的影響,設(shè)計了右腿驅(qū)動電路、高通、低通濾波電路以及陷波電路,成功提取了心電信息。心電處理電路通過A/D轉(zhuǎn)換把模擬信號轉(zhuǎn)換成數(shù)字信號送至微處理器做進(jìn)一步處理,該部分電路主要包括STM32處理器電路、LCD接口電路等,選用ST公司的低成本、低功耗的Cor

8、tex-M3核處理器STM32F103ZE作為控制核心。</p><p>  [關(guān)鍵詞] 心電采集;濾波電路;共模干擾;STM32</p><p>  Design of Portable ECG Device Based on STM32</p><p>  Electrical Engineering and Automation Specialty W

9、ANG Jie</p><p>  Abstract: The system proposed a plan of ECG acquisition,analysis and processing system which based on STM32,and completed its hardware and software design.The core of the system is ECG acqu

10、isition circuit,which is to complete the signal extraction. The system is a typical biomedical signal collecting- processing one, which processes weak signals in strong noise background.Because of the impact of noise and

11、 interference, the front-end acquisition circuit needs to have higher performance.According</p><p>  Key words: Ecg acquisition;filter circuit;serial communication; STM32</p><p><b>  目 錄&

12、lt;/b></p><p><b>  1 引言1</b></p><p>  1.1 心電圖儀在醫(yī)學(xué)領(lǐng)域中的應(yīng)用1</p><p>  1.2 便攜式心電圖儀的發(fā)展?fàn)顩r2</p><p>  2 系統(tǒng)總體設(shè)計3</p><p><b>  2.1主要功能3<

13、/b></p><p>  2.2系統(tǒng)設(shè)計方案4</p><p>  3 便攜式心電圖儀的硬件設(shè)計5</p><p>  3.1最小核心系統(tǒng)的設(shè)計5</p><p>  3.1.1處理器的選擇5</p><p>  3.1.2最小核心系統(tǒng)電路的設(shè)計6</p><p>  3.2

14、人機交互界面的設(shè)計9</p><p>  3.2.1顯示界面設(shè)計9</p><p>  3.2.2按鍵設(shè)計10</p><p>  3.3前置放大電路以及右腿驅(qū)動電路11</p><p>  3.4濾波電路以及陷波電路的設(shè)計12</p><p>  3.5電源電路的設(shè)計13</p><p

15、>  4 便攜式心電圖儀的軟件設(shè)計14</p><p>  4.1軟件開發(fā)平臺14</p><p>  4.2軟件系統(tǒng)整體設(shè)計16</p><p>  4.2.1軟件總體分析16</p><p>  4.2.2 STM32 軟件系統(tǒng)設(shè)計流程16</p><p>  4.2.3軟件總體流程圖17<

16、;/p><p>  4.3信號采集程序設(shè)計18</p><p>  4.4數(shù)字濾波程序設(shè)計18</p><p>  4.5液晶程序設(shè)計19</p><p>  5 系統(tǒng)調(diào)試結(jié)果及誤差分析20</p><p>  5.1調(diào)試手段20</p><p>  5.2測量調(diào)試以及分析21</

17、p><p>  5.2.1 采集電路的測試21</p><p>  5.2.2 濾波算法測試22</p><p>  5.2.3 整體測試和結(jié)果分析22</p><p><b>  結(jié)束語24</b></p><p><b>  參考文獻(xiàn)25</b></p>

18、<p><b>  附錄26</b></p><p><b>  致謝28</b></p><p><b>  1 引言</b></p><p>  隨著社會的進(jìn)步、經(jīng)濟(jì)的發(fā)展以及人們生活水平的逐步提高,我國人口老齡化程度越來越嚴(yán)重,與此伴隨的心臟病一類的疾病的發(fā)病率也不斷攀升,人

19、們的身體健康產(chǎn)生了巨大的威脅。相關(guān)數(shù)據(jù)表明,我國因心腦血管疾病死亡的人數(shù)將近占總死亡人數(shù)的一半[1]。根據(jù)相關(guān)部門的調(diào)查顯示,我國每年大約有近一半的死亡病例為冠心病,而且死亡率還在逐年遞增。每年約有16萬名患者接受支架植入手術(shù),手術(shù)施行每年的增長率超過了五分之一。在我國因心腦血管疾病每年耗費達(dá)3000億元,由于受測試手段的局限,預(yù)防率、治療率及控制率依然很低。預(yù)防率是有效防治心腦血管疾病的關(guān)鍵因素,而且有效的方便的心電監(jiān)測儀器是完成這一

20、任務(wù)的有力工具。</p><p>  1.1 心電圖儀在醫(yī)學(xué)領(lǐng)域中的應(yīng)用</p><p>  人類的心臟有規(guī)律性的膨脹和收縮,從而使血液的循環(huán)。在心臟肌肉每次收縮之前,都會產(chǎn)生一股微小的生物電流,加上人體的體液能夠?qū)щ?,這些微小電流可以通過體液的傳遞就會反映到人體的表面皮膚上。不過受限于身體各部分組織不同、距心臟的距離不同,會造成體表的不同部位的電位有所不同。通過捕捉這個現(xiàn)象,將心電圖顯示

21、出來的心電檢測儀器,根據(jù)這些人體生物電信號,我們可以從不同角度觀察心臟的活動情況。這是我們對心臟基本功能及其病理研究,具有重要的參考價值[2]。 </p><p>  心電圖能夠在一定程度上反映心律的運行狀況,人的心肌受損的程度、發(fā)展過程以及心房、心室的功能結(jié)構(gòu)情況都能通過它表現(xiàn)出來。這些都可以在心臟手術(shù)和藥物的使用上提供重要的參考[3]。</p><p>  常規(guī)心電監(jiān)護(hù)設(shè)備體積笨重、價

22、格昂貴和不便于攜帶,但是隨著社會生活水平的提高,醫(yī)療器械家庭化開始逐漸進(jìn)入我們的日常生活,家庭化的心電圖儀器功能沒有專業(yè)的大型的醫(yī)療設(shè)備齊全,但是它具有具有體積小、操作簡單的優(yōu)點,同時可以在一定程度上滿足了人們的基本應(yīng)用。我們可以用它在家庭或則其他地方很方便的進(jìn)行心電圖信號的測量,并根據(jù)進(jìn)一步的處理,做基本的診斷,也可以把這些數(shù)據(jù)提交到專業(yè)機構(gòu)做進(jìn)一步的詳盡的診斷。這樣也可以避免那些行動不便的病人,利用互聯(lián)網(wǎng)技術(shù),把數(shù)據(jù)通過遠(yuǎn)程傳送的方

23、式,提交到專業(yè)機構(gòu)或指定的醫(yī)院驚醒專業(yè)診斷和分析。</p><p>  為了能夠在更多場合更方便的診斷,各種各樣的便攜式心電圖設(shè)備應(yīng)運而生,常規(guī)心電圖儀由于笨重只能在病人靜臥的情況下記錄的心電活動,歷時時間短,獲取的信息量很少,所以在有限時間內(nèi)有些非正常的情況被發(fā)現(xiàn)的概率也是很低的。而便攜式監(jiān)護(hù)裝置可以在隨時隨地的進(jìn)行實時監(jiān)護(hù),并把數(shù)據(jù)存儲起來。這樣不僅可以節(jié)省時間,還可以得到實時的監(jiān)護(hù),所以研發(fā)便攜式心電監(jiān)護(hù)產(chǎn)

24、品具有重要意義。本文主要研究的便攜式心電圖儀,即將普通心電圖設(shè)備小型化、家庭化,具有低價位、體積小、便于攜帶和使用方便等特點。</p><p>  1.2 便攜式心電圖儀的發(fā)展?fàn)顩r</p><p>  1887年英國生理學(xué)Einthoven通過對毛細(xì)管的靜電計記錄了心動的電流圖[4]。 1895年他開始了對心臟動作電流的進(jìn)一步研究,并通過對德?阿森瓦爾氏的鏡影電流計的設(shè)計改進(jìn),提高了心

25、電圖的質(zhì)量。1903年他成功的設(shè)計了弦線式電流計,通過反射鏡記錄心動電流,解決了以前測量設(shè)備的惰性大,記錄誤差大以及需要繁瑣的數(shù)學(xué)計算等缺點。同時,他又制定心電圖的影線在縱坐標(biāo)上波動1cm,代表1mV的電位差,在橫坐標(biāo)上移動1cm為0.4秒的標(biāo)準(zhǔn)。這種方法簡單直觀,并采用P、Q、R、S、T等字母標(biāo)出心電圖上的各波,這種標(biāo)記方法一致沿用至今。1912年在他深入研究了正常心電圖的波動范圍后,提出了著名的“愛因托芬三角”理論。1924年Ein

26、thoven教授獲得了諾貝爾生理學(xué)和醫(yī)學(xué)獎[5]??傊@位被尊稱為“心電圖之父”的生理學(xué)家對心電圖的創(chuàng)立及發(fā)展有著巨大的的貢獻(xiàn)。心電圖從此開始逐步走進(jìn)協(xié)助診斷疾病,并通過發(fā)展被廣泛應(yīng)用于臨床。</p><p>  隨著社會的發(fā)展,心電圖檢測理論越來越成熟與完善,另外機械、電子、計算機等技術(shù)的迅猛發(fā)展,帶動了醫(yī)療器械發(fā)生了革命性變化,極大的增強了心電圖機的功能。 隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,特別是計算機、微電子、機械電

27、子在醫(yī)療領(lǐng)域的廣泛應(yīng)用,極大的促進(jìn)了心電設(shè)備的發(fā)展。目前各大醫(yī)療器械廠商都投入巨資開發(fā)性能更強、功能更加完善的心電設(shè)備,比如歐姆龍、北京超思、亞新、均在該領(lǐng)域的研究與生產(chǎn)上有所突破。</p><p>  綜觀當(dāng)前心電檢測儀器發(fā)展趨勢,主要向以下幾個方向發(fā)展: </p><p><b> ?。?)系統(tǒng)化</b></p><p>  隨著醫(yī)院計算機

28、管理網(wǎng)絡(luò)化、信息存儲介質(zhì)和IC卡等的應(yīng)用及Internet的全球化而產(chǎn)生的。電子病歷是信息技術(shù)和網(wǎng)絡(luò)技術(shù)在醫(yī)療領(lǐng)域的必然產(chǎn)物,我國衛(wèi)生部先后在2010,2011發(fā)布了關(guān)于電子病歷系統(tǒng)的規(guī)范和通知文件。而實時心電數(shù)據(jù)將在該系統(tǒng)中有著重要的作用。</p><p><b>  (2)數(shù)字化 </b></p><p>  隨著計算機科學(xué)、機械電子的迅猛發(fā)展,醫(yī)療器械的數(shù)字化程

29、度越來越高,比如數(shù)字濾波器的使用,極大的降低了心電干擾,提高了心電判斷的準(zhǔn)確率。 </p><p><b> ?。?)無線化 </b></p><p>  無線傳感技術(shù)的發(fā)展能夠促使心電檢測無線化,從而擺脫傳統(tǒng)心臟檢測的繁瑣程序。同時,能減輕病人的心里緊張程度,實現(xiàn)心電檢測的方便性。 </p><p><b> ?。?)自動化 <

30、;/b></p><p>  自動測量和分析是醫(yī)療儀器的發(fā)展方向,使醫(yī)療器械智能化是目前醫(yī)療器械設(shè)計的目標(biāo)之一。 </p><p><b> ?。?)遠(yuǎn)程化</b></p><p>  計算機技術(shù)、網(wǎng)絡(luò)通信技術(shù)的快速發(fā)展,為遠(yuǎn)程醫(yī)療的實現(xiàn)提供了可能,將心電數(shù)據(jù)通過遠(yuǎn)程傳輸,在遠(yuǎn)端對心電數(shù)據(jù)加以分析處理并提出診斷結(jié)果,從而實現(xiàn)遠(yuǎn)程醫(yī)療。如目

31、前出現(xiàn)的基于GPRS網(wǎng)絡(luò)的遠(yuǎn)程心電監(jiān)護(hù)系統(tǒng)就是這個發(fā)展趨勢的體現(xiàn)。</p><p>  總之,科技不斷進(jìn)步,人們的需求也在變化,心電圖是記錄心臟電活動狀態(tài)的記錄,包括心臟節(jié)律和頻率以及電壓的高低等信息,可用于診斷各種心律失常、心肌病變、心肌梗塞及心肌缺血等心血管疾病。同時對心臟病的診斷和治療也提供了確切的理論依據(jù)。設(shè)計符合市場需求的產(chǎn)品是企業(yè)生存的根本,利用高科技帶來的技術(shù)革命去更新醫(yī)療器械更是一個巨大的市場機會

32、,我們相信,在未來幾年里,家庭化的監(jiān)護(hù)設(shè)備必將越來越普及[6]。</p><p><b>  2 系統(tǒng)總體設(shè)計</b></p><p>  由于心電信號的微弱性,我們對心電信號的提取具有一定難度。另外受到50Hz 及其倍頻干擾和極化電壓的影響,對前置放大器和信號濾波電路的設(shè)計提出了更高的要求。因此在設(shè)計前端硬件電路時,要根據(jù)信號的特征,選擇最佳的器件。同時便攜式設(shè)備

33、必須是低功耗設(shè)備這限制了多數(shù)的微處理器,鋰電池供電對信號僅僅用硬件濾波還不能達(dá)到分析信號的要求,硬件濾波的一個缺點是,要想獲得更好的濾波效果,必須設(shè)計更高的階數(shù),而這無疑會增加系統(tǒng)的體積。因此還有必要采用軟件濾波的方法,這就對處理器的速度和軟件的優(yōu)化提出了更高的要求[7]。采取軟件濾波即設(shè)計數(shù)字濾波器,數(shù)字濾波器有多種,這樣就必須尋找一種行之有效的濾波算法。</p><p><b>  2.1主要功能&

34、lt;/b></p><p>  本文的目的是通過先進(jìn)微處理器的應(yīng)用研究的主要內(nèi)容是通過將嵌入式技術(shù)、數(shù)字信號處理技術(shù)和信號采集技術(shù)的結(jié)合,設(shè)計一個能夠完成信號提取和分析功能的嵌入式心電圖監(jiān)測系統(tǒng)。主要研究工作如下: </p><p>  (1) 心電圖儀的硬件設(shè)計: </p><p>  采集電路:準(zhǔn)確提取生理信號,把信號處理為可供采集分析的有效信號; &

35、lt;/p><p>  處理電路:完成信號的采集、濾波、顯示、分析和傳輸?shù)取?</p><p>  (2) 心電圖儀的軟件設(shè)計: </p><p>  STM32芯片各模塊初始化程序; </p><p>  數(shù)字濾波處理程序; </p><p>  人機交互界面的程序設(shè)計; </p><p>&l

36、t;b>  2.2系統(tǒng)設(shè)計方案</b></p><p>  系統(tǒng)原理結(jié)構(gòu)圖如圖1所示。心電信號由電極獲取,送人心電采集電路,經(jīng)前置放大、主放大、高低通濾波,得到符合要求的心電信號,并送入到STM32的ADC進(jìn)行AD轉(zhuǎn)換。為了更好地抑制干擾信號,在電路中還引入了右腿驅(qū)動電路。系統(tǒng)控制芯片采用STM32,TFT-LCD的觸摸功能加上少量按鍵可以建立良好的人機交互環(huán)境,可以通過LCD實時顯示和回放,數(shù)

37、據(jù)通過USB可靠地傳輸?shù)絇C機,以便對心電數(shù)據(jù)做進(jìn)一步的分析。系統(tǒng)主要硬件結(jié)構(gòu)及電路系統(tǒng)主要劃分為三大部分:心電采集電路,主要完成心電信號的提??;帶通濾波及主放大電路,用于調(diào)理采集到的信號,使之符合處理要求;STM32處理電路,完成心電信號的顯示和分析功能。</p><p>  圖1 系統(tǒng)原理結(jié)構(gòu)圖</p><p>  整個系統(tǒng)有以下幾個部分組成: </p><p>

38、;  (1)采集電路:主要有前置放大電路、帶通濾波電路和主放大電路組成,心電信號由電極獲取后送入心電采集電路,經(jīng)處理后得到符合要求的心電信息。 </p><p> ?。?)處理電路:主要完成對心電數(shù)據(jù)的濾波、陷波、放大、分析、顯示和傳輸控制。 </p><p> ?。?)按鍵電路:完成良好的人機交互。 </p><p> ?。?)顯示電路:實時顯示出心電波形和心電相

39、關(guān)信息。 </p><p> ?。?)上位機設(shè)計:在PC機上處理和顯示心電波形。 </p><p> ?。?)電源電路:設(shè)計穩(wěn)定可靠的電源電路,為整個系統(tǒng)提供電源,降低系統(tǒng)功耗。</p><p>  3 便攜式心電圖儀的硬件設(shè)計</p><p>  便攜式心電圖儀要求具有可移動性和再開發(fā)性,不僅便于攜帶、功能盡可能的完善能夠?qū)崟r對心電信號進(jìn)

40、行處理,而且要求隨著發(fā)展可以進(jìn)一步升級滿足人們更多的需求。本心電圖儀集信號的采集、處理、傳輸三大功能于一體。對于這些功能,即需要相對獨立的模塊化設(shè)計,又需要良好的協(xié)調(diào)。因此,在開發(fā)過程中,硬件設(shè)備的選擇需要考慮這些特定的需求,有針對性的進(jìn)行器件的選擇和設(shè)計。總體電路要遵循: </p><p>  (1) 選擇合適的處理器,盡量選擇片上系統(tǒng)(System on Chip,SoC)設(shè)計硬件系統(tǒng),減少硬件復(fù)雜度并降低

41、成本。 </p><p>  (2) 選擇典型電路,按照模塊化設(shè)計,系統(tǒng)擴展與I/O 的配置充分滿足應(yīng)用系統(tǒng)的功能要求,并留有適當(dāng)冗余,以便進(jìn)行二次開發(fā)。 </p><p>  (3) 注重軟硬件結(jié)合,軟件能實現(xiàn)的功能盡可能由軟件實現(xiàn),以簡化硬件結(jié)構(gòu),降低能耗和設(shè)備成本。 </p><p>  (4) 必須考慮芯片的驅(qū)動能力,有必要的可靠性及抗干擾設(shè)計它包括去

42、耦濾波、印刷電路板布線、通道隔離等[8]。</p><p>  3.1最小核心系統(tǒng)的設(shè)計</p><p>  以應(yīng)用為中心、軟件硬件可裁剪的、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴(yán)格綜合性要求的專用計算機系統(tǒng),由硬件和軟件兩部分有機的結(jié)合在一起,作為一種典型的嵌入式應(yīng)用[9]。由于便攜式心電圖儀有很強的可移動性,便于使用者攜帶,同時也要求功能完善,能夠?qū)崟r對心電信號進(jìn)行處理。集信

43、號采集—處理—傳輸三大功能于一體。對于這些功能,即需要相對獨立的模塊化設(shè)計,又需要良好的協(xié)調(diào)。 因此,在開發(fā)過程中,硬件設(shè)備的選擇需要考慮這些特定的需求,有針對性的進(jìn)行器件的選擇和設(shè)計。 </p><p>  3.1.1處理器的選擇</p><p>  處理器相當(dāng)于人體的大腦機制,整個系統(tǒng)在處理器合理指揮調(diào)度下才能完成我們賦予他們的任務(wù),所以一款合適的處理器對于整個系統(tǒng)來說是非常重要的。經(jīng)

44、過綜合考慮本設(shè)計對處理器的選擇主要從以下五個方面來考慮: </p><p>  (1) 處理器的處理速度:在本設(shè)計中,處理器不僅要進(jìn)行濾波處理,同時還要實時顯示出心電波形,在通信的情況下還要與PC機進(jìn)行通信,因此,處理器要有較高的處理速度。</p><p>  (2) 處理器在完成任務(wù)的復(fù)雜程度:在本設(shè)計中,處理器要負(fù)責(zé)信號的采集、信號的濾波處理、心電波形的顯示、數(shù)據(jù)存儲以及通信。 &

45、lt;/p><p>  (3) 盡可能簡化外圍電路的復(fù)雜程度:一個系統(tǒng)中所使用的元器件越多、電路結(jié)構(gòu)越復(fù)雜,則系統(tǒng)的出問題的概率越大,可靠性與穩(wěn)定性越差。因此在選擇MCU的時候,希望MCU內(nèi)部集成功能單元越多越好,這樣就能簡化系統(tǒng)設(shè)計,增加系統(tǒng)的可靠性及穩(wěn)定性。 </p><p>  (4) 盡可能減少生產(chǎn)成本:在本系統(tǒng)中,由于多數(shù)屬于家庭使用及野外環(huán)境的不確定性因素較多,對于普及性的大眾

46、化產(chǎn)品,希望替換成本越低越好,其中處理器的成本占了整個系統(tǒng)的重要的一部分,能夠降低處理器的成本也就從而降低了產(chǎn)品的總成本。 </p><p>  (5) 盡可能底的功耗:便攜式設(shè)備對低功耗的要求都較高,必須最低限度的減少功耗,手持式設(shè)備的續(xù)航能力也是眾多參數(shù)比較受關(guān)注的一點,如何能有長時間的續(xù)航能力也是我們需要注意的一點。</p><p>  綜合以上幾個方面,最終選用了意法半導(dǎo)體公司推

47、出的新型32位ARM內(nèi)核處理器芯片STM32系列中的STM32F103ZET6。</p><p>  3.1.2最小核心系統(tǒng)電路的設(shè)計</p><p>  STM32F103x增強型系列芯片使用高性能的ARM Cortex-M3 32位的RISC內(nèi)核,工作頻率為最高可達(dá)72MHz,內(nèi)置高速存儲器(高達(dá)128K字節(jié)的FLASH和20K字節(jié)的SRAM),豐富的增強I/O 端口和連接到兩條APB

48、總線的外設(shè)。所有型號的器件都包含2個12位的ADC、3個通用16位定時器和一個PWM定時器,還包含標(biāo)準(zhǔn)和先進(jìn)的通信接口:多達(dá)2個I2C和SPI、3個USART、一個USB和一個CAN。工作電壓為3.3V。圖2是STM32F103x的模塊框圖[9]。 </p><p>  STM32微控制器有如下優(yōu)點: </p><p>  (1) STM32內(nèi)部有高達(dá)128K字節(jié)的內(nèi)置閃存存儲器,用于存

49、放程序和數(shù)據(jù)。多達(dá)20K字節(jié)的內(nèi)置 SRAM,CPU能以0等待周期訪問(讀/寫)。這樣在我們所設(shè)計的系統(tǒng)中就去掉了以往很多嵌入式項目設(shè)計中所需要的用于外部程序存儲器的Flash芯片和用于外部數(shù)據(jù)存儲器的SRAM芯片,大大節(jié)約了系統(tǒng)成本,提高了系統(tǒng)可靠性及穩(wěn)定性[10]。 </p><p>  (2) STM32增強型系列擁有內(nèi)置的ARM核心,因此它與所有的ARM工具和軟件兼容。 這給項目的開發(fā)工作帶來了很大的便

50、利,因為在以前的工作中曾經(jīng)使用過其他ARM核心的微控制器,所積累的經(jīng)驗在本項目的開發(fā)中得到了充分發(fā)揮。而且由于可用于ARM開發(fā)的工具軟件很多,大大加快了項目開發(fā)的速度和效率。 </p><p>  (3) STM32的內(nèi)部FLASH是在線可編程的。在我們的項目中,設(shè)備運行的配置參數(shù) 會存儲在FLASH中的固定位置,每次啟動設(shè)備時,程序會讀取這些參數(shù)來進(jìn)行初始化。但在某些情況下,需要遠(yuǎn)程設(shè)置或修改配置參數(shù)。這一

51、功能使得可以在不用接JTAG燒寫器的情況下根據(jù)USART接口接收到的數(shù)據(jù)來修改FLASH中的配置參數(shù),在設(shè)備再次啟動時,就會讀取新參數(shù)來進(jìn)行初始化。</p><p>  (4) STM32有優(yōu)秀的功耗控制。高性能并非意味著高功耗。STM32經(jīng)過特殊處理,針對應(yīng)用中三種主要的功耗需求進(jìn)行優(yōu)化,這三種能耗需求分別是運行模式下的高效率的動態(tài)耗電機制、待機狀態(tài)時極低的電能消耗和電池供電時的低電壓工作能力[11]。 &

52、lt;/p><p>  (5) STM32擁有強大的庫函數(shù)。它采取與以往不同設(shè)計方法,通過把各個外設(shè)封裝成標(biāo)準(zhǔn)庫函數(shù) 的方式,屏蔽了底層硬件細(xì)節(jié),能夠使開發(fā)人員很輕松地完成產(chǎn)品的開發(fā),縮短系統(tǒng)開發(fā)時間。 </p><p>  圖2 STM32F103x的模塊框圖</p><p>  STM32固件庫。STM32固件庫提供易用的函數(shù)可以使用戶方便地訪問STM32的 各

53、個標(biāo)準(zhǔn)外設(shè),并使用它們的所有特性。 </p><p>  USB開發(fā)工具集。在更廣的應(yīng)用領(lǐng)域中,USB功能的實現(xiàn)將變得越來越方便,因為USB開發(fā)工具集提供了完整的,經(jīng)過驗證的固件包,使得用戶可以順利地開發(fā)各個類的USB固件。 </p><p>  (6) STM32F103xx增強型支持三種低功耗模式,可以在要求低功耗、短啟動時間和多 種喚醒事件之間達(dá)到最佳的平衡。 </p>

54、<p>  總之,STM32芯片在項目中的使用,使得整個系統(tǒng)的運行效率、穩(wěn)定性、功耗、生產(chǎn)成本等都比同類系統(tǒng)有了較大的提升。本設(shè)計中最小核心系統(tǒng)設(shè)計圖如圖3所示。</p><p>  圖3 最小核心系統(tǒng)設(shè)計圖</p><p>  由圖3中可以看出,在設(shè)計STM32最小系統(tǒng)時要注意一下幾個部分: </p><p>  (1) 復(fù)位電路:利用RC電路的

55、延時特性,設(shè)計了簡單的復(fù)位電路,有此可簡單計算出延時時間,這里用一個10 k電阻和1.0 µF的電容,時間延時大約為3.6ms,符合STM32系統(tǒng)芯片的復(fù)位要求。 </p><p>  (2) 晶振電路:這里選用兩個晶振,首先8M無源晶振,晶振兩端分別通過22pF的電容接地,另一個32.768K的晶振使用的15pF的電容接地電路簡單,并能很容易的就能使晶振起振。</p><p>

56、;  (3) 芯片上的BOOT0和BOOT1引腳分別通過跳線帽可選高低電平,以改變芯片啟動模式,其啟動模式具體如下表1所示。</p><p>  表1 啟動模式說明</p><p>  (4) 模塊有4個數(shù)字電源供電引腳,1個模擬電源供電引腳以及相應(yīng)的接地引腳。在電源 端要注意接濾波電容,模擬地和數(shù)字地引腳之間最好通過0O電阻隔離。電源和地之間加若干去藕電容。</p>

57、<p>  3.2人機交互界面的設(shè)計</p><p>  人機交互界面是人與機器進(jìn)行溝通交流的設(shè)備,它可以把人的指令傳入給MCU,也可以讓設(shè)備顯示出我們所想知道的信息。</p><p>  3.2.1顯示界面設(shè)計</p><p>  首先,針對要完成一款便攜式心電儀的設(shè)計,那么在LCD的選擇上,就要符合實際的需要,必須要考慮功耗和成本。對于人機交互部分,顯

58、然采用單色液晶顯然已經(jīng)不能滿足的需要,因此把LCD的選擇定位在了彩色液晶上。主要從以下幾個參數(shù)做出選擇: </p><p>  (1) 顏色要豐富。從美觀角度來講,在液晶上不同類型的數(shù)據(jù)最好能夠以不同的顏色來區(qū)分。比如波形、漢字、數(shù)字最好顏色不同。所以在液晶的顏色上要達(dá)到一定的數(shù)量。 </p><p>  (2) 尺寸。便攜式式是本系統(tǒng)設(shè)計時的一個指標(biāo),因此液晶的尺寸不易過大,但也要便

59、于觀察,選擇時要符合實際情況,過大則不便于隨身攜帶,過小則可能出現(xiàn)漢字或數(shù)字不便于觀察等問題。 </p><p>  (3) 功耗。對于便攜式嵌入式設(shè)備來說,低功耗是一般都作為一項重要的指標(biāo),在外邊使用時能夠盡可能地延長電池的工作時間 </p><p>  (4) 材質(zhì)。液晶主要有兩類:STN型和TFT型,后者較之前者顯示效果更佳,但耗電能方面也高于前者。 </p>&l

60、t;p>  (5) 價格。正如上面所提到的,性價比高是本系統(tǒng)設(shè)計的一個目標(biāo),因此要可能的用符合設(shè)計要求價格低廉的產(chǎn)品。 因此,根據(jù)上述幾點本設(shè)計選用了3.2寸真彩TFT液晶觸摸屏,320*240像素,26萬色,16位并行接口,可以直接用AVR、ARM7、STM32等MCU驅(qū)動。相關(guān)參數(shù): </p><p>  分辨率:QVGA 240 x 320 </p><p><b>

61、;  尺寸:3.2英寸</b></p><p>  控制器:IL9320 </p><p>  觸摸屏:4線電阻式 </p><p>  接腳:30PIN間距2.54mm </p><p>  背光:4 LED并聯(lián)</p><p>  具體接口電路設(shè)計如圖4所示</p><p>  

62、圖4 LCD顯示界面借口</p><p><b>  3.2.2按鍵設(shè)計</b></p><p>  對于實現(xiàn)人機交互的場合,按鍵是比較常用的,通過按鍵來選擇系統(tǒng)的功能,完成對系統(tǒng)的訪問控制。本系統(tǒng)用了5個按鍵,分別定義為上、下、左、右、中鍵,前四個按鍵是對設(shè)置或訪問的液晶顯示對象進(jìn)行選擇,中鍵是確定鍵,這樣就實現(xiàn)了既可以用觸摸功能,也可以用按鍵來實現(xiàn)對系統(tǒng)的設(shè)置,

63、按鍵電路的實現(xiàn)比較簡單,這里不再詳述。具體電路實現(xiàn)如圖5所示。</p><p>  圖5 按鍵接口電路</p><p>  3.3前置放大電路以及右腿驅(qū)動電路</p><p>  前置放大電路要完成的功能是實現(xiàn)信號的差分放大,該部分電路在整個采集電路中至關(guān)重要,因為后續(xù)信號的處理都是以此為基礎(chǔ)的。因此要選擇一款合適的差分運放芯片。選擇時一般考慮以下幾點:</

64、p><p><b>  (1) 增益 </b></p><p>  由于心電信號非常微弱,均值在1mV左右,而采集電壓一般要達(dá)到1V左右,所以心電放大倍數(shù)在1000倍左右。一般為了抑制零點漂移,提高共模抑制比,應(yīng)該分多級實現(xiàn)放大。</p><p>  (2) 頻率響應(yīng) </p><p>  所謂頻率響應(yīng)是指放大器對不同信

65、號頻率的反應(yīng),心電信號的范圍低于100Hz,所以要求放大器要對此頻率范圍的信號盡可能不失真的放大出來??梢栽O(shè)計高通、低通濾波器來壓縮頻帶,濾除該頻帶以外的干擾信號。必要時還需要設(shè)計50Hz工頻干擾抑制電路,通過這樣處理后,得到的信號才可能有診斷價值。 </p><p>  (3) 共模抑制比 </p><p>  電極不對稱、電氣設(shè)備運行時的干擾都易產(chǎn)生極化電壓,然后通過放大電路其值極有

66、可能遠(yuǎn)比心電信號大得多,從而將微弱的信號淹沒。因此要求放大器有很高的共模抑制比。一般要求要達(dá)到80db以上。 </p><p>  (4) 輸入阻抗 </p><p>  心電信號是微弱的,且具有高阻抗的特性,只有高輸入阻抗才有可能不失真的引出心電信號,不然由于分壓的因素,會極大的衰減心電信號,從而導(dǎo)致無法正確采集。 </p><p>  (5) 低噪聲、低漂移

67、 </p><p>  在心電放大器中,還有兩個較重要的參數(shù)即噪聲和漂移。在設(shè)計心電放大器時應(yīng)盡量選用低噪聲元件,提高輸入阻抗。另外,溫漂會引入直流電壓增益從而給心電信號帶來干擾。因此,選用的放大器要特別注意這兩個參數(shù)。綜上所述該方案選用具有上述優(yōu)點的AD620,具體設(shè)計電路圖如圖6所示。</p><p>  圖6 前置信號采集電路</p><p>  由于人類受

68、到大量的外部干擾,心電電極和電力線之問由于存在電容耦合會產(chǎn)生位移電流Id,降低位移電流干擾的一種有效辦法是采用右腿驅(qū)動法,圖7為右腿驅(qū)動的具體連接電路。右腿不直接接地而是接到輔助運算放大器的輸出。從兩個電阻結(jié)點檢出共模電壓,它經(jīng)過輔助的反相放大器放大后通過電阻反饋到右腿。采用右腿驅(qū)動電路,對50Hz干擾的抑制并不以損失心電信號的頻率成分為代價。但由于右腿驅(qū)動存在交流干擾電壓的反饋電路,而交流電流經(jīng)人體,成為不安全因素,限流電阻通常在1M

69、Ω以上。</p><p>  圖7 右腿驅(qū)動電路</p><p>  3.4濾波電路以及陷波電路的設(shè)計</p><p>  為濾除干擾需要設(shè)計帶通濾波器,使頻率為0.05Hz~l00Hz的心電信號通過,該范圍以外的信號將大幅度衰減掉。濾波器有無源濾波器和有源濾波器兩種。無源低通濾波器是由無源器件(電阻,電容,電感)組成。其帶負(fù)載后,通帶放大倍數(shù)的數(shù)值減小,通帶截止

70、頻率升高,這個缺點不符合信號處理的要求[12]。因此本設(shè)計選用有源低通濾波器。 由RC元件與運算放大器組成的濾波器稱為RC有源濾波器,其功能是讓一定的頻率范圍內(nèi)的信號通過,抑制或急劇衰減此頻率范圍以外的信號。具有理想幅頻特性的濾波器是很難實現(xiàn)的。只能用實際的濾波器的幅頻特性去逼近理想的特性。常用的方法是巴特沃斯(Butterworth)逼近和切比雪夫(Chebysher)[13]逼近。保證信號的原形,采用較平坦的巴特沃斯有源濾波。高通濾

71、波器的設(shè)計與低通濾波器相似,這里不再敘述。 帶通濾波器用高低通濾波器來構(gòu)成,如圖8所示。高通濾波器由U3、C2、Rdip11組成,其截至頻率為f=0.03Hz,低通濾波器由U4、Cdip2、Rsop4組成,截至頻率為f=110Hz。 </p><p>  圖8 帶通濾波電路</p><p>  基于小型化和成本考慮,硬件濾波只用一階高通濾波器和一階低通濾波器,雖然設(shè)計了右腿驅(qū)動電路,但是

72、仍然有50Hz干擾進(jìn)入電路,所以本設(shè)計增加了50Hz陷波電路,如圖9所示通過該方法來濾除工頻干擾,實驗結(jié)果表明,通過高低通濾波后再加上陷波電路的信號波形清晰、特征明顯。</p><p>  圖9 50Hz陷波電路</p><p>  3.5電源電路的設(shè)計</p><p>  電源電路是整個系統(tǒng)中十分重要的一環(huán),隨著便攜式產(chǎn)品的普及,如何降低功耗成為工程師面臨的急需

73、解決的問題。如果電源不穩(wěn)定可能造成系統(tǒng)不能正常工作,嚴(yán)重的甚至燒壞芯片引發(fā)事故。因此電源管理越發(fā)顯得重要。 </p><p>  電源管理是指如何將電源有效分配給系統(tǒng)的不同組件。電源電路設(shè)計主要考慮用哪種類型的電源器件,輸入輸出電壓,輸出電流以及控制狀態(tài)[15]。 </p><p>  心電采集電路需要土5V電源,STM32工作電壓為3.3V,本設(shè)計用7.2V電池供電,中正負(fù)5V電壓可以采

74、用7805和7905來產(chǎn)生,它通過外圍的電感電容的組合提供升滿足運放使用的正電壓和負(fù)電壓,圖10是其典型應(yīng)用。</p><p>  圖10 正負(fù)5V電源電路</p><p>  3.3V的電壓采用AMS1117產(chǎn)生,其最大的特點是簡單易用,而且性價比高,輸入電壓5V~12V,直接輸出3.3V。電路如圖11所示。</p><p>  圖11 AMS1117穩(wěn)壓電路

75、</p><p>  4 便攜式心電圖儀的軟件設(shè)計</p><p>  該系統(tǒng)的軟件設(shè)計沿用經(jīng)典的是模塊化的編程思想,首先根據(jù)要求設(shè)計好系統(tǒng)的總軟件流程,然后再分別實現(xiàn)系統(tǒng)各模塊的功能。在完成硬件電路設(shè)計和電路制作后,再進(jìn)行整體的統(tǒng)一調(diào)試。本章主要討論系統(tǒng)軟件在STM32上的編程與實現(xiàn)。</p><p><b>  4.1軟件開發(fā)平臺</b>

76、</p><p>  Keil是德國Keil公司(現(xiàn)已并入ARM 公司)開發(fā)的微控制器軟件開發(fā)平臺,是目前ARM內(nèi)核單片機開發(fā)的主流工具。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些功能組合在一起。uVision當(dāng)前最高版本是uVision3,它的界面和常用的微軟VC++的界面相似,界面友好,易學(xué)易用,在調(diào)試程序,軟件

77、仿真方面也有很強大的功能。</p><p>  uVision3 IDE是一款集編輯,編譯和項目管理于一身的基于窗口的軟件開發(fā)環(huán)境。uVision3集成了C語言編譯器,宏編譯,鏈接/定位,以及HEX文件產(chǎn)生器。如圖12所示,是它的一個典型的調(diào)試窗口,它主要包括以下幾個窗口:</p><p>  圖12 Keil MDK開發(fā)環(huán)境</p><p>  工程區(qū):用于訪問

78、文件組和文件,調(diào)試是可以查看CPU寄存器。</p><p>  輸出窗口:顯示編譯結(jié)果,以便快速查找錯誤的地方,同時還是調(diào)試命令輸入輸出窗口,也可以用于顯示查找結(jié)果。</p><p>  內(nèi)存窗口:顯示指定地址內(nèi)村里的內(nèi)容。查看和調(diào)用</p><p>  堆棧窗口:用于查看和修改變量的值,并且現(xiàn)實當(dāng)前函數(shù)調(diào)用。</p><p>  代碼窗口:

79、用于查看和編輯源文件。</p><p>  外設(shè)對話框:檢查微控制的片上外設(shè)的狀態(tài)。</p><p>  使用Keil來開發(fā)嵌入式軟件,開發(fā)周期和其他的平臺軟件開發(fā)周期是差不多的,大致有以下幾個步驟:</p><p>  1. 創(chuàng)建一個工程,選擇一塊目標(biāo)芯片,并且做一些必要的工程配置。</p><p>  2. 編寫C或者匯編源文件。<

80、/p><p>  3. 編譯應(yīng)用程序。</p><p>  4. 修改源程序中的錯誤。</p><p><b>  5. 聯(lián)機調(diào)試。</b></p><p>  4.2軟件系統(tǒng)整體設(shè)計</p><p>  采用模塊化的編程思想,把整個軟件系統(tǒng)化為為多個功能模塊,主程序通過調(diào)用各個子程序來完成復(fù)雜功能的

81、實現(xiàn)。下面具體介紹各個模塊的實現(xiàn)。</p><p>  4.2.1軟件總體分析</p><p>  從整體上看,該系統(tǒng)軟件分為兩個大的部分: </p><p>  (1) 下位機軟件即STM32應(yīng)用程序。主要完成心電信號的采集、信號濾波、RTC模塊、液晶顯示和串口通信等。利用模塊化編程思想分別來實現(xiàn)各個模塊的功能,盡量減少程序之間的耦合性,提高程序之間的內(nèi)聚性。主

82、程序是個無限循環(huán),通過調(diào)用各個子程序來完成系統(tǒng)的功能。該部分總體開發(fā)思路是,首先完成STM32片上資源的初始化,其次是完成各個子程序的編寫,最后主程序通過調(diào)用主程序完成所要實現(xiàn)的功能。 </p><p>  (2) 上位機管理軟件。上位機是運用LabVIEW編寫的,其功能是完成數(shù)據(jù)的接收和處理,其中主要包括對數(shù)據(jù)的接收、顯示和存儲。處理是指利用PC機強大的數(shù)據(jù)處理功能對上傳來的數(shù)據(jù)進(jìn)行處理并分析的結(jié)果。顯示功能

83、完成數(shù)據(jù)到波形的轉(zhuǎn)換,能夠動態(tài)顯示出心電波形。存儲功能完成數(shù)據(jù)的保存。</p><p>  4.2.2 STM32 軟件系統(tǒng)設(shè)計流程</p><p>  軟件搭載在硬件上運行的,硬件的資源多少在一定程度上決定了軟件的設(shè)計方法和復(fù)雜程度。由于早期的單片機由于硬件資源少,RAM資源有限,所以工程師在編程的時候?qū)AM的應(yīng)用要十分小心,因此造成這類的設(shè)計開發(fā)工程師更加偏向于直接用匯編語言來控制硬

84、件的工作。隨著科學(xué)的發(fā)展,嵌入式系統(tǒng)的復(fù)雜度的提高和EDA技術(shù)的發(fā)展,各種高級的EDA工具不斷推出,比如Keil、IAR、ADS等工具,這些工具不僅極大的方便了工程師的開發(fā),同時也為用C語言這種高級語言來編寫程序提供了有利的條件。但是這種開發(fā)方式隨著系統(tǒng)的復(fù)雜度的增高也變的愈加吃力了,因為對開發(fā)人員要熟悉芯片的內(nèi)部資源,能夠進(jìn)行寄存器配置,這樣就對工程師的要求比較高。但是這些問題可以通過移植操作系統(tǒng)來解決,操作系統(tǒng)的優(yōu)勢就是屏蔽了具體的

85、硬件細(xì)節(jié),可以讓開發(fā)人員把更多的精力放在應(yīng)用程序上。 </p><p>  本系統(tǒng)設(shè)計時考慮移植操作系統(tǒng),但是對于具體的應(yīng)用存在一些不足之處:首先,操作系統(tǒng)在對數(shù)據(jù)區(qū)的開銷以及一些變量的存儲方面浪費了很多的RAM資源,有限的RAM資源就無法有效的分配。其次,STM32方便的庫文件開發(fā)方式本身就屏蔽了硬件的細(xì)節(jié),處于以上考慮在本次開發(fā)中沒用移植操作系統(tǒng),而采用庫文件的方式來開發(fā)設(shè)計。</p><

86、p>  STM32固件庫是一個固件包,它不僅包括了程序、數(shù)據(jù)結(jié)構(gòu)和覆蓋所有外設(shè)特性的宏單元。還包括設(shè)備驅(qū)動的描述以及各個外圍模塊的實例,該固件庫可以使得用戶在沒有深入學(xué)習(xí)外圍模塊規(guī)格手冊的情況下,也能夠使用任何在用戶應(yīng)用中涉及到的設(shè)備。因此,使用該固件庫可以節(jié)省設(shè)計者的許多時間,可使開發(fā)人員把更多的精力花費在編程方面,加快了開發(fā)周期,減少了在應(yīng)用開發(fā)中的綜合開銷。這是STM32軟件開發(fā)十分顯著的優(yōu)點。</p><

87、;p>  實際應(yīng)用開發(fā)時,我們用外設(shè)的時候一般有三個步驟,這里以ADC1外設(shè)為例簡單介紹一下開發(fā)流程: </p><p>  1、打開配置文件stm32f10x_conf.h,打開ADC1的宏開關(guān) </p><p>  #define _ADC </p><p>  #define _ADC1 //這里選擇了打開#define _ADC1 </p&

88、gt;<p>  2、加載stm32f10x_adc.c文件 </p><p>  stm32f10x_adc.c是ADC對應(yīng)的庫文件,對ADC的一系列操作都在封裝好了放在這類文件里。 </p><p>  3、參數(shù)設(shè)置。包括配置采用周期、觸發(fā)方式、工作模式、數(shù)據(jù)存儲格式等,開發(fā)人員只需根據(jù)所需要求在對應(yīng)的參數(shù)位置設(shè)置即可。一個簡單的實例如下: </p><

89、;p>  /* ADC1 configuration ------------------------------------------------------*/ </p><p>  ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //獨立模式 </p><p>  ADC_InitStructure.ADC_ScanCo

90、nvMode = DISABLE; </p><p>  ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; </p><p>  ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_T1_CC1; </p><p>  ADC_

91、InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//右對齊格式 </p><p>  ADC_InitStructure.ADC_NbrOfChannel = 1; </p><p>  ADC_Init(ADC1, &ADC_InitStructure); </p><p>  ADC_RegularCh

92、annelConfig(ADC1,ADC_Channel_14,1,ADC_SampleTime_13Cycles5); </p><p>  其他模塊的應(yīng)用也類似于此,這樣就屏蔽了寄存器配置細(xì)節(jié),加快了開發(fā)速度。</p><p>  4.2.3軟件總體流程圖</p><p>  軟件設(shè)計流程分為兩個大的方面,分別對應(yīng)兩個個界面: </p><p

93、>  第一個界面心電圖顯示界面,按鍵有上、下、左、右、中五個按鍵,按鍵功能分配如下:上、下按鍵控制波形縱向移動和幅值的變化,左右鍵是調(diào)節(jié)波形在時間上的周期變化,中間按鍵是切換鍵,切換上下鍵控制幅值變化還是縱向移動。</p><p>  另一個界面是幫助界面,具體介紹各個按鍵的作用,具體流程圖如圖13所示。</p><p>  圖13 系統(tǒng)總體流程圖</p><p

94、>  4.3信號采集程序設(shè)計</p><p>  心電信號的精確采集對于后面的進(jìn)一步處理至關(guān)重要。STM32的片內(nèi)ADC是12位的模數(shù)轉(zhuǎn)換器,可以在16路模擬輸入中任選一路進(jìn)行采樣,其最高采樣率為1MHz,心電信號的頻率較低,片內(nèi)ADC足以滿足系統(tǒng)采樣定理的要求,這樣可以提高采樣的穩(wěn)定性和降低系統(tǒng)成本。程序流程框圖如14所示。 </p><p>  圖14 數(shù)據(jù)采集流程圖</

95、p><p>  轉(zhuǎn)換后的數(shù)據(jù)存放在ADC_RegularConvertedValue變量里,轉(zhuǎn)換狀態(tài)用全局變量dmaflag來標(biāo)記,dmaflag=0代表轉(zhuǎn)換未結(jié)束,dmaflag=1代表轉(zhuǎn)換結(jié)束。</p><p>  4.4數(shù)字濾波程序設(shè)計</p><p>  數(shù)字濾波算法的實現(xiàn)是軟件部分關(guān)鍵的問題,它的運算時間和精度直接決定了系統(tǒng)的實時性和數(shù)據(jù)的準(zhǔn)確性。本系統(tǒng)用C語

96、言編寫了相對應(yīng)的濾波算法程序來實現(xiàn)對所采集的心電信號進(jìn)行數(shù)字濾波。 </p><p>  濾波算法實際上就是用C語言來實現(xiàn)差分方程,為敘述方面,把方程列出如下: </p><p>  yBP(n)= yBP(n-4)+ x(n)- x(n-20) (1) </p><p>  yAP(n)=

97、 x (n-98) (2)</p><p>  yBS(n)= yAP(n)-yBP(n) (3)</p><p>  可見關(guān)鍵是實現(xiàn)差分方程(1),有式(2)和(3)看出,當(dāng)前輸出與以前數(shù)據(jù)狀態(tài)有關(guān)

98、,因此需要開辟緩沖區(qū)來存放以前的數(shù)據(jù),這里開辟三個緩沖區(qū)Buff_bp[4]、Buff_ap[98]和Buff_x[20]分別存放yBP(n-4)、yAP(n-98)、x(n-20)的數(shù)據(jù)。對于式(1),Buff_bp[4]數(shù)組里面存放的是前4次yBP(n)的值,Buff_x[20]存放的是當(dāng)前采集數(shù)據(jù)的前20次的x(n-20)數(shù)據(jù),前20點的數(shù)據(jù)yBP(n)都為0,假設(shè)采集到第20點時,此時n=20,把該點賦值給變量[14]。Cur_

99、val,數(shù)組Buff_bp[4]全為0,數(shù)組Buff_x[20]里面存放了前20個點的數(shù)據(jù),那么該點濾波后的數(shù)值這里讓濾波后的數(shù)值存放到變量Fil_val,則Fil_val=Buff_bp[0]+Cur_val-Buff_x[0];然后讓數(shù)組Buff_bp[4]右移,把數(shù)據(jù)Buff_bp[0]移除,把Fil_val的值存入到數(shù)據(jù)Buff_bp[4]中,同理讓數(shù)組Buff_x[20]右移,移除數(shù)據(jù)Buff_x[0],在把Cur_val存入

100、到Buff_bp[20]中,這樣就完成了</p><p>  圖15 濾波流程圖</p><p>  4.5液晶程序設(shè)計 </p><p>  在本系統(tǒng)中采用彩色TFT液晶,波形顯示清晰,界面良好。液晶控制的關(guān)鍵在于編寫底層驅(qū)動程序,底層驅(qū)動寫好以后再封裝不同功能的函數(shù),以后調(diào)用就很方便了。</p><p>  STM32的FSMC模塊是能

101、夠與同步或異步的存儲器和16位的PC存儲器卡的接口,它的主要作用是: </p><p>  將AHB傳輸信號轉(zhuǎn)換到適當(dāng)?shù)耐獠吭O(shè)備協(xié)議 </p><p>  滿足訪問外部設(shè)備的時序要求</p><p>  通過這樣的方法就可以把液晶當(dāng)作外部存儲設(shè)備來使用,通過配置讀寫及控制信號的時序,用指定指針就可以實現(xiàn)對液晶的讀寫訪問。這樣處理不但簡化了對液晶的操作,只需指定讀寫數(shù)

102、據(jù)的指針就可完成操作,而且提高了訪問速度,避免了用端口模擬時序訪問液晶產(chǎn)生的滯后現(xiàn)象。并且STM32自帶FSMC方式控制TFT-LCD的實例,只需做一些相應(yīng)的修改就可應(yīng)用到本系統(tǒng)中。</p><p>  顯示的心電波形有兩個基本要求:一是波形清晰,無斷點,二是波形無明顯失真。在顯示波形時需要解決三個問題:一是把采集到的電壓值轉(zhuǎn)換成液晶上的高度;二是兩點之間要連續(xù);三是刷新方式,刷新的一種方法是在波形顯示到屏幕的最

103、右邊時整個波形區(qū)域刷新為空,然后重新從最左邊顯示,另一種方法是邊顯示邊刷新,即在顯示的后邊的一小塊區(qū)域刷新為空,也就是邊顯示邊刪除。相比較而言顯然第二種方法比較好,因為整個區(qū)域刷新是很費時間的問題,有可能影響畫圖的速度,而第二種方法就有效的克服了這個問題,另外從實際效果來看,視覺效果也比較好。針對第一個問題,實際上就是把電壓值轉(zhuǎn)換成點的坐標(biāo),</p><p>  本設(shè)計中用液晶X軸中間的部分來顯示波形,X軸坐標(biāo)值

104、范圍為60~180,而心電信號的電壓值范圍為0~2V,則第一個問題轉(zhuǎn)化為把電壓范圍0~2映射到坐標(biāo)60~180的范圍內(nèi)。為了提高精度可以把電壓范圍在程序內(nèi)部處理時擴大100倍,則轉(zhuǎn)換精度為P=200/120=5/3,設(shè)轉(zhuǎn)換后的坐標(biāo)為xzb,另外液晶的坐標(biāo)原點在右上角,則把電壓Cur_val的范圍0~200轉(zhuǎn)換到坐標(biāo)60~180 之間可以用以下公式:xzb=180-Cur_val*3/5。對于第二個問題解決的辦法是在兩點之間用直線連接起來

105、,這樣就需要把當(dāng)前點的上一個點的坐標(biāo)記住,用兩個變量保存設(shè)為prxzb、pryzb。</p><p>  5 系統(tǒng)調(diào)試結(jié)果及誤差分析</p><p>  經(jīng)過軟硬件的設(shè)計和制作,完成了基本的構(gòu)架,但是還需經(jīng)一部的調(diào)試和分析才能進(jìn)一步的完善該系統(tǒng)</p><p><b>  5.1調(diào)試手段</b></p><p>  為檢

106、驗各模塊是否按要求進(jìn)行正常工作,借助萬用表、函數(shù)信號發(fā)生器以及示波器來進(jìn)行檢測,通過測試結(jié)果完成對各個模塊完成功能的評估,對整體練調(diào)是一種很好的促進(jìn)手段。</p><p>  當(dāng)硬件電路正常工作后,我們使用串口調(diào)試助手、J-Link進(jìn)行在線調(diào)試。串口調(diào)試工具是通過串行通信接口與主控芯片的進(jìn)行信息交互,其輸出波特率與數(shù)據(jù)幀的格式都可以進(jìn)行設(shè)置,具有使用靈活、操作簡便的特點。J-Link是調(diào)試ARM嵌入式系統(tǒng)的常用工

107、具。在每一部分程序調(diào)試通過后,對所有子程序進(jìn)行整合編寫出完的主程序。在開發(fā)環(huán)境中完成程序編譯之后,通過J-Link工具把程序代碼下載到STM32處理器中,然后通過程序的調(diào)試功能來進(jìn)行程序的調(diào)試。使用J-Link工具的優(yōu)點是:入門簡單、可以全面的觀察程序中的參數(shù)和微處理器中各個寄存器的值和狀態(tài),特別適合軟硬件聯(lián)調(diào)階段。</p><p>  5.2測量調(diào)試以及分析</p><p>  調(diào)試過程

108、中需要對該電路的每一模塊逐步進(jìn)行調(diào)試,使其完成各自的目標(biāo)指數(shù)后方可整體聯(lián)立進(jìn)行綜合調(diào)試</p><p>  5.2.1采集電路的測試</p><p>  采集電路主要是完成對心電信號的正確提取,主要要測試前置放大電路即AD627的性能測試,帶通濾波電路測試及陷波電路測試等。 </p><p>  (1)AD620的性能測試 </p><p>

109、<b>  差模增益 </b></p><p>  測量方法:差動輸入端,正端接信號源信號,負(fù)端接地,輸入信號為150mV,測量AD620A的輸出端對地的電壓,其值為1020mV。差模增益為6.8,與理論計算相一致。 </p><p><b>  共模抑制比 </b></p><p>  測量方法:兩輸入端輸入50Hz共模

110、信號,測量輸出端對地電壓。輸入1.78V輸出0.17V,所以,共模增益為:0.096。共模抑制比為:CMRR=10/0.096=104dB。 符合心電儀器設(shè)計標(biāo)準(zhǔn)。 </p><p>  (2)帶通濾波電路測試 </p><p>  測量方法:實際測量中,輸入一定電壓幅度的正弦波,調(diào)節(jié)其頻率,觀察輸出電壓幅度的變化。測得,信號65Hz時開始有幅度衰減,100Hz時減為原幅度的1/3,信號低

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論