2019-03-08 11:03:51分類(lèi):硬件開(kāi)發(fā)9848
隨著大規(guī)模集成電路技術(shù)的發(fā)展,單片微型計(jì)算機(jī)也隨之大發(fā)展,各種新穎的單片機(jī)層出不窮。單片機(jī)具有體積小、重量輕、應(yīng)用靈活且價(jià)格低廉等特點(diǎn),廣泛地應(yīng)用于人類(lèi)生活的各個(gè)領(lǐng)域,成為當(dāng)今科學(xué)技術(shù)現(xiàn)代化不可缺少的重要工具。
單片機(jī)系統(tǒng)的開(kāi)發(fā)融合了硬件和軟件的相關(guān)技術(shù)。要完成單片機(jī)系統(tǒng)的開(kāi)發(fā),用戶(hù)不僅需要掌握編程技術(shù),還需要針對(duì)實(shí)際應(yīng)用選擇合理的單片機(jī)芯片和外圍器件,以此為基礎(chǔ),設(shè)計(jì)硬件電路。
以單片機(jī)為例,了解單片機(jī)開(kāi)發(fā)的規(guī)則與注意事項(xiàng)。
1、設(shè)計(jì)滿(mǎn)足要求的最精簡(jiǎn)的系統(tǒng)
正確估計(jì)單片機(jī)的能力,知道單片機(jī)能做什么,最大程度的挖掘單片機(jī)的潛力對(duì)一個(gè)單片機(jī)系統(tǒng)設(shè)計(jì)者來(lái)說(shuō)是至關(guān)重要的。單片機(jī)的能力的關(guān)鍵就在軟件設(shè)計(jì)者編寫(xiě)的軟件上。只有充分地了解到單片機(jī)的能力,才不會(huì)做出“冗余”的系統(tǒng)設(shè)計(jì)。而采用許多的外圍芯片來(lái)實(shí)現(xiàn)單片機(jī)能實(shí)現(xiàn)的功能。這樣做,即增加了系統(tǒng)成本,也可能會(huì)降低了系統(tǒng)的可靠性。
2、使用看門(mén)狗
看門(mén)狗電路通常是一塊在有規(guī)律的時(shí)間間隔中進(jìn)行更新的硬件。更新一般由單片機(jī)來(lái)完成,如果在一定間隔內(nèi)沒(méi)能更新看門(mén)狗,那看門(mén)狗將產(chǎn)生復(fù)位信號(hào),重新復(fù)位單片機(jī)。更新看門(mén)狗的具體形式多是給看門(mén)狗芯片相關(guān)引腳提供一個(gè)電平上升沿或讀寫(xiě)它的某個(gè)寄存器。使用看門(mén)狗電路將在單片機(jī)發(fā)生故障進(jìn)行死機(jī)狀態(tài)時(shí),重新復(fù)位單片機(jī),像本身就帶有看門(mén)狗。
3、確定系統(tǒng)的復(fù)位信號(hào)可靠
一般在單片機(jī)的數(shù)據(jù)手冊(cè)(Datasheet)中都會(huì)提到該單片機(jī)需要的復(fù)位信號(hào)的要求。一般復(fù)位信號(hào)的寬度應(yīng)為。復(fù)位電平的寬度和幅度都應(yīng)滿(mǎn)足芯片的要求,并且要求保持穩(wěn)定。還有特別重要的一點(diǎn)就是復(fù)位電平應(yīng)與電源上電在同一時(shí)刻發(fā)生,即芯片一上電,復(fù)位信號(hào)就已產(chǎn)生。不然,由于沒(méi)有經(jīng)過(guò)復(fù)位,單片機(jī)中的寄存器的值為隨機(jī)值,上電時(shí)就會(huì)按PC寄存器中的隨機(jī)內(nèi)容開(kāi)始運(yùn)行程序,這樣很容易進(jìn)行誤操作或進(jìn)入死機(jī)狀態(tài)。
4、確定系統(tǒng)的初始化有效
系統(tǒng)中的芯片以及器件從上電開(kāi)始到正常工作的狀態(tài)往往有一段時(shí)間,程序開(kāi)始時(shí)延時(shí)一段時(shí)間,是讓系統(tǒng)中所有器件到達(dá)正常工作狀態(tài)。究竟延時(shí)多少才算合適?這取決于系統(tǒng)的各芯片中到達(dá)正常工作狀態(tài)的時(shí)間,通常以最慢的為準(zhǔn)。一般來(lái)說(shuō),的延時(shí)20-100毫秒已經(jīng)足夠。對(duì)于系統(tǒng)中使用嵌入式MODEM等“慢熱”型的器件來(lái)說(shuō),則應(yīng)更長(zhǎng)。當(dāng)然,這都需要在系統(tǒng)實(shí)際運(yùn)行中進(jìn)行調(diào)整。
當(dāng)然,仿真是單片機(jī)開(kāi)發(fā)過(guò)程中非常重要的一個(gè)環(huán)節(jié),除了一些極簡(jiǎn)單的任務(wù),一般產(chǎn)品開(kāi)發(fā)過(guò)程中都要進(jìn)行仿真,仿真的主要目的是進(jìn)行軟件調(diào)試,當(dāng)然借助仿真機(jī),也能進(jìn)行一些硬件排錯(cuò)。一塊單片機(jī)應(yīng)用電路板包括單片機(jī)部份及為達(dá)到使用目的而設(shè)計(jì)的應(yīng)用電路,仿真就是利用仿真機(jī)來(lái)代替應(yīng)用電路板(稱(chēng)目標(biāo)機(jī))的單片機(jī)部份,對(duì)應(yīng)用電路部份進(jìn)行測(cè)試、調(diào)試。仿真有CPU仿真和ROM仿真兩種,所謂CPU仿真是指用仿真機(jī)代替目標(biāo)機(jī)的CPU,由仿真機(jī)向目標(biāo)機(jī)的應(yīng)用電路部份供給各種信號(hào)、數(shù)據(jù),進(jìn)行調(diào)試的辦法。