




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第11章單片機應用系統(tǒng)開發(fā)本章要點:n
單片機應用系統(tǒng)設計開發(fā)流程n
單片機可靠性設計主要技術措施11.1應用系統(tǒng)設計11.1.1系統(tǒng)總體設計確定單片機控制系統(tǒng)的總體方案,是系統(tǒng)設計中十分重要的一步。合理的總體設計來自對于系統(tǒng)要求的全面分析和對于實現(xiàn)方法的正確選擇。一般說來,系統(tǒng)的總體設計步驟如下:1.全面分析任務對系統(tǒng)的要求其內(nèi)容主要包括以下幾個方面:(1)需要檢測的信號有哪些,變換的快慢怎樣,對檢測精度有何要求。相應的確定檢測方法和檢測元件。(2)執(zhí)行機構是什么,需要輸出幾個怎樣的控制信號——模擬量還是數(shù)字量、功率有多大、有何特殊要求、相應的確定輸入輸出通道的結(jié)構。(3)對控制的精度有何要求,應采用何種控制算法。(4)對輸出、通信等方面有何要求,相應的實現(xiàn)方法是什么。(5)系統(tǒng)操作方式,比如如何啟動和停止,如何設置參數(shù)等。(6)系統(tǒng)是否有進一步擴展的需要,輸入/輸出通道和存儲器容量是否要適當留下余量。(7)系統(tǒng)的工作環(huán)境如何,是否需要加強抗干擾設施。控制系統(tǒng)通常都是為某種生產(chǎn)設備或生產(chǎn)過程服務的。在分析對于系統(tǒng)控制的要求時,必須了解有關設備的運行性能和工藝過程。實際設計控制系統(tǒng)時,還往往涉及到電氣設備的主電路,如電動機等,它們的工作方式與實際需要有關,對此必須考慮到。另外,在進行分析研究的過程中,還必須充分了解這類系統(tǒng)在國內(nèi)外的現(xiàn)有狀況,努力借鑒已有的經(jīng)驗,盡可能使用定型的產(chǎn)品,避免低水平的重復開發(fā)。2.確定系統(tǒng)的構成類型單片機應用系統(tǒng)的構成類型包括采用從元件級設計系統(tǒng)、利用應用板構成系統(tǒng)和通過購置模塊式工業(yè)控制單片機組成系統(tǒng)三種,確定采用何種構成是系統(tǒng)總體設計中的重大決策。在進行應用系統(tǒng)開發(fā)的實際工作中,不一定要對系統(tǒng)作全面地了解分析之后才確定系統(tǒng)的構成類型,而只需根據(jù)系統(tǒng)某些主要的要求即可確定應采用何種構成。這些主要的要求如:是否需要屏幕顯示,有怎樣的打印要求,微機工作環(huán)境如何,以及經(jīng)費預算和工期等。據(jù)此結(jié)合單片機控制系統(tǒng)三種構成類型的特點,便可確定采用哪一種類型更為合理。3.劃分硬件和軟件任務,畫出系統(tǒng)結(jié)構框圖在分析系統(tǒng)要求和確定系統(tǒng)類型之后,就要劃分硬件和軟件的任務,完成系統(tǒng)結(jié)構設計。單片機的硬件和軟件是相互結(jié)合而工作的,有些任務必須由硬件來實現(xiàn),另外有些任務則必須由軟件來實現(xiàn)。但是也有一些任務既可以由硬件來完成,也可以由軟件來完成,例如定時、邏輯控制等,這就要綜合考慮確定。一般來說,增加硬件會提高成本,但能夠簡化設計程序,且實用性好。反之,加重軟件任務,會增加編程調(diào)試工作量,但能降低成本。劃分硬件和軟件任務時,要按照各個部分列出其任務清單。例如數(shù)據(jù)采集部分,硬件的任務是提供測量電路,包括傳感器、信號轉(zhuǎn)換和放大電路、A/D轉(zhuǎn)換器等;軟件的任務則為
按照一定的采樣周期,進行定時采樣,把數(shù)據(jù)存入指定區(qū)域。根據(jù)對硬件任務和軟件任務的劃分,可以畫出系統(tǒng)的結(jié)構框圖。系統(tǒng)結(jié)構框圖包括硬件框圖和應用程序結(jié)構框圖。框圖畫成模塊式,作為下一步硬件設計和軟件設計的基礎。如果一個微機控制系統(tǒng)(包括智能儀表等)確定采用單片機,那么系統(tǒng)構成一般只限于兩種類型——從元件級設計系統(tǒng)或利用應用板(單片機)構成系統(tǒng)。在這里我們只講述從元件級設計系統(tǒng)。所謂從元件級進行系統(tǒng)設計,即根據(jù)任務需求分析,選擇合適的單片機,配置必需的存儲器、接口和外圍設備組成一個應用系統(tǒng)。在完成總體設計之后,系統(tǒng)設計的任務便可細分為硬件設計和軟件設計兩部分。11.1.2硬件設計硬件設計的任務是根據(jù)總體設計給出的結(jié)構框圖,逐一設計出每一個單元電路,最后組合起來,成為完整的硬件系統(tǒng)。1.微處理器的選擇從元件級設計控制系統(tǒng),微處理器一般都選擇單片機。微處理器的主要性能指標是位數(shù)、主頻、尋址能力、指令系統(tǒng)、內(nèi)部寄存器情況等。位數(shù)是重要指標,除了影響運算精度以外,還關系到指令系統(tǒng)的功能、尋址能力以及操作速度。主頻影響操作速度。尋址能力決定可能的最大存儲容量。指令系統(tǒng)性能影響數(shù)據(jù)處理、輸入/輸出等操作功能以及編程的方便性。內(nèi)部寄存器的數(shù)量和功能也與操作方便性有關。此外,單片機都帶有一定數(shù)量的內(nèi)部RAM,還可能有內(nèi)部ROM或其他部件。對于工業(yè)控制系統(tǒng)來說,一般對于微處理器的運算精度、數(shù)據(jù)處理功能、尋址能力和操作速度,沒有很高的要求。它的要求偏重于中斷系統(tǒng)、I/O口的數(shù)量和功能、內(nèi)部寄存器和存儲器的類型、容量以及是否集成A/D轉(zhuǎn)換器件等。因此,除了某些高精度快速系統(tǒng)需要采用16位單片機以外,對于一般控制系統(tǒng)來說,選擇8位單片機均能滿足要求。8位單片機的類型很多,計算機公司根據(jù)檢測和控制的需要,還在大力開發(fā)新的產(chǎn)品,如增加片內(nèi)ROM的容量、集成高速A/D轉(zhuǎn)換器、附帶看門狗電路等,具有很大的選擇余地。
2.存儲器的配置
存儲器的配置任務是確定片外存儲器的類型和容量,選定存儲器型號,設計擴展電路。
在硬件設計階段,由于還沒有完成軟件設計,無法準確地估計所需存儲器的容量。這時可根據(jù)對控制系統(tǒng)的分析,憑借經(jīng)驗大致地估算所需存儲器的容量,估算時應留有一定的余量。
對于RAM和ROM,需分別確定容量。選擇存儲器芯片的型號時,應選擇常用型號,盡量減少芯片數(shù)量,同時對于RAM還需考慮是否需要進行掉電保護。3.輸入通道設計輸入通道的設計內(nèi)容是確定通道結(jié)構和元件配置,合理選擇A/D轉(zhuǎn)換器和其他部件。作為實際控制系統(tǒng)的完整輸入通道,還包括信號的檢測和轉(zhuǎn)換環(huán)節(jié),在設計輸入通道時需要統(tǒng)一考慮。例如,對于溫度檢測和控制系統(tǒng),選用哪種測溫元件;若傳送距離較長,是采用電壓信號、電流信號還是頻率信號進行傳送。另外,如果采用熱電偶作為檢測元件,其信號需要經(jīng)過放大,還有冷端補償和查分度表的問題;如果采用熱電阻做測溫元件,則信號需要經(jīng)過轉(zhuǎn)換和放大,還有線性化等一系列問題。這些既與輸入通道的硬件設計有關,同時還涉及到軟件設計問題。此外,在輸入通道設計中,必須采取適當?shù)男盘柛綦x措施。4.輸出通道設計輸出通道的設計內(nèi)容也是要確定其通道結(jié)構和元件配置,并合理選擇D/A轉(zhuǎn)換器和其他部件。輸出通道的特點是帶有功率驅(qū)動,要根據(jù)執(zhí)行機構的需要,合理的選擇驅(qū)動電路。這一部分有時也會涉及到電氣設備的主電路。另外,與輸入通道設計相同,輸出通道設計時也要注意采取適當措施對信號進行隔離以抗干擾。5.外圍電路設計(1)人機交互參數(shù)設定。任何控制系統(tǒng)中都需要人機交互界面,這其中有些參數(shù)可能需要人為設定。如實現(xiàn)某一輸入功能的按鍵、開關等器件,通??筛鶕?jù)方便操作的原則來選用。(2)系統(tǒng)啟動/停止等操作。為了實現(xiàn)系統(tǒng)的啟動、停止和復位,要設置相應的按鍵和開關。另外,為了使生產(chǎn)設備在自動控制系統(tǒng)出現(xiàn)故障的情況下能夠繼續(xù)運行,一般需設置手動操作開關,同時要有自動/手動切換環(huán)節(jié)。(3)顯示部分的設計。在簡單應用系統(tǒng)中,一般不需CRT顯示器,通常使用LED數(shù)碼管顯示器或LCD顯示器。設計時可根據(jù)要顯示的數(shù)據(jù)種類、數(shù)目和位數(shù),確定顯示方式和顯示數(shù)碼管的數(shù)量。當用一組數(shù)碼管顯示多種數(shù)據(jù)時,可以采取多種不同的顯示方式。例如自動巡回顯示或由按鍵選擇顯示等。另外,還需根據(jù)實際需要確定系統(tǒng)采用動態(tài)顯示還是靜態(tài)顯示。這些定下來后就可以著手設計顯示部分的電路。(4)打印。當系統(tǒng)有打印要求時,一般可采用安裝在操作面板上的微型打印機。首先要設計其接口電路,此外要確定打印操作方式——定時打印還是由開關(按鍵)控制打印。若是后者,則需設置打印開關。(5)報警。報警的方式通常有聲(如蜂鳴器)、光(信號燈)等,這些信號通常由開關量輸出、經(jīng)驅(qū)動電路進行控制。另外,還可以采取在聲、光報警的同時在數(shù)碼管上顯示特殊字符或符號進行報警的方法,符號的顯示一般由軟件完成。根據(jù)系統(tǒng)的報警需求,確定出報警的方式,從而設計出相應的電路。(6)通信。若有通信需求,可利用單片機上的串行口來實現(xiàn)。6.硬件合成以上的各單元電路的設計完成之后,就可以進行硬件合成了。所謂硬件合成即將各單元電路按照總體設計的硬件結(jié)構框圖組合在一起,形成一個完整的硬件系統(tǒng)原理圖。在進行硬件合成時,應注意以下幾點:(1)根據(jù)輸入和輸出的信號需要,全面地安排微處理器的I/O口,查看是否夠用。如果不夠用,應擴展I/O口。擴展I/O口(以及存儲器)之后,應該校核微處理器總線的實際負載,必要時接入總線驅(qū)動器。(2)檢查信號邏輯電平是否兼容。電路中可能兼有TTL和MOS器件,也可能有非標準的信號電平,若電平不兼容,就要加電平轉(zhuǎn)換電路。(3)從提高可靠性出發(fā),全面檢查電路設計。檢查抗干擾措施是否完備,考慮是否要設置“看門狗”電路,是否需要增加自檢環(huán)節(jié)等。(4)考慮電源系統(tǒng)。相互隔離部分的電路必須采用各自獨立的電源和地線,切不可混用。同一部分電路的電源,其電壓種類應盡量減少。對于穩(wěn)壓性能有特殊要求的電路,如A/D轉(zhuǎn)換器的基準電壓,要確定是否需要單獨設置。(5)合理安排地線系統(tǒng)。確定哪些單元電路的地線可以相連,哪些地線接機殼、接大地或浮空。7.電源配置在確定系統(tǒng)所用的幾種直流電源后,分別估算出其所需功率。如有合適的微機用整流產(chǎn)品,直接選用即可。在交流側(cè)應采用濾波裝置,必要時加隔離變壓器和交流穩(wěn)壓器。如果沒有現(xiàn)成產(chǎn)品可用,就要自行設計電源變壓器和整流穩(wěn)壓電路。硬件設計除了上述七部分內(nèi)容以外,還可能需要進行印制電路板、操作面板的設計等,這些內(nèi)容都有相關專業(yè)資料介紹,在此不再贅述。11.1.3軟件設計軟件設計是單片機應用系統(tǒng)設計中最重要、最基本的工作環(huán)節(jié)之一。軟件設計的任務是在系統(tǒng)設計和硬件設計的基礎上,根據(jù)要求確定程序結(jié)構和劃分功能模塊(包括主程序模塊和各子程序模塊),然后編寫各模塊程序,分別調(diào)試完畢后連接在一起,構成一個完整的應用程序?,F(xiàn)在分別進行介紹。1.軟件結(jié)構設計在進行系統(tǒng)總體設計時,已經(jīng)給出軟件結(jié)構框圖。但由于總體設計時,硬件系統(tǒng)沒有明確,因此結(jié)構框圖只是一個粗略的整體框架。當硬件設計完成后,就能夠具體明確對軟件的要求。例如:數(shù)據(jù)采集部分,明確CPU對啟動A/D轉(zhuǎn)換要發(fā)什么控制信號;端口地址是什么;CPU用什么方法得知A/D轉(zhuǎn)換結(jié)束,以便輸入轉(zhuǎn)換結(jié)果;采樣周期多長等。根據(jù)這些具體信息,便可進行軟件結(jié)構的具體設計。軟件結(jié)構設計通常采用模塊化程序設計方法。其中心思想是將一個功能較多、程序量較大的程序整體,按其功能劃分為若干個相對獨立的程序段(稱為程序模塊),分別進行獨立的設計、調(diào)試和查錯,最終連接成一個程序整體。模塊化程序設計方法的優(yōu)點是:每個模塊的程序設計無須過多了解其它模塊,可以獨立進行;便于修改和調(diào)試;便于程序調(diào)用;程序整體層次清晰,結(jié)構一目了然,方便閱讀。一般系統(tǒng)軟件結(jié)構由主程序模塊和多個子程序及中斷服務程序模塊構成。主程序的一般結(jié)構是先進行各種初始化,然后循環(huán)查詢各種軟件標志以完成對事務的處理。主程序通常是一個順序執(zhí)行的無限循環(huán)程序。各個子程序模塊可根據(jù)其所完成的具體功能來劃分,例如可分為:定時、數(shù)據(jù)采集、數(shù)字濾波、標度變換、控制算法、顯示、報警、打印等,進而明確各個模塊的任務和相互聯(lián)系,畫出每個模塊的算法流程圖。2.主程序和各模塊程序的設計
根據(jù)確定的算法流程圖,分別編寫主程序和各模塊程序。編程時盡量利用已有的子程序,以減少工作量。對于程序的編寫,需要說明以下幾點:(1)編程語言一般都采用匯編語言,匯編語言具有執(zhí)行速度快、占用內(nèi)存少的特點,適合用于實時控制系統(tǒng)。對于那些計算工作量較大的系統(tǒng),也可以采用高級語言和匯編語言混合編程的方法。數(shù)據(jù)采集、判斷和控制輸出等程序用匯編語言,而較為復雜的計算程序采用高級語言。在單片機系統(tǒng)中,可以采用的高級語言有BASIC語言、C語言、PL/M語言等。借助于一般的單片機開發(fā)裝置,就能使用高級語言編程。(2)在程序設計過程中,完成預定的功能是最基本、最重要的任務,但同時還必須貫徹可靠性設計的原則,例如采取必要的抗干擾措施——數(shù)字濾波、軟件陷阱等。(3)控制算法是微機控制系統(tǒng)程序設計中的重要內(nèi)容,要根據(jù)被控制對象的特性,合理選擇控制算法,以達到所要求的控制精度。(4)對于存儲器空間的使用應統(tǒng)一安排。例如在程序存儲器中,安排好用戶程序區(qū)、子程序區(qū)、表格區(qū)等。在數(shù)據(jù)存儲器中,安排好采樣數(shù)據(jù)區(qū)、處理結(jié)果數(shù)據(jù)區(qū)、顯示和打印數(shù)據(jù)區(qū)、標志區(qū)等。(5)對于各個程序模塊,要首先畫出程序算法流程圖,說明其功能。以便于編寫子程序時明確各程序模塊的入口、出口參數(shù)和對CPU內(nèi)部寄存器的占用情況。(6)對于程序中的指令應有必要的注釋,以便于閱讀與使用。(7)主程序和各模塊程序的設計完成后,連接成為一個完整的程序。最后對于整個程序作詳細的說明,內(nèi)容包括占用內(nèi)部資源情況、存儲器分配情況、標志的定義以及程序啟動方法等。11.1.4軟件與硬件的調(diào)試在整個系統(tǒng)硬件設計和軟件設計基本完成后,就進入系統(tǒng)調(diào)試階段。系統(tǒng)調(diào)試通常分為三步,即硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。1.硬件調(diào)試盡管單片機系統(tǒng)的硬件和軟件調(diào)試相互密切聯(lián)系,許多硬件錯誤是在軟件調(diào)試中發(fā)現(xiàn)的,但是一般還是盡可能的先排除硬件故障后,再進行聯(lián)機調(diào)試。(1)靜態(tài)測試在樣機加電之前,首先要進行靜態(tài)測試,主要內(nèi)容有:1)檢查線路。通過目測和使用萬用表,檢查樣機連線的正確性,應特別注意各電路板之間的連線。對于自制或委托加工的印制電路板,應檢查電路板的線條和元件焊接質(zhì)量。2)核對元器件,檢查所有元器件是否有插錯或損壞現(xiàn)象。3)檢查電源系統(tǒng)。將用戶樣機中所有芯片都從插座上拔下,給樣機加電。檢查完整流穩(wěn)壓電路后,逐一檢查各芯片插座上電源引腳及其它引腳電壓是否有異常情況。若一切正常,斷電,插上一個芯片,重復檢查電壓,并試摸該芯片是否發(fā)熱。如果電源電壓正常而芯片過熱,說明芯片有故障。如果插上某個芯片后對電源系統(tǒng)有影響,則應進一步檢查與該芯片有關的電路或更換該芯片再試。在進行電源系統(tǒng)檢查時,應重點檢查CPU插座,該插座上絕對不能有高于5V的電壓。否則連機時將損壞仿真器。電源系統(tǒng)檢查正常后,即可插上全部芯片(CPU除外)。4)外圍電路調(diào)試。將所有能進行硬件單獨調(diào)試的外圍電路如檢測信號放大電路、輸出驅(qū)動電路等都調(diào)試好。進行這些局部電路調(diào)試時,可能要人為提供有關模擬信號或開關信號。有些系統(tǒng)有多塊外圍電路印制電路板,就要逐塊調(diào)試,所以這一步也稱為“單板調(diào)試”。(2)聯(lián)機調(diào)試聯(lián)機調(diào)試是軟硬件結(jié)合調(diào)試,即利用簡單的調(diào)試程序來調(diào)試硬件系統(tǒng)。聯(lián)機調(diào)試需要用專用仿真插頭將用戶樣機和仿真器連接起來,分別打開用戶樣機和仿真器的電源,然后按以下步驟進行:1)測試擴展RAM(數(shù)據(jù)存儲器)。用開發(fā)裝置將一批數(shù)據(jù)寫入用戶樣機的擴展RAM中,然后再將其讀出校驗。如果對于任意區(qū)域讀出和寫入的內(nèi)容都一致,表明擴展RAM工作正常,否則就有故障??赡墚a(chǎn)生RAM讀寫故障的原因有:工作電源未接通;地址線、數(shù)據(jù)線路短路或接錯;讀寫信號線未接好以及RAM芯片損壞等。2)測試I/O口和I/O設備。對于單片機本身的輸出口,用仿真器內(nèi)部特殊功能寄存器修改命令將數(shù)據(jù)寫入輸出口或運行一段給輸出口賦值的程序,然后檢查輸出口的相應狀態(tài)及所接設備的狀態(tài),如與寫入的內(nèi)容一致,說明輸出口及輸出設備工作正常。對于單片機本身的輸入口,通過輸入設備給輸入口設置一定的狀態(tài),然后用讀特殊功能寄存器命令讀出相應輸入接口寄存器的狀態(tài),如與設定的狀態(tài)一致,說明輸入口工作正常。擴展I/O口大多是可編程的。檢查時應先向其控制(命令)寄存器寫入控制字,設定接口的工作狀態(tài),然后再用外部數(shù)據(jù)存儲器讀寫命令來檢查I/O口的狀態(tài),如果I/O口狀態(tài)與讀寫數(shù)據(jù)一致,表明工作正常。3)檢查晶振電路和復位電路。將仿真器的晶振選擇開關打到用戶一邊,仿真器應能正常工作,否則用戶樣機的晶振電路有故障。用戶樣機加電或按復位按鈕時,仿真系統(tǒng)應能復位,否則復位電路有故障。4)測試A/D和D/A轉(zhuǎn)換器。A/D轉(zhuǎn)換器的測試,一般要編制一段檢測程序。人為調(diào)節(jié)輸入模擬電壓大小,如果輸出數(shù)字量與輸入模擬量符合轉(zhuǎn)換關系,則此A/D轉(zhuǎn)換系統(tǒng)工作正常。D/A轉(zhuǎn)換器的測試也要借助于檢測程序。如果輸出模擬量與輸入數(shù)字量的對應關系正確,說明D/A轉(zhuǎn)換系統(tǒng)工作正常。5)試驗顯示、打印、報警等電路。顯示、打印、報警等電路的試驗,也需要借助程序進行。以上4)、5)兩項的測試,也可以利用系統(tǒng)應用軟件中有關的程序段來進行,這就歸入下面的“軟件調(diào)試”部分。2.軟件調(diào)試軟件調(diào)試是指應用程序調(diào)試。首先要將用匯編語言或高級語言編寫的源程序進行編輯、匯編(或編譯),變成目標程序(機器代碼程序),然后才能調(diào)試,因此,軟件調(diào)試實際上可分為編輯、匯編(或編譯)和調(diào)試兩部分。(1)程序的編輯、匯編(或編譯)源程序的編輯在PC機上進行,一般利用仿真系統(tǒng)提供的編輯環(huán)境,也可以利用PC機上的某一種編輯軟件。源程序的編輯完成以后,其匯編(或編譯)工作在開發(fā)環(huán)境下使用相應軟件來完成,生成目標程序。將該文件送入仿真RAM中,就可以調(diào)試用戶程序。(2)程序調(diào)試在前面曾經(jīng)介紹過,應用程序分成若干功能模塊來編寫和調(diào)試,各程序模塊都調(diào)試通過后,再將它們組合起來進行系統(tǒng)統(tǒng)調(diào)。模塊程序從調(diào)試方法來說分為兩種情況。一種是各種計算程序以及代碼轉(zhuǎn)換程序、靜態(tài)I/O程序。這類程序如果不能正常運行,程序中的錯誤是靜態(tài)的固定的錯誤,因此可以用單步或斷點運行方式來調(diào)試。例如對于計算程序,先準備好一組原始數(shù)據(jù),寫入程序的入口單元,然后設置幾個斷點,從程序開始運行。遇到斷點停下時檢查計算的中間結(jié)果是否正確。如果有錯誤,改用單步運行方式,檢查錯誤是在哪一步,予以改正。這樣直到程序運行完畢,得到正確的結(jié)果為止。需注意所準備的原始數(shù)據(jù)要有代表性或可能要有多組,以便使程序中各個分支都有能得到運行,調(diào)試工作不致出現(xiàn)遺漏。另一種是I/O實時處理程序和通訊程序。調(diào)試這類程序不能用單步或慢速斷點方式,而必須采用全速斷點或全速連續(xù)運行方式。這是因為實時事件的發(fā)生是隨機的或不能停止的。例如調(diào)試采用中斷方式的A/D轉(zhuǎn)換程序,首先檢查是否產(chǎn)生中斷,為此可將斷點設在中斷入口,以全速斷點方式運行。如果能遇到斷點,說明產(chǎn)生了A/D中斷,然后將斷點設在A/D中斷服務程序的結(jié)束處,以全速斷點方式運行。遇到斷點后,檢查站A/D轉(zhuǎn)換結(jié)果是否與輸入電壓相對應。如果有問題,需要從硬件和軟件兩個面方面進行檢查和解決。3.綜合調(diào)試當硬件調(diào)試及軟件分模塊調(diào)試完成以后,就可以進行系統(tǒng)綜合調(diào)試(即系統(tǒng)調(diào)試)。在系統(tǒng)綜合調(diào)試時,應將全部硬件電路都接上,應用程序也都組合好,進行全系統(tǒng)軟硬件的統(tǒng)調(diào)。綜合調(diào)試的任務是排除軟硬件中的殘留錯誤,使整個微機系統(tǒng)能夠完成預定的工作任務,達到要求的技術性能指標。在系統(tǒng)綜合調(diào)試中要注意以下幾點:(1)對于有電氣控制負載(如加熱元件、電動機等)的系統(tǒng),應先試驗空載,空載正常后再試驗負載的情況。(2)要試驗系統(tǒng)的各項功能,避免遺漏。仔細調(diào)整有關軟件或硬件,使檢測和控制達到要求的精度。(3)當主電路投切電氣負載時,注意觀察微機是否有受干擾的現(xiàn)象。如出現(xiàn)程序飛跑情況,要檢查和加強抗干擾措施。也可以根據(jù)系統(tǒng)實際工作環(huán)境人為地設置干擾,如頻繁地開停接在同一交流電源上的手電鉆,檢驗系統(tǒng)的抗干擾性能。(4)綜合調(diào)試時,仿真器采用全速斷點或連續(xù)運行方式,在綜合調(diào)試的最后階段應使用用戶樣機中的晶振。(5)系統(tǒng)要連續(xù)運行一段時間,以考驗硬件部分的穩(wěn)定性。(6)有些系統(tǒng)的實際工作環(huán)境是在生產(chǎn)現(xiàn)場,在實驗室作調(diào)試時某些部分只能進行模擬,這樣的系統(tǒng)必須到生產(chǎn)現(xiàn)場最終完成綜合調(diào)試工作。當系統(tǒng)綜合調(diào)試通過以后,即可將用戶程序固化到ROM中,然后將此ROM芯片插入用戶樣機,用戶樣機即可脫離仿真系統(tǒng)獨立運行。至此系統(tǒng)調(diào)試工作全部完成。以上介紹了單片機應用系統(tǒng)開發(fā)的一般方法和步驟,其整個流程如圖11-1所示。由于系統(tǒng)結(jié)構和功能的不同,每個系統(tǒng)的硬件和軟件都有各自的特點,在進行調(diào)試時應從實際情況出發(fā)制訂出具體實施方案。圖11-1單片機應用系統(tǒng)開發(fā)流程圖11.2系統(tǒng)可靠性設計接地、屏蔽、隔離和濾波等技術關系到單片機系統(tǒng)工作的穩(wěn)定性和可靠性。在現(xiàn)場環(huán)境下,這些問題更顯得格外重要,必須給予充分的注意。11.2.1可靠性設計 可靠性是微機控制系統(tǒng)的重要性能指標,有多種因素對其產(chǎn)生影響。其中比較重要的是接地技術。下面我們就接地技術作一下簡單的介紹。1.接地種類控制系統(tǒng)中通常有兩種接地方式。一種是為人身或設備安全目的,把設備的外殼接地,這種接地稱之為外殼接地或安全接地;另外一種接地是為電路工作提供一個公共的電位參考點,這種接地稱之為工作接地。(1)外殼接地外殼接地是真正的接地、要實實在在地與大地連接,以使漏到機殼上的電荷能及時泄放到地球上去,這樣才能確保人身和設備的安全。外殼接地的接地電阻應當盡可能低,因此在材料及施工方面均有一定的要求。(2)工作接地工作接地是為電路工作需要而進行的。許多情況下,工作地不與設備外殼相連,因此工作地的零電位參考點(即工作地)相對地球的大地是浮空的。所以也把工作地稱之為“懸浮地”。2.接地系統(tǒng)對于一個較大的單片機應用系統(tǒng),應根據(jù)信號電壓和電流的大小,以及電源的類別等分類接地,構成一個完整的接地系統(tǒng)。接地系統(tǒng)通常分為三類。(1)第一類:弱信號地即把系統(tǒng)中的小信號回路、控制回路、邏輯電路以及它們的直流電源等連在一起接地。弱信號地實際上就是工作地。(2)第二類:功率地即把系統(tǒng)中的繼電器、電磁閥以及它們的驅(qū)動電源等連在一起構成功率地。因為這些電路往往功率較大,成為干擾弱信號回路的噪聲源,因此功率地與工作地不可混接。(3)第三類:機殼地包括系統(tǒng)中所有機架、箱體等金屬構件的接地,即所謂安全地。通常,兩個相互獨立的系統(tǒng)接地可采用如圖11-2所示的方式,也可采用如圖11-3所示的傘狀接地系統(tǒng),而如圖11-4所示的接地系統(tǒng)則是錯誤的方式。
圖11-12相互獨立的系統(tǒng)接地圖11-3傘狀接地系統(tǒng)
圖11-4不正確的系統(tǒng)接地
3.其它接地問題(1)雙絞線或同軸電纜的接地為了減少信號回路的電磁干擾、送入單片機的信號有時需采用雙絞線或同軸電纜。雙絞線或同軸電纜的接地方式如圖11-5所示。
(a)信號線用雙絞線
(b)信號線用同軸電纜圖11-5 采用雙絞線或同軸電纜的接地當采用帶屏蔽的雙絞線時,還應注意屏蔽體和工作地的良好連接。而且這種連接只能在一個點接地,否則屏蔽體兩端就會形成環(huán)路,在屏蔽體上產(chǎn)生較大的噪聲電流,從而在雙絞線上感應出噪聲電壓。屏蔽體的正確接地如圖11-6所示。
圖11-6 屏蔽體接地
(2)工作地與安全地的連接當需要把工作地與安全地連在一起時,對于兩個以上設備應注意工作地與安全地只能在一點相連。如圖11-7所示。
(a)發(fā)送一側(cè)接地(b)接收一側(cè)接地(3)變壓器屏蔽層的接地有些變壓器是帶屏蔽層的,因為屏蔽層可以抑制從電源線傳導的噪聲。屏蔽層通常采用銅箔或鋁箔制作。使用時應與變壓器的初級繞組交流一線相連,如圖11-8(a)所示。有些變壓器的初級和次級都有屏蔽層,這時應將中間屏蔽層與次級繞組屏蔽層連接,如圖11-8(b)所示。(a)(b)圖11-8 變壓器屏蔽層接地法11.2.2抗干擾設計干擾是指疊加在電源電壓或正常工作信號上的其他電信號。干擾有多種來源,如電網(wǎng)、空間電磁場、輸入/輸出通道等。干擾會影響傳送信息的正確性,擾亂程序的正常運行,使程序“飛走”或進入死循環(huán),還可能損壞電子元器件。通常采取以下幾種抗干擾措施。1.屏蔽技術高頻電源、交流電源、強電設備產(chǎn)生的電火花甚至雷電,都能產(chǎn)生電磁波,從而成為電磁干擾的噪聲源。當距離較近時,電磁波會通過分布電容和電感耦合到信號回路而形成電磁干擾;當距離較遠時,電磁波則以幅射形式構成干擾。單片機使用的振蕩器,也是電磁干擾的薄弱環(huán)節(jié)。以金屬板、金屬網(wǎng)或金屬盒構成的屏蔽體能有效地對付電磁波的干擾。屏蔽體以反射方式和吸收方式來削弱電磁波,從而形成對電磁波的屏蔽作用。為了有效發(fā)揮屏蔽體的屏蔽作用,還應注意屏蔽體的接地問題。為了消除屏蔽體與內(nèi)部電路的寄生電容,屏蔽體應按“一點接地”的原則接地。2.隔離技術隔離包括物理隔離和光電隔離兩種。(1)物理隔離物理隔離是指對小信號低電平的隔離。其信號連線應盡量遠離高電平大功率的導線,以減少噪聲和電磁場的干擾。為了實行物理隔離,即使在同一設備的內(nèi)部也應當把這兩類信號導線分開走線、遠距離走線時,更應注意把信號電纜和功率電纜分開,并保持一定的距離。必要時還可以用鋼管把它們分別套起來,以增加屏蔽效果。(2)光電隔離光電隔離通常通過光電耦合器來實現(xiàn)。常用的光電耦合器符號如圖11-9所示。
圖11-9
光電耦合器輸入信號使發(fā)光二極管發(fā)光,其光線又使光敏三極管產(chǎn)生電信號輸出,從而既完成了信號的傳遞又實現(xiàn)了電氣上的隔離。使用光電耦合器可實現(xiàn)以下兩個主要功能:1)電平轉(zhuǎn)換如圖11-10所示,TTL電路與28V電源電路之間通過光電耦合器連接,不需另加匹配電路就可以實現(xiàn)信號傳輸,從而實現(xiàn)了電平轉(zhuǎn)換。
圖11-10光電耦合器的電平轉(zhuǎn)換電路
2)隔離如圖11-11所示,由于信號電路與接收電路之間被隔離,因此即使兩個電路的接地電位不同,也不會形成干擾。光電耦合器中光敏三極管的基極有引出和不引出兩種型式?;鶚O引出后通常經(jīng)一個電阻接地,連接電路如圖11-12所示。通過接地電阻可以控制耦合的響應速度和靈敏度??偟膩碚f,電阻越小,響應速度越高。圖11-11光電耦合器的隔離電路
圖11-12光電耦合器的基極引出形式3.濾波技術濾波是為了抑制噪聲干擾。在直流電源回路中,負載的變化會引起電源噪聲,例如在數(shù)字電路中,當電路從一個狀態(tài)轉(zhuǎn)換為另一種狀態(tài)時,就會在電源線上產(chǎn)生一個很大的尖峰電流,形成瞬變的噪聲電壓。利用電容、電感等儲能元件可以抑制因負載變化而產(chǎn)生的噪聲。通常也把這種作用稱之為濾波或去耦。為了進行濾波或去耦,可在電源線的輸入端并聯(lián)兩個電容,這在印刷電路板上是經(jīng)??吹降?,如圖11-13所示。圖11-13電源濾波4.反電勢干擾抑制技術在單片機的應用系統(tǒng)中,常使用諸如繼電器、電動機、電磁閥等具有較大電感量的元件或設備。當電感回路的電流被切斷時,會產(chǎn)生很大的反電勢而形成噪聲干擾。對于反電勢干擾,可采用如下措施加以抑制:(1)如果通過電感線圈的是直流電流,可在線圈兩端并聯(lián)二極管和穩(wěn)壓管,如圖11-14所示。(2)如果把穩(wěn)壓管換為電阻,同樣可以達到抑制反電勢的目的,因此也適用于直流驅(qū)動線圈的電路。在這個電路中,電阻的阻值范圍可以從幾歐姆到幾十歐姆。阻值太小,反電勢衰減慢;而阻值太大又會增大反電勢的幅值。因此應在兩方面找一個平衡點。(3)反電勢抑制電路也可由電阻和電容構成,如圖11-15所示。(4)反電勢抑制電路不但可以接在線圈的兩端,也可以接在開關的兩端。
圖11-14由二極管和穩(wěn)壓管構成的抑制電路
圖11-15由電阻和電容構成的抑制電路5.軟件抗干擾措施通常在軟件設計中也可采取適當?shù)奶幚硪蕴岣呦到y(tǒng)的抗干擾能力,通常采取的措施有如下幾點:(1)程序中采用數(shù)字濾波。為了減小干擾信號對采集系統(tǒng)的影響,可采用數(shù)字濾波的方法。常用的數(shù)字濾波技術有:中值濾波、算術平均值濾波、判斷濾波等。(2)采用“看門狗”技術。當程序“跑飛”時可采用看門狗來恢復系統(tǒng)的正常運行。(3)采用中斷技術。在程序中使用系統(tǒng)未用的中斷編寫針對錯誤處理的相應中斷處理程序來使程序正常返回。(4)采用軟件陷阱。當程序進入死循環(huán)時,可在非程序區(qū)設置陷阱,強迫PC進入一個指定的地址,執(zhí)行一段專門的處理程序,使系統(tǒng)恢復。例如,假設系統(tǒng)受到外界干擾進入非法程序存儲區(qū)后就可以被軟件陷阱捕捉到,然后強制進入下面的自恢復程序段,轉(zhuǎn)到0000處,重新開始執(zhí)行程序:
ERROR:CLREA;關中斷MOVDPTR,#ERR1;將返回地址壓入堆棧PUSHDPLPUSHDPHRETI;清除高級中斷申請標志ERR1:MOV30H,#0AAH;重建上電標志
MOV31H,#44HCLRA;將復位地址0000H壓入堆棧
PUSHACC PUSHACC RETI;清除低級中斷申請標志11.3單片機綜合應用舉例11.3.1作息時間控制數(shù)字時鐘系統(tǒng)1.任務描述作息時間控制數(shù)字鐘常在學校中使用。試設計一個簡易數(shù)字時鐘系統(tǒng),使其能夠按照已定的作息時間自動完成響鈴等提示動作。2.實現(xiàn)原理分析在單片機計時的過程中,每一次秒加1時,都與規(guī)定的作息時間比較,如比較相等就進行電鈴或擴音設備的開關控制,其實現(xiàn)原理流程如圖11-16所示。圖11-16 時鐘控制系統(tǒng)原理圖本系統(tǒng)共有4項控制內(nèi)容,即:接通電鈴和斷開電鈴以及接通擴音設備和斷開擴音設備。由P1口輸出控制碼進行控制,其控制口定義為:接通電鈴0FEH斷開電鈴0FDH接通擴音設備0FH斷開擴音設備0BFH把設備一次開關的控制碼及預置時間結(jié)合在一起,構成4個字節(jié)的存儲字。其中控制設備開關的控制碼占一個字節(jié),預置時間的時、分、秒各占一個字節(jié)。具體格式為:XXXXXXXX開關設備控制碼字節(jié)時字節(jié)分字節(jié)秒字節(jié)假定某校作息時間如下表所示:08:00~08:50 第一節(jié)課09:00~09:50 第二節(jié)課09:52~10:05 課間操(播放歌曲及廣播操)10:10~11:00 第三節(jié)課11:10~12:00 第四節(jié)課12:00~13:30 午間休息13:30~14:20 第五節(jié)課14:30~15:20 第六節(jié)課15:21~15:50 播放歌曲把存儲字存放在外部RAM50H開始的存儲區(qū)中,如表11-1所示。表11—1作息時間存儲字存儲單元開控制碼時分秒開控制碼時分秒50H~57H0FEH0800000FDH08001058H~5FH0FEH0850000FDH08501060H~67H0FEH0900000FDH09001068H~6FH0FEH0950000FDH09501070H~77H7EH0952000BFH10050078H~7FH0FEH1010000FDH10101080H~87H0FEH1100000FDH11001088H~8FH0FEH1110000FDH11101090H~97H0FEH1200000FDH12001098H~9FH0FEH1330000FDH1330100A0H~0A7H0FEH1420000FDH1420100A8H~0AFH0FEH1430000FDH1430100B0H~0B7H0FEH1520000FDH1520100B8H~0BFH7EH1521000BFH1550000C0H~0C7H00HXXXXXX
表
11-1中存儲字的存放是按時間順序。實際上存儲字的存放順序可以是任意的,這樣就可以通過增減存儲字隨意修改作息內(nèi)容。設置控制字00H,表示存儲字結(jié)束
3.
時鐘計時程序(程序略)計時程序用于時鐘計時,在本系統(tǒng)中為主程序。此處省略程序而只列出其中使用的時間單元(內(nèi)部RAM):20H 時單元21H 分單元22H 秒單元使用時,運行時鐘計時程序,每進行一次秒加1操作時,都調(diào)用下面的時間比較子程序,與存儲區(qū)中的預置時間進行比較,比較時要用到上述3個單元。4.時間比較子程序此程序以計時時間和存儲字中的預置時間進行比較,如比較相等,則說明作息時間已到,發(fā)出開關控制碼,控制電鈴或擴音設備的開或斷;否則子程序返回。本程序使用的工作單元都在內(nèi)部RAM中,具體如下:50H ——存儲區(qū)首地址R0
——存儲區(qū)地址指針2EH ——存儲區(qū)地址指針暫存單元6AH ——存開關控制碼6BH~6DH——依次存放存儲字的秒值、分值和小時值
LOOP1:MOV R0,#4H;存儲字存儲區(qū)首地址減4
MOV 2EH,R0;送暫存單元LOOP2:MOV R0,2EHMOV R3,#04H
MOV R1,#23HLOOP3:INC R0 ;地址指針加4,得開關控
制碼地址DJNZ R2,LOOP3MOV 2EH,R0 ;暫存開關控制碼地址
MOV R3,#03HMOVX A,@R0;讀取控制碼
JZ A,LOOP5 ;控制碼為“0”則返回
MOV 6AH,A ;存控制碼LOOP4:INC R0 ;地址指針增量
DEC R1 ;計時單元地址減量
MOVX
A,@R0 ;讀取作息時間
MOV 6BH,A ;存作息時間
MOV A,@R1 ;讀取計時時間CJNE A,6BH,LOOP2 ;計時時間與作息時間比較
不等則轉(zhuǎn),繼續(xù)讀下面的控制碼DJNZ R3,LOOP4 ;共讀取3次MOV A,6AH ;開關控制碼送ACPL A ;取反MOV P1,A ;開關控制碼輸出LOOP5: RET;返回
11.3.2交通信號燈自動控制系統(tǒng)1.任務要求設計并制作一個如圖11-17所示的十字路口交通信號自動控制模擬指示系統(tǒng)。設該路口由A、B兩條通行干道相交而成,四個路口各設二組分別指示直行和左轉(zhuǎn)的紅、黃、綠三色信號燈,用兩位數(shù)碼管作定時顯示。這個題目是2002年山東省大學生電子設計競賽基礎部分題目之一。2.系統(tǒng)功能分析(1)以秒為計時單位,兩位數(shù)碼管以十進制遞減計數(shù)形式作定時顯示,在遞減計數(shù)回零瞬間完成換燈操作。(2)通過鍵盤或數(shù)碼撥盤能對指示A、B兩條干道直行和左轉(zhuǎn)的紅、黃、綠三色信號燈所亮時間在0~99秒內(nèi)任意設定。(3)在通行干道中,兩位數(shù)碼管按順序分別顯示直行綠燈、黃燈和左轉(zhuǎn)綠燈、黃燈所亮時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 代理托管合同標準文本
- y醫(yī)藥購銷合同樣本
- 2025【合同協(xié)議】個人勞動合同書
- 上海農(nóng)民房拆遷合同標準文本
- 住宅裝修后期維護合同樣本
- 修建鄉(xiāng)間房屋合同標準文本
- 中介訂房合同樣本
- 臨時轉(zhuǎn)租門市合同標準文本
- 保時捷購車合同標準文本
- 共生院租賃合同樣本
- 新教材高中歷史必修中外歷史綱要上全冊教學課件
- 公共部門人力資源管理概論課件
- 六年級下冊科學第一單元質(zhì)量檢測卷粵教版(含答案)
- 【計算機應用基礎試題】韓山師范大學2022年練習題匯總(附答案解析)
- 2022年江蘇對口單招市場營銷試卷剖析
- 愛愛醫(yī)資源-生理學-122排卵、黃體形成與月經(jīng)周期
- 科技小巨人工程驗收培訓
- 大班繪本教案《月亮冰激凌》
- 火力發(fā)電廠運煤設計規(guī)程
- 01-第一章--粉末的制取霧化法
- 3D打印學習教案
評論
0/150
提交評論