單片機(jī)學(xué)習(xí)第七章_第1頁
單片機(jī)學(xué)習(xí)第七章_第2頁
單片機(jī)學(xué)習(xí)第七章_第3頁
單片機(jī)學(xué)習(xí)第七章_第4頁
單片機(jī)學(xué)習(xí)第七章_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第7章 微機(jī)控制系統(tǒng)的開發(fā)與仿真7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程7.2 單片機(jī)開發(fā)工具及選擇7.3 系統(tǒng)可靠性設(shè)計7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程所謂應(yīng)用系統(tǒng),就是利用單片機(jī)為某應(yīng)用目的所設(shè)計的專門的單片機(jī)系統(tǒng)(在調(diào)試過程中通常稱目標(biāo)系統(tǒng))。像一般的計算機(jī)系統(tǒng)一樣,單片機(jī)的應(yīng)用系統(tǒng)也是由硬件和軟件所組成,硬件指單片機(jī)、擴(kuò)展的存儲器、輸入輸出設(shè)備等硬部件組成的系統(tǒng),軟件是各種工作程序的總稱。硬件和軟件只有緊密配合,協(xié)調(diào)一致,才能組成高性能的單片機(jī)應(yīng)用系統(tǒng)。在系統(tǒng)的研制過程中,軟硬件的功能總是在不斷地調(diào)整,以便相互適應(yīng),相互配合,達(dá)到最佳性能價格比。單片機(jī)應(yīng)用系統(tǒng)的研制過程包括總體設(shè)計、硬件設(shè)計、軟件

2、設(shè)計、在線調(diào)試等幾個階段,但它們不是絕對分開的,有時是交叉進(jìn)行的。 下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程7.1.1 總體設(shè)計7.1.1.1 確定技術(shù)指標(biāo)在開始設(shè)計前,必須明確應(yīng)用系統(tǒng)的功能和技術(shù)要求,綜合考慮系統(tǒng)的先進(jìn)性、可靠性、可維護(hù)性和成本、經(jīng)濟(jì)效益,再參考國內(nèi)外同類產(chǎn)品的資料、標(biāo)準(zhǔn),提出合理可行的技術(shù)指標(biāo),以達(dá)到最高的性能、價格比。7.1.1.2 機(jī)型選擇自從20世紀(jì)70年代單片機(jī)誕生以來,發(fā)展十分迅速。目前,世界上生產(chǎn)單片機(jī)的廠商有幾十家,單片機(jī)型號有上千種,其中應(yīng)用比較多的產(chǎn)品有:Intel公司的MCS-48、MCS-51、MCS-96、Philips公司的Philips 51及

3、LPC51系列、華幫Winbond的78系列、ATMEL公司的89系列、Microchip公司的PICl6系列、Motorola公司M68HC系列、Zilog公司的Z8等。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程一般來說,選擇機(jī)型的出發(fā)點有以下幾個方面。1 市場的貨源設(shè)計者只能在市場上所提供的機(jī)型中選擇,特別是將作為產(chǎn)品生產(chǎn)的系統(tǒng),所選機(jī)型必須有穩(wěn)定、充足的貨源。2 單片機(jī)性能根據(jù)應(yīng)用系統(tǒng)的要求,選擇最容易實現(xiàn)產(chǎn)品技術(shù)指標(biāo)的機(jī)種,當(dāng)然,還要考慮有較高的性能、價格比。3 研制周期在研制任務(wù)重、時間緊的情況下,要選擇最熟悉的機(jī)種和元器件,也可直接把單片開發(fā)機(jī)作為應(yīng)用系統(tǒng)機(jī)。與研制周期有關(guān)的另

4、一個因素是單片機(jī)的開發(fā)工具,性能優(yōu)良的開發(fā)工具,能加快系統(tǒng)的研制過程。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程7.1.1.3 器件選擇 除了單片機(jī)以外,系統(tǒng)中還有傳感器、模擬電路、輸入輸出電路等器件和設(shè)備。這些部件的選擇應(yīng)符合系統(tǒng)的精度、速度和可靠性等方面的要求。7.1.1.4 硬件和軟件的功能劃分系統(tǒng)硬件的配置和軟件的設(shè)計是緊密聯(lián)系在一起的,而且在某些場合,硬件和軟件具有一定的互換性。例如日歷時鐘的產(chǎn)生可以用時鐘電路片,也可以由單片機(jī)內(nèi)部的定時器中斷服務(wù)程序來控制時鐘計數(shù)。多用硬件完成一些功能,可以提高工作速度,減少軟件開發(fā)的工作量,提高可靠性,但增加了硬件成本。若用軟件代替某些硬件的

5、功能,可以節(jié)省硬件開支,但增加了軟件的復(fù)雜性。由于軟件是一次性投資,因此在研制產(chǎn)品批量比較大的情況下,能夠用軟件實現(xiàn)的功能都由軟件來完成,以便簡化硬件結(jié)構(gòu),降低生產(chǎn)成本。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程7.1.2 硬件設(shè)計 硬件設(shè)計的任務(wù)是根據(jù)總體設(shè)計要求,在所選擇機(jī)型的基礎(chǔ)上,確定系統(tǒng)擴(kuò)展所要用的存儲器、I/O電路、A/D電路以及有關(guān)外圍電路等,然后設(shè)計出系統(tǒng)的電路原理圖。下面介紹硬件設(shè)計的各個環(huán)節(jié)。7.1.2.1 程序存儲器目前,市場上可作為程序存儲器的芯片有EPROM和EEPROM兩種,從它們的價格和性能特點上考慮,對于大批量生產(chǎn)的已成熟的應(yīng)用系統(tǒng)宜選用EPROM。由于容量

6、不同的EPROM芯片價格相差不多,一般應(yīng)選用速度高、容量較大的芯片,這樣使譯碼電路簡單,且使軟件擴(kuò)展留有一定余地。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程7.1.2.2 數(shù)據(jù)存儲器和輸入/輸出接口對于數(shù)據(jù)存儲器的容量要求,各個系統(tǒng)之間差別比較大。像有的測量儀器和儀表只需擴(kuò)展少量的RAM即可,此時應(yīng)選用RAM/IO擴(kuò)展片8155/8156。如前所述,8155功能全面,接口方便,特別適用于單片機(jī)系統(tǒng)。對于要求較大容量RAM的系統(tǒng),這時RAM電路的選擇原則是盡可能減少RAM芯片的數(shù)量。例如一片6264(8K)比4片6116(2K)價格低得多。應(yīng)用系統(tǒng)一般都要擴(kuò)展I/0接口,在選擇I/O電路時應(yīng)

7、從體積、價格、功能、負(fù)載等幾方面考慮。標(biāo)準(zhǔn)的可編程接口電路8155/8156接口簡單,使用方便,對總線負(fù)載小,因而應(yīng)用很廣泛,但對有些口線要求很少的系統(tǒng),則可用TTI。電路,這可提高口線的利用率,且其驅(qū)動能力較大,可直接驅(qū)動發(fā)光二極管等器件。故應(yīng)根據(jù)系統(tǒng)總的輸入輸出要求來選擇接口電路。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程對于,A/D和D/A電路芯片的選擇原則應(yīng)根據(jù)系統(tǒng)對它的速度、精度和價格的要求而確定。除此還要考慮和系統(tǒng)中的傳感器、放大器相匹配。7.1.2.3 地址譯碼電路MCS-5l系統(tǒng)有充分的存儲器空間,包括64K程序存儲器和64K數(shù)據(jù)存儲器,在應(yīng)用系統(tǒng)中一般不需要這么大容量。為

8、能簡化硬件邏輯,同時還要使所用到的存儲器空間地址連續(xù),通常采用譯碼器法和線選法相結(jié)合的辦法。7.1.2.4 總線驅(qū)動器如前所述,MCS-51系統(tǒng)單片機(jī)擴(kuò)展功能比較強(qiáng),但擴(kuò)展總線的負(fù)載能力有限。若所擴(kuò)展的電路負(fù)載超過總線負(fù)載能力,系統(tǒng)便不能可靠地工作。這時在總線上必須加驅(qū)動器??偩€驅(qū)動器不僅能提高端口總線的驅(qū)動能力,而且可提高系統(tǒng)抗干擾性。常用的總線驅(qū)動器為雙向8路三態(tài)緩沖器74LS245,單向8路三態(tài)緩沖器74LS244。 上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程7.1.2.5 其它外圍電路由于單片機(jī)的特點,它被大量地應(yīng)用于工業(yè)測控系統(tǒng)。在測量和控制系統(tǒng)中,經(jīng)常需要對一些現(xiàn)場物理量進(jìn)行測

9、量或者將其采集下來進(jìn)行信號處理之后再反過來去控制被測對象或相關(guān)設(shè)備。在這種情況下,應(yīng)用系統(tǒng)的硬件設(shè)計就應(yīng)包括與此有關(guān)的外圍電路。7.1.2.6 可靠性設(shè)計單片機(jī)應(yīng)用系統(tǒng)的可靠性是一項最重要最基本的技術(shù)指標(biāo),這是硬件設(shè)計時必須考慮的一個指標(biāo)??煽啃酝ǔJ侵冈谝?guī)定的條件下,在規(guī)定的時間內(nèi)完成規(guī)定功能的能力。規(guī)定的條件包括環(huán)境條件(如溫度、濕度、振動等)、供電條件等,規(guī)定的時間一般指:平均故障時間、平均無故障時間、連續(xù)正常運轉(zhuǎn)時間等;所規(guī)定的功能隨單片機(jī)的應(yīng)用系統(tǒng)的不同而不同。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程單片機(jī)應(yīng)用系統(tǒng)在實際工作中,可能會受到各種外部和內(nèi)部的干擾,使系統(tǒng)工作產(chǎn)生錯誤

10、或故障。為減少這種錯誤和故障,就要采取各種提高可靠性的措施。常用措施如下:1 提高元器件的可靠性。在系統(tǒng)硬件設(shè)計和加工時應(yīng)注意選用質(zhì)量好的電子元器件、接插件,并進(jìn)行嚴(yán)格的測試、篩選和老化。2 設(shè)計時技術(shù)參數(shù)(如負(fù)載)應(yīng)留有余量。3 提高印刷電路板和組裝的質(zhì)量,設(shè)計電路板時布線及接地方法要符合要求。對供電電源采取抗干擾措施。如用帶屏蔽層的電源變壓器,加電源低通濾波器,電源變壓器的容量應(yīng)留有余地。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程4 對輸入輸出通道采取抗干擾措施。如采用光電隔離電路,光電隔離器作為數(shù)字量、開關(guān)量的輸入、輸出,這種隔離電路效果很好。采用雙絞線,雙絞線抗共模干擾的能力較強(qiáng),

11、可以作為接口連接線。7.1.3 資源分配一個單片機(jī)應(yīng)用系統(tǒng)所擁有的硬件資源分片內(nèi)和片外兩部分。片內(nèi)資源是指單片機(jī)本身所包含的中央處理器、程序存儲器、數(shù)據(jù)存儲器、定時器/計數(shù)器、中斷源、I/O接口及串行通信接口等。對這部分硬件資源的種類和數(shù)量,不同公司、不同類型的單片機(jī)之間差別很大。當(dāng)設(shè)計人員選定某種型號的單片機(jī)進(jìn)行系統(tǒng)設(shè)計時,應(yīng)充分利用片內(nèi)的各種硬件資源。但若在應(yīng)用中,片內(nèi)的這些硬件資源不夠使用,就需要在片外加以擴(kuò)展。通過系統(tǒng)擴(kuò)展,單片機(jī)應(yīng)用系統(tǒng)具有了更多的硬件資源,因而有了更強(qiáng)的功能。由于定時器/計數(shù)器、中斷源等資源的分配比較容易,下面主要介紹ROM資源和RAM資源的分配。上一頁下一頁返回7

12、.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程7.1.3.1 I/O引腳資源分配單片機(jī)芯片各I/O引腳功能不完全相同,如部分引腳具有第二輸入/輸出功能,各I/0引腳輸出級電路結(jié)構(gòu)不盡相同,如增強(qiáng)型51單片機(jī)8XC5X的P0口采用漏極開路輸出方式,而P1P3口采用準(zhǔn)雙向結(jié)構(gòu)。此外,在87LPC76X系列中,P1.5引腳只能作為輸入引腳使用,因此,在分配I/O引腳時,需要認(rèn)真對待。例如,在8XC5X系統(tǒng)中,當(dāng)外中斷不夠用時,可使用定時器T2溢出率作為串行口發(fā)送、接收波特率,此時P1.1引腳就可以作為下降沿觸發(fā)的外中斷源使用。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程7.1.3.2 程序存儲器資源分配片內(nèi)ROM存

13、儲器用于存放程序和數(shù)據(jù)表格。按照MCS-51單片機(jī)的復(fù)位及中斷入口的規(guī)定,002FH以前的地址單元都作為中斷、復(fù)位入口地址區(qū)。在這些單元中一般都設(shè)置了轉(zhuǎn)移指令,轉(zhuǎn)移到相應(yīng)的中斷服務(wù)程序或復(fù)位啟動程序。當(dāng)程序存儲器中存放的功能程序及子程序數(shù)量較多時,應(yīng)盡可能為它們設(shè)置入口地址表。一般的常數(shù)、表格集中放在表格區(qū)內(nèi)。二次開發(fā)擴(kuò)展區(qū)應(yīng)盡可能放在高位地址區(qū)。7.1.3.3 RAM資源分配RAM分為片內(nèi)RAM和片外RAM。片外RAM的容量比較大,通常用來存放批量大的數(shù)據(jù),如采樣數(shù)據(jù);片內(nèi)RAM容量較少,盡可能重疊使用,數(shù)據(jù)暫存區(qū)與顯示、打印緩沖區(qū)重疊。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程對于MC

14、S-51單片機(jī)來說,片內(nèi)RAM是指007FH單元,這128個單元的功能并不完全相同,分配時應(yīng)注意發(fā)揮各自的特點,做到物盡其用。001FH這32個字節(jié)可以作為工作寄存器組,在工作寄存器的8個單元中,R0和R1具有指針功能,是編程的重要角色,應(yīng)充分發(fā)揮其作用。系統(tǒng)上電復(fù)位時,置PSW=00H,SP=07H,則RS1(PSW.4)、RS0(PSW.3)位均為0,單片機(jī)自動選擇工作寄存器組0作為當(dāng)前工作寄存器,而工作寄存器組1為堆棧,并向工作寄存器組2、3延伸。例如,此時當(dāng)單片機(jī)執(zhí)行諸如“MOV R1,#2FH”指令時,R1指向01H單元。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程在中斷服務(wù)程序中

15、,若也要使用R1寄存器且不將原來的數(shù)據(jù)沖掉,則可在主程序中先將堆??臻g設(shè)置在其他位置,然后在進(jìn)入中斷服務(wù)程序后選擇工作寄存器組1、2或3,這時若再執(zhí)行諸如“MOV R1,#OOH”指令時,就不會沖掉R1(0lH單元)中原來的內(nèi)容,因為這時Rl的地址已改變?yōu)?9H、1lH或19H。在中斷服務(wù)程序結(jié)束時,可重新選擇工作寄存器組0。因此,通常可在應(yīng)用程序中,安排主程序及其調(diào)用的子程序使用工作寄存器組0,而安排定時器溢出中斷、外部中斷、串行口中斷使用工作寄存器組1、2或3,這時應(yīng)用程序結(jié)構(gòu)如下:202FH這16個字節(jié)具有位尋址功能,可用來存放各種軟件標(biāo)志、邏輯變量、位輸入信息、位輸出信息副本、狀態(tài)變量

16、、邏輯運算的中間結(jié)果等。當(dāng)這些項目全部安排好后,保留一兩個字節(jié)備用,剩下的單元可改作其他用途。上一頁下一頁返回7.1 單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程307FH為一般通用寄存器,只能存入整字節(jié)信息,通常用來存放各種參數(shù)、指針、中間結(jié)果,或用作數(shù)據(jù)緩沖區(qū)。此外,也常將堆棧安放在片內(nèi)RAM的高端,如607FH。設(shè)置堆棧區(qū)時應(yīng)事先估算出子程序和中斷嵌套的級數(shù)及程序中棧操作指令使用情況,其大小應(yīng)留有余量。當(dāng)系統(tǒng)中擴(kuò)展了RAM,應(yīng)把使用頻率最高的數(shù)據(jù)緩沖區(qū)安排在片內(nèi)RAM中,以提高處理速度。如果將系統(tǒng)的各種開銷安排好后,所剩單元很少,這種設(shè)計不可靠,而是應(yīng)該留有足夠的余地,以便將來擴(kuò)充。ROM、RAM資源規(guī)劃好后

17、,應(yīng)列出一張資源的詳細(xì)分配清單,作為編程依據(jù)。上一頁返回7.2 單片機(jī)開發(fā)工具及選擇一個單片機(jī)應(yīng)用系統(tǒng)從提出任務(wù)到正式投入運行的過程,稱為單片機(jī)的開發(fā)。開發(fā)過程所用的設(shè)備即開發(fā)工具。 如前所述,單片機(jī)本身只是一個電子元件,只有當(dāng)它和其它的器件、設(shè)備有機(jī)地組合在一起,并配置適當(dāng)?shù)墓ぷ鞒绦蚝?,才能?gòu)成一個單片機(jī)應(yīng)用系統(tǒng),完成特定的功能。因此單片機(jī)的開發(fā)包括硬件和軟件兩個部分。單片機(jī)本身沒有自開發(fā)功能(通用計算機(jī)系統(tǒng)具有這種功能,用戶可以在上面研制應(yīng)用軟件或?qū)ο到y(tǒng)進(jìn)行擴(kuò)展),必須借助于開發(fā)工具來排除目標(biāo)系統(tǒng)(指調(diào)試中的應(yīng)用系統(tǒng))樣機(jī)中的硬件故障,生成目標(biāo)程序,并排除程序錯誤。當(dāng)目標(biāo)系統(tǒng)調(diào)試成功以后,

18、還需要用開發(fā)工具把目標(biāo)程序固化到單片機(jī)內(nèi)部或外部EPROM芯片中。下一頁返回7.2 單片機(jī)開發(fā)工具及選擇現(xiàn)代微機(jī)系統(tǒng)的硬件和軟件調(diào)試,僅靠萬用表和示波器等常規(guī)工具是不夠的,通常要采用自動化調(diào)試手段,即用計算機(jī)來調(diào)試計算機(jī),單片機(jī)的開發(fā)工具通常是一個特殊的計算機(jī)系統(tǒng),稱為單片機(jī)開發(fā)系統(tǒng)或簡稱開發(fā)機(jī)(也可稱仿真器)。單片機(jī)開發(fā)系統(tǒng)和一般通用計算機(jī)系統(tǒng)相比,在硬件上增加了目標(biāo)系統(tǒng)的在線仿真器、編程器等部件,所提供的軟件除有類似一般計算機(jī)系統(tǒng)的簡單的操作系統(tǒng)之外,還增加了目標(biāo)系統(tǒng)的匯編和調(diào)試程序等。不同的開發(fā)系統(tǒng),軟件功能差別較大。單片機(jī)開發(fā)系統(tǒng)有通用和專用兩種類型。通用的單片機(jī)開發(fā)系統(tǒng)配備多種在線仿

19、真器和相應(yīng)的開發(fā)軟件,使用時,只要更換系統(tǒng)中的仿真器板,就能開發(fā)相應(yīng)的單片機(jī)或微處理器。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇只能開發(fā)一種類型的單片機(jī)或微處理器的開發(fā)系統(tǒng)稱為專用開發(fā)系統(tǒng)。單片機(jī)開發(fā)工具還包括簡單的開發(fā)裝置和具有自開發(fā)功能的單片單板機(jī)。此外,通用的邏輯分析儀也可以作為單片機(jī)的開發(fā)工具來使用。7.2.1 仿真器功能強(qiáng)、操作方便的單片機(jī)開發(fā)系統(tǒng)(仿真器)能加快單片機(jī)應(yīng)用系統(tǒng)的研制周期。國外早已研制出這一類功能較全的產(chǎn)品,但價格昂貴,在國內(nèi)沒有得到推廣。國內(nèi)很多單位根據(jù)我國國情研制出以8031作為開發(fā)芯片的MCS-51單片開發(fā)系統(tǒng)的很多型號的系列產(chǎn)品。例如DVCC-52Jh、S

20、ICE、KDC-51等。這些產(chǎn)品大部分是開發(fā)型單片單板機(jī),通過軟件手段達(dá)到或接近國外同類產(chǎn)品水平。盡管它們的功能強(qiáng)弱并不完全相同,但都具有較高的性能價格比。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇7.2.1.1 單片機(jī)開發(fā)系統(tǒng)的功能單片機(jī)開發(fā)系統(tǒng)的性能優(yōu)劣和單片機(jī)應(yīng)用系統(tǒng)的研制周期密切相關(guān)。一個單片機(jī)開發(fā)系統(tǒng)功能強(qiáng)弱可以從以下幾個方面來分析:7.2.1.1.1 在線仿真功能在線仿真器的英文名為In Circuit Emutor(簡稱ICE)。ICE是由一系列硬件構(gòu)成的設(shè)備。開發(fā)系統(tǒng)中的在線仿真器應(yīng)能仿真目標(biāo)系統(tǒng)(即應(yīng)用系統(tǒng))中的單片機(jī),并能模擬目標(biāo)系統(tǒng)的ROM、RAM和I/O口。使在線仿真

21、時目標(biāo)系統(tǒng)的運行環(huán)境和脫機(jī)運行的環(huán)境完全“逼真”,以實現(xiàn)目標(biāo)系統(tǒng)的一次性開發(fā)。仿真功能具體地體現(xiàn)在以下幾個方面。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇1 單片機(jī)仿真功能在線仿真時,開發(fā)系統(tǒng)應(yīng)能將在線仿真器中的單片機(jī)完整地出借給目標(biāo)系統(tǒng),不占用目標(biāo)系統(tǒng)單片機(jī)的任何資源,使目標(biāo)系統(tǒng)在聯(lián)機(jī)仿真和脫機(jī)運行時的環(huán)境(工作程序、使用的資源和地址空間)完全一致,實現(xiàn)完全的一次性仿真。單片機(jī)的資源包括:片上的CPU、RAM、SFR、定時器、中斷源、I/O口以及外部可擴(kuò)充的程序存儲器和數(shù)據(jù)存儲器地址空間。這些資源應(yīng)允許目標(biāo)系統(tǒng)充分自由地使用,不應(yīng)受到任何限制,使目標(biāo)系統(tǒng)能根據(jù)單片機(jī)固有的資源特性進(jìn)行硬件和

22、軟件的設(shè)計。2 模擬功能在開發(fā)目標(biāo)系統(tǒng)的過程中,單片機(jī)的開發(fā)系統(tǒng)允許用戶使用它內(nèi)部的RAM存儲器和輸入輸出來替代目標(biāo)系統(tǒng)中的ROM程序存儲器、RAM數(shù)據(jù)存儲器和輸入輸出,使用戶在目標(biāo)系統(tǒng)樣機(jī)還未完全配置好以前,便可以借用開發(fā)系統(tǒng)提供的資源進(jìn)行軟件的開發(fā)。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇其中最重要的是目標(biāo)機(jī)程序存儲器的模擬功能。因為在研制目標(biāo)系統(tǒng)開始的初級階段,目標(biāo)程序還未生成,更談不上已固化的目標(biāo)程序。因此用戶的目標(biāo)程序必須存放在開發(fā)系統(tǒng)RAM存儲器內(nèi),以便于在調(diào)試過程中對程序的修改。開發(fā)系統(tǒng)所能出借的可作為目標(biāo)系統(tǒng)程序存儲器的RAM,我們常稱之為仿真RAM。開發(fā)系統(tǒng)中仿真RAM的

23、容量和地址映射應(yīng)和目標(biāo)機(jī)系統(tǒng)完全一致。對于MCS-51系列單片機(jī)開發(fā)系統(tǒng),最多能出借64K字節(jié)的仿真RAM,并保持原有復(fù)位入口和中斷入口地址不變,不同的開發(fā)系統(tǒng)所出借的仿真RAM容量不一定相同,購買時需注意。 7.2.1.1.2 調(diào)試功能 開發(fā)系統(tǒng)對目標(biāo)系統(tǒng)軟、硬件的調(diào)試功能強(qiáng)弱,將直接關(guān)系到開發(fā)的效率。性能優(yōu)良的單片機(jī)開發(fā)系統(tǒng)應(yīng)具有下列調(diào)試功能。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇1 運行控制功能開發(fā)系統(tǒng)應(yīng)能使用戶有效地控制目標(biāo)程序的運行,以便檢查程序運行的結(jié)果,對存在的硬件故障和軟件錯誤進(jìn)行定位。(1)單步運行:能使單片機(jī)從任意的程序地址開始執(zhí)行下一條指令后停止運行。(2)斷點運行

24、:允許用戶任意設(shè)置斷點條件,啟動CPU從規(guī)定地址開始運行后,當(dāng)碰到斷點條件(程序地址和指定斷點地址符合或者單片機(jī)訪問到指定的數(shù)據(jù)存儲器單元等條件)符合以后停止運行。(3)連續(xù)運行:能使單片機(jī)從指定地址開始連續(xù)地全速運行目標(biāo)程序。(4)啟??刂疲涸诟鞣N運行方式中,允許用戶根據(jù)調(diào)試的需要,來啟動或者停止單片機(jī)執(zhí)行目標(biāo)程序。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇2 對目標(biāo)系統(tǒng)狀態(tài)的讀出修改功能當(dāng)單片機(jī)停止執(zhí)行目標(biāo)系統(tǒng)的程序后,允許用戶方便地讀出或修改目標(biāo)系統(tǒng)所有資源的狀態(tài),以便檢查程序運行的結(jié)果、設(shè)置斷點條件以及設(shè)置程序的初始參數(shù)??晒┯脩糇x出/修改的目標(biāo)系統(tǒng)資源包括:(1)程序存儲器(開發(fā)系

25、統(tǒng)中的仿真RAM存儲器或目標(biāo)機(jī)中的程序存儲器)。 (2)單片機(jī)片內(nèi)資源(工作寄存器、特殊功能寄存器、I/O口、RAM數(shù)據(jù)存儲器、位單元)。 3 跟蹤功能高性能的單片機(jī)開發(fā)系統(tǒng)具有邏輯分析儀的功能,在目標(biāo)程序運行過程中,能跟蹤存儲目標(biāo)系統(tǒng)總線上的地址、數(shù)據(jù)和控制信號的狀態(tài)變化,跟蹤存儲器能同步地記錄總線上的信息,用戶可以根據(jù)需要顯示跟蹤存儲器搜集到的信息,也可以顯示某一位總線狀態(tài)變化的波形。使用戶掌握總線上狀態(tài)變化的過程,對各種故障的定位特別有用,可大大提高工作效率。 上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇4 程序固化功能當(dāng)單片機(jī)應(yīng)用系統(tǒng)程序調(diào)試完后,都要把它寫入只讀存儲器,然后加適當(dāng)?shù)木?/p>

26、程電壓,使程序燒制到只讀存儲器中,這稱為程序固化。一般開發(fā)系統(tǒng)都具有以不同速度固化不同容量EPROM芯片的功能,有些開發(fā)系統(tǒng)也可以固化EEPROM芯片。7.2.1.1.3 輔助設(shè)計功能軟件輔助設(shè)計功能的強(qiáng)弱也是衡量單片機(jī)開發(fā)系統(tǒng)性能高低的重要標(biāo)志。單片機(jī)應(yīng)用系統(tǒng)軟件開發(fā)的效率在很大程度上取決于開發(fā)系統(tǒng)的輔助設(shè)計功能。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇1 程序設(shè)計語言單片機(jī)的程序設(shè)計語言有機(jī)器語言、匯編語言和高級語言。機(jī)器語言只在簡單的開發(fā)裝置中才使用,程序的設(shè)計、輸入、修改和調(diào)試都很麻煩。只能用來開發(fā)非常簡單的單片機(jī)應(yīng)用系統(tǒng)。匯編語言具有使用靈活、程序容易優(yōu)化的特點,故是單片機(jī)中最常

27、用的程序設(shè)計語言。但是用匯編語言編寫程序還是比較復(fù)雜,只有對單片機(jī)的指令系統(tǒng)非常熟悉,并具有一定的程序設(shè)計經(jīng)驗,才能研制出功能復(fù)雜的應(yīng)用程序。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇高級語言通用性好、程序設(shè)計人員只要掌握開發(fā)系統(tǒng)所提供的高級語言的使用方法,就可以直接用該語言編寫程序。MCS-51系列單片機(jī)的編譯型高級語言有:PL/M51、C-51、MBASIC-51等。解釋型高級語言有BASIC-52、TINYBASIC等。編譯型高級語言可生成機(jī)器碼,解釋型高級語言必須在解釋程序支持下直接解釋執(zhí)行,因此編譯型高級語言才能作為微機(jī)開發(fā)語言。高級語言對不熟悉單片機(jī)指令系統(tǒng)的用戶比較適用,這種語

28、言的缺點是不宜編寫出實時性很強(qiáng)的、高質(zhì)量的、緊湊的程序。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇2 程序編輯幾乎所有的單片機(jī)開發(fā)系統(tǒng)都能與PC機(jī)連接,允許用戶用PC機(jī)的編輯程序編寫匯編語言或高級語言編寫程序??墒褂脩舴奖愕貙⒃闯绦蜉斎氲接嬎銠C(jī)開發(fā)系統(tǒng)中,生成匯編語言或高級語言的源文件。然后利用開發(fā)系統(tǒng)提供的匯編或編譯系統(tǒng)在PC機(jī)上,將源程序編譯成可在目標(biāo)機(jī)上直接運行的目標(biāo)程序。由于開發(fā)型單片單板機(jī)一般都具有能和PC機(jī)串行通信的接口,在PC機(jī)上生成的目標(biāo)程序可通過命令直接傳輸?shù)介_發(fā)機(jī)的RAM中。這大大減輕了人工輸入機(jī)器碼的繁重勞動。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇7.2.1.2

29、仿真器系統(tǒng)實例為使讀者對單片機(jī)開發(fā)系統(tǒng)有一個具體的了解,我們在此簡介一種國內(nèi)應(yīng)用較廣的機(jī)種 DVCC-52JH開發(fā)型單片單板機(jī),以下簡稱JH機(jī)。JH機(jī)是一臺功能齊全的普及型單片單板機(jī)。該機(jī)由仿真技術(shù)和實驗電路構(gòu)成,它既支持MCS-51單片機(jī)的全部實驗和接口電路實驗,又可仿真開發(fā)MCS-51單片機(jī)的應(yīng)用系統(tǒng)。7.2.1.2.1 JH開發(fā)機(jī)的硬件結(jié)構(gòu)圖7-4為JH開發(fā)機(jī)的硬件結(jié)構(gòu)框圖,圖中虛線框內(nèi)為JH開發(fā)機(jī)主機(jī)板部分,框外為可以配接的外設(shè)。 上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇JH機(jī)是一個特殊的8031擴(kuò)展系統(tǒng)。由圖可見,它的核心部分是8031。它擴(kuò)展了128K字節(jié)的ROM(1塊2751

30、2)作為監(jiān)控程序存儲器,具有豐富的操作功能;擴(kuò)展了64K字節(jié)的RAM(2塊62256)作為用戶源程序存儲器和仿真RAM區(qū);擴(kuò)展了一片8155 RAM/IO接口片,8155三個并行口分別與鍵盤、顯示器接口。JH開發(fā)機(jī)具有32個鍵的鍵盤,使用和功能詳見操作手冊,在此不贅述。JH機(jī)擴(kuò)展了一片8255并行接口片作為固化器接口、打印機(jī)接口和RS232串行口。通過RS232C接口,JH機(jī)可以與PC等聯(lián)機(jī)工作。8031的40芯引腳除了連接晶振的兩端外,其余全部通過40芯仿真接口引出。開發(fā)用戶系統(tǒng)時,通過40芯插頭,插入用戶系統(tǒng)的8031插座上,作仿真調(diào)試。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇7.2.

31、1.2.1 功能特點DVCC-51JH開發(fā)機(jī)作為8031應(yīng)用系統(tǒng)的研制工具,在功能上具有如下特點:1 源程序編輯功能JH機(jī)允許用戶在本機(jī)RAM空間編輯一個機(jī)器語言目標(biāo)程序,它為用戶提供了豐富的編輯命令,其中包括讀、寫、地址減1、增1、插入、刪除、偏移量計算、程序搬家等命令。2 屏幕系統(tǒng)功能JH機(jī)除了可通過RS232接口與PC等系統(tǒng)機(jī)聯(lián)機(jī)使用之外,還為不具備系統(tǒng)機(jī)的用戶提供了TV屏幕系統(tǒng)。該系統(tǒng)以菜單形式,向用戶提供編輯、匯編、反匯編、打印、EPROM固化、傳送、調(diào)試等功能,可類似PC機(jī)工作(功能不如PC機(jī)那樣完善,且不能將程序存盤),但價格比PC機(jī)便宜。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及

32、選擇3 仿真功能JH機(jī)采用CPU切換方式,把機(jī)中8031分成兩個狀態(tài):監(jiān)控狀態(tài)和目標(biāo)狀態(tài)(亦為仿真狀態(tài)),在仿真態(tài)ED機(jī)能夠?qū)?031完整地出借給目標(biāo)系統(tǒng),用戶可以把它視為目標(biāo)機(jī)中的CPU。在仿真狀態(tài),用戶的目標(biāo)程序可以分為兩種放置方式。在仿真態(tài)(1),目標(biāo)程序在JH機(jī)的0000FFFF空間。在仿真態(tài)(2),目標(biāo)程序在用戶樣機(jī)系統(tǒng)的0000FFFF空間。4 調(diào)試功能 JH機(jī)能控制目標(biāo)機(jī)以單拍、跟蹤、斷點、實時斷點和連續(xù)方式運行目標(biāo)程序。在上述運行過程中,TV或PC等系統(tǒng)機(jī)屏幕上顯示出PC、ACC、B、SP、DPTR、R0、PSW等基本狀態(tài),并顯示已經(jīng)執(zhí)行及將要執(zhí)行的兩條指令的機(jī)器碼。用戶還可以

33、列表顯示和修改目標(biāo)機(jī)8031現(xiàn)場,擴(kuò)展RAM和l/O現(xiàn)場,目標(biāo)系統(tǒng)程序等,幫助用戶快速診斷出目標(biāo)樣機(jī)的硬件故障和軟件錯誤。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇5 一次性開發(fā)由于JH機(jī)的仿真空間(0000HFFFFH)可完全出讓給用戶,使聯(lián)機(jī)成功后的MCS-51目標(biāo)系統(tǒng)程序固化后,目標(biāo)系統(tǒng)便研制成功。本書后面的實驗部分將由該系統(tǒng)完成,具體內(nèi)容可見實驗部分介紹。7.2.2 其他工具1 邏輯筆 邏輯筆主要用于判別電路中某點的電平狀態(tài)(高電平、低電平,還是脈沖),是數(shù)字電路系統(tǒng)中常用的檢測工具。2 萬用表(數(shù)字或指針式)萬用表是最基本的電子測量工具,主要用于測量電路系統(tǒng)中各節(jié)點間電壓或各節(jié)點對

34、地電壓、電路中兩點通斷、判別元器件的好壞。上一頁下一頁返回7.2 單片機(jī)開發(fā)工具及選擇3 通用編程器由于目前內(nèi)置ROM存儲器芯片的單片機(jī)CPU已成為主流芯片,程序調(diào)試結(jié)束后,需要在編程器上將調(diào)試好的程序代碼寫入CPU內(nèi)的程序存儲器中。4 IC插座在單片機(jī)開發(fā)過程中,可能需要各種規(guī)格的IC插座。例如當(dāng)遇到目標(biāo)板上CPU插座周圍的元器件,如電解電容、晶振等太高,妨礙仿真頭插入時,可使用一到兩塊IC插座抬高CPU插座,以方便仿真頭的插入。上一頁返回7.3 系統(tǒng)可靠性設(shè)計 由于單片機(jī)芯片主要應(yīng)用于工業(yè)控制、智能化儀器儀表和家用電器,因此,對單片機(jī)應(yīng)用系統(tǒng)的可靠性提出了較高的要求。導(dǎo)致計算機(jī)系統(tǒng)出錯和不

35、可靠的原因是電磁干擾、電源電壓及溫度波動、環(huán)境濕度大等,這些因素使程序計數(shù)器PC“走飛”或內(nèi)部RAM及寄存器數(shù)據(jù)出錯。程序計數(shù)器PC“走飛”會導(dǎo)致:1 PC“走飛”,跳過部分程序段。如果跳過的部分正好是接收輸入數(shù)據(jù),則將造成隨后的數(shù)據(jù)處理不正常。2 拆分多字節(jié)指令,即將一條指令的操作數(shù)部分當(dāng)作指令碼執(zhí)行,如果這一“指令碼”屬于多字節(jié)指令,又繼續(xù)拆分下一指令,即把下一指令的操作碼作為操作數(shù)。3 跳到數(shù)據(jù)區(qū),把數(shù)據(jù)當(dāng)作指令執(zhí)行。下一頁返回7.3 系統(tǒng)可靠性設(shè)計后兩種情況產(chǎn)生的結(jié)果無法預(yù)料,程序設(shè)計者畢竟無法預(yù)測拆分哪一條指令,因此也就無法預(yù)料拆分后的指令的功能。也許會出現(xiàn)改寫內(nèi)部RAM、特殊功能寄

36、存器內(nèi)容,造成數(shù)據(jù)丟失,關(guān)閉中斷、改變外設(shè)工作方式,或進(jìn)入死循環(huán)。在計算機(jī)系統(tǒng)中,理論上PC“走飛”不可避免。為此需要針對不同情況,在硬件、軟件上采取相應(yīng)措施,減少PC“走飛”的次數(shù),把系統(tǒng)故障率降到最低。在硬件上: 1 在電磁干擾嚴(yán)重的環(huán)境下,才采用電磁屏蔽措施和對輸入輸出通道采取隔離措施,強(qiáng)化外部RAM片選信號被選中的條件。2 對于電壓波動要改善穩(wěn)壓電源的動態(tài)特性,如增加輸出濾波電容以減小穩(wěn)壓電源動態(tài)電阻,在印制板上布CPU電源線,地線單獨布線,形成單點接地。3 對于溫度波動應(yīng)合理安排印制板上的元器件的位置,熱敏感元件應(yīng)遠(yuǎn)離發(fā)熱量大的元件,改善通風(fēng)散熱效果。 上一頁下一頁返回7.3 系統(tǒng)可

37、靠性設(shè)計在軟件上: 1 增加看門狗定時器、軟件陷阱。軟件看門狗可靠性不高,原因是PC“走飛”后,可能關(guān)閉定時器或禁止中斷,導(dǎo)致軟件看門狗無法溢出,使失控系統(tǒng)無法恢復(fù)。而硬件看門狗定時器啟動后,除復(fù)位外,不能關(guān)閉。因此,當(dāng)PC“走飛”后,如果不能清除看門狗定時器,就有機(jī)會溢出。 2 在程序器容量允許情況下,增加冗余指令(如在定時中斷服務(wù)程序中,增加外設(shè)部件初始化指令,如開中斷、重寫中斷優(yōu)先級等。當(dāng)內(nèi)部;外部RAM資源用不完時,在特定單元設(shè)置標(biāo)志信息,并在中斷服務(wù)程序中定期檢查,當(dāng)發(fā)現(xiàn)這些標(biāo)志被改時,數(shù)據(jù)可能失效,需要做相應(yīng)處理)。 3 對重要數(shù)據(jù)要做備份,數(shù)據(jù)傳送過程中要校驗。上一頁下一頁返回7

38、.3 系統(tǒng)可靠性設(shè)計可靠性是單片機(jī)應(yīng)用系統(tǒng)的重要指標(biāo)之一,單片機(jī)應(yīng)用系統(tǒng)的可靠性通常是指在規(guī)定的條件下和規(guī)定的時間內(nèi),完成規(guī)定的動作的能力。其中規(guī)定條件是指系統(tǒng)工作時所處的環(huán)境條件(溫度、濕度、振動、電磁干擾等)、維護(hù)條件、使用條件等;規(guī)定時間是指考察系統(tǒng)是否正常工作的起止時間,即平均無故障工作時間;規(guī)定動作則是系統(tǒng)應(yīng)當(dāng)實現(xiàn)的功能。提高系統(tǒng)的可靠性也就是要減少系統(tǒng)的故障,而引起故障的因素來自系統(tǒng)內(nèi)部和外部兩個方面: 1 外部因素。例如環(huán)境溫度、濕度(漏電流大,造成局部電位變化)、電源的波動、電磁干擾、振動、腐蝕等。 2 內(nèi)部因素。它出現(xiàn)在系統(tǒng)的硬件及軟件上,其中包括電路連線短路或開路,構(gòu)成電路

39、的元器件損壞、失效等,另外還包括軟件設(shè)計中的問題。 上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計一個高可靠性的單片機(jī)應(yīng)用系統(tǒng)是通過可靠性設(shè)計而獲得的,并通過可靠地生產(chǎn)和可靠地使用及維護(hù)來保證的。因此,在系統(tǒng)設(shè)計時要充分利用可靠性的概念和方法考慮系統(tǒng)的硬件設(shè)計和軟件設(shè)計。 7.3.1 硬件可靠性設(shè)計在單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計時,常采用的一些可靠性措施有:1提高元器件的可靠性在系統(tǒng)硬件設(shè)計和加工時,應(yīng)選用質(zhì)量好的接插件,并設(shè)計好工藝結(jié)構(gòu);選用合格的元器件,并進(jìn)行嚴(yán)格的測試、篩選和老化處理。設(shè)計時技術(shù)參數(shù)(如負(fù)載)要留有一定的余量或降額使用元器件,提高印制板和組裝的質(zhì)量。上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)

40、計2冗余與容錯設(shè)計要保證單片機(jī)應(yīng)用系統(tǒng)無故障是不可能的,容錯是指當(dāng)系統(tǒng)的某個部件發(fā)生故障時,系統(tǒng)仍能完全正常的工作,即給系統(tǒng)增加了容忍故障的能力。為了使系統(tǒng)具有容錯能力,必須在系統(tǒng)中增加適當(dāng)?shù)娜哂鄦卧?,以保證當(dāng)某個部件發(fā)生故障時能由冗余部件接替其工作,原部件修復(fù)后再恢復(fù)出錯前的狀態(tài)。硬件冗余設(shè)計可以在元件級、子系統(tǒng)級或系統(tǒng)級上進(jìn)行。例如,在系統(tǒng)級上可采用雙機(jī)系統(tǒng),兩套系統(tǒng)可互為備用。3采用抗干擾措施來自供電系統(tǒng)及通過導(dǎo)線傳輸、電磁耦合等產(chǎn)生的電磁干擾信號,是單片機(jī)系統(tǒng)工作不穩(wěn)定的重要因素,在系統(tǒng)硬件設(shè)計時必須采取有效的干擾抑制措施。另外,單片機(jī)應(yīng)用系統(tǒng)中還常使用系統(tǒng)監(jiān)視電路來檢測系統(tǒng)發(fā)生的錯誤

41、或故障,并自動報警或使系統(tǒng)自動恢復(fù)正常工作狀態(tài)。 上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計7.3.2 系統(tǒng)自診斷技術(shù)自診斷又稱“自檢”,是通過軟硬件配合來實現(xiàn)對系統(tǒng)故障的自動檢測,它有上電自檢、定時自檢和鍵控自檢三種形式。通過自檢可以及時發(fā)現(xiàn)系統(tǒng)問題,防止系統(tǒng)病態(tài)運行,從而增強(qiáng)了操作者對系統(tǒng)的可信度。1CPU診斷指令系統(tǒng)診斷。單片機(jī)執(zhí)行完一個包含有傳送指令、算術(shù)運算指令、邏輯運算指令、位傳送指令、位邏輯操作指令的程序,累加器A中的數(shù)據(jù)應(yīng)為預(yù)定值,否則就有問題。(1)片內(nèi)RAM診斷??刹捎萌缦逻^程對片內(nèi)RAM每一個單元進(jìn)行測試,讀出備份寫入再讀出與備份比較,若相同則重新寫入原單元,否則設(shè)置不正確標(biāo)

42、志,說明片內(nèi)RAM有問題。上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計(2)定時器及中斷診斷。用軟件延時來檢測定時的準(zhǔn)確性,即定時器以定時方式運行。如能按時溢出,則置位溢出標(biāo)志;否則延時時間到,停止定時器計數(shù),無溢出,表明定時器有問題。利用定時中斷來檢測中斷系統(tǒng)是否有問題,即若允許定時中斷,并在中斷服務(wù)程序中作一件事通知自檢程序,則可以根據(jù)這件事是否發(fā)生來判斷中斷是否發(fā)生。注意:對于803l單片機(jī),診斷程序放在片外ROM中,因此CPU診斷過程必須以三總線(包括地址鎖存器)沒有問題和EPROM中的診斷程序也正確為前提。2ROM診斷常使用靜態(tài)測試法進(jìn)行診斷,當(dāng)將系統(tǒng)程序及自檢程序固化到ROM中去的時候,

43、先仔細(xì)計算其機(jī)器代碼的累加和,并取其結(jié)果的低16位。在固化程序的同時,將上述累加結(jié)果一起固化到ROM特定單元(一般是放在ROM的最后兩個地址單元中)。在對ROM進(jìn)行檢查時,只需對固化在ROM的程序代碼計算累加,并將結(jié)果與事先固化的內(nèi)容進(jìn)行比較,從而判斷出ROM的完好性。上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計3外部RAM診斷可采用與片內(nèi)RAM診斷相同的方法。此外,由于RAM的故障多數(shù)是以大片區(qū)域被破壞的形式出現(xiàn)的,因此也可采用RAM分段放置標(biāo)志數(shù)的方法來判斷RAM的區(qū)域是否被破壞。4A/D、D/A轉(zhuǎn)換通道的診斷和校正在使用模擬電路的系統(tǒng)中,A/D轉(zhuǎn)換器芯片只有一片時,通常是用多路模擬開關(guān)(一些A

44、/D轉(zhuǎn)換器自帶多路模擬開關(guān))來切換各路輸入信號,實現(xiàn)分時采樣轉(zhuǎn)換。對A/D通道的診斷方法是在某一路模擬輸入端加上一個已知的模擬電壓,啟動A/D轉(zhuǎn)換后讀取轉(zhuǎn)換結(jié)果。如果等于預(yù)定值,則A/D通道正常;若有少許偏差,則說明A/D通道發(fā)生少許漂移,應(yīng)求出校正系數(shù),供信號通道進(jìn)行校正運算;如果偏差過大,則為故障現(xiàn)象。上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計D/A通道診斷需借助A/D的一個輸入通道。在已經(jīng)進(jìn)行過A/D診斷并獲知其正常后,將預(yù)定值送D/A轉(zhuǎn)換,D/A轉(zhuǎn)換后的模擬電壓通過分壓電阻接到A/D轉(zhuǎn)換的某個輸入端,啟動A/D轉(zhuǎn)換得到變換后的數(shù)字量。將D/A送出的數(shù)字量和讀入的A/D數(shù)字量進(jìn)行比較,看兩者

45、是否相差不大,從而可判斷D/A轉(zhuǎn)換器工作是不是正常。5數(shù)字I/0通道診斷(1) 數(shù)字顯示功能的診斷數(shù)碼管顯示裝置顯示的內(nèi)容有數(shù)字、小數(shù)點、符號、提示符等。自檢程序可將數(shù)碼管的所有筆劃段點亮(包括小數(shù)點),由操作者檢查數(shù)碼管是否缺段,也可以設(shè)置循環(huán)輸出全0到全9的數(shù)字,小數(shù)點在各位上循環(huán)顯示,以及顯示特定的提示信息,借以檢查數(shù)字I/O通道是否正常。上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計(2) 鍵盤的診斷當(dāng)操作者按下某個鍵后,自檢程序可通過一個I/O口驅(qū)動蜂鳴器發(fā)聲或由數(shù)碼管顯示器顯示出某個數(shù)字及符號。當(dāng)按某鍵時聽不到發(fā)聲或顯示錯誤,就可以判斷鍵盤系統(tǒng)出現(xiàn)故障。如果是某個鍵有問題,往往是接觸不良;

46、如果是某排鍵有問題,一定是對應(yīng)的鍵掃描電路有故障;若全部鍵無相應(yīng),則鍵盤掃描系統(tǒng)已癱瘓或監(jiān)控程序己癱瘓。以上介紹了常用的硬件電路的故障自動診斷方法。在實際應(yīng)用中可根據(jù)系統(tǒng)的需要,選擇若干個措施組合成一個完整的硬件自診斷模塊。上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計7.3.3 系統(tǒng)抗干擾性能在實際應(yīng)用中,經(jīng)常會遇到這種情況:在實驗室中已經(jīng)調(diào)試好的樣機(jī),拿到工業(yè)現(xiàn)場中運行總是不穩(wěn)定。例如,周圍的某個大功率耗電設(shè)備啟動時,樣機(jī)控制就失靈。這種情況一般都是因為在系統(tǒng)設(shè)計過程中沒能很好地考慮系統(tǒng)的抗干擾問題。其實,系統(tǒng)的抗干擾性能是單片機(jī)應(yīng)用系統(tǒng)可靠性的重要指標(biāo),它設(shè)計的好壞影響著系統(tǒng)的可靠性。7.3.3

47、.1 單片機(jī)應(yīng)用系統(tǒng)中的主要干擾源 工業(yè)生產(chǎn)中的干擾一般都是以脈沖的形式進(jìn)入單片機(jī)應(yīng)用系統(tǒng)。進(jìn)入系統(tǒng)的干擾主要有三種來源,即:場干擾,通過電磁波輻射進(jìn)入系統(tǒng);輸入/輸出通道干擾,通過與主機(jī)相連的輸入/輸出通道及與其他主機(jī)的相連通道進(jìn)入;供電系統(tǒng)干擾,由電源供電電路引入干擾。一般情況下場干擾在強(qiáng)度上遠(yuǎn)小于其他兩個干擾源,而且場干擾可用良好的屏蔽與正確的接地、高頻濾波加以解決。因此單片機(jī)應(yīng)用系統(tǒng)中重點防止供電系統(tǒng)干擾和輸入/輸出通道的干擾。 上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計7.3.3.2 硬件抗干擾措施1 輸入/輸出通道干擾的抑制措施對輸入/輸出通道干擾的抑制通常采用隔離和濾波技術(shù)。常用的隔

48、離器件有:隔離變壓器、光電耦合器、繼電器和隔離放大器等,其中光電耦合器應(yīng)用最廣泛。在輸入和輸出通道中采用光電耦合器將單片機(jī)系統(tǒng)與各種傳感器、開關(guān)、執(zhí)行機(jī)構(gòu)從電氣上隔離開來,很大一部分干擾將被阻擋。通常是將光電隔離器放在A/D、D/A轉(zhuǎn)換器附近。另外,光電隔離前后兩部分電路應(yīng)分別采用兩組獨立的電源供電。當(dāng)數(shù)字通道輸出的開關(guān)量是用于控制大負(fù)荷設(shè)備時,就不宜用光電耦合器,而采用繼電器隔離輸出,此時要在單片機(jī)輸出端的鎖存器74LS273與繼電器間設(shè)置一個OC門驅(qū)動器,用以提供較高的驅(qū)動電流。硬件濾波電路常采用RC低通濾波器,將它接在一些低頻信號傳送電路中,可大大削弱各類高頻干擾信號。上一頁下一頁返回7

49、.3 系統(tǒng)可靠性設(shè)計2 供電系統(tǒng)干擾的抑制措施單片機(jī)應(yīng)用系統(tǒng)的供電線路是干擾的主要入侵途徑,通常采用的抑制措施有如下幾種:(1)單片機(jī)系統(tǒng)的供電線路和產(chǎn)生干擾的用電設(shè)備分開供電。通常干擾源為各類大功率設(shè)備,如電機(jī)等。對于小的單片機(jī)系統(tǒng),可采用CMOS芯片,設(shè)計成低功耗系統(tǒng)用電池供電,干擾可減少。(2)通過低通濾波器和隔離變壓器接入電網(wǎng)。低通濾波器可以吸收大部分電網(wǎng)中的諧波,隔離變壓器是在初級繞組和次級繞組之間多加一層屏蔽層,并將它和鐵芯一起接地,防止干擾通過初級與次級繞組之間的電容效應(yīng)進(jìn)入單片機(jī)供電系統(tǒng)。(3)整流元件上并接濾波電容,可以在很大程度上削弱高頻干擾。上一頁下一頁返回7.3 系統(tǒng)可

50、靠性設(shè)計(4)選用高質(zhì)量的穩(wěn)壓電路,使輸出直流電壓上的紋波很小,干擾難以在輸出端形成。(5)數(shù)字信號采用負(fù)邏輯傳輸。如果定義低電平為有效電平,高電平為無效電平,就可以減少干擾引起的誤操作,提高數(shù)字信號傳輸?shù)目煽啃浴? 電磁場干擾的抑制措施電磁場的干擾可采用屏蔽與接地等措施。用金屬外殼或金屬屏蔽罩將整機(jī)或部分元件包圍起來,再將金屬外殼接地,就能起到屏蔽作用。單片機(jī)系統(tǒng)中有數(shù)字地、交流地、信號地、屏蔽地(機(jī)殼地),應(yīng)分開連接不同性質(zhì)的地。印制板中的地線應(yīng)接成網(wǎng)狀,而且其他布線不要形成回路,特別是環(huán)繞外周的環(huán)路,接地線根據(jù)電路通路最好逐漸加寬,并且不要小于3mm。在高頻情況下電路板多采用大面積地線直

51、接與機(jī)殼直接相連,形成多點接地方式。強(qiáng)信號地線和弱信號地線要分開。上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計 4 減小CPU芯片工作時產(chǎn)生的電磁輻射如果CPU工作產(chǎn)生的電磁輻射干擾了系統(tǒng)內(nèi)無線接收電路時,除了對CPU芯片采取屏蔽措施外,還必須:(1)在滿足速度要求前提下,盡可能降低系統(tǒng)時鐘頻率。因為時鐘頻率越低,晶振電路產(chǎn)生的電磁輻射量越小。(2)盡量避免擴(kuò)展外部存儲器,即盡可能使用內(nèi)含F(xiàn)lash ROM、OTP ROM存儲器的芯片,且禁止ALE輸出。上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計7.3.3.3 軟件抗干擾技術(shù)為了提高單片機(jī)應(yīng)用系統(tǒng)的可靠性,僅靠硬件抗干擾措施是不夠的,需要進(jìn)一步借助于軟件措施來克服某些干擾。作用于數(shù)字I/O通道上的干擾可采用多次重復(fù)采集、多次輸出同一數(shù)據(jù)的方法來消除;作用于模擬輸入通道上的干擾可采用數(shù)字濾波的方法來消除。對CPU的干擾可采用指令冗余、軟件陷阱和軟件“看門狗”等措施。上一頁下一頁返回7.3 系統(tǒng)可靠性設(shè)計1 指令冗余

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論