一種專用的計(jì)算機(jī)系統(tǒng),嵌入式設(shè)計(jì)開發(fā)解析
什么是嵌入式系統(tǒng)?它的設(shè)計(jì)開發(fā)應(yīng)該注意什么?嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的嵌入式處理器控制板。事實(shí)上,所有帶有數(shù)字接口的設(shè)備,如手表、微波爐、錄像機(jī)、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個(gè)程序?qū)崿F(xiàn)整個(gè)控制邏輯。
一個(gè)嵌入式系統(tǒng)裝置一般都由嵌入式計(jì)算機(jī)系統(tǒng)和執(zhí)行裝置組成,嵌入式計(jì)算機(jī)系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心,由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層組成。執(zhí)行裝置也稱為被控對(duì)象,它可以接受嵌入式計(jì)算機(jī)系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。執(zhí)行裝置可以很簡(jiǎn)單,如手機(jī)上的一個(gè)微小型的電機(jī),當(dāng)手機(jī)處于震動(dòng)接收狀態(tài)時(shí)打開;也可以很復(fù)雜,如SONY 智能機(jī)器狗,上面集成了多個(gè)微小型控制電機(jī)和多種傳感器,從而可以執(zhí)行各種復(fù)雜的動(dòng)作和感受各種狀態(tài)信息。
從應(yīng)用對(duì)象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。下面就讓我們一起總結(jié)嵌入式設(shè)計(jì)開發(fā)中常見的11個(gè)問題。
1、單片機(jī)等小的外部總線
單片機(jī)等小的MCU一般都有外部總線,可以用來接真彩LCD(異步總線接口TFT顯示屏)。手機(jī)上,大部分都是用同步(先給出一個(gè)地址,然后連續(xù)的刷數(shù)據(jù))接口的屏。
2、ARM處理器的應(yīng)用場(chǎng)景
ARM7:工業(yè)控制、手機(jī);
ARM9:圖像顯示;
Cortex-A:高性能的應(yīng)用:手機(jī)、山寨本;
Cortex-M:低端的應(yīng)用;
Cortex-R:中端的應(yīng)用,比較少見;
3、ARM處理器的異常
一般情況下,前面的一些中斷(比如前15種)是由ARM公司自己設(shè)計(jì)的,并且是固定的,后面的部分中端則是由不同的芯片廠家定義的。
4、處理器的System Timer
System Timer 即Systick,在沒有OS時(shí),可以作為通用的定時(shí)器使用。在需要OS時(shí),可以作為OS的系統(tǒng)時(shí)鐘。
5、同一中斷的禁止和使能分別由不同的寄存器控制
目前,很多的處理中都會(huì)有這樣的現(xiàn)象,同一中斷的禁止和使能分別由不同的寄存器控制。禁止該中斷時(shí),向中斷屏蔽寄存器中對(duì)應(yīng)的位寫入1,使能該中斷時(shí),向中斷使能寄存器的對(duì)應(yīng)位寫入1。
這樣分開控制的好處是:
A.不用將中斷控制寄存器的值先讀出來,進(jìn)行或運(yùn)算后再寫回去;
B.直接寫1,不會(huì)影響到其它位所控制的中斷;
6、OD門輸出
在處理器電平與外設(shè)電平不匹配時(shí)可以使用。
7、如何設(shè)置IO的狀態(tài)以降低功耗
若某輸入引腳懸空,有漏電流,會(huì)耗電。判斷方法:用手摸時(shí),電流會(huì)變動(dòng)。
A.將不用的引腳設(shè)置為0或者1的輸出模式;
B.若配置為輸入引腳,應(yīng)將內(nèi)部上拉打開;
8、ADC和DAC
在系統(tǒng)睡眠時(shí),應(yīng)該將ADC和DAC關(guān)掉,否則會(huì)耗電。
9、看門狗的使用
A.不要在中斷中喂狗;
B.喂狗越?jīng)]有規(guī)律越好;
10、I2C總線
SDA和SCL都是雙向的,開漏驅(qū)動(dòng)的,使用時(shí)要加上拉電阻。
I2C協(xié)議的通訊過程:
A.發(fā)送start信號(hào)(誰發(fā)送start信號(hào),誰就是主機(jī))
B.發(fā)送從地址
C.傳輸數(shù)據(jù)
D.發(fā)送stop信號(hào)
用軟件模擬的I2C總線有如下缺點(diǎn):
A.不能進(jìn)行總線仲裁
B.由于要一直檢測(cè)時(shí)鐘信號(hào),因此難于實(shí)現(xiàn)從設(shè)備;
11、邏輯0頁
很多MCU的邏輯0頁可以任意映射,這樣就可以在flash中燒寫多個(gè)系統(tǒng)。通過配置字節(jié)配置系統(tǒng)從不同的地址啟動(dòng),這樣可以實(shí)現(xiàn)升級(jí)。以上就是嵌入式系統(tǒng)設(shè)計(jì)開發(fā)的一些注意事項(xiàng),希望能給大家?guī)椭?