零基礎(chǔ)想要學(xué)習(xí)好一門(mén)技術(shù)的時(shí)候都不是很容易的,都是要先一步一步的學(xué)習(xí)的,想要學(xué)習(xí)嵌入式技術(shù)的話肯定也是這樣的??偹苤?,嵌入式是入門(mén)門(mén)檻比較高的職業(yè)的,不僅是工資高,要求也是不低的。所以說(shuō)想要進(jìn)入這個(gè)行業(yè)的話肯定懂得的東西也是不能少的,如果說(shuō)你想要零基礎(chǔ)學(xué)習(xí)嵌入式的話,那么這么硬件知識(shí)你了解嗎?
一、電平(Level)
在數(shù)字電路中,1表示高電平,0表示低電平,一個(gè)數(shù)字電路的管腳,總是存在一個(gè)電平的,要么高要么低,或者說(shuō)要么1要到0。
二、總線(Bus)
將每個(gè)外設(shè)采用獨(dú)立的信號(hào)線連到處理器不可行,且處理器在單一時(shí)間內(nèi)只會(huì)對(duì)一個(gè)外設(shè)進(jìn)行訪問(wèn),那么久采用共享的信號(hào)線將所有的芯片連在一起呢?這就是總線概念的由來(lái)。
三、片選(CS 或EN)
片選信號(hào)對(duì)于外設(shè)芯片來(lái)講,就是一個(gè)(也是一根)通知信號(hào),告訴芯片“嘿,請(qǐng)開(kāi)門(mén),我要放些東西進(jìn)來(lái),或是拿些東西走”,這里的東西只能是數(shù)據(jù),不可能是玉米棒什么的。那有個(gè)問(wèn)題,這個(gè)信號(hào)源從哪里來(lái)呢?顯然,只能從處理器來(lái)。那是不是也是像總線那樣,每一個(gè)芯片都共用一根線連在一起呢?如果這樣,可能處理器“一叫開(kāi)門(mén)”所有的芯片都將“門(mén)”打開(kāi)了。如果是處理器寫(xiě)數(shù)據(jù),那可能所有的芯片都被寫(xiě)入同樣的數(shù)據(jù)。而取數(shù)據(jù)時(shí),每個(gè)外設(shè)芯片都向外“扔”數(shù)據(jù),這一定會(huì)造成數(shù)據(jù)總線沖突,因?yàn)橛械男酒蚩偩€上“扔”1,有的則“扔”0,這種情況下處理器一定會(huì)“發(fā)瘋”的,因?yàn)樗恢缿?yīng)當(dāng)?shù)玫?還是0。
四、譯碼(器)
譯碼器將一個(gè)數(shù)據(jù)轉(zhuǎn)換成一根信號(hào)線上的信號(hào),比如3/8譯碼器,可以將一個(gè)位寬是3位的數(shù)據(jù)轉(zhuǎn)換成8根(2的3次方)完全獨(dú)立的信號(hào)線,當(dāng)向數(shù)據(jù)側(cè)寫(xiě)入二進(jìn)制的011時(shí),對(duì)應(yīng)的是8根線的第3根,當(dāng)輸入二進(jìn)制的111時(shí),對(duì)應(yīng)的是8根線中的一根。有了譯碼器,處理器的地址線就簡(jiǎn)化了,只要32根地址線加上外面的譯碼器,就可以訪問(wèn)大量的外設(shè)芯片了。外部設(shè)備的選擇問(wèn)題,我們已經(jīng)解決了,現(xiàn)在還得回頭看一看數(shù)據(jù)總線。
五、高阻態(tài)
很顯然,當(dāng)處理器從目標(biāo)外設(shè)讀數(shù)據(jù)時(shí),我們希望其它沒(méi)有被選上的芯片的數(shù)據(jù)總線不會(huì)對(duì)目標(biāo)外設(shè)所要傳送的數(shù)據(jù)有影響,那怎么辦呢?實(shí)際上,當(dāng)芯片沒(méi)有被選中時(shí),其數(shù)據(jù)總線都處于高阻態(tài)。所謂的高阻態(tài),我們可以理解成這一管腳在外設(shè)芯片內(nèi)部是斷開(kāi)的,如此一來(lái),顯然不會(huì)對(duì)處理器從目標(biāo)外設(shè)讀取數(shù)據(jù)造成任何的影響了。我們說(shuō)當(dāng)一個(gè)芯片沒(méi)有被選中或是沒(méi)有被使能時(shí),其數(shù)據(jù)總線一定是處于高阻態(tài)的。前面用了“門(mén)”的開(kāi)和關(guān)來(lái)打比方,那“門(mén)”是指什么呢?是指外設(shè)的數(shù)據(jù)總線,片選信號(hào)的作用就是控制將外設(shè)的數(shù)據(jù)總線與處理器的數(shù)據(jù)總線相連或是斷開(kāi)。
六、驅(qū)動(dòng)
總線上的數(shù)據(jù)是誰(shuí)放上去的我們就說(shuō)誰(shuí)是那一時(shí)刻的驅(qū)動(dòng)者。也就是說(shuō),當(dāng)處理器向外設(shè)寫(xiě)數(shù)據(jù)時(shí),它是在驅(qū)動(dòng)數(shù)據(jù)總線的,而當(dāng)處理器從目標(biāo)外設(shè)讀取數(shù)據(jù)時(shí),目標(biāo)外設(shè)是在驅(qū)動(dòng)數(shù)據(jù)總線的。對(duì)于地址總線,因?yàn)橹豢赡軓奶幚砥飨蚰繕?biāo)外設(shè)寫(xiě),所以地址總線永遠(yuǎn)是由處理器驅(qū)動(dòng)的。當(dāng)一個(gè)芯片沒(méi)有被選中時(shí),我們說(shuō)它并不驅(qū)動(dòng)數(shù)據(jù)總線。
七、三態(tài)門(mén)
前面我們說(shuō)到外設(shè)芯片的數(shù)據(jù)總線在沒(méi)有被選中時(shí)其處于高阻態(tài),當(dāng)被選中時(shí),其電平可能是高(1)或是低(0)。如此一來(lái),我們說(shuō)外設(shè)的數(shù)據(jù)總線其芯片管腳是屬于三態(tài)門(mén)的,即存在高電平、低電平和高阻態(tài),三個(gè)狀態(tài)。
八、電平的有效性
前面我們了解了什么是片選信號(hào),也講到了三態(tài)門(mén),需要指出的是片選信號(hào)通常不是三態(tài)門(mén),其只存在兩個(gè)狀態(tài),即高電平或是低電平。前面我們也說(shuō)了,片選信號(hào)是用來(lái)“開(kāi)門(mén)”的,而片選信號(hào)又有高和低電平,那到底是高電平表示“開(kāi)門(mén)”呢?還是低電平?對(duì)于這一問(wèn)題,我們稱(chēng)如果一個(gè)電平對(duì)于一個(gè)片選信號(hào)表示“開(kāi)門(mén)”那么它就是這一信號(hào)的有效電平。比如,對(duì)于一個(gè)片選信號(hào),如果低電平表示“開(kāi)門(mén)”,那么我們說(shuō)這個(gè)片選信號(hào)是低電平有效的。雖然,在這里我們用片選信號(hào)來(lái)解釋電平的有效性,但是很多信號(hào)都存在有效性的問(wèn)題,比如,后面我們將要談的讀信號(hào)和寫(xiě)信號(hào)都存在有效性問(wèn)題。
九、時(shí)序
在前面我們說(shuō)到當(dāng)處理器要向外設(shè)芯片寫(xiě)數(shù)據(jù)時(shí),需要先將所需訪問(wèn)的外設(shè)的地址放在地址總線上,然后,由譯碼器將地址總線上的數(shù)據(jù)轉(zhuǎn)換成片選信號(hào),片選信號(hào)則使能目標(biāo)外設(shè)芯片,接下來(lái)處理器寫(xiě)數(shù)據(jù)到數(shù)據(jù)總線上,從而完成一個(gè)寫(xiě)操作。顯然,在處理器將數(shù)據(jù)寫(xiě)到數(shù)據(jù)總線之前地址線上的數(shù)據(jù)必須一直保留一段時(shí)間,否則的話譯碼器不能長(zhǎng)時(shí)間的使片選信號(hào)有效。當(dāng)完成了數(shù)據(jù)的寫(xiě)操作后,處理器就不需要保證地址總線上的地址有效了。我們可以看出,這一系列的操作都有一定嚴(yán)格的時(shí)間順序的,這稱(chēng)之為時(shí)序。時(shí)序描述了處理器與外部設(shè)備的交互信號(hào) “規(guī)程”,大家只有按照這一“規(guī)程”來(lái)操作,才能保證處理器與外部設(shè)備之間能正常的通訊。這好比,我們的道路上的紅綠燈,如果我們行人和車(chē)輛不按照其指示來(lái)通行的話,就會(huì)出現(xiàn)事故。通常,采用時(shí)序圖來(lái)描述芯片之間通訊的信號(hào)“規(guī)程”。
想要零基礎(chǔ)學(xué)習(xí)嵌入式技術(shù)的話,那就要了解下嵌入式的這些硬件知識(shí),嵌入式是一門(mén)硬件和軟件相結(jié)合的行業(yè),所以說(shuō)不管是在軟件還是硬件方面大家都是要好好的學(xué)習(xí)的。如果說(shuō)你想要學(xué)習(xí)嵌入式技術(shù)的話,那么可以來(lái)我們達(dá)內(nèi)科技的嵌入式培訓(xùn)班進(jìn)行實(shí)地考察下,獲取是也可以點(diǎn)擊我們文章下面的獲取試聽(tīng)資格按鈕來(lái)獲取我們的嵌入式培訓(xùn)免費(fèi)試聽(tīng)資格,來(lái)和我們的講師進(jìn)行面對(duì)面的交流和互動(dòng),并更加深入的了解我們達(dá)內(nèi)科技。