版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> ****大 學(xué)</b></p><p> 本科生畢業(yè)設(shè)計(jì)(論文)</p><p> 學(xué)院(系):******</p><p> 專 業(yè):******</p><p> 學(xué) 生: ** </p><p> 指導(dǎo)教師: *** &
2、lt;/p><p> 完成日期 2012 年 5 月</p><p> ****本科生畢業(yè)設(shè)計(jì)(論文)</p><p> 基于STM32的便攜式心電圖儀設(shè)計(jì)</p><p> Design of Portable ECG Device Based on STM32 </p><p> 總計(jì): 畢業(yè)
3、設(shè)計(jì)(論文)25頁</p><p> 表 格: 1 個(gè)</p><p> 插 圖 : 19 幅</p><p> ***本 科 畢 業(yè) 設(shè) 計(jì)(論文)</p><p> 基于STM32的便攜式心電圖儀設(shè)計(jì)</p><p> Design of Portable ECG Device
4、 Based on STM32</p><p> 學(xué) 院(系): ****** </p><p> 專 業(yè): ****** </p><p> 學(xué) 生 姓 名: ** </p><p> 學(xué) 號(hào): 069108209 <
5、;/p><p> 指 導(dǎo) 教 師(職稱): *** </p><p> 評(píng) 閱 教 師: </p><p> 完 成 日 期: </p><p><b> *****</b></p>
6、<p><b> ***</b></p><p> 基于STM32的便攜式心電圖儀設(shè)計(jì)</p><p> ****** **</p><p> [摘要] 本系統(tǒng)完成了基于STM32微處理器的心電采集及分析處理系統(tǒng)的方案設(shè)計(jì)、硬件和軟件設(shè)計(jì)與實(shí)現(xiàn),心電信號(hào)采集電路是其關(guān)鍵部分,主要完成信號(hào)的正確提取。本系統(tǒng)屬于典型的生物醫(yī)學(xué)
7、信號(hào)采集處理系統(tǒng),處理的對(duì)象是強(qiáng)噪聲背景下的微弱心電信號(hào),噪聲和干擾的存在對(duì)前端采集電路提出了更高的要求。根據(jù)心電信號(hào)的特點(diǎn),選用精密儀表放大器為主要元件設(shè)計(jì)了前置放大電路。為更好的降低干擾的影響,設(shè)計(jì)了右腿驅(qū)動(dòng)電路、高通、低通濾波電路以及陷波電路,成功提取了心電信息。心電處理電路通過A/D轉(zhuǎn)換把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送至微處理器做進(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è)計(jì)3</p><p><b> 2.1主要功能3<
13、/b></p><p> 2.2系統(tǒng)設(shè)計(jì)方案4</p><p> 3 便攜式心電圖儀的硬件設(shè)計(jì)5</p><p> 3.1最小核心系統(tǒng)的設(shè)計(jì)5</p><p> 3.1.1處理器的選擇5</p><p> 3.1.2最小核心系統(tǒng)電路的設(shè)計(jì)6</p><p> 3.2
14、人機(jī)交互界面的設(shè)計(jì)9</p><p> 3.2.1顯示界面設(shè)計(jì)9</p><p> 3.2.2按鍵設(shè)計(jì)10</p><p> 3.3前置放大電路以及右腿驅(qū)動(dòng)電路11</p><p> 3.4濾波電路以及陷波電路的設(shè)計(jì)12</p><p> 3.5電源電路的設(shè)計(jì)13</p><p
15、> 4 便攜式心電圖儀的軟件設(shè)計(jì)14</p><p> 4.1軟件開發(fā)平臺(tái)14</p><p> 4.2軟件系統(tǒng)整體設(shè)計(jì)16</p><p> 4.2.1軟件總體分析16</p><p> 4.2.2 STM32 軟件系統(tǒng)設(shè)計(jì)流程16</p><p> 4.2.3軟件總體流程圖17<
16、;/p><p> 4.3信號(hào)采集程序設(shè)計(jì)18</p><p> 4.4數(shù)字濾波程序設(shè)計(jì)18</p><p> 4.5液晶程序設(shè)計(jì)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> 隨著社會(huì)的進(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ù)施行每年的增長率超過了五分之一。在我國因心腦血管疾病每年耗費(fèi)達(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)。在心臟肌肉每次收縮之前,都會(huì)產(chǎn)生一股微小的生物電流,加上人體的體液能夠?qū)щ?,這些微小電流可以通過體液的傳遞就會(huì)反映到人體的表面皮膚上。不過受限于身體各部分組織不同、距心臟的距離不同,會(huì)造成體表的不同部位的電位有所不同。通過捕捉這個(gè)現(xiàn)象,將心電圖顯示
21、出來的心電檢測儀器,根據(jù)這些人體生物電信號(hào),我們可以從不同角度觀察心臟的活動(dòng)情況。這是我們對(duì)心臟基本功能及其病理研究,具有重要的參考價(jià)值[2]。 </p><p> 心電圖能夠在一定程度上反映心律的運(yùn)行狀況,人的心肌受損的程度、發(fā)展過程以及心房、心室的功能結(jié)構(gòu)情況都能通過它表現(xiàn)出來。這些都可以在心臟手術(shù)和藥物的使用上提供重要的參考[3]。</p><p> 常規(guī)心電監(jiān)護(hù)設(shè)備體積笨重、價(jià)
22、格昂貴和不便于攜帶,但是隨著社會(huì)生活水平的提高,醫(yī)療器械家庭化開始逐漸進(jìn)入我們的日常生活,家庭化的心電圖儀器功能沒有專業(yè)的大型的醫(yī)療設(shè)備齊全,但是它具有具有體積小、操作簡單的優(yōu)點(diǎn),同時(shí)可以在一定程度上滿足了人們的基本應(yīng)用。我們可以用它在家庭或則其他地方很方便的進(jìn)行心電圖信號(hào)的測量,并根據(jù)進(jìn)一步的處理,做基本的診斷,也可以把這些數(shù)據(jù)提交到專業(yè)機(jī)構(gòu)做進(jìn)一步的詳盡的診斷。這樣也可以避免那些行動(dòng)不便的病人,利用互聯(lián)網(wǎng)技術(shù),把數(shù)據(jù)通過遠(yuǎn)程傳送的方
23、式,提交到專業(yè)機(jī)構(gòu)或指定的醫(yī)院驚醒專業(yè)診斷和分析。</p><p> 為了能夠在更多場合更方便的診斷,各種各樣的便攜式心電圖設(shè)備應(yīng)運(yùn)而生,常規(guī)心電圖儀由于笨重只能在病人靜臥的情況下記錄的心電活動(dòng),歷時(shí)時(shí)間短,獲取的信息量很少,所以在有限時(shí)間內(nèi)有些非正常的情況被發(fā)現(xiàn)的概率也是很低的。而便攜式監(jiān)護(hù)裝置可以在隨時(shí)隨地的進(jìn)行實(shí)時(shí)監(jiān)護(hù),并把數(shù)據(jù)存儲(chǔ)起來。這樣不僅可以節(jié)省時(shí)間,還可以得到實(shí)時(shí)的監(jiān)護(hù),所以研發(fā)便攜式心電監(jiān)護(hù)產(chǎn)
24、品具有重要意義。本文主要研究的便攜式心電圖儀,即將普通心電圖設(shè)備小型化、家庭化,具有低價(jià)位、體積小、便于攜帶和使用方便等特點(diǎn)。</p><p> 1.2 便攜式心電圖儀的發(fā)展?fàn)顩r</p><p> 1887年英國生理學(xué)Einthoven通過對(duì)毛細(xì)管的靜電計(jì)記錄了心動(dòng)的電流圖[4]。 1895年他開始了對(duì)心臟動(dòng)作電流的進(jìn)一步研究,并通過對(duì)德?阿森瓦爾氏的鏡影電流計(jì)的設(shè)計(jì)改進(jìn),提高了心
25、電圖的質(zhì)量。1903年他成功的設(shè)計(jì)了弦線式電流計(jì),通過反射鏡記錄心動(dòng)電流,解決了以前測量設(shè)備的惰性大,記錄誤差大以及需要繁瑣的數(shù)學(xué)計(jì)算等缺點(diǎn)。同時(shí),他又制定心電圖的影線在縱坐標(biāo)上波動(dòng)1cm,代表1mV的電位差,在橫坐標(biāo)上移動(dòng)1cm為0.4秒的標(biāo)準(zhǔn)。這種方法簡單直觀,并采用P、Q、R、S、T等字母標(biāo)出心電圖上的各波,這種標(biāo)記方法一致沿用至今。1912年在他深入研究了正常心電圖的波動(dòng)范圍后,提出了著名的“愛因托芬三角”理論。1924年Ein
26、thoven教授獲得了諾貝爾生理學(xué)和醫(yī)學(xué)獎(jiǎng)[5]。總之這位被尊稱為“心電圖之父”的生理學(xué)家對(duì)心電圖的創(chuàng)立及發(fā)展有著巨大的的貢獻(xiàn)。心電圖從此開始逐步走進(jìn)協(xié)助診斷疾病,并通過發(fā)展被廣泛應(yīng)用于臨床。</p><p> 隨著社會(huì)的發(fā)展,心電圖檢測理論越來越成熟與完善,另外機(jī)械、電子、計(jì)算機(jī)等技術(shù)的迅猛發(fā)展,帶動(dòng)了醫(yī)療器械發(fā)生了革命性變化,極大的增強(qiáng)了心電圖機(jī)的功能。 隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,特別是計(jì)算機(jī)、微電子、機(jī)械電
27、子在醫(yī)療領(lǐng)域的廣泛應(yīng)用,極大的促進(jìn)了心電設(shè)備的發(fā)展。目前各大醫(yī)療器械廠商都投入巨資開發(fā)性能更強(qiáng)、功能更加完善的心電設(shè)備,比如歐姆龍、北京超思、亞新、均在該領(lǐng)域的研究與生產(chǎn)上有所突破。</p><p> 綜觀當(dāng)前心電檢測儀器發(fā)展趨勢(shì),主要向以下幾個(gè)方向發(fā)展: </p><p><b> ?。?)系統(tǒng)化</b></p><p> 隨著醫(yī)院計(jì)算機(jī)
28、管理網(wǎng)絡(luò)化、信息存儲(chǔ)介質(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í)時(shí)心電數(shù)據(jù)將在該系統(tǒng)中有著重要的作用。</p><p><b> (2)數(shù)字化 </b></p><p> 隨著計(jì)算機(jī)科學(xué)、機(jī)械電子的迅猛發(fā)展,醫(yī)療器械的數(shù)字化程
29、度越來越高,比如數(shù)字濾波器的使用,極大的降低了心電干擾,提高了心電判斷的準(zhǔn)確率。 </p><p><b> ?。?)無線化 </b></p><p> 無線傳感技術(shù)的發(fā)展能夠促使心電檢測無線化,從而擺脫傳統(tǒng)心臟檢測的繁瑣程序。同時(shí),能減輕病人的心里緊張程度,實(shí)現(xiàn)心電檢測的方便性。 </p><p><b> ?。?)自動(dòng)化 <
30、;/b></p><p> 自動(dòng)測量和分析是醫(yī)療儀器的發(fā)展方向,使醫(yī)療器械智能化是目前醫(yī)療器械設(shè)計(jì)的目標(biāo)之一。 </p><p><b> ?。?)遠(yuǎn)程化</b></p><p> 計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)的快速發(fā)展,為遠(yuǎn)程醫(yī)療的實(shí)現(xiàn)提供了可能,將心電數(shù)據(jù)通過遠(yuǎn)程傳輸,在遠(yuǎn)端對(duì)心電數(shù)據(jù)加以分析處理并提出診斷結(jié)果,從而實(shí)現(xiàn)遠(yuǎn)程醫(yī)療。如目
31、前出現(xiàn)的基于GPRS網(wǎng)絡(luò)的遠(yuǎn)程心電監(jiān)護(hù)系統(tǒng)就是這個(gè)發(fā)展趨勢(shì)的體現(xiàn)。</p><p> 總之,科技不斷進(jìn)步,人們的需求也在變化,心電圖是記錄心臟電活動(dòng)狀態(tài)的記錄,包括心臟節(jié)律和頻率以及電壓的高低等信息,可用于診斷各種心律失常、心肌病變、心肌梗塞及心肌缺血等心血管疾病。同時(shí)對(duì)心臟病的診斷和治療也提供了確切的理論依據(jù)。設(shè)計(jì)符合市場需求的產(chǎn)品是企業(yè)生存的根本,利用高科技帶來的技術(shù)革命去更新醫(yī)療器械更是一個(gè)巨大的市場機(jī)會(huì)
32、,我們相信,在未來幾年里,家庭化的監(jiān)護(hù)設(shè)備必將越來越普及[6]。</p><p><b> 2 系統(tǒng)總體設(shè)計(jì)</b></p><p> 由于心電信號(hào)的微弱性,我們對(duì)心電信號(hào)的提取具有一定難度。另外受到50Hz 及其倍頻干擾和極化電壓的影響,對(duì)前置放大器和信號(hào)濾波電路的設(shè)計(jì)提出了更高的要求。因此在設(shè)計(jì)前端硬件電路時(shí),要根據(jù)信號(hào)的特征,選擇最佳的器件。同時(shí)便攜式設(shè)備
33、必須是低功耗設(shè)備這限制了多數(shù)的微處理器,鋰電池供電對(duì)信號(hào)僅僅用硬件濾波還不能達(dá)到分析信號(hào)的要求,硬件濾波的一個(gè)缺點(diǎn)是,要想獲得更好的濾波效果,必須設(shè)計(jì)更高的階數(shù),而這無疑會(huì)增加系統(tǒng)的體積。因此還有必要采用軟件濾波的方法,這就對(duì)處理器的速度和軟件的優(yōu)化提出了更高的要求[7]。采取軟件濾波即設(shè)計(jì)數(shù)字濾波器,數(shù)字濾波器有多種,這樣就必須尋找一種行之有效的濾波算法。</p><p><b> 2.1主要功能&
34、lt;/b></p><p> 本文的目的是通過先進(jìn)微處理器的應(yīng)用研究的主要內(nèi)容是通過將嵌入式技術(shù)、數(shù)字信號(hào)處理技術(shù)和信號(hào)采集技術(shù)的結(jié)合,設(shè)計(jì)一個(gè)能夠完成信號(hào)提取和分析功能的嵌入式心電圖監(jiān)測系統(tǒng)。主要研究工作如下: </p><p> (1) 心電圖儀的硬件設(shè)計(jì): </p><p> 采集電路:準(zhǔn)確提取生理信號(hào),把信號(hào)處理為可供采集分析的有效信號(hào); &
35、lt;/p><p> 處理電路:完成信號(hào)的采集、濾波、顯示、分析和傳輸?shù)取?</p><p> (2) 心電圖儀的軟件設(shè)計(jì): </p><p> STM32芯片各模塊初始化程序; </p><p> 數(shù)字濾波處理程序; </p><p> 人機(jī)交互界面的程序設(shè)計(jì); </p><p>&l
36、t;b> 2.2系統(tǒng)設(shè)計(jì)方案</b></p><p> 系統(tǒng)原理結(jié)構(gòu)圖如圖1所示。心電信號(hào)由電極獲取,送人心電采集電路,經(jīng)前置放大、主放大、高低通濾波,得到符合要求的心電信號(hào),并送入到STM32的ADC進(jìn)行AD轉(zhuǎn)換。為了更好地抑制干擾信號(hào),在電路中還引入了右腿驅(qū)動(dòng)電路。系統(tǒng)控制芯片采用STM32,TFT-LCD的觸摸功能加上少量按鍵可以建立良好的人機(jī)交互環(huán)境,可以通過LCD實(shí)時(shí)顯示和回放,數(shù)
37、據(jù)通過USB可靠地傳輸?shù)絇C機(jī),以便對(duì)心電數(shù)據(jù)做進(jìn)一步的分析。系統(tǒng)主要硬件結(jié)構(gòu)及電路系統(tǒng)主要?jiǎng)澐譃槿蟛糠郑盒碾姴杉娐罚饕瓿尚碾娦盘?hào)的提??;帶通濾波及主放大電路,用于調(diào)理采集到的信號(hào),使之符合處理要求;STM32處理電路,完成心電信號(hào)的顯示和分析功能。</p><p> 圖1 系統(tǒng)原理結(jié)構(gòu)圖</p><p> 整個(gè)系統(tǒng)有以下幾個(gè)部分組成: </p><p>
38、; (1)采集電路:主要有前置放大電路、帶通濾波電路和主放大電路組成,心電信號(hào)由電極獲取后送入心電采集電路,經(jīng)處理后得到符合要求的心電信息。 </p><p> ?。?)處理電路:主要完成對(duì)心電數(shù)據(jù)的濾波、陷波、放大、分析、顯示和傳輸控制。 </p><p> ?。?)按鍵電路:完成良好的人機(jī)交互。 </p><p> ?。?)顯示電路:實(shí)時(shí)顯示出心電波形和心電相
39、關(guān)信息。 </p><p> (5)上位機(jī)設(shè)計(jì):在PC機(jī)上處理和顯示心電波形。 </p><p> (6)電源電路:設(shè)計(jì)穩(wěn)定可靠的電源電路,為整個(gè)系統(tǒng)提供電源,降低系統(tǒng)功耗。</p><p> 3 便攜式心電圖儀的硬件設(shè)計(jì)</p><p> 便攜式心電圖儀要求具有可移動(dòng)性和再開發(fā)性,不僅便于攜帶、功能盡可能的完善能夠?qū)崟r(shí)對(duì)心電信號(hào)進(jìn)
40、行處理,而且要求隨著發(fā)展可以進(jìn)一步升級(jí)滿足人們更多的需求。本心電圖儀集信號(hào)的采集、處理、傳輸三大功能于一體。對(duì)于這些功能,即需要相對(duì)獨(dú)立的模塊化設(shè)計(jì),又需要良好的協(xié)調(diào)。因此,在開發(fā)過程中,硬件設(shè)備的選擇需要考慮這些特定的需求,有針對(duì)性的進(jìn)行器件的選擇和設(shè)計(jì)??傮w電路要遵循: </p><p> (1) 選擇合適的處理器,盡量選擇片上系統(tǒng)(System on Chip,SoC)設(shè)計(jì)硬件系統(tǒng),減少硬件復(fù)雜度并降低
41、成本。 </p><p> (2) 選擇典型電路,按照模塊化設(shè)計(jì),系統(tǒng)擴(kuò)展與I/O 的配置充分滿足應(yīng)用系統(tǒng)的功能要求,并留有適當(dāng)冗余,以便進(jìn)行二次開發(fā)。 </p><p> (3) 注重軟硬件結(jié)合,軟件能實(shí)現(xiàn)的功能盡可能由軟件實(shí)現(xiàn),以簡化硬件結(jié)構(gòu),降低能耗和設(shè)備成本。 </p><p> (4) 必須考慮芯片的驅(qū)動(dòng)能力,有必要的可靠性及抗干擾設(shè)計(jì)它包括去
42、耦濾波、印刷電路板布線、通道隔離等[8]。</p><p> 3.1最小核心系統(tǒng)的設(shè)計(jì)</p><p> 以應(yīng)用為中心、軟件硬件可裁剪的、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格綜合性要求的專用計(jì)算機(jī)系統(tǒng),由硬件和軟件兩部分有機(jī)的結(jié)合在一起,作為一種典型的嵌入式應(yīng)用[9]。由于便攜式心電圖儀有很強(qiáng)的可移動(dòng)性,便于使用者攜帶,同時(shí)也要求功能完善,能夠?qū)崟r(shí)對(duì)心電信號(hào)進(jìn)行處理。集信
43、號(hào)采集—處理—傳輸三大功能于一體。對(duì)于這些功能,即需要相對(duì)獨(dú)立的模塊化設(shè)計(jì),又需要良好的協(xié)調(diào)。 因此,在開發(fā)過程中,硬件設(shè)備的選擇需要考慮這些特定的需求,有針對(duì)性的進(jìn)行器件的選擇和設(shè)計(jì)。 </p><p> 3.1.1處理器的選擇</p><p> 處理器相當(dāng)于人體的大腦機(jī)制,整個(gè)系統(tǒng)在處理器合理指揮調(diào)度下才能完成我們賦予他們的任務(wù),所以一款合適的處理器對(duì)于整個(gè)系統(tǒng)來說是非常重要的。經(jīng)
44、過綜合考慮本設(shè)計(jì)對(duì)處理器的選擇主要從以下五個(gè)方面來考慮: </p><p> (1) 處理器的處理速度:在本設(shè)計(jì)中,處理器不僅要進(jìn)行濾波處理,同時(shí)還要實(shí)時(shí)顯示出心電波形,在通信的情況下還要與PC機(jī)進(jìn)行通信,因此,處理器要有較高的處理速度。</p><p> (2) 處理器在完成任務(wù)的復(fù)雜程度:在本設(shè)計(jì)中,處理器要負(fù)責(zé)信號(hào)的采集、信號(hào)的濾波處理、心電波形的顯示、數(shù)據(jù)存儲(chǔ)以及通信。 &
45、lt;/p><p> (3) 盡可能簡化外圍電路的復(fù)雜程度:一個(gè)系統(tǒng)中所使用的元器件越多、電路結(jié)構(gòu)越復(fù)雜,則系統(tǒng)的出問題的概率越大,可靠性與穩(wěn)定性越差。因此在選擇MCU的時(shí)候,希望MCU內(nèi)部集成功能單元越多越好,這樣就能簡化系統(tǒng)設(shè)計(jì),增加系統(tǒng)的可靠性及穩(wěn)定性。 </p><p> (4) 盡可能減少生產(chǎn)成本:在本系統(tǒng)中,由于多數(shù)屬于家庭使用及野外環(huán)境的不確定性因素較多,對(duì)于普及性的大眾
46、化產(chǎn)品,希望替換成本越低越好,其中處理器的成本占了整個(gè)系統(tǒng)的重要的一部分,能夠降低處理器的成本也就從而降低了產(chǎn)品的總成本。 </p><p> (5) 盡可能底的功耗:便攜式設(shè)備對(duì)低功耗的要求都較高,必須最低限度的減少功耗,手持式設(shè)備的續(xù)航能力也是眾多參數(shù)比較受關(guān)注的一點(diǎn),如何能有長時(shí)間的續(xù)航能力也是我們需要注意的一點(diǎn)。</p><p> 綜合以上幾個(gè)方面,最終選用了意法半導(dǎo)體公司推
47、出的新型32位ARM內(nèi)核處理器芯片STM32系列中的STM32F103ZET6。</p><p> 3.1.2最小核心系統(tǒng)電路的設(shè)計(jì)</p><p> STM32F103x增強(qiáng)型系列芯片使用高性能的ARM Cortex-M3 32位的RISC內(nèi)核,工作頻率為最高可達(dá)72MHz,內(nèi)置高速存儲(chǔ)器(高達(dá)128K字節(jié)的FLASH和20K字節(jié)的SRAM),豐富的增強(qiáng)I/O 端口和連接到兩條APB
48、總線的外設(shè)。所有型號(hào)的器件都包含2個(gè)12位的ADC、3個(gè)通用16位定時(shí)器和一個(gè)PWM定時(shí)器,還包含標(biāo)準(zhǔn)和先進(jìn)的通信接口:多達(dá)2個(gè)I2C和SPI、3個(gè)USART、一個(gè)USB和一個(gè)CAN。工作電壓為3.3V。圖2是STM32F103x的模塊框圖[9]。 </p><p> STM32微控制器有如下優(yōu)點(diǎn): </p><p> (1) STM32內(nèi)部有高達(dá)128K字節(jié)的內(nèi)置閃存存儲(chǔ)器,用于存
49、放程序和數(shù)據(jù)。多達(dá)20K字節(jié)的內(nèi)置 SRAM,CPU能以0等待周期訪問(讀/寫)。這樣在我們所設(shè)計(jì)的系統(tǒng)中就去掉了以往很多嵌入式項(xiàng)目設(shè)計(jì)中所需要的用于外部程序存儲(chǔ)器的Flash芯片和用于外部數(shù)據(jù)存儲(chǔ)器的SRAM芯片,大大節(jié)約了系統(tǒng)成本,提高了系統(tǒng)可靠性及穩(wěn)定性[10]。 </p><p> (2) STM32增強(qiáng)型系列擁有內(nèi)置的ARM核心,因此它與所有的ARM工具和軟件兼容。 這給項(xiàng)目的開發(fā)工作帶來了很大的便
50、利,因?yàn)樵谝郧暗墓ぷ髦性?jīng)使用過其他ARM核心的微控制器,所積累的經(jīng)驗(yàn)在本項(xiàng)目的開發(fā)中得到了充分發(fā)揮。而且由于可用于ARM開發(fā)的工具軟件很多,大大加快了項(xiàng)目開發(fā)的速度和效率。 </p><p> (3) STM32的內(nèi)部FLASH是在線可編程的。在我們的項(xiàng)目中,設(shè)備運(yùn)行的配置參數(shù) 會(huì)存儲(chǔ)在FLASH中的固定位置,每次啟動(dòng)設(shè)備時(shí),程序會(huì)讀取這些參數(shù)來進(jìn)行初始化。但在某些情況下,需要遠(yuǎn)程設(shè)置或修改配置參數(shù)。這一
51、功能使得可以在不用接JTAG燒寫器的情況下根據(jù)USART接口接收到的數(shù)據(jù)來修改FLASH中的配置參數(shù),在設(shè)備再次啟動(dòng)時(shí),就會(huì)讀取新參數(shù)來進(jìn)行初始化。</p><p> (4) STM32有優(yōu)秀的功耗控制。高性能并非意味著高功耗。STM32經(jīng)過特殊處理,針對(duì)應(yīng)用中三種主要的功耗需求進(jìn)行優(yōu)化,這三種能耗需求分別是運(yùn)行模式下的高效率的動(dòng)態(tài)耗電機(jī)制、待機(jī)狀態(tài)時(shí)極低的電能消耗和電池供電時(shí)的低電壓工作能力[11]。 &
52、lt;/p><p> (5) STM32擁有強(qiáng)大的庫函數(shù)。它采取與以往不同設(shè)計(jì)方法,通過把各個(gè)外設(shè)封裝成標(biāo)準(zhǔn)庫函數(shù) 的方式,屏蔽了底層硬件細(xì)節(jié),能夠使開發(fā)人員很輕松地完成產(chǎn)品的開發(fā),縮短系統(tǒng)開發(fā)時(shí)間。 </p><p> 圖2 STM32F103x的模塊框圖</p><p> STM32固件庫。STM32固件庫提供易用的函數(shù)可以使用戶方便地訪問STM32的 各
53、個(gè)標(biāo)準(zhǔn)外設(shè),并使用它們的所有特性。 </p><p> USB開發(fā)工具集。在更廣的應(yīng)用領(lǐng)域中,USB功能的實(shí)現(xiàn)將變得越來越方便,因?yàn)閁SB開發(fā)工具集提供了完整的,經(jīng)過驗(yàn)證的固件包,使得用戶可以順利地開發(fā)各個(gè)類的USB固件。 </p><p> (6) STM32F103xx增強(qiáng)型支持三種低功耗模式,可以在要求低功耗、短啟動(dòng)時(shí)間和多 種喚醒事件之間達(dá)到最佳的平衡。 </p>
54、<p> 總之,STM32芯片在項(xiàng)目中的使用,使得整個(gè)系統(tǒng)的運(yùn)行效率、穩(wěn)定性、功耗、生產(chǎn)成本等都比同類系統(tǒng)有了較大的提升。本設(shè)計(jì)中最小核心系統(tǒng)設(shè)計(jì)圖如圖3所示。</p><p> 圖3 最小核心系統(tǒng)設(shè)計(jì)圖</p><p> 由圖3中可以看出,在設(shè)計(jì)STM32最小系統(tǒng)時(shí)要注意一下幾個(gè)部分: </p><p> (1) 復(fù)位電路:利用RC電路的
55、延時(shí)特性,設(shè)計(jì)了簡單的復(fù)位電路,有此可簡單計(jì)算出延時(shí)時(shí)間,這里用一個(gè)10 k電阻和1.0 µF的電容,時(shí)間延時(shí)大約為3.6ms,符合STM32系統(tǒng)芯片的復(fù)位要求。 </p><p> (2) 晶振電路:這里選用兩個(gè)晶振,首先8M無源晶振,晶振兩端分別通過22pF的電容接地,另一個(gè)32.768K的晶振使用的15pF的電容接地電路簡單,并能很容易的就能使晶振起振。</p><p>
56、; (3) 芯片上的BOOT0和BOOT1引腳分別通過跳線帽可選高低電平,以改變芯片啟動(dòng)模式,其啟動(dòng)模式具體如下表1所示。</p><p> 表1 啟動(dòng)模式說明</p><p> (4) 模塊有4個(gè)數(shù)字電源供電引腳,1個(gè)模擬電源供電引腳以及相應(yīng)的接地引腳。在電源 端要注意接濾波電容,模擬地和數(shù)字地引腳之間最好通過0O電阻隔離。電源和地之間加若干去藕電容。</p>
57、<p> 3.2人機(jī)交互界面的設(shè)計(jì)</p><p> 人機(jī)交互界面是人與機(jī)器進(jìn)行溝通交流的設(shè)備,它可以把人的指令傳入給MCU,也可以讓設(shè)備顯示出我們所想知道的信息。</p><p> 3.2.1顯示界面設(shè)計(jì)</p><p> 首先,針對(duì)要完成一款便攜式心電儀的設(shè)計(jì),那么在LCD的選擇上,就要符合實(shí)際的需要,必須要考慮功耗和成本。對(duì)于人機(jī)交互部分,顯
58、然采用單色液晶顯然已經(jīng)不能滿足的需要,因此把LCD的選擇定位在了彩色液晶上。主要從以下幾個(gè)參數(shù)做出選擇: </p><p> (1) 顏色要豐富。從美觀角度來講,在液晶上不同類型的數(shù)據(jù)最好能夠以不同的顏色來區(qū)分。比如波形、漢字、數(shù)字最好顏色不同。所以在液晶的顏色上要達(dá)到一定的數(shù)量。 </p><p> (2) 尺寸。便攜式式是本系統(tǒng)設(shè)計(jì)時(shí)的一個(gè)指標(biāo),因此液晶的尺寸不易過大,但也要便
59、于觀察,選擇時(shí)要符合實(shí)際情況,過大則不便于隨身攜帶,過小則可能出現(xiàn)漢字或數(shù)字不便于觀察等問題。 </p><p> (3) 功耗。對(duì)于便攜式嵌入式設(shè)備來說,低功耗是一般都作為一項(xiàng)重要的指標(biāo),在外邊使用時(shí)能夠盡可能地延長電池的工作時(shí)間 </p><p> (4) 材質(zhì)。液晶主要有兩類:STN型和TFT型,后者較之前者顯示效果更佳,但耗電能方面也高于前者。 </p>&l
60、t;p> (5) 價(jià)格。正如上面所提到的,性價(jià)比高是本系統(tǒng)設(shè)計(jì)的一個(gè)目標(biāo),因此要可能的用符合設(shè)計(jì)要求價(jià)格低廉的產(chǎn)品。 因此,根據(jù)上述幾點(diǎn)本設(shè)計(jì)選用了3.2寸真彩TFT液晶觸摸屏,320*240像素,26萬色,16位并行接口,可以直接用AVR、ARM7、STM32等MCU驅(qū)動(dòng)。相關(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è)計(jì)如圖4所示</p><p>
62、圖4 LCD顯示界面借口</p><p><b> 3.2.2按鍵設(shè)計(jì)</b></p><p> 對(duì)于實(shí)現(xiàn)人機(jī)交互的場合,按鍵是比較常用的,通過按鍵來選擇系統(tǒng)的功能,完成對(duì)系統(tǒng)的訪問控制。本系統(tǒng)用了5個(gè)按鍵,分別定義為上、下、左、右、中鍵,前四個(gè)按鍵是對(duì)設(shè)置或訪問的液晶顯示對(duì)象進(jìn)行選擇,中鍵是確定鍵,這樣就實(shí)現(xiàn)了既可以用觸摸功能,也可以用按鍵來實(shí)現(xiàn)對(duì)系統(tǒng)的設(shè)置,
63、按鍵電路的實(shí)現(xiàn)比較簡單,這里不再詳述。具體電路實(shí)現(xiàn)如圖5所示。</p><p> 圖5 按鍵接口電路</p><p> 3.3前置放大電路以及右腿驅(qū)動(dòng)電路</p><p> 前置放大電路要完成的功能是實(shí)現(xiàn)信號(hào)的差分放大,該部分電路在整個(gè)采集電路中至關(guān)重要,因?yàn)楹罄m(xù)信號(hào)的處理都是以此為基礎(chǔ)的。因此要選擇一款合適的差分運(yùn)放芯片。選擇時(shí)一般考慮以下幾點(diǎn):</
64、p><p><b> (1) 增益 </b></p><p> 由于心電信號(hào)非常微弱,均值在1mV左右,而采集電壓一般要達(dá)到1V左右,所以心電放大倍數(shù)在1000倍左右。一般為了抑制零點(diǎn)漂移,提高共模抑制比,應(yīng)該分多級(jí)實(shí)現(xiàn)放大。</p><p> (2) 頻率響應(yīng) </p><p> 所謂頻率響應(yīng)是指放大器對(duì)不同信
65、號(hào)頻率的反應(yīng),心電信號(hào)的范圍低于100Hz,所以要求放大器要對(duì)此頻率范圍的信號(hào)盡可能不失真的放大出來。可以設(shè)計(jì)高通、低通濾波器來壓縮頻帶,濾除該頻帶以外的干擾信號(hào)。必要時(shí)還需要設(shè)計(jì)50Hz工頻干擾抑制電路,通過這樣處理后,得到的信號(hào)才可能有診斷價(jià)值。 </p><p> (3) 共模抑制比 </p><p> 電極不對(duì)稱、電氣設(shè)備運(yùn)行時(shí)的干擾都易產(chǎn)生極化電壓,然后通過放大電路其值極有
66、可能遠(yuǎn)比心電信號(hào)大得多,從而將微弱的信號(hào)淹沒。因此要求放大器有很高的共模抑制比。一般要求要達(dá)到80db以上。 </p><p> (4) 輸入阻抗 </p><p> 心電信號(hào)是微弱的,且具有高阻抗的特性,只有高輸入阻抗才有可能不失真的引出心電信號(hào),不然由于分壓的因素,會(huì)極大的衰減心電信號(hào),從而導(dǎo)致無法正確采集。 </p><p> (5) 低噪聲、低漂移
67、 </p><p> 在心電放大器中,還有兩個(gè)較重要的參數(shù)即噪聲和漂移。在設(shè)計(jì)心電放大器時(shí)應(yīng)盡量選用低噪聲元件,提高輸入阻抗。另外,溫漂會(huì)引入直流電壓增益從而給心電信號(hào)帶來干擾。因此,選用的放大器要特別注意這兩個(gè)參數(shù)。綜上所述該方案選用具有上述優(yōu)點(diǎn)的AD620,具體設(shè)計(jì)電路圖如圖6所示。</p><p> 圖6 前置信號(hào)采集電路</p><p> 由于人類受
68、到大量的外部干擾,心電電極和電力線之問由于存在電容耦合會(huì)產(chǎn)生位移電流Id,降低位移電流干擾的一種有效辦法是采用右腿驅(qū)動(dòng)法,圖7為右腿驅(qū)動(dòng)的具體連接電路。右腿不直接接地而是接到輔助運(yùn)算放大器的輸出。從兩個(gè)電阻結(jié)點(diǎn)檢出共模電壓,它經(jīng)過輔助的反相放大器放大后通過電阻反饋到右腿。采用右腿驅(qū)動(dòng)電路,對(duì)50Hz干擾的抑制并不以損失心電信號(hào)的頻率成分為代價(jià)。但由于右腿驅(qū)動(dòng)存在交流干擾電壓的反饋電路,而交流電流經(jīng)人體,成為不安全因素,限流電阻通常在1M
69、Ω以上。</p><p> 圖7 右腿驅(qū)動(dòng)電路</p><p> 3.4濾波電路以及陷波電路的設(shè)計(jì)</p><p> 為濾除干擾需要設(shè)計(jì)帶通濾波器,使頻率為0.05Hz~l00Hz的心電信號(hào)通過,該范圍以外的信號(hào)將大幅度衰減掉。濾波器有無源濾波器和有源濾波器兩種。無源低通濾波器是由無源器件(電阻,電容,電感)組成。其帶負(fù)載后,通帶放大倍數(shù)的數(shù)值減小,通帶截止
70、頻率升高,這個(gè)缺點(diǎn)不符合信號(hào)處理的要求[12]。因此本設(shè)計(jì)選用有源低通濾波器。 由RC元件與運(yùn)算放大器組成的濾波器稱為RC有源濾波器,其功能是讓一定的頻率范圍內(nèi)的信號(hào)通過,抑制或急劇衰減此頻率范圍以外的信號(hào)。具有理想幅頻特性的濾波器是很難實(shí)現(xiàn)的。只能用實(shí)際的濾波器的幅頻特性去逼近理想的特性。常用的方法是巴特沃斯(Butterworth)逼近和切比雪夫(Chebysher)[13]逼近。保證信號(hào)的原形,采用較平坦的巴特沃斯有源濾波。高通濾
71、波器的設(shè)計(jì)與低通濾波器相似,這里不再敘述。 帶通濾波器用高低通濾波器來構(gòu)成,如圖8所示。高通濾波器由U3、C2、Rdip11組成,其截至頻率為f=0.03Hz,低通濾波器由U4、Cdip2、Rsop4組成,截至頻率為f=110Hz。 </p><p> 圖8 帶通濾波電路</p><p> 基于小型化和成本考慮,硬件濾波只用一階高通濾波器和一階低通濾波器,雖然設(shè)計(jì)了右腿驅(qū)動(dòng)電路,但是
72、仍然有50Hz干擾進(jìn)入電路,所以本設(shè)計(jì)增加了50Hz陷波電路,如圖9所示通過該方法來濾除工頻干擾,實(shí)驗(yàn)結(jié)果表明,通過高低通濾波后再加上陷波電路的信號(hào)波形清晰、特征明顯。</p><p> 圖9 50Hz陷波電路</p><p> 3.5電源電路的設(shè)計(jì)</p><p> 電源電路是整個(gè)系統(tǒng)中十分重要的一環(huán),隨著便攜式產(chǎn)品的普及,如何降低功耗成為工程師面臨的急需
73、解決的問題。如果電源不穩(wěn)定可能造成系統(tǒng)不能正常工作,嚴(yán)重的甚至燒壞芯片引發(fā)事故。因此電源管理越發(fā)顯得重要。 </p><p> 電源管理是指如何將電源有效分配給系統(tǒng)的不同組件。電源電路設(shè)計(jì)主要考慮用哪種類型的電源器件,輸入輸出電壓,輸出電流以及控制狀態(tài)[15]。 </p><p> 心電采集電路需要土5V電源,STM32工作電壓為3.3V,本設(shè)計(jì)用7.2V電池供電,中正負(fù)5V電壓可以采
74、用7805和7905來產(chǎn)生,它通過外圍的電感電容的組合提供升滿足運(yùn)放使用的正電壓和負(fù)電壓,圖10是其典型應(yīng)用。</p><p> 圖10 正負(fù)5V電源電路</p><p> 3.3V的電壓采用AMS1117產(chǎn)生,其最大的特點(diǎn)是簡單易用,而且性價(jià)比高,輸入電壓5V~12V,直接輸出3.3V。電路如圖11所示。</p><p> 圖11 AMS1117穩(wěn)壓電路
75、</p><p> 4 便攜式心電圖儀的軟件設(shè)計(jì)</p><p> 該系統(tǒng)的軟件設(shè)計(jì)沿用經(jīng)典的是模塊化的編程思想,首先根據(jù)要求設(shè)計(jì)好系統(tǒng)的總軟件流程,然后再分別實(shí)現(xiàn)系統(tǒng)各模塊的功能。在完成硬件電路設(shè)計(jì)和電路制作后,再進(jìn)行整體的統(tǒng)一調(diào)試。本章主要討論系統(tǒng)軟件在STM32上的編程與實(shí)現(xiàn)。</p><p><b> 4.1軟件開發(fā)平臺(tái)</b>
76、</p><p> Keil是德國Keil公司(現(xiàn)已并入ARM 公司)開發(fā)的微控制器軟件開發(fā)平臺(tái),是目前ARM內(nèi)核單片機(jī)開發(fā)的主流工具。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些功能組合在一起。uVision當(dāng)前最高版本是uVision3,它的界面和常用的微軟VC++的界面相似,界面友好,易學(xué)易用,在調(diào)試程序,軟件
77、仿真方面也有很強(qiáng)大的功能。</p><p> uVision3 IDE是一款集編輯,編譯和項(xiàng)目管理于一身的基于窗口的軟件開發(fā)環(huán)境。uVision3集成了C語言編譯器,宏編譯,鏈接/定位,以及HEX文件產(chǎn)生器。如圖12所示,是它的一個(gè)典型的調(diào)試窗口,它主要包括以下幾個(gè)窗口:</p><p> 圖12 Keil MDK開發(fā)環(huán)境</p><p> 工程區(qū):用于訪問
78、文件組和文件,調(diào)試是可以查看CPU寄存器。</p><p> 輸出窗口:顯示編譯結(jié)果,以便快速查找錯(cuò)誤的地方,同時(shí)還是調(diào)試命令輸入輸出窗口,也可以用于顯示查找結(jié)果。</p><p> 內(nèi)存窗口:顯示指定地址內(nèi)村里的內(nèi)容。查看和調(diào)用</p><p> 堆棧窗口:用于查看和修改變量的值,并且現(xiàn)實(shí)當(dāng)前函數(shù)調(diào)用。</p><p> 代碼窗口:
79、用于查看和編輯源文件。</p><p> 外設(shè)對(duì)話框:檢查微控制的片上外設(shè)的狀態(tài)。</p><p> 使用Keil來開發(fā)嵌入式軟件,開發(fā)周期和其他的平臺(tái)軟件開發(fā)周期是差不多的,大致有以下幾個(gè)步驟:</p><p> 1. 創(chuàng)建一個(gè)工程,選擇一塊目標(biāo)芯片,并且做一些必要的工程配置。</p><p> 2. 編寫C或者匯編源文件。<
80、/p><p> 3. 編譯應(yīng)用程序。</p><p> 4. 修改源程序中的錯(cuò)誤。</p><p><b> 5. 聯(lián)機(jī)調(diào)試。</b></p><p> 4.2軟件系統(tǒng)整體設(shè)計(jì)</p><p> 采用模塊化的編程思想,把整個(gè)軟件系統(tǒng)化為為多個(gè)功能模塊,主程序通過調(diào)用各個(gè)子程序來完成復(fù)雜功能的
81、實(shí)現(xiàn)。下面具體介紹各個(gè)模塊的實(shí)現(xiàn)。</p><p> 4.2.1軟件總體分析</p><p> 從整體上看,該系統(tǒng)軟件分為兩個(gè)大的部分: </p><p> (1) 下位機(jī)軟件即STM32應(yīng)用程序。主要完成心電信號(hào)的采集、信號(hào)濾波、RTC模塊、液晶顯示和串口通信等。利用模塊化編程思想分別來實(shí)現(xiàn)各個(gè)模塊的功能,盡量減少程序之間的耦合性,提高程序之間的內(nèi)聚性。主
82、程序是個(gè)無限循環(huán),通過調(diào)用各個(gè)子程序來完成系統(tǒng)的功能。該部分總體開發(fā)思路是,首先完成STM32片上資源的初始化,其次是完成各個(gè)子程序的編寫,最后主程序通過調(diào)用主程序完成所要實(shí)現(xiàn)的功能。 </p><p> (2) 上位機(jī)管理軟件。上位機(jī)是運(yùn)用LabVIEW編寫的,其功能是完成數(shù)據(jù)的接收和處理,其中主要包括對(duì)數(shù)據(jù)的接收、顯示和存儲(chǔ)。處理是指利用PC機(jī)強(qiáng)大的數(shù)據(jù)處理功能對(duì)上傳來的數(shù)據(jù)進(jìn)行處理并分析的結(jié)果。顯示功能
83、完成數(shù)據(jù)到波形的轉(zhuǎn)換,能夠動(dòng)態(tài)顯示出心電波形。存儲(chǔ)功能完成數(shù)據(jù)的保存。</p><p> 4.2.2 STM32 軟件系統(tǒng)設(shè)計(jì)流程</p><p> 軟件搭載在硬件上運(yùn)行的,硬件的資源多少在一定程度上決定了軟件的設(shè)計(jì)方法和復(fù)雜程度。由于早期的單片機(jī)由于硬件資源少,RAM資源有限,所以工程師在編程的時(shí)候?qū)AM的應(yīng)用要十分小心,因此造成這類的設(shè)計(jì)開發(fā)工程師更加偏向于直接用匯編語言來控制硬
84、件的工作。隨著科學(xué)的發(fā)展,嵌入式系統(tǒng)的復(fù)雜度的提高和EDA技術(shù)的發(fā)展,各種高級(jí)的EDA工具不斷推出,比如Keil、IAR、ADS等工具,這些工具不僅極大的方便了工程師的開發(fā),同時(shí)也為用C語言這種高級(jí)語言來編寫程序提供了有利的條件。但是這種開發(fā)方式隨著系統(tǒng)的復(fù)雜度的增高也變的愈加吃力了,因?yàn)閷?duì)開發(fā)人員要熟悉芯片的內(nèi)部資源,能夠進(jìn)行寄存器配置,這樣就對(duì)工程師的要求比較高。但是這些問題可以通過移植操作系統(tǒng)來解決,操作系統(tǒng)的優(yōu)勢(shì)就是屏蔽了具體的
85、硬件細(xì)節(jié),可以讓開發(fā)人員把更多的精力放在應(yīng)用程序上。 </p><p> 本系統(tǒng)設(shè)計(jì)時(shí)考慮移植操作系統(tǒng),但是對(duì)于具體的應(yīng)用存在一些不足之處:首先,操作系統(tǒng)在對(duì)數(shù)據(jù)區(qū)的開銷以及一些變量的存儲(chǔ)方面浪費(fèi)了很多的RAM資源,有限的RAM資源就無法有效的分配。其次,STM32方便的庫文件開發(fā)方式本身就屏蔽了硬件的細(xì)節(jié),處于以上考慮在本次開發(fā)中沒用移植操作系統(tǒng),而采用庫文件的方式來開發(fā)設(shè)計(jì)。</p><
86、p> STM32固件庫是一個(gè)固件包,它不僅包括了程序、數(shù)據(jù)結(jié)構(gòu)和覆蓋所有外設(shè)特性的宏單元。還包括設(shè)備驅(qū)動(dòng)的描述以及各個(gè)外圍模塊的實(shí)例,該固件庫可以使得用戶在沒有深入學(xué)習(xí)外圍模塊規(guī)格手冊(cè)的情況下,也能夠使用任何在用戶應(yīng)用中涉及到的設(shè)備。因此,使用該固件庫可以節(jié)省設(shè)計(jì)者的許多時(shí)間,可使開發(fā)人員把更多的精力花費(fèi)在編程方面,加快了開發(fā)周期,減少了在應(yīng)用開發(fā)中的綜合開銷。這是STM32軟件開發(fā)十分顯著的優(yōu)點(diǎn)。</p><
87、;p> 實(shí)際應(yīng)用開發(fā)時(shí),我們用外設(shè)的時(shí)候一般有三個(gè)步驟,這里以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對(duì)應(yīng)的庫文件,對(duì)ADC的一系列操作都在封裝好了放在這類文件里。 </p><p> 3、參數(shù)設(shè)置。包括配置采用周期、觸發(fā)方式、工作模式、數(shù)據(jù)存儲(chǔ)格式等,開發(fā)人員只需根據(jù)所需要求在對(duì)應(yīng)的參數(shù)位置設(shè)置即可。一個(gè)簡單的實(shí)例如下: </p><
89、;p> /* ADC1 configuration ------------------------------------------------------*/ </p><p> ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //獨(dú)立模式 </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;//右對(duì)齊格式 </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è)計(jì)流程分為兩個(gè)大的方面,分別對(duì)應(yīng)兩個(gè)個(gè)界面: </p><p
93、> 第一個(gè)界面心電圖顯示界面,按鍵有上、下、左、右、中五個(gè)按鍵,按鍵功能分配如下:上、下按鍵控制波形縱向移動(dòng)和幅值的變化,左右鍵是調(diào)節(jié)波形在時(shí)間上的周期變化,中間按鍵是切換鍵,切換上下鍵控制幅值變化還是縱向移動(dòng)。</p><p> 另一個(gè)界面是幫助界面,具體介紹各個(gè)按鍵的作用,具體流程圖如圖13所示。</p><p> 圖13 系統(tǒng)總體流程圖</p><p
94、> 4.3信號(hào)采集程序設(shè)計(jì)</p><p> 心電信號(hào)的精確采集對(duì)于后面的進(jìn)一步處理至關(guān)重要。STM32的片內(nèi)ADC是12位的模數(shù)轉(zhuǎn)換器,可以在16路模擬輸入中任選一路進(jìn)行采樣,其最高采樣率為1MHz,心電信號(hào)的頻率較低,片內(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è)計(jì)</p><p> 數(shù)字濾波算法的實(shí)現(xiàn)是軟件部分關(guān)鍵的問題,它的運(yùn)算時(shí)間和精度直接決定了系統(tǒng)的實(shí)時(shí)性和數(shù)據(jù)的準(zhǔn)確性。本系統(tǒng)用C語
96、言編寫了相對(duì)應(yīng)的濾波算法程序來實(shí)現(xiàn)對(duì)所采集的心電信號(hào)進(jìn)行數(shù)字濾波。 </p><p> 濾波算法實(shí)際上就是用C語言來實(shí)現(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)鍵是實(shí)現(xiàn)差分方程(1),有式(2)和(3)看出,當(dāng)前輸出與以前數(shù)據(jù)狀態(tài)有關(guān)
98、,因此需要開辟緩沖區(qū)來存放以前的數(shù)據(jù),這里開辟三個(gè)緩沖區(qū)Buff_bp[4]、Buff_ap[98]和Buff_x[20]分別存放yBP(n-4)、yAP(n-98)、x(n-20)的數(shù)據(jù)。對(duì)于式(1),Buff_bp[4]數(shù)組里面存放的是前4次yBP(n)的值,Buff_x[20]存放的是當(dāng)前采集數(shù)據(jù)的前20次的x(n-20)數(shù)據(jù),前20點(diǎn)的數(shù)據(jù)yBP(n)都為0,假設(shè)采集到第20點(diǎn)時(shí),此時(shí)n=20,把該點(diǎn)賦值給變量[14]。Cur_
99、val,數(shù)組Buff_bp[4]全為0,數(shù)組Buff_x[20]里面存放了前20個(gè)點(diǎn)的數(shù)據(jù),那么該點(diǎn)濾波后的數(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è)計(jì) </p><p> 在本系統(tǒng)中采用彩色TFT液晶,波形顯示清晰,界面良好。液晶控制的關(guān)鍵在于編寫底層驅(qū)動(dòng)程序,底層驅(qū)動(dòng)寫好以后再封裝不同功能的函數(shù),以后調(diào)用就很方便了。</p><p> STM32的FSMC模塊是能
101、夠與同步或異步的存儲(chǔ)器和16位的PC存儲(chǔ)器卡的接口,它的主要作用是: </p><p> 將AHB傳輸信號(hào)轉(zhuǎn)換到適當(dāng)?shù)耐獠吭O(shè)備協(xié)議 </p><p> 滿足訪問外部設(shè)備的時(shí)序要求</p><p> 通過這樣的方法就可以把液晶當(dāng)作外部存儲(chǔ)設(shè)備來使用,通過配置讀寫及控制信號(hào)的時(shí)序,用指定指針就可以實(shí)現(xiàn)對(duì)液晶的讀寫訪問。這樣處理不但簡化了對(duì)液晶的操作,只需指定讀寫數(shù)
102、據(jù)的指針就可完成操作,而且提高了訪問速度,避免了用端口模擬時(shí)序訪問液晶產(chǎn)生的滯后現(xiàn)象。并且STM32自帶FSMC方式控制TFT-LCD的實(shí)例,只需做一些相應(yīng)的修改就可應(yīng)用到本系統(tǒng)中。</p><p> 顯示的心電波形有兩個(gè)基本要求:一是波形清晰,無斷點(diǎn),二是波形無明顯失真。在顯示波形時(shí)需要解決三個(gè)問題:一是把采集到的電壓值轉(zhuǎn)換成液晶上的高度;二是兩點(diǎn)之間要連續(xù);三是刷新方式,刷新的一種方法是在波形顯示到屏幕的最
103、右邊時(shí)整個(gè)波形區(qū)域刷新為空,然后重新從最左邊顯示,另一種方法是邊顯示邊刷新,即在顯示的后邊的一小塊區(qū)域刷新為空,也就是邊顯示邊刪除。相比較而言顯然第二種方法比較好,因?yàn)檎麄€(gè)區(qū)域刷新是很費(fèi)時(shí)間的問題,有可能影響畫圖的速度,而第二種方法就有效的克服了這個(gè)問題,另外從實(shí)際效果來看,視覺效果也比較好。針對(duì)第一個(gè)問題,實(shí)際上就是把電壓值轉(zhuǎn)換成點(diǎn)的坐標(biāo),</p><p> 本設(shè)計(jì)中用液晶X軸中間的部分來顯示波形,X軸坐標(biāo)值
104、范圍為60~180,而心電信號(hào)的電壓值范圍為0~2V,則第一個(gè)問題轉(zhuǎn)化為把電壓范圍0~2映射到坐標(biāo)60~180的范圍內(nèi)。為了提高精度可以把電壓范圍在程序內(nèi)部處理時(shí)擴(kuò)大100倍,則轉(zhuǎn)換精度為P=200/120=5/3,設(shè)轉(zhuǎn)換后的坐標(biāo)為xzb,另外液晶的坐標(biāo)原點(diǎn)在右上角,則把電壓Cur_val的范圍0~200轉(zhuǎn)換到坐標(biāo)60~180 之間可以用以下公式:xzb=180-Cur_val*3/5。對(duì)于第二個(gè)問題解決的辦法是在兩點(diǎn)之間用直線連接起來
105、,這樣就需要把當(dāng)前點(diǎn)的上一個(gè)點(diǎn)的坐標(biāo)記住,用兩個(gè)變量保存設(shè)為prxzb、pryzb。</p><p> 5 系統(tǒng)調(diào)試結(jié)果及誤差分析</p><p> 經(jīng)過軟硬件的設(shè)計(jì)和制作,完成了基本的構(gòu)架,但是還需經(jīng)一部的調(diào)試和分析才能進(jìn)一步的完善該系統(tǒng)</p><p><b> 5.1調(diào)試手段</b></p><p> 為檢
106、驗(yàn)各模塊是否按要求進(jìn)行正常工作,借助萬用表、函數(shù)信號(hào)發(fā)生器以及示波器來進(jìn)行檢測,通過測試結(jié)果完成對(duì)各個(gè)模塊完成功能的評(píng)估,對(duì)整體練調(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è)置,具有使用靈活、操作簡便的特點(diǎn)。J-Link是調(diào)試ARM嵌入式系統(tǒng)的常用工
107、具。在每一部分程序調(diào)試通過后,對(duì)所有子程序進(jìn)行整合編寫出完的主程序。在開發(fā)環(huán)境中完成程序編譯之后,通過J-Link工具把程序代碼下載到STM32處理器中,然后通過程序的調(diào)試功能來進(jìn)行程序的調(diào)試。使用J-Link工具的優(yōu)點(diǎn)是:入門簡單、可以全面的觀察程序中的參數(shù)和微處理器中各個(gè)寄存器的值和狀態(tài),特別適合軟硬件聯(lián)調(diào)階段。</p><p> 5.2測量調(diào)試以及分析</p><p> 調(diào)試過程
108、中需要對(duì)該電路的每一模塊逐步進(jìn)行調(diào)試,使其完成各自的目標(biāo)指數(shù)后方可整體聯(lián)立進(jìn)行綜合調(diào)試</p><p> 5.2.1采集電路的測試</p><p> 采集電路主要是完成對(duì)心電信號(hào)的正確提取,主要要測試前置放大電路即AD627的性能測試,帶通濾波電路測試及陷波電路測試等。 </p><p> (1)AD620的性能測試 </p><p>
109、<b> 差模增益 </b></p><p> 測量方法:差動(dòng)輸入端,正端接信號(hào)源信號(hào),負(fù)端接地,輸入信號(hào)為150mV,測量AD620A的輸出端對(duì)地的電壓,其值為1020mV。差模增益為6.8,與理論計(jì)算相一致。 </p><p><b> 共模抑制比 </b></p><p> 測量方法:兩輸入端輸入50Hz共模
110、信號(hào),測量輸出端對(duì)地電壓。輸入1.78V輸出0.17V,所以,共模增益為:0.096。共模抑制比為:CMRR=10/0.096=104dB。 符合心電儀器設(shè)計(jì)標(biāo)準(zhǔn)。 </p><p> (2)帶通濾波電路測試 </p><p> 測量方法:實(shí)際測量中,輸入一定電壓幅度的正弦波,調(diào)節(jié)其頻率,觀察輸出電壓幅度的變化。測得,信號(hào)65Hz時(shí)開始有幅度衰減,100Hz時(shí)減為原幅度的1/3,信號(hào)低
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于stm32的便攜式心電圖儀畢業(yè)設(shè)計(jì)
- 基于stm32的便攜式心電圖儀設(shè)計(jì)v1.8
- 基于STM32的便攜式心電圖儀的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于STM32技術(shù)的便攜式腦電圖儀設(shè)計(jì).pdf
- 便攜式十二導(dǎo)心電圖儀的設(shè)計(jì).pdf
- 基于STM32的便攜式土壤綜合參數(shù)檢測儀設(shè)計(jì).pdf
- 基于STM32的便攜式血糖測試系統(tǒng)設(shè)計(jì).pdf
- 基于stm32的便攜式酒精濃度檢測儀設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于stm32的便攜式酒精濃度檢測儀設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于STM32的便攜式心電監(jiān)測系統(tǒng)設(shè)計(jì).pdf
- 基于STM32和Android的便攜式心電儀研發(fā).pdf
- 基于STM32和μC-OS-II的便攜式壓力采集儀的研制.pdf
- 便攜式心電圖儀存儲(chǔ)與控制模塊設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于stm32的便攜式搭載激光鍵盤的激光筆設(shè)計(jì)與實(shí)現(xiàn)
- 基于stm32的便攜式酒精濃度檢測儀設(shè)計(jì)與實(shí)現(xiàn)-測控畢業(yè)論文最終版
- 基于STM32的便攜式雙道生物阻抗測量系統(tǒng)的研制.pdf
- 畢業(yè)設(shè)計(jì)--基于stm32的智能小車設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-基于stm32智能小車設(shè)計(jì)
- 便攜式心電圖檢測儀設(shè)計(jì).pdf
- 基于stm32和藍(lán)牙4.1的便攜式心電采集分析系統(tǒng)研究
評(píng)論
0/150
提交評(píng)論