版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第7章 微機(jī)控制系統(tǒng)的開(kāi)發(fā)與仿真7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程7.2 單片機(jī)開(kāi)發(fā)工具及選擇7.3 系統(tǒng)可靠性設(shè)計(jì)7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程所謂應(yīng)用系統(tǒng),就是利用單片機(jī)為某應(yīng)用目的所設(shè)計(jì)的專門(mén)的單片機(jī)系統(tǒng)(在調(diào)試過(guò)程中通常稱目標(biāo)系統(tǒng))。像一般的計(jì)算機(jī)系統(tǒng)一樣,單片機(jī)的應(yīng)用系統(tǒng)也是由硬件和軟件所組成,硬件指單片機(jī)、擴(kuò)展的存儲(chǔ)器、輸入輸出設(shè)備等硬部件組成的系統(tǒng),軟件是各種工作程序的總稱。硬件和軟件只有緊密配合,協(xié)調(diào)一致,才能組成高性能的單片機(jī)應(yīng)用系統(tǒng)。在系統(tǒng)的研制過(guò)程中,軟硬件的功能總是在不斷地調(diào)整,以便相互適應(yīng),相互配合,達(dá)到最佳性能價(jià)格比。單片機(jī)應(yīng)用系統(tǒng)的研制過(guò)程包括總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件
2、設(shè)計(jì)、在線調(diào)試等幾個(gè)階段,但它們不是絕對(duì)分開(kāi)的,有時(shí)是交叉進(jìn)行的。 下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程7.1.1 總體設(shè)計(jì)7.1.1.1 確定技術(shù)指標(biāo)在開(kāi)始設(shè)計(jì)前,必須明確應(yīng)用系統(tǒng)的功能和技術(shù)要求,綜合考慮系統(tǒng)的先進(jìn)性、可靠性、可維護(hù)性和成本、經(jīng)濟(jì)效益,再參考國(guó)內(nèi)外同類產(chǎn)品的資料、標(biāo)準(zhǔn),提出合理可行的技術(shù)指標(biāo),以達(dá)到最高的性能、價(jià)格比。7.1.1.2 機(jī)型選擇自從20世紀(jì)70年代單片機(jī)誕生以來(lái),發(fā)展十分迅速。目前,世界上生產(chǎn)單片機(jī)的廠商有幾十家,單片機(jī)型號(hào)有上千種,其中應(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等。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程一般來(lái)說(shuō),選擇機(jī)型的出發(fā)點(diǎn)有以下幾個(gè)方面。1 市場(chǎng)的貨源設(shè)計(jì)者只能在市場(chǎng)上所提供的機(jī)型中選擇,特別是將作為產(chǎn)品生產(chǎn)的系統(tǒng),所選機(jī)型必須有穩(wěn)定、充足的貨源。2 單片機(jī)性能根據(jù)應(yīng)用系統(tǒng)的要求,選擇最容易實(shí)現(xiàn)產(chǎn)品技術(shù)指標(biāo)的機(jī)種,當(dāng)然,還要考慮有較高的性能、價(jià)格比。3 研制周期在研制任務(wù)重、時(shí)間緊的情況下,要選擇最熟悉的機(jī)種和元器件,也可直接把單片開(kāi)發(fā)機(jī)作為應(yīng)用系統(tǒng)機(jī)。與研制周期有關(guān)的另
4、一個(gè)因素是單片機(jī)的開(kāi)發(fā)工具,性能優(yōu)良的開(kāi)發(fā)工具,能加快系統(tǒng)的研制過(guò)程。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程7.1.1.3 器件選擇 除了單片機(jī)以外,系統(tǒng)中還有傳感器、模擬電路、輸入輸出電路等器件和設(shè)備。這些部件的選擇應(yīng)符合系統(tǒng)的精度、速度和可靠性等方面的要求。7.1.1.4 硬件和軟件的功能劃分系統(tǒng)硬件的配置和軟件的設(shè)計(jì)是緊密聯(lián)系在一起的,而且在某些場(chǎng)合,硬件和軟件具有一定的互換性。例如日歷時(shí)鐘的產(chǎn)生可以用時(shí)鐘電路片,也可以由單片機(jī)內(nèi)部的定時(shí)器中斷服務(wù)程序來(lái)控制時(shí)鐘計(jì)數(shù)。多用硬件完成一些功能,可以提高工作速度,減少軟件開(kāi)發(fā)的工作量,提高可靠性,但增加了硬件成本。若用軟件代替某些硬件的
5、功能,可以節(jié)省硬件開(kāi)支,但增加了軟件的復(fù)雜性。由于軟件是一次性投資,因此在研制產(chǎn)品批量比較大的情況下,能夠用軟件實(shí)現(xiàn)的功能都由軟件來(lái)完成,以便簡(jiǎn)化硬件結(jié)構(gòu),降低生產(chǎn)成本。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程7.1.2 硬件設(shè)計(jì) 硬件設(shè)計(jì)的任務(wù)是根據(jù)總體設(shè)計(jì)要求,在所選擇機(jī)型的基礎(chǔ)上,確定系統(tǒng)擴(kuò)展所要用的存儲(chǔ)器、I/O電路、A/D電路以及有關(guān)外圍電路等,然后設(shè)計(jì)出系統(tǒng)的電路原理圖。下面介紹硬件設(shè)計(jì)的各個(gè)環(huán)節(jié)。7.1.2.1 程序存儲(chǔ)器目前,市場(chǎng)上可作為程序存儲(chǔ)器的芯片有EPROM和EEPROM兩種,從它們的價(jià)格和性能特點(diǎn)上考慮,對(duì)于大批量生產(chǎn)的已成熟的應(yīng)用系統(tǒng)宜選用EPROM。由于容量
6、不同的EPROM芯片價(jià)格相差不多,一般應(yīng)選用速度高、容量較大的芯片,這樣使譯碼電路簡(jiǎn)單,且使軟件擴(kuò)展留有一定余地。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程7.1.2.2 數(shù)據(jù)存儲(chǔ)器和輸入/輸出接口對(duì)于數(shù)據(jù)存儲(chǔ)器的容量要求,各個(gè)系統(tǒng)之間差別比較大。像有的測(cè)量?jī)x器和儀表只需擴(kuò)展少量的RAM即可,此時(shí)應(yīng)選用RAM/IO擴(kuò)展片8155/8156。如前所述,8155功能全面,接口方便,特別適用于單片機(jī)系統(tǒng)。對(duì)于要求較大容量RAM的系統(tǒng),這時(shí)RAM電路的選擇原則是盡可能減少RAM芯片的數(shù)量。例如一片6264(8K)比4片6116(2K)價(jià)格低得多。應(yīng)用系統(tǒng)一般都要擴(kuò)展I/0接口,在選擇I/O電路時(shí)應(yīng)
7、從體積、價(jià)格、功能、負(fù)載等幾方面考慮。標(biāo)準(zhǔn)的可編程接口電路8155/8156接口簡(jiǎn)單,使用方便,對(duì)總線負(fù)載小,因而應(yīng)用很廣泛,但對(duì)有些口線要求很少的系統(tǒng),則可用TTI。電路,這可提高口線的利用率,且其驅(qū)動(dòng)能力較大,可直接驅(qū)動(dòng)發(fā)光二極管等器件。故應(yīng)根據(jù)系統(tǒng)總的輸入輸出要求來(lái)選擇接口電路。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程對(duì)于,A/D和D/A電路芯片的選擇原則應(yīng)根據(jù)系統(tǒng)對(duì)它的速度、精度和價(jià)格的要求而確定。除此還要考慮和系統(tǒng)中的傳感器、放大器相匹配。7.1.2.3 地址譯碼電路MCS-5l系統(tǒng)有充分的存儲(chǔ)器空間,包括64K程序存儲(chǔ)器和64K數(shù)據(jù)存儲(chǔ)器,在應(yīng)用系統(tǒng)中一般不需要這么大容量。為
8、能簡(jiǎn)化硬件邏輯,同時(shí)還要使所用到的存儲(chǔ)器空間地址連續(xù),通常采用譯碼器法和線選法相結(jié)合的辦法。7.1.2.4 總線驅(qū)動(dòng)器如前所述,MCS-51系統(tǒng)單片機(jī)擴(kuò)展功能比較強(qiáng),但擴(kuò)展總線的負(fù)載能力有限。若所擴(kuò)展的電路負(fù)載超過(guò)總線負(fù)載能力,系統(tǒng)便不能可靠地工作。這時(shí)在總線上必須加驅(qū)動(dòng)器??偩€驅(qū)動(dòng)器不僅能提高端口總線的驅(qū)動(dòng)能力,而且可提高系統(tǒng)抗干擾性。常用的總線驅(qū)動(dòng)器為雙向8路三態(tài)緩沖器74LS245,單向8路三態(tài)緩沖器74LS244。 上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程7.1.2.5 其它外圍電路由于單片機(jī)的特點(diǎn),它被大量地應(yīng)用于工業(yè)測(cè)控系統(tǒng)。在測(cè)量和控制系統(tǒng)中,經(jīng)常需要對(duì)一些現(xiàn)場(chǎng)物理量進(jìn)行測(cè)
9、量或者將其采集下來(lái)進(jìn)行信號(hào)處理之后再反過(guò)來(lái)去控制被測(cè)對(duì)象或相關(guān)設(shè)備。在這種情況下,應(yīng)用系統(tǒng)的硬件設(shè)計(jì)就應(yīng)包括與此有關(guān)的外圍電路。7.1.2.6 可靠性設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的可靠性是一項(xiàng)最重要最基本的技術(shù)指標(biāo),這是硬件設(shè)計(jì)時(shí)必須考慮的一個(gè)指標(biāo)??煽啃酝ǔJ侵冈谝?guī)定的條件下,在規(guī)定的時(shí)間內(nèi)完成規(guī)定功能的能力。規(guī)定的條件包括環(huán)境條件(如溫度、濕度、振動(dòng)等)、供電條件等,規(guī)定的時(shí)間一般指:平均故障時(shí)間、平均無(wú)故障時(shí)間、連續(xù)正常運(yùn)轉(zhuǎn)時(shí)間等;所規(guī)定的功能隨單片機(jī)的應(yīng)用系統(tǒng)的不同而不同。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程單片機(jī)應(yīng)用系統(tǒng)在實(shí)際工作中,可能會(huì)受到各種外部和內(nèi)部的干擾,使系統(tǒng)工作產(chǎn)生錯(cuò)誤
10、或故障。為減少這種錯(cuò)誤和故障,就要采取各種提高可靠性的措施。常用措施如下:1 提高元器件的可靠性。在系統(tǒng)硬件設(shè)計(jì)和加工時(shí)應(yīng)注意選用質(zhì)量好的電子元器件、接插件,并進(jìn)行嚴(yán)格的測(cè)試、篩選和老化。2 設(shè)計(jì)時(shí)技術(shù)參數(shù)(如負(fù)載)應(yīng)留有余量。3 提高印刷電路板和組裝的質(zhì)量,設(shè)計(jì)電路板時(shí)布線及接地方法要符合要求。對(duì)供電電源采取抗干擾措施。如用帶屏蔽層的電源變壓器,加電源低通濾波器,電源變壓器的容量應(yīng)留有余地。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程4 對(duì)輸入輸出通道采取抗干擾措施。如采用光電隔離電路,光電隔離器作為數(shù)字量、開(kāi)關(guān)量的輸入、輸出,這種隔離電路效果很好。采用雙絞線,雙絞線抗共模干擾的能力較強(qiáng),
11、可以作為接口連接線。7.1.3 資源分配一個(gè)單片機(jī)應(yīng)用系統(tǒng)所擁有的硬件資源分片內(nèi)和片外兩部分。片內(nèi)資源是指單片機(jī)本身所包含的中央處理器、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、中斷源、I/O接口及串行通信接口等。對(duì)這部分硬件資源的種類和數(shù)量,不同公司、不同類型的單片機(jī)之間差別很大。當(dāng)設(shè)計(jì)人員選定某種型號(hào)的單片機(jī)進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),應(yīng)充分利用片內(nèi)的各種硬件資源。但若在應(yīng)用中,片內(nèi)的這些硬件資源不夠使用,就需要在片外加以擴(kuò)展。通過(guò)系統(tǒng)擴(kuò)展,單片機(jī)應(yīng)用系統(tǒng)具有了更多的硬件資源,因而有了更強(qiáng)的功能。由于定時(shí)器/計(jì)數(shù)器、中斷源等資源的分配比較容易,下面主要介紹ROM資源和RAM資源的分配。上一頁(yè)下一頁(yè)返回7
12、.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程7.1.3.1 I/O引腳資源分配單片機(jī)芯片各I/O引腳功能不完全相同,如部分引腳具有第二輸入/輸出功能,各I/0引腳輸出級(jí)電路結(jié)構(gòu)不盡相同,如增強(qiáng)型51單片機(jī)8XC5X的P0口采用漏極開(kāi)路輸出方式,而P1P3口采用準(zhǔn)雙向結(jié)構(gòu)。此外,在87LPC76X系列中,P1.5引腳只能作為輸入引腳使用,因此,在分配I/O引腳時(shí),需要認(rèn)真對(duì)待。例如,在8XC5X系統(tǒng)中,當(dāng)外中斷不夠用時(shí),可使用定時(shí)器T2溢出率作為串行口發(fā)送、接收波特率,此時(shí)P1.1引腳就可以作為下降沿觸發(fā)的外中斷源使用。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程7.1.3.2 程序存儲(chǔ)器資源分配片內(nèi)ROM存
13、儲(chǔ)器用于存放程序和數(shù)據(jù)表格。按照MCS-51單片機(jī)的復(fù)位及中斷入口的規(guī)定,002FH以前的地址單元都作為中斷、復(fù)位入口地址區(qū)。在這些單元中一般都設(shè)置了轉(zhuǎn)移指令,轉(zhuǎn)移到相應(yīng)的中斷服務(wù)程序或復(fù)位啟動(dòng)程序。當(dāng)程序存儲(chǔ)器中存放的功能程序及子程序數(shù)量較多時(shí),應(yīng)盡可能為它們?cè)O(shè)置入口地址表。一般的常數(shù)、表格集中放在表格區(qū)內(nèi)。二次開(kāi)發(fā)擴(kuò)展區(qū)應(yīng)盡可能放在高位地址區(qū)。7.1.3.3 RAM資源分配RAM分為片內(nèi)RAM和片外RAM。片外RAM的容量比較大,通常用來(lái)存放批量大的數(shù)據(jù),如采樣數(shù)據(jù);片內(nèi)RAM容量較少,盡可能重疊使用,數(shù)據(jù)暫存區(qū)與顯示、打印緩沖區(qū)重疊。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程對(duì)于MC
14、S-51單片機(jī)來(lái)說(shuō),片內(nèi)RAM是指007FH單元,這128個(gè)單元的功能并不完全相同,分配時(shí)應(yīng)注意發(fā)揮各自的特點(diǎn),做到物盡其用。001FH這32個(gè)字節(jié)可以作為工作寄存器組,在工作寄存器的8個(gè)單元中,R0和R1具有指針功能,是編程的重要角色,應(yīng)充分發(fā)揮其作用。系統(tǒng)上電復(fù)位時(shí),置PSW=00H,SP=07H,則RS1(PSW.4)、RS0(PSW.3)位均為0,單片機(jī)自動(dòng)選擇工作寄存器組0作為當(dāng)前工作寄存器,而工作寄存器組1為堆棧,并向工作寄存器組2、3延伸。例如,此時(shí)當(dāng)單片機(jī)執(zhí)行諸如“MOV R1,#2FH”指令時(shí),R1指向01H單元。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程在中斷服務(wù)程序中
15、,若也要使用R1寄存器且不將原來(lái)的數(shù)據(jù)沖掉,則可在主程序中先將堆??臻g設(shè)置在其他位置,然后在進(jìn)入中斷服務(wù)程序后選擇工作寄存器組1、2或3,這時(shí)若再執(zhí)行諸如“MOV R1,#OOH”指令時(shí),就不會(huì)沖掉R1(0lH單元)中原來(lái)的內(nèi)容,因?yàn)檫@時(shí)Rl的地址已改變?yōu)?9H、1lH或19H。在中斷服務(wù)程序結(jié)束時(shí),可重新選擇工作寄存器組0。因此,通??稍趹?yīng)用程序中,安排主程序及其調(diào)用的子程序使用工作寄存器組0,而安排定時(shí)器溢出中斷、外部中斷、串行口中斷使用工作寄存器組1、2或3,這時(shí)應(yīng)用程序結(jié)構(gòu)如下:202FH這16個(gè)字節(jié)具有位尋址功能,可用來(lái)存放各種軟件標(biāo)志、邏輯變量、位輸入信息、位輸出信息副本、狀態(tài)變量
16、、邏輯運(yùn)算的中間結(jié)果等。當(dāng)這些項(xiàng)目全部安排好后,保留一兩個(gè)字節(jié)備用,剩下的單元可改作其他用途。上一頁(yè)下一頁(yè)返回7.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程307FH為一般通用寄存器,只能存入整字節(jié)信息,通常用來(lái)存放各種參數(shù)、指針、中間結(jié)果,或用作數(shù)據(jù)緩沖區(qū)。此外,也常將堆棧安放在片內(nèi)RAM的高端,如607FH。設(shè)置堆棧區(qū)時(shí)應(yīng)事先估算出子程序和中斷嵌套的級(jí)數(shù)及程序中棧操作指令使用情況,其大小應(yīng)留有余量。當(dāng)系統(tǒng)中擴(kuò)展了RAM,應(yīng)把使用頻率最高的數(shù)據(jù)緩沖區(qū)安排在片內(nèi)RAM中,以提高處理速度。如果將系統(tǒng)的各種開(kāi)銷安排好后,所剩單元很少,這種設(shè)計(jì)不可靠,而是應(yīng)該留有足夠的余地,以便將來(lái)擴(kuò)充。ROM、RAM資源規(guī)劃好后
17、,應(yīng)列出一張資源的詳細(xì)分配清單,作為編程依據(jù)。上一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇一個(gè)單片機(jī)應(yīng)用系統(tǒng)從提出任務(wù)到正式投入運(yùn)行的過(guò)程,稱為單片機(jī)的開(kāi)發(fā)。開(kāi)發(fā)過(guò)程所用的設(shè)備即開(kāi)發(fā)工具。 如前所述,單片機(jī)本身只是一個(gè)電子元件,只有當(dāng)它和其它的器件、設(shè)備有機(jī)地組合在一起,并配置適當(dāng)?shù)墓ぷ鞒绦蚝?,才能?gòu)成一個(gè)單片機(jī)應(yīng)用系統(tǒng),完成特定的功能。因此單片機(jī)的開(kāi)發(fā)包括硬件和軟件兩個(gè)部分。單片機(jī)本身沒(méi)有自開(kāi)發(fā)功能(通用計(jì)算機(jī)系統(tǒng)具有這種功能,用戶可以在上面研制應(yīng)用軟件或?qū)ο到y(tǒng)進(jìn)行擴(kuò)展),必須借助于開(kāi)發(fā)工具來(lái)排除目標(biāo)系統(tǒng)(指調(diào)試中的應(yīng)用系統(tǒng))樣機(jī)中的硬件故障,生成目標(biāo)程序,并排除程序錯(cuò)誤。當(dāng)目標(biāo)系統(tǒng)調(diào)試成功以后,
18、還需要用開(kāi)發(fā)工具把目標(biāo)程序固化到單片機(jī)內(nèi)部或外部EPROM芯片中。下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇現(xiàn)代微機(jī)系統(tǒng)的硬件和軟件調(diào)試,僅靠萬(wàn)用表和示波器等常規(guī)工具是不夠的,通常要采用自動(dòng)化調(diào)試手段,即用計(jì)算機(jī)來(lái)調(diào)試計(jì)算機(jī),單片機(jī)的開(kāi)發(fā)工具通常是一個(gè)特殊的計(jì)算機(jī)系統(tǒng),稱為單片機(jī)開(kāi)發(fā)系統(tǒng)或簡(jiǎn)稱開(kāi)發(fā)機(jī)(也可稱仿真器)。單片機(jī)開(kāi)發(fā)系統(tǒng)和一般通用計(jì)算機(jī)系統(tǒng)相比,在硬件上增加了目標(biāo)系統(tǒng)的在線仿真器、編程器等部件,所提供的軟件除有類似一般計(jì)算機(jī)系統(tǒng)的簡(jiǎn)單的操作系統(tǒng)之外,還增加了目標(biāo)系統(tǒng)的匯編和調(diào)試程序等。不同的開(kāi)發(fā)系統(tǒng),軟件功能差別較大。單片機(jī)開(kāi)發(fā)系統(tǒng)有通用和專用兩種類型。通用的單片機(jī)開(kāi)發(fā)系統(tǒng)配備多種在線仿
19、真器和相應(yīng)的開(kāi)發(fā)軟件,使用時(shí),只要更換系統(tǒng)中的仿真器板,就能開(kāi)發(fā)相應(yīng)的單片機(jī)或微處理器。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇只能開(kāi)發(fā)一種類型的單片機(jī)或微處理器的開(kāi)發(fā)系統(tǒng)稱為專用開(kāi)發(fā)系統(tǒng)。單片機(jī)開(kāi)發(fā)工具還包括簡(jiǎn)單的開(kāi)發(fā)裝置和具有自開(kāi)發(fā)功能的單片單板機(jī)。此外,通用的邏輯分析儀也可以作為單片機(jī)的開(kāi)發(fā)工具來(lái)使用。7.2.1 仿真器功能強(qiáng)、操作方便的單片機(jī)開(kāi)發(fā)系統(tǒng)(仿真器)能加快單片機(jī)應(yīng)用系統(tǒng)的研制周期。國(guó)外早已研制出這一類功能較全的產(chǎn)品,但價(jià)格昂貴,在國(guó)內(nèi)沒(méi)有得到推廣。國(guó)內(nèi)很多單位根據(jù)我國(guó)國(guó)情研制出以8031作為開(kāi)發(fā)芯片的MCS-51單片開(kāi)發(fā)系統(tǒng)的很多型號(hào)的系列產(chǎn)品。例如DVCC-52Jh、S
20、ICE、KDC-51等。這些產(chǎn)品大部分是開(kāi)發(fā)型單片單板機(jī),通過(guò)軟件手段達(dá)到或接近國(guó)外同類產(chǎn)品水平。盡管它們的功能強(qiáng)弱并不完全相同,但都具有較高的性能價(jià)格比。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇7.2.1.1 單片機(jī)開(kāi)發(fā)系統(tǒng)的功能單片機(jī)開(kāi)發(fā)系統(tǒng)的性能優(yōu)劣和單片機(jī)應(yīng)用系統(tǒng)的研制周期密切相關(guān)。一個(gè)單片機(jī)開(kāi)發(fā)系統(tǒng)功能強(qiáng)弱可以從以下幾個(gè)方面來(lái)分析:7.2.1.1.1 在線仿真功能在線仿真器的英文名為In Circuit Emutor(簡(jiǎn)稱ICE)。ICE是由一系列硬件構(gòu)成的設(shè)備。開(kāi)發(fā)系統(tǒng)中的在線仿真器應(yīng)能仿真目標(biāo)系統(tǒng)(即應(yīng)用系統(tǒng))中的單片機(jī),并能模擬目標(biāo)系統(tǒng)的ROM、RAM和I/O口。使在線仿真
21、時(shí)目標(biāo)系統(tǒng)的運(yùn)行環(huán)境和脫機(jī)運(yùn)行的環(huán)境完全“逼真”,以實(shí)現(xiàn)目標(biāo)系統(tǒng)的一次性開(kāi)發(fā)。仿真功能具體地體現(xiàn)在以下幾個(gè)方面。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇1 單片機(jī)仿真功能在線仿真時(shí),開(kāi)發(fā)系統(tǒng)應(yīng)能將在線仿真器中的單片機(jī)完整地出借給目標(biāo)系統(tǒng),不占用目標(biāo)系統(tǒng)單片機(jī)的任何資源,使目標(biāo)系統(tǒng)在聯(lián)機(jī)仿真和脫機(jī)運(yùn)行時(shí)的環(huán)境(工作程序、使用的資源和地址空間)完全一致,實(shí)現(xiàn)完全的一次性仿真。單片機(jī)的資源包括:片上的CPU、RAM、SFR、定時(shí)器、中斷源、I/O口以及外部可擴(kuò)充的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器地址空間。這些資源應(yīng)允許目標(biāo)系統(tǒng)充分自由地使用,不應(yīng)受到任何限制,使目標(biāo)系統(tǒng)能根據(jù)單片機(jī)固有的資源特性進(jìn)行硬件和
22、軟件的設(shè)計(jì)。2 模擬功能在開(kāi)發(fā)目標(biāo)系統(tǒng)的過(guò)程中,單片機(jī)的開(kāi)發(fā)系統(tǒng)允許用戶使用它內(nèi)部的RAM存儲(chǔ)器和輸入輸出來(lái)替代目標(biāo)系統(tǒng)中的ROM程序存儲(chǔ)器、RAM數(shù)據(jù)存儲(chǔ)器和輸入輸出,使用戶在目標(biāo)系統(tǒng)樣機(jī)還未完全配置好以前,便可以借用開(kāi)發(fā)系統(tǒng)提供的資源進(jìn)行軟件的開(kāi)發(fā)。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇其中最重要的是目標(biāo)機(jī)程序存儲(chǔ)器的模擬功能。因?yàn)樵谘兄颇繕?biāo)系統(tǒng)開(kāi)始的初級(jí)階段,目標(biāo)程序還未生成,更談不上已固化的目標(biāo)程序。因此用戶的目標(biāo)程序必須存放在開(kāi)發(fā)系統(tǒng)RAM存儲(chǔ)器內(nèi),以便于在調(diào)試過(guò)程中對(duì)程序的修改。開(kāi)發(fā)系統(tǒng)所能出借的可作為目標(biāo)系統(tǒng)程序存儲(chǔ)器的RAM,我們常稱之為仿真RAM。開(kāi)發(fā)系統(tǒng)中仿真RAM的
23、容量和地址映射應(yīng)和目標(biāo)機(jī)系統(tǒng)完全一致。對(duì)于MCS-51系列單片機(jī)開(kāi)發(fā)系統(tǒng),最多能出借64K字節(jié)的仿真RAM,并保持原有復(fù)位入口和中斷入口地址不變,不同的開(kāi)發(fā)系統(tǒng)所出借的仿真RAM容量不一定相同,購(gòu)買(mǎi)時(shí)需注意。 7.2.1.1.2 調(diào)試功能 開(kāi)發(fā)系統(tǒng)對(duì)目標(biāo)系統(tǒng)軟、硬件的調(diào)試功能強(qiáng)弱,將直接關(guān)系到開(kāi)發(fā)的效率。性能優(yōu)良的單片機(jī)開(kāi)發(fā)系統(tǒng)應(yīng)具有下列調(diào)試功能。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇1 運(yùn)行控制功能開(kāi)發(fā)系統(tǒng)應(yīng)能使用戶有效地控制目標(biāo)程序的運(yùn)行,以便檢查程序運(yùn)行的結(jié)果,對(duì)存在的硬件故障和軟件錯(cuò)誤進(jìn)行定位。(1)單步運(yùn)行:能使單片機(jī)從任意的程序地址開(kāi)始執(zhí)行下一條指令后停止運(yùn)行。(2)斷點(diǎn)運(yùn)行
24、:允許用戶任意設(shè)置斷點(diǎn)條件,啟動(dòng)CPU從規(guī)定地址開(kāi)始運(yùn)行后,當(dāng)碰到斷點(diǎn)條件(程序地址和指定斷點(diǎn)地址符合或者單片機(jī)訪問(wèn)到指定的數(shù)據(jù)存儲(chǔ)器單元等條件)符合以后停止運(yùn)行。(3)連續(xù)運(yùn)行:能使單片機(jī)從指定地址開(kāi)始連續(xù)地全速運(yùn)行目標(biāo)程序。(4)啟停控制:在各種運(yùn)行方式中,允許用戶根據(jù)調(diào)試的需要,來(lái)啟動(dòng)或者停止單片機(jī)執(zhí)行目標(biāo)程序。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇2 對(duì)目標(biāo)系統(tǒng)狀態(tài)的讀出修改功能當(dāng)單片機(jī)停止執(zhí)行目標(biāo)系統(tǒng)的程序后,允許用戶方便地讀出或修改目標(biāo)系統(tǒng)所有資源的狀態(tài),以便檢查程序運(yùn)行的結(jié)果、設(shè)置斷點(diǎn)條件以及設(shè)置程序的初始參數(shù)。可供用戶讀出/修改的目標(biāo)系統(tǒng)資源包括:(1)程序存儲(chǔ)器(開(kāi)發(fā)系
25、統(tǒng)中的仿真RAM存儲(chǔ)器或目標(biāo)機(jī)中的程序存儲(chǔ)器)。 (2)單片機(jī)片內(nèi)資源(工作寄存器、特殊功能寄存器、I/O口、RAM數(shù)據(jù)存儲(chǔ)器、位單元)。 3 跟蹤功能高性能的單片機(jī)開(kāi)發(fā)系統(tǒng)具有邏輯分析儀的功能,在目標(biāo)程序運(yùn)行過(guò)程中,能跟蹤存儲(chǔ)目標(biāo)系統(tǒng)總線上的地址、數(shù)據(jù)和控制信號(hào)的狀態(tài)變化,跟蹤存儲(chǔ)器能同步地記錄總線上的信息,用戶可以根據(jù)需要顯示跟蹤存儲(chǔ)器搜集到的信息,也可以顯示某一位總線狀態(tài)變化的波形。使用戶掌握總線上狀態(tài)變化的過(guò)程,對(duì)各種故障的定位特別有用,可大大提高工作效率。 上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇4 程序固化功能當(dāng)單片機(jī)應(yīng)用系統(tǒng)程序調(diào)試完后,都要把它寫(xiě)入只讀存儲(chǔ)器,然后加適當(dāng)?shù)木?/p>
26、程電壓,使程序燒制到只讀存儲(chǔ)器中,這稱為程序固化。一般開(kāi)發(fā)系統(tǒng)都具有以不同速度固化不同容量EPROM芯片的功能,有些開(kāi)發(fā)系統(tǒng)也可以固化EEPROM芯片。7.2.1.1.3 輔助設(shè)計(jì)功能軟件輔助設(shè)計(jì)功能的強(qiáng)弱也是衡量單片機(jī)開(kāi)發(fā)系統(tǒng)性能高低的重要標(biāo)志。單片機(jī)應(yīng)用系統(tǒng)軟件開(kāi)發(fā)的效率在很大程度上取決于開(kāi)發(fā)系統(tǒng)的輔助設(shè)計(jì)功能。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇1 程序設(shè)計(jì)語(yǔ)言單片機(jī)的程序設(shè)計(jì)語(yǔ)言有機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。機(jī)器語(yǔ)言只在簡(jiǎn)單的開(kāi)發(fā)裝置中才使用,程序的設(shè)計(jì)、輸入、修改和調(diào)試都很麻煩。只能用來(lái)開(kāi)發(fā)非常簡(jiǎn)單的單片機(jī)應(yīng)用系統(tǒng)。匯編語(yǔ)言具有使用靈活、程序容易優(yōu)化的特點(diǎn),故是單片機(jī)中最常
27、用的程序設(shè)計(jì)語(yǔ)言。但是用匯編語(yǔ)言編寫(xiě)程序還是比較復(fù)雜,只有對(duì)單片機(jī)的指令系統(tǒng)非常熟悉,并具有一定的程序設(shè)計(jì)經(jīng)驗(yàn),才能研制出功能復(fù)雜的應(yīng)用程序。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇高級(jí)語(yǔ)言通用性好、程序設(shè)計(jì)人員只要掌握開(kāi)發(fā)系統(tǒng)所提供的高級(jí)語(yǔ)言的使用方法,就可以直接用該語(yǔ)言編寫(xiě)程序。MCS-51系列單片機(jī)的編譯型高級(jí)語(yǔ)言有:PL/M51、C-51、MBASIC-51等。解釋型高級(jí)語(yǔ)言有BASIC-52、TINYBASIC等。編譯型高級(jí)語(yǔ)言可生成機(jī)器碼,解釋型高級(jí)語(yǔ)言必須在解釋程序支持下直接解釋執(zhí)行,因此編譯型高級(jí)語(yǔ)言才能作為微機(jī)開(kāi)發(fā)語(yǔ)言。高級(jí)語(yǔ)言對(duì)不熟悉單片機(jī)指令系統(tǒng)的用戶比較適用,這種語(yǔ)
28、言的缺點(diǎn)是不宜編寫(xiě)出實(shí)時(shí)性很強(qiáng)的、高質(zhì)量的、緊湊的程序。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇2 程序編輯幾乎所有的單片機(jī)開(kāi)發(fā)系統(tǒng)都能與PC機(jī)連接,允許用戶用PC機(jī)的編輯程序編寫(xiě)匯編語(yǔ)言或高級(jí)語(yǔ)言編寫(xiě)程序??墒褂脩舴奖愕貙⒃闯绦蜉斎氲接?jì)算機(jī)開(kāi)發(fā)系統(tǒng)中,生成匯編語(yǔ)言或高級(jí)語(yǔ)言的源文件。然后利用開(kāi)發(fā)系統(tǒng)提供的匯編或編譯系統(tǒng)在PC機(jī)上,將源程序編譯成可在目標(biāo)機(jī)上直接運(yùn)行的目標(biāo)程序。由于開(kāi)發(fā)型單片單板機(jī)一般都具有能和PC機(jī)串行通信的接口,在PC機(jī)上生成的目標(biāo)程序可通過(guò)命令直接傳輸?shù)介_(kāi)發(fā)機(jī)的RAM中。這大大減輕了人工輸入機(jī)器碼的繁重勞動(dòng)。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇7.2.1.2
29、仿真器系統(tǒng)實(shí)例為使讀者對(duì)單片機(jī)開(kāi)發(fā)系統(tǒng)有一個(gè)具體的了解,我們?cè)诖撕?jiǎn)介一種國(guó)內(nèi)應(yīng)用較廣的機(jī)種 DVCC-52JH開(kāi)發(fā)型單片單板機(jī),以下簡(jiǎn)稱JH機(jī)。JH機(jī)是一臺(tái)功能齊全的普及型單片單板機(jī)。該機(jī)由仿真技術(shù)和實(shí)驗(yàn)電路構(gòu)成,它既支持MCS-51單片機(jī)的全部實(shí)驗(yàn)和接口電路實(shí)驗(yàn),又可仿真開(kāi)發(fā)MCS-51單片機(jī)的應(yīng)用系統(tǒng)。7.2.1.2.1 JH開(kāi)發(fā)機(jī)的硬件結(jié)構(gòu)圖7-4為JH開(kāi)發(fā)機(jī)的硬件結(jié)構(gòu)框圖,圖中虛線框內(nèi)為JH開(kāi)發(fā)機(jī)主機(jī)板部分,框外為可以配接的外設(shè)。 上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇JH機(jī)是一個(gè)特殊的8031擴(kuò)展系統(tǒng)。由圖可見(jiàn),它的核心部分是8031。它擴(kuò)展了128K字節(jié)的ROM(1塊2751
30、2)作為監(jiān)控程序存儲(chǔ)器,具有豐富的操作功能;擴(kuò)展了64K字節(jié)的RAM(2塊62256)作為用戶源程序存儲(chǔ)器和仿真RAM區(qū);擴(kuò)展了一片8155 RAM/IO接口片,8155三個(gè)并行口分別與鍵盤(pán)、顯示器接口。JH開(kāi)發(fā)機(jī)具有32個(gè)鍵的鍵盤(pán),使用和功能詳見(jiàn)操作手冊(cè),在此不贅述。JH機(jī)擴(kuò)展了一片8255并行接口片作為固化器接口、打印機(jī)接口和RS232串行口。通過(guò)RS232C接口,JH機(jī)可以與PC等聯(lián)機(jī)工作。8031的40芯引腳除了連接晶振的兩端外,其余全部通過(guò)40芯仿真接口引出。開(kāi)發(fā)用戶系統(tǒng)時(shí),通過(guò)40芯插頭,插入用戶系統(tǒng)的8031插座上,作仿真調(diào)試。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇7.2.
31、1.2.1 功能特點(diǎn)DVCC-51JH開(kāi)發(fā)機(jī)作為8031應(yīng)用系統(tǒng)的研制工具,在功能上具有如下特點(diǎn):1 源程序編輯功能JH機(jī)允許用戶在本機(jī)RAM空間編輯一個(gè)機(jī)器語(yǔ)言目標(biāo)程序,它為用戶提供了豐富的編輯命令,其中包括讀、寫(xiě)、地址減1、增1、插入、刪除、偏移量計(jì)算、程序搬家等命令。2 屏幕系統(tǒng)功能JH機(jī)除了可通過(guò)RS232接口與PC等系統(tǒng)機(jī)聯(lián)機(jī)使用之外,還為不具備系統(tǒng)機(jī)的用戶提供了TV屏幕系統(tǒng)。該系統(tǒng)以菜單形式,向用戶提供編輯、匯編、反匯編、打印、EPROM固化、傳送、調(diào)試等功能,可類似PC機(jī)工作(功能不如PC機(jī)那樣完善,且不能將程序存盤(pán)),但價(jià)格比PC機(jī)便宜。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及
32、選擇3 仿真功能JH機(jī)采用CPU切換方式,把機(jī)中8031分成兩個(gè)狀態(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ī)以單拍、跟蹤、斷點(diǎn)、實(shí)時(shí)斷點(diǎn)和連續(xù)方式運(yùn)行目標(biāo)程序。在上述運(yùn)行過(guò)程中,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)場(chǎng),擴(kuò)展RAM和l/O現(xiàn)場(chǎng),目標(biāo)系統(tǒng)程序等,幫助用戶快速診斷出目標(biāo)樣機(jī)的硬件故障和軟件錯(cuò)誤。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇5 一次性開(kāi)發(fā)由于JH機(jī)的仿真空間(0000HFFFFH)可完全出讓給用戶,使聯(lián)機(jī)成功后的MCS-51目標(biāo)系統(tǒng)程序固化后,目標(biāo)系統(tǒng)便研制成功。本書(shū)后面的實(shí)驗(yàn)部分將由該系統(tǒng)完成,具體內(nèi)容可見(jiàn)實(shí)驗(yàn)部分介紹。7.2.2 其他工具1 邏輯筆 邏輯筆主要用于判別電路中某點(diǎn)的電平狀態(tài)(高電平、低電平,還是脈沖),是數(shù)字電路系統(tǒng)中常用的檢測(cè)工具。2 萬(wàn)用表(數(shù)字或指針式)萬(wàn)用表是最基本的電子測(cè)量工具,主要用于測(cè)量電路系統(tǒng)中各節(jié)點(diǎn)間電壓或各節(jié)點(diǎn)對(duì)
34、地電壓、電路中兩點(diǎn)通斷、判別元器件的好壞。上一頁(yè)下一頁(yè)返回7.2 單片機(jī)開(kāi)發(fā)工具及選擇3 通用編程器由于目前內(nèi)置ROM存儲(chǔ)器芯片的單片機(jī)CPU已成為主流芯片,程序調(diào)試結(jié)束后,需要在編程器上將調(diào)試好的程序代碼寫(xiě)入CPU內(nèi)的程序存儲(chǔ)器中。4 IC插座在單片機(jī)開(kāi)發(fā)過(guò)程中,可能需要各種規(guī)格的IC插座。例如當(dāng)遇到目標(biāo)板上CPU插座周?chē)脑骷?,如電解電容、晶振等太高,妨礙仿真頭插入時(shí),可使用一到兩塊IC插座抬高CPU插座,以方便仿真頭的插入。上一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì) 由于單片機(jī)芯片主要應(yīng)用于工業(yè)控制、智能化儀器儀表和家用電器,因此,對(duì)單片機(jī)應(yīng)用系統(tǒng)的可靠性提出了較高的要求。導(dǎo)致計(jì)算機(jī)系統(tǒng)出錯(cuò)和不
35、可靠的原因是電磁干擾、電源電壓及溫度波動(dòng)、環(huán)境濕度大等,這些因素使程序計(jì)數(shù)器PC“走飛”或內(nèi)部RAM及寄存器數(shù)據(jù)出錯(cuò)。程序計(jì)數(shù)器PC“走飛”會(huì)導(dǎo)致:1 PC“走飛”,跳過(guò)部分程序段。如果跳過(guò)的部分正好是接收輸入數(shù)據(jù),則將造成隨后的數(shù)據(jù)處理不正常。2 拆分多字節(jié)指令,即將一條指令的操作數(shù)部分當(dāng)作指令碼執(zhí)行,如果這一“指令碼”屬于多字節(jié)指令,又繼續(xù)拆分下一指令,即把下一指令的操作碼作為操作數(shù)。3 跳到數(shù)據(jù)區(qū),把數(shù)據(jù)當(dāng)作指令執(zhí)行。下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)后兩種情況產(chǎn)生的結(jié)果無(wú)法預(yù)料,程序設(shè)計(jì)者畢竟無(wú)法預(yù)測(cè)拆分哪一條指令,因此也就無(wú)法預(yù)料拆分后的指令的功能。也許會(huì)出現(xiàn)改寫(xiě)內(nèi)部RAM、特殊功能寄
36、存器內(nèi)容,造成數(shù)據(jù)丟失,關(guān)閉中斷、改變外設(shè)工作方式,或進(jìn)入死循環(huán)。在計(jì)算機(jī)系統(tǒng)中,理論上PC“走飛”不可避免。為此需要針對(duì)不同情況,在硬件、軟件上采取相應(yīng)措施,減少PC“走飛”的次數(shù),把系統(tǒng)故障率降到最低。在硬件上: 1 在電磁干擾嚴(yán)重的環(huán)境下,才采用電磁屏蔽措施和對(duì)輸入輸出通道采取隔離措施,強(qiáng)化外部RAM片選信號(hào)被選中的條件。2 對(duì)于電壓波動(dòng)要改善穩(wěn)壓電源的動(dòng)態(tài)特性,如增加輸出濾波電容以減小穩(wěn)壓電源動(dòng)態(tài)電阻,在印制板上布CPU電源線,地線單獨(dú)布線,形成單點(diǎn)接地。3 對(duì)于溫度波動(dòng)應(yīng)合理安排印制板上的元器件的位置,熱敏感元件應(yīng)遠(yuǎn)離發(fā)熱量大的元件,改善通風(fēng)散熱效果。 上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可
37、靠性設(shè)計(jì)在軟件上: 1 增加看門(mén)狗定時(shí)器、軟件陷阱。軟件看門(mén)狗可靠性不高,原因是PC“走飛”后,可能關(guān)閉定時(shí)器或禁止中斷,導(dǎo)致軟件看門(mén)狗無(wú)法溢出,使失控系統(tǒng)無(wú)法恢復(fù)。而硬件看門(mén)狗定時(shí)器啟動(dòng)后,除復(fù)位外,不能關(guān)閉。因此,當(dāng)PC“走飛”后,如果不能清除看門(mén)狗定時(shí)器,就有機(jī)會(huì)溢出。 2 在程序器容量允許情況下,增加冗余指令(如在定時(shí)中斷服務(wù)程序中,增加外設(shè)部件初始化指令,如開(kāi)中斷、重寫(xiě)中斷優(yōu)先級(jí)等。當(dāng)內(nèi)部;外部RAM資源用不完時(shí),在特定單元設(shè)置標(biāo)志信息,并在中斷服務(wù)程序中定期檢查,當(dāng)發(fā)現(xiàn)這些標(biāo)志被改時(shí),數(shù)據(jù)可能失效,需要做相應(yīng)處理)。 3 對(duì)重要數(shù)據(jù)要做備份,數(shù)據(jù)傳送過(guò)程中要校驗(yàn)。上一頁(yè)下一頁(yè)返回7
38、.3 系統(tǒng)可靠性設(shè)計(jì)可靠性是單片機(jī)應(yīng)用系統(tǒng)的重要指標(biāo)之一,單片機(jī)應(yīng)用系統(tǒng)的可靠性通常是指在規(guī)定的條件下和規(guī)定的時(shí)間內(nèi),完成規(guī)定的動(dòng)作的能力。其中規(guī)定條件是指系統(tǒng)工作時(shí)所處的環(huán)境條件(溫度、濕度、振動(dòng)、電磁干擾等)、維護(hù)條件、使用條件等;規(guī)定時(shí)間是指考察系統(tǒng)是否正常工作的起止時(shí)間,即平均無(wú)故障工作時(shí)間;規(guī)定動(dòng)作則是系統(tǒng)應(yīng)當(dāng)實(shí)現(xiàn)的功能。提高系統(tǒng)的可靠性也就是要減少系統(tǒng)的故障,而引起故障的因素來(lái)自系統(tǒng)內(nèi)部和外部?jī)蓚€(gè)方面: 1 外部因素。例如環(huán)境溫度、濕度(漏電流大,造成局部電位變化)、電源的波動(dòng)、電磁干擾、振動(dòng)、腐蝕等。 2 內(nèi)部因素。它出現(xiàn)在系統(tǒng)的硬件及軟件上,其中包括電路連線短路或開(kāi)路,構(gòu)成電路
39、的元器件損壞、失效等,另外還包括軟件設(shè)計(jì)中的問(wèn)題。 上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)一個(gè)高可靠性的單片機(jī)應(yīng)用系統(tǒng)是通過(guò)可靠性設(shè)計(jì)而獲得的,并通過(guò)可靠地生產(chǎn)和可靠地使用及維護(hù)來(lái)保證的。因此,在系統(tǒng)設(shè)計(jì)時(shí)要充分利用可靠性的概念和方法考慮系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì)。 7.3.1 硬件可靠性設(shè)計(jì)在單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計(jì)時(shí),常采用的一些可靠性措施有:1提高元器件的可靠性在系統(tǒng)硬件設(shè)計(jì)和加工時(shí),應(yīng)選用質(zhì)量好的接插件,并設(shè)計(jì)好工藝結(jié)構(gòu);選用合格的元器件,并進(jìn)行嚴(yán)格的測(cè)試、篩選和老化處理。設(shè)計(jì)時(shí)技術(shù)參數(shù)(如負(fù)載)要留有一定的余量或降額使用元器件,提高印制板和組裝的質(zhì)量。上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)
40、計(jì)2冗余與容錯(cuò)設(shè)計(jì)要保證單片機(jī)應(yīng)用系統(tǒng)無(wú)故障是不可能的,容錯(cuò)是指當(dāng)系統(tǒng)的某個(gè)部件發(fā)生故障時(shí),系統(tǒng)仍能完全正常的工作,即給系統(tǒng)增加了容忍故障的能力。為了使系統(tǒng)具有容錯(cuò)能力,必須在系統(tǒng)中增加適當(dāng)?shù)娜哂鄦卧?,以保證當(dāng)某個(gè)部件發(fā)生故障時(shí)能由冗余部件接替其工作,原部件修復(fù)后再恢復(fù)出錯(cuò)前的狀態(tài)。硬件冗余設(shè)計(jì)可以在元件級(jí)、子系統(tǒng)級(jí)或系統(tǒng)級(jí)上進(jìn)行。例如,在系統(tǒng)級(jí)上可采用雙機(jī)系統(tǒng),兩套系統(tǒng)可互為備用。3采用抗干擾措施來(lái)自供電系統(tǒng)及通過(guò)導(dǎo)線傳輸、電磁耦合等產(chǎn)生的電磁干擾信號(hào),是單片機(jī)系統(tǒng)工作不穩(wěn)定的重要因素,在系統(tǒng)硬件設(shè)計(jì)時(shí)必須采取有效的干擾抑制措施。另外,單片機(jī)應(yīng)用系統(tǒng)中還常使用系統(tǒng)監(jiān)視電路來(lái)檢測(cè)系統(tǒng)發(fā)生的錯(cuò)誤
41、或故障,并自動(dòng)報(bào)警或使系統(tǒng)自動(dòng)恢復(fù)正常工作狀態(tài)。 上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)7.3.2 系統(tǒng)自診斷技術(shù)自診斷又稱“自檢”,是通過(guò)軟硬件配合來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)故障的自動(dòng)檢測(cè),它有上電自檢、定時(shí)自檢和鍵控自檢三種形式。通過(guò)自檢可以及時(shí)發(fā)現(xiàn)系統(tǒng)問(wèn)題,防止系統(tǒng)病態(tài)運(yùn)行,從而增強(qiáng)了操作者對(duì)系統(tǒng)的可信度。1CPU診斷指令系統(tǒng)診斷。單片機(jī)執(zhí)行完一個(gè)包含有傳送指令、算術(shù)運(yùn)算指令、邏輯運(yùn)算指令、位傳送指令、位邏輯操作指令的程序,累加器A中的數(shù)據(jù)應(yīng)為預(yù)定值,否則就有問(wèn)題。(1)片內(nèi)RAM診斷??刹捎萌缦逻^(guò)程對(duì)片內(nèi)RAM每一個(gè)單元進(jìn)行測(cè)試,讀出備份寫(xiě)入再讀出與備份比較,若相同則重新寫(xiě)入原單元,否則設(shè)置不正確標(biāo)
42、志,說(shuō)明片內(nèi)RAM有問(wèn)題。上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)(2)定時(shí)器及中斷診斷。用軟件延時(shí)來(lái)檢測(cè)定時(shí)的準(zhǔn)確性,即定時(shí)器以定時(shí)方式運(yùn)行。如能按時(shí)溢出,則置位溢出標(biāo)志;否則延時(shí)時(shí)間到,停止定時(shí)器計(jì)數(shù),無(wú)溢出,表明定時(shí)器有問(wèn)題。利用定時(shí)中斷來(lái)檢測(cè)中斷系統(tǒng)是否有問(wèn)題,即若允許定時(shí)中斷,并在中斷服務(wù)程序中作一件事通知自檢程序,則可以根據(jù)這件事是否發(fā)生來(lái)判斷中斷是否發(fā)生。注意:對(duì)于803l單片機(jī),診斷程序放在片外ROM中,因此CPU診斷過(guò)程必須以三總線(包括地址鎖存器)沒(méi)有問(wèn)題和EPROM中的診斷程序也正確為前提。2ROM診斷常使用靜態(tài)測(cè)試法進(jìn)行診斷,當(dāng)將系統(tǒng)程序及自檢程序固化到ROM中去的時(shí)候,
43、先仔細(xì)計(jì)算其機(jī)器代碼的累加和,并取其結(jié)果的低16位。在固化程序的同時(shí),將上述累加結(jié)果一起固化到ROM特定單元(一般是放在ROM的最后兩個(gè)地址單元中)。在對(duì)ROM進(jìn)行檢查時(shí),只需對(duì)固化在ROM的程序代碼計(jì)算累加,并將結(jié)果與事先固化的內(nèi)容進(jìn)行比較,從而判斷出ROM的完好性。上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)3外部RAM診斷可采用與片內(nèi)RAM診斷相同的方法。此外,由于RAM的故障多數(shù)是以大片區(qū)域被破壞的形式出現(xiàn)的,因此也可采用RAM分段放置標(biāo)志數(shù)的方法來(lái)判斷RAM的區(qū)域是否被破壞。4A/D、D/A轉(zhuǎn)換通道的診斷和校正在使用模擬電路的系統(tǒng)中,A/D轉(zhuǎn)換器芯片只有一片時(shí),通常是用多路模擬開(kāi)關(guān)(一些A
44、/D轉(zhuǎn)換器自帶多路模擬開(kāi)關(guān))來(lái)切換各路輸入信號(hào),實(shí)現(xiàn)分時(shí)采樣轉(zhuǎn)換。對(duì)A/D通道的診斷方法是在某一路模擬輸入端加上一個(gè)已知的模擬電壓,啟動(dòng)A/D轉(zhuǎn)換后讀取轉(zhuǎn)換結(jié)果。如果等于預(yù)定值,則A/D通道正常;若有少許偏差,則說(shuō)明A/D通道發(fā)生少許漂移,應(yīng)求出校正系數(shù),供信號(hào)通道進(jìn)行校正運(yùn)算;如果偏差過(guò)大,則為故障現(xiàn)象。上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)D/A通道診斷需借助A/D的一個(gè)輸入通道。在已經(jīng)進(jìn)行過(guò)A/D診斷并獲知其正常后,將預(yù)定值送D/A轉(zhuǎn)換,D/A轉(zhuǎn)換后的模擬電壓通過(guò)分壓電阻接到A/D轉(zhuǎn)換的某個(gè)輸入端,啟動(dòng)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ù)點(diǎn)、符號(hào)、提示符等。自檢程序可將數(shù)碼管的所有筆劃段點(diǎn)亮(包括小數(shù)點(diǎn)),由操作者檢查數(shù)碼管是否缺段,也可以設(shè)置循環(huán)輸出全0到全9的數(shù)字,小數(shù)點(diǎn)在各位上循環(huán)顯示,以及顯示特定的提示信息,借以檢查數(shù)字I/O通道是否正常。上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)(2) 鍵盤(pán)的診斷當(dāng)操作者按下某個(gè)鍵后,自檢程序可通過(guò)一個(gè)I/O口驅(qū)動(dòng)蜂鳴器發(fā)聲或由數(shù)碼管顯示器顯示出某個(gè)數(shù)字及符號(hào)。當(dāng)按某鍵時(shí)聽(tīng)不到發(fā)聲或顯示錯(cuò)誤,就可以判斷鍵盤(pán)系統(tǒng)出現(xiàn)故障。如果是某個(gè)鍵有問(wèn)題,往往是接觸不良;
46、如果是某排鍵有問(wèn)題,一定是對(duì)應(yīng)的鍵掃描電路有故障;若全部鍵無(wú)相應(yīng),則鍵盤(pán)掃描系統(tǒng)已癱瘓或監(jiān)控程序己癱瘓。以上介紹了常用的硬件電路的故障自動(dòng)診斷方法。在實(shí)際應(yīng)用中可根據(jù)系統(tǒng)的需要,選擇若干個(gè)措施組合成一個(gè)完整的硬件自診斷模塊。上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)7.3.3 系統(tǒng)抗干擾性能在實(shí)際應(yīng)用中,經(jīng)常會(huì)遇到這種情況:在實(shí)驗(yàn)室中已經(jīng)調(diào)試好的樣機(jī),拿到工業(yè)現(xiàn)場(chǎng)中運(yùn)行總是不穩(wěn)定。例如,周?chē)哪硞€(gè)大功率耗電設(shè)備啟動(dòng)時(shí),樣機(jī)控制就失靈。這種情況一般都是因?yàn)樵谙到y(tǒng)設(shè)計(jì)過(guò)程中沒(méi)能很好地考慮系統(tǒng)的抗干擾問(wèn)題。其實(shí),系統(tǒng)的抗干擾性能是單片機(jī)應(yīng)用系統(tǒng)可靠性的重要指標(biāo),它設(shè)計(jì)的好壞影響著系統(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)的干擾主要有三種來(lái)源,即:場(chǎng)干擾,通過(guò)電磁波輻射進(jìn)入系統(tǒng);輸入/輸出通道干擾,通過(guò)與主機(jī)相連的輸入/輸出通道及與其他主機(jī)的相連通道進(jìn)入;供電系統(tǒng)干擾,由電源供電電路引入干擾。一般情況下場(chǎng)干擾在強(qiáng)度上遠(yuǎn)小于其他兩個(gè)干擾源,而且場(chǎng)干擾可用良好的屏蔽與正確的接地、高頻濾波加以解決。因此單片機(jī)應(yīng)用系統(tǒng)中重點(diǎn)防止供電系統(tǒng)干擾和輸入/輸出通道的干擾。 上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)7.3.3.2 硬件抗干擾措施1 輸入/輸出通道干擾的抑制措施對(duì)輸入/輸出通道干擾的抑制通常采用隔離和濾波技術(shù)。常用的隔
48、離器件有:隔離變壓器、光電耦合器、繼電器和隔離放大器等,其中光電耦合器應(yīng)用最廣泛。在輸入和輸出通道中采用光電耦合器將單片機(jī)系統(tǒng)與各種傳感器、開(kāi)關(guān)、執(zhí)行機(jī)構(gòu)從電氣上隔離開(kāi)來(lái),很大一部分干擾將被阻擋。通常是將光電隔離器放在A/D、D/A轉(zhuǎn)換器附近。另外,光電隔離前后兩部分電路應(yīng)分別采用兩組獨(dú)立的電源供電。當(dāng)數(shù)字通道輸出的開(kāi)關(guān)量是用于控制大負(fù)荷設(shè)備時(shí),就不宜用光電耦合器,而采用繼電器隔離輸出,此時(shí)要在單片機(jī)輸出端的鎖存器74LS273與繼電器間設(shè)置一個(gè)OC門(mén)驅(qū)動(dòng)器,用以提供較高的驅(qū)動(dòng)電流。硬件濾波電路常采用RC低通濾波器,將它接在一些低頻信號(hào)傳送電路中,可大大削弱各類高頻干擾信號(hào)。上一頁(yè)下一頁(yè)返回7
49、.3 系統(tǒng)可靠性設(shè)計(jì)2 供電系統(tǒng)干擾的抑制措施單片機(jī)應(yīng)用系統(tǒng)的供電線路是干擾的主要入侵途徑,通常采用的抑制措施有如下幾種:(1)單片機(jī)系統(tǒng)的供電線路和產(chǎn)生干擾的用電設(shè)備分開(kāi)供電。通常干擾源為各類大功率設(shè)備,如電機(jī)等。對(duì)于小的單片機(jī)系統(tǒng),可采用CMOS芯片,設(shè)計(jì)成低功耗系統(tǒng)用電池供電,干擾可減少。(2)通過(guò)低通濾波器和隔離變壓器接入電網(wǎng)。低通濾波器可以吸收大部分電網(wǎng)中的諧波,隔離變壓器是在初級(jí)繞組和次級(jí)繞組之間多加一層屏蔽層,并將它和鐵芯一起接地,防止干擾通過(guò)初級(jí)與次級(jí)繞組之間的電容效應(yīng)進(jìn)入單片機(jī)供電系統(tǒng)。(3)整流元件上并接濾波電容,可以在很大程度上削弱高頻干擾。上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可
50、靠性設(shè)計(jì)(4)選用高質(zhì)量的穩(wěn)壓電路,使輸出直流電壓上的紋波很小,干擾難以在輸出端形成。(5)數(shù)字信號(hào)采用負(fù)邏輯傳輸。如果定義低電平為有效電平,高電平為無(wú)效電平,就可以減少干擾引起的誤操作,提高數(shù)字信號(hào)傳輸?shù)目煽啃浴? 電磁場(chǎng)干擾的抑制措施電磁場(chǎng)的干擾可采用屏蔽與接地等措施。用金屬外殼或金屬屏蔽罩將整機(jī)或部分元件包圍起來(lái),再將金屬外殼接地,就能起到屏蔽作用。單片機(jī)系統(tǒng)中有數(shù)字地、交流地、信號(hào)地、屏蔽地(機(jī)殼地),應(yīng)分開(kāi)連接不同性質(zhì)的地。印制板中的地線應(yīng)接成網(wǎng)狀,而且其他布線不要形成回路,特別是環(huán)繞外周的環(huán)路,接地線根據(jù)電路通路最好逐漸加寬,并且不要小于3mm。在高頻情況下電路板多采用大面積地線直
51、接與機(jī)殼直接相連,形成多點(diǎn)接地方式。強(qiáng)信號(hào)地線和弱信號(hào)地線要分開(kāi)。上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì) 4 減小CPU芯片工作時(shí)產(chǎn)生的電磁輻射如果CPU工作產(chǎn)生的電磁輻射干擾了系統(tǒng)內(nèi)無(wú)線接收電路時(shí),除了對(duì)CPU芯片采取屏蔽措施外,還必須:(1)在滿足速度要求前提下,盡可能降低系統(tǒng)時(shí)鐘頻率。因?yàn)闀r(shí)鐘頻率越低,晶振電路產(chǎn)生的電磁輻射量越小。(2)盡量避免擴(kuò)展外部存儲(chǔ)器,即盡可能使用內(nèi)含F(xiàn)lash ROM、OTP ROM存儲(chǔ)器的芯片,且禁止ALE輸出。上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)7.3.3.3 軟件抗干擾技術(shù)為了提高單片機(jī)應(yīng)用系統(tǒng)的可靠性,僅靠硬件抗干擾措施是不夠的,需要進(jìn)一步借助于軟件措施來(lái)克服某些干擾。作用于數(shù)字I/O通道上的干擾可采用多次重復(fù)采集、多次輸出同一數(shù)據(jù)的方法來(lái)消除;作用于模擬輸入通道上的干擾可采用數(shù)字濾波的方法來(lái)消除。對(duì)CPU的干擾可采用指令冗余、軟件陷阱和軟件“看門(mén)狗”等措施。上一頁(yè)下一頁(yè)返回7.3 系統(tǒng)可靠性設(shè)計(jì)1 指令冗余
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年健身會(huì)員俱樂(lè)部合約
- 2025年代理經(jīng)營(yíng)費(fèi)用協(xié)議
- 2025年企業(yè)員工補(bǔ)償合同
- 2025年版墓地陵園墓地使用權(quán)轉(zhuǎn)讓合同4篇
- 二零二五年度環(huán)保裝備制造股東個(gè)人股權(quán)轉(zhuǎn)讓與綠色制造協(xié)議3篇
- 2025版高端木屋建造工程承包合同書(shū)4篇
- 2025年食堂蔬菜糧油品質(zhì)認(rèn)證與采購(gòu)合同范本3篇
- 二零二五年度農(nóng)業(yè)項(xiàng)目財(cái)務(wù)補(bǔ)貼代理協(xié)議3篇
- 2025版地下空間施工補(bǔ)充協(xié)議(含抗震減災(zāi)要求)3篇
- 2025年度木材供應(yīng)鏈金融服務(wù)合作協(xié)議4篇
- 勞務(wù)協(xié)議范本模板
- 人教版(2024)數(shù)學(xué)七年級(jí)上冊(cè)期末測(cè)試卷(含答案)
- 2024年國(guó)家保密培訓(xùn)
- 2024年公務(wù)員職務(wù)任命書(shū)3篇
- CFM56-3發(fā)動(dòng)機(jī)構(gòu)造課件
- 會(huì)議讀書(shū)交流分享匯報(bào)課件-《殺死一只知更鳥(niǎo)》
- 2025屆撫州市高一上數(shù)學(xué)期末綜合測(cè)試試題含解析
- 公司印章管理登記使用臺(tái)賬表
- 磚廠承包合同簽訂轉(zhuǎn)讓合同
- 思政課國(guó)內(nèi)外研究現(xiàn)狀分析
- 2023年公務(wù)員多省聯(lián)考《申論》題(廣西B卷)
評(píng)論
0/150
提交評(píng)論