【《基于擴(kuò)散硅的壓力計(jì)電路系統(tǒng)軟件設(shè)計(jì)與調(diào)試分析案例綜述》2100字】_第1頁(yè)
【《基于擴(kuò)散硅的壓力計(jì)電路系統(tǒng)軟件設(shè)計(jì)與調(diào)試分析案例綜述》2100字】_第2頁(yè)
【《基于擴(kuò)散硅的壓力計(jì)電路系統(tǒng)軟件設(shè)計(jì)與調(diào)試分析案例綜述》2100字】_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

基于擴(kuò)散硅的壓力計(jì)電路系統(tǒng)軟件設(shè)計(jì)與調(diào)試分析案例目錄TOC\o"1-3"\h\u23857基于擴(kuò)散硅的壓力計(jì)電路系統(tǒng)軟件設(shè)計(jì)與調(diào)試分析案例 1324771系統(tǒng)軟件設(shè)計(jì) 1152581.1軟件設(shè)計(jì)基本原則 162281.2軟件開(kāi)發(fā)語(yǔ)言與開(kāi)發(fā)平臺(tái) 183921.3軟件設(shè)計(jì)流程圖 2259071.4軟件抗干擾措施 344911.4.1采用軟件攔截技術(shù) 399621.4.2設(shè)置看門(mén)狗模塊 3169022系統(tǒng)調(diào)試與分析 381202.1總體效果展示 3305902.2調(diào)試總結(jié) 4系統(tǒng)軟件設(shè)計(jì)軟件設(shè)計(jì)基本原則在軟件的設(shè)計(jì)過(guò)程中誕生了眾多的軟件設(shè)計(jì)模式和基本原則。遵循這些原則可以較好的保證代碼的健壯性和后期代碼維護(hù)的難度。常用的軟件設(shè)計(jì)原則有:1.自頂向下設(shè)計(jì)2.模塊化設(shè)計(jì)3.向后兼容的設(shè)計(jì)思想。自頂向下設(shè)計(jì)能夠?qū)⒁粋€(gè)大問(wèn)題分解為若干小問(wèn)題,在整體理解和把握的基礎(chǔ)上進(jìn)行逐層分解,這種設(shè)計(jì)實(shí)現(xiàn)了從整體到部分的過(guò)度,可以較好的避免各個(gè)部分單獨(dú)開(kāi)發(fā)后導(dǎo)致的綜合調(diào)試不兼容的問(wèn)題。模塊化設(shè)計(jì)可以將系統(tǒng)代碼進(jìn)行模塊劃分,設(shè)計(jì)者可以根據(jù)類(lèi)型或者功能進(jìn)行劃分,將軟件以接口的形式暴露出來(lái),實(shí)現(xiàn)封裝,減少代碼冗余。模塊化開(kāi)發(fā)可以較好的實(shí)現(xiàn)多人協(xié)作開(kāi)發(fā)。向后兼容思想是為軟件的后續(xù)開(kāi)發(fā)維護(hù)留下接口,便于進(jìn)行功能拓展,這對(duì)于實(shí)現(xiàn)代碼升級(jí)和功能增添有重要的價(jià)值[17]。軟件開(kāi)發(fā)語(yǔ)言與開(kāi)發(fā)平臺(tái)目前主流的編程語(yǔ)言主要可以分為面向?qū)ο蠛兔嫦蜻^(guò)程的編程語(yǔ)言。其中C語(yǔ)言作為最早問(wèn)世的面向過(guò)程的高級(jí)編程語(yǔ)言在嵌入式系統(tǒng)中有不可替代的地位,常年占據(jù)主流編程排行榜的前三位。C語(yǔ)言由貝爾實(shí)驗(yàn)室的D.M.Ritchie以B語(yǔ)言為基礎(chǔ)設(shè)計(jì)而來(lái)。C語(yǔ)言具有強(qiáng)大的指針工具,可以在硬件編程中直接操作硬件,同時(shí)C語(yǔ)言代碼非常的簡(jiǎn)潔,可以直接編譯成二進(jìn)制代碼執(zhí)行,非常適合在資源較為匱乏的硬件設(shè)備上執(zhí)行。C語(yǔ)言在操作系統(tǒng)開(kāi)發(fā),嵌入式設(shè)備驅(qū)動(dòng)領(lǐng)域具有不可撼動(dòng)的地位,在單片機(jī)開(kāi)發(fā)中,C語(yǔ)言更是高效開(kāi)發(fā)的不二人選,匯編語(yǔ)言逐漸被淘汰。因此本系統(tǒng)采用C語(yǔ)言來(lái)作為開(kāi)發(fā)工具。在嵌入式軟件開(kāi)發(fā)中選擇合適的編譯器非常重要,編譯器是實(shí)現(xiàn)交叉編譯的基礎(chǔ)。目前單片機(jī)的開(kāi)發(fā)工具有很多,每個(gè)公司都有配套的開(kāi)發(fā)工具。德州儀器公司的MSP430系列的芯片一般采用IAR進(jìn)行開(kāi)發(fā),8051單片機(jī)一般采用KeiluVision編譯器進(jìn)行開(kāi)發(fā)。該軟件具有非常強(qiáng)大的功能,內(nèi)置了C51模塊,同時(shí)隨著ARM公司收購(gòu)了KeiluVision軟件之后,更是增加了大量的STM32的開(kāi)發(fā)功能,優(yōu)化了代碼提示和包管理,版本管理系統(tǒng)[18]。由于KeiluVision進(jìn)入中國(guó)較早,有著非常完善的開(kāi)發(fā)社區(qū),資料豐富,所以本系統(tǒng)選用KeiluVision進(jìn)行開(kāi)發(fā)。KeiluVision軟件啟動(dòng)界面如REF_Ref70886306\h圖4.1所示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s11Keil5集成開(kāi)發(fā)壞境啟動(dòng)頁(yè)面軟件設(shè)計(jì)流程圖系統(tǒng)在進(jìn)行上電操作之后,系統(tǒng)會(huì)進(jìn)行初始化,檢查管腳和外設(shè)電路是否正常,一切就緒之后。默認(rèn)進(jìn)入讀取水壓模式,當(dāng)水壓過(guò)大時(shí),系統(tǒng)會(huì)在液晶顯示屏上提醒用戶(hù),而當(dāng)水壓正常之后系統(tǒng)會(huì)在顯示屏上顯示正常。其檢測(cè)流程圖如REF_Ref70886331\h圖4.2所示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s12主程序流程圖軟件抗干擾措施為了實(shí)現(xiàn)更大的控制穩(wěn)定性,提高系統(tǒng)的易維護(hù)性和可擴(kuò)展性,還需要設(shè)計(jì)一個(gè)軟件級(jí)干擾系統(tǒng)。為了抵抗軟件和單片機(jī)本身的不穩(wěn)定因素,提高可靠性,目前嵌入式開(kāi)發(fā)中主流的軟件抗干擾措施主要有以下兩種可能:采用軟件攔截技術(shù)如果系統(tǒng)受到干擾,程序的內(nèi)部指針很容易指向錯(cuò)誤的地址,導(dǎo)致程序進(jìn)入不可控區(qū)域,導(dǎo)致意外的運(yùn)行結(jié)果,最終導(dǎo)致死循環(huán)錯(cuò)誤,首先受到影響的是內(nèi)部程序計(jì)數(shù)器,因此有必要,在軟件密鑰代碼前插入三個(gè)或四個(gè)字節(jié)的空指令,給CPU一個(gè)時(shí)間周期進(jìn)行自校正。此外,錯(cuò)誤的程序指針會(huì)導(dǎo)致程序在未使用的中斷區(qū)運(yùn)行,并影響軟件的正常運(yùn)行。在所有未使用的中斷響應(yīng)函數(shù)的輸入端設(shè)置軟件浪費(fèi),并添加返回聲明,將偏離的程序拖回到主程序流中,這兩種方法的結(jié)合可以從代碼層面上達(dá)到令人滿(mǎn)意的抗干擾效果。設(shè)置看門(mén)狗模塊ST意大利半導(dǎo)體公司的Stm32f103v8芯片包含許多片上資源,包括看門(mén)狗(iwdg)模塊。它的主要功能是定期從硬件上重啟CPU,在軟件開(kāi)發(fā)中,我們只需設(shè)置看門(mén)狗的倒計(jì)時(shí)定時(shí)器,并在每次倒計(jì)時(shí)歸零前重置定時(shí)器,這樣就可以實(shí)現(xiàn)了,如果主程序崩潰或運(yùn)行,并且看門(mén)狗定時(shí)器無(wú)法重置,看門(mén)狗模塊可以從硬件重置CPU,并將程序拖回正常工作進(jìn)程。。系統(tǒng)調(diào)試與分析總體效果展示在基于單片機(jī)的擴(kuò)散硅壓力計(jì)電路的設(shè)計(jì)與實(shí)現(xiàn)中,使用意法半導(dǎo)體公司推出的STM32F103RCT6單片機(jī)作為核心控制器,系統(tǒng)搭載了康德立品牌的擴(kuò)散硅壓力計(jì)進(jìn)行水壓監(jiān)測(cè)。當(dāng)水壓超過(guò)閾值時(shí),在OLED屏幕上顯示水壓過(guò)高的提示。其整體效果圖如REF_Ref70886407\h圖5.1所示。圖STYLEREF1\s5.SEQ圖\*ARABIC\s11實(shí)物調(diào)試整體效果圖調(diào)試總結(jié)在硬件調(diào)試過(guò)程中出現(xiàn)了以下2個(gè)主要的問(wèn)題:1硬件設(shè)計(jì)的核心是單個(gè)空間計(jì)算機(jī)最小系統(tǒng)的構(gòu)建。作為一個(gè)綜合性的模塊,這部分應(yīng)該具有良好的可擴(kuò)展性和模塊性。因此,本系統(tǒng)選擇了單位置計(jì)算機(jī)的引腳進(jìn)行引導(dǎo),使其在使用杜邦電纜進(jìn)行插接連接時(shí)工作得更好,但由于焊接不當(dāng),出現(xiàn)了多個(gè)與端口P0相對(duì)應(yīng)的引腳,整個(gè)端口P0不能正常工作。用電壓表測(cè)試后,終于發(fā)現(xiàn)了問(wèn)題。2.在程序的第一版設(shè)計(jì)中,由于缺乏模塊化編程的思維,將所有的代碼都寫(xiě)在一個(gè)文件中,這使得整個(gè)文件很長(zhǎng),代碼臃腫,同時(shí)也缺乏相關(guān)的注釋。這種代碼具有很大的問(wèn)題,雖然可以實(shí)現(xiàn)功能,但是缺乏可維護(hù)性。在后續(xù)設(shè)計(jì)中加入了模塊化編程思想,把每個(gè)模塊

溫馨提示

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

評(píng)論

0/150

提交評(píng)論