作者:winthony 當(dāng)我們學(xué)習(xí)新平臺(tái)的時(shí)候,最快的入門(mén)方式就是上手一塊開(kāi)發(fā)板。拿到開(kāi)發(fā)板后,首先要做的自然是先弄清楚開(kāi)發(fā)板的結(jié)構(gòu),看看開(kāi)發(fā)板包含哪些模塊,我們能用它做些什么。今天我們就來(lái)聊聊系統(tǒng),看看一個(gè)完整的系統(tǒng)要包含哪些部分,以及各部分的作用。 一、主芯片 想了半天,好像也只有主芯片這個(gè)詞能概括,畢竟每個(gè)平臺(tái)都不一樣。無(wú)論MCU,FPGA,ARM,MIPS或是PowerPC,一個(gè)平臺(tái),總少不了一顆主芯片,這是一個(gè)系統(tǒng)的核心,系統(tǒng)的主要功能都是通過(guò)主芯片來(lái)完成的,也是我們主要花精力學(xué)習(xí)的部分。 二、存儲(chǔ)模塊 存儲(chǔ)模塊是系統(tǒng)里的一個(gè)很重要的組成部分,一般存儲(chǔ)模塊的讀寫(xiě)速度都很快,是系統(tǒng)中設(shè)計(jì)的一個(gè)難點(diǎn)。存儲(chǔ)模塊一般分為ROM和RAM兩大類(lèi)。 A)、ROM:ROM(Read-Only Memory)只讀存儲(chǔ)器,它分為很多類(lèi)型。 1)、PROM 可編程只讀存儲(chǔ)器。在芯片內(nèi)部有行列式熔絲,需要利用電流燒斷熔絲寫(xiě)入所需資料,但是能且僅能寫(xiě)入一次。 2)、EPROM 可擦除可編程只讀存儲(chǔ)器。利用高壓將程序?qū)懭胄酒⑼ㄟ^(guò)紫外線(xiàn)擦除資料,可以重復(fù)使用。 3)、EEPROM 電可擦除可編程只讀存儲(chǔ)器。這是我們常見(jiàn)的并且經(jīng)常使用的一種。寫(xiě)入和擦除都通過(guò)電信號(hào)進(jìn)行。容量一般都不大,方便保存一些少更改的數(shù)據(jù)。 4)、Flash Memory Flash Memory是目前系統(tǒng)中使用最多和最常見(jiàn)的ROM。就Flash來(lái)說(shuō)通常也分為NOR Flash和NAND Flash。 SPI Flash是NOR Flash的一種,只是采用SPI接口進(jìn)行訪(fǎng)問(wèn),減少連接線(xiàn)的數(shù)量。NOR Flash寫(xiě)入可靠,容量偏小(相對(duì)NAND Flash而言)。NAND Flash容量可以做的很大,但在操作的時(shí)候會(huì)有隨機(jī)錯(cuò)誤bit翻轉(zhuǎn)的問(wèn)題,需要完善的讀寫(xiě)校驗(yàn)。 無(wú)論是上面提到的哪種ROM,或是一些新技術(shù)的ROM,他們的共同特點(diǎn)都是資料寫(xiě)入后不會(huì)輕易改變和刪除,即使掉電數(shù)據(jù)也不會(huì)丟失。在系統(tǒng)中ROM常被用來(lái)儲(chǔ)存運(yùn)行的程序、配置信息等不經(jīng)常改變的數(shù)據(jù)。 B)、RAM:RAM(random access memory)隨機(jī)存儲(chǔ)器。同樣分為很多類(lèi)型。 1)、SRAM 靜態(tài)隨機(jī)存儲(chǔ)器。它是一種具有靜態(tài)存取功能的存儲(chǔ)器,不需要刷新就能夠保存內(nèi)部的數(shù)據(jù)。 2)、DRAM 動(dòng)態(tài)隨機(jī)存儲(chǔ)器。動(dòng)態(tài)隨機(jī)存儲(chǔ)器與靜態(tài)隨機(jī)存儲(chǔ)器的主要區(qū)別是使用電容保存數(shù)據(jù),只能保持很短的時(shí)間,所以為了防止信息丟失需要隔一段時(shí)間刷新一次數(shù)據(jù)。 3)、SDRAM 同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。命令與數(shù)據(jù)的傳輸都需要同步時(shí)鐘,以時(shí)鐘為基準(zhǔn)。我們?cè)谙到y(tǒng)中使用最多最常見(jiàn)的RAM類(lèi)型就是SDRAM。SDRAM技術(shù)的更新和發(fā)展也是最快的。從最初的SDR SDRAM,到DDR SDRAM,然后是DDR2,DDR3,以及已經(jīng)和大家見(jiàn)面相信會(huì)很快普及的DDR4,都屬于SDRAM的范疇。 本文引用地址:http://www.eepw.com.cn/article/158901.htm RAM的特點(diǎn)是相對(duì)ROM來(lái)說(shuō)訪(fǎng)問(wèn)速度快,但是掉電后會(huì)丟失存儲(chǔ)的內(nèi)容,因此主要用于存儲(chǔ)短時(shí)間內(nèi)使用的程序,讓程序能更快的運(yùn)行,滿(mǎn)足系統(tǒng)對(duì)速度的追求。ROM和RAM共同組成了系統(tǒng)的存儲(chǔ)空間,各司其職,一般會(huì)擁有獨(dú)立的地址空間,方便程序調(diào)用。Memory Map是我們寫(xiě)程序以前要最先弄清楚的。 三、調(diào)試模塊 任何系統(tǒng)要正常的工作都離不開(kāi)調(diào)試,因此調(diào)試電路在系統(tǒng)中是必不可少的。現(xiàn)在的系統(tǒng)中常見(jiàn)的調(diào)試方式有JTAG調(diào)試,串口調(diào)試,網(wǎng)口調(diào)試等等。我們通過(guò)調(diào)試模塊可以和主芯片進(jìn)行互聯(lián),讀取工作狀態(tài),燒寫(xiě)程序,跟蹤代碼,設(shè)置斷點(diǎn)等等。和我們?nèi)粘9ぷ麝P(guān)系最密切的模塊,會(huì)經(jīng)常使用到。這部分的設(shè)計(jì)要十分小心,如果調(diào)試模塊設(shè)計(jì)錯(cuò)誤,那整個(gè)設(shè)計(jì)就失敗了。因此這部分最好使用成熟設(shè)計(jì),項(xiàng)目允許的情況下可以做一些電路冗余設(shè)計(jì),降低系統(tǒng)風(fēng)險(xiǎn)。 四、電源模塊 電源模塊是最好理解的,為系統(tǒng)提供必要的工作電壓電流。電源模塊直觀也最重要,一個(gè)健壯的電源設(shè)計(jì),是系統(tǒng)正常穩(wěn)定可靠工作的基礎(chǔ)。如果不是從事系統(tǒng)設(shè)計(jì)工作,這部分僅作了解就可以。充分驗(yàn)證過(guò)的系統(tǒng)一般電源模塊不會(huì)出什么大問(wèn)題。如果本身就是做系統(tǒng)設(shè)計(jì)的工程師,那這部分就是最需要注意的,電源是一個(gè)系統(tǒng)的基礎(chǔ),沒(méi)有穩(wěn)定可靠的電源,什么強(qiáng)大的功能都是空中樓閣。充分考慮系統(tǒng)對(duì)電源的需求,保留設(shè)計(jì)余量,有些可能還要考慮系統(tǒng)結(jié)構(gòu)系統(tǒng)散熱的問(wèn)題等等。 五、外設(shè)模塊 外圍設(shè)備,這是一個(gè)泛泛的說(shuō)法,可以說(shuō)是內(nèi)容最豐富的部分。主芯片的功能再?gòu)?qiáng)大也需要通過(guò)外設(shè)來(lái)接收外部數(shù)據(jù),通過(guò)外設(shè)實(shí)現(xiàn)特定的功能。如按鍵,紅外遙控,數(shù)碼管,音視頻輸入輸出,ADC,DAC,網(wǎng)口,甚至系統(tǒng)中的射頻電路部分,都可以稱(chēng)為系統(tǒng)的外設(shè)。每種外設(shè)實(shí)現(xiàn)一定的功能,主芯片通過(guò)不同的接口來(lái)完成控制。我們常見(jiàn)的IIC,SPI,UART,IIS,CAN,RS485,MII,RMII,USB等等這些都是通信協(xié)議,用來(lái)實(shí)現(xiàn)主芯片和外設(shè)之間的通信控制。正是由于外設(shè)的種類(lèi)太多,對(duì)待這些知識(shí)的態(tài)度就是用到哪學(xué)到哪。畢竟協(xié)議的學(xué)習(xí)是枯燥的,單純看時(shí)序圖很難找到感覺(jué)。在項(xiàng)目中遇到了再去學(xué)習(xí),遇到問(wèn)題再去解決,最好再用示波器抓抓信號(hào),和時(shí)序圖做做比較。理論加上實(shí)踐,上手就會(huì)快很多。幾個(gè)項(xiàng)目做下來(lái),常用的協(xié)議也就會(huì)接觸的七七八八了。 實(shí)際的系統(tǒng)千差萬(wàn)別,有些系統(tǒng)除了主芯片外為了某些特定功能(如音視頻編解碼)會(huì)用一個(gè)獨(dú)立的協(xié)處理器單獨(dú)處理部分功能;有些系統(tǒng)可能會(huì)存在不止一種ROM(如用EEPROM保存配置數(shù)據(jù),NOR Flash保存程序,NAND Flash保存大規(guī)模的數(shù)據(jù)信息等);有些系統(tǒng)會(huì)把ROM/RAM集成到主芯片當(dāng)中(如一些簡(jiǎn)單的MCU);有些系統(tǒng)會(huì)把調(diào)試模塊和某些外設(shè)復(fù)用……但不管怎樣,多多少少你都會(huì)找到這些模塊的影子。掌握了系統(tǒng)劃分的金鑰匙,遇到再?gòu)?fù)雜的系統(tǒng)也能夠把它分解成功能單一的模塊,然后再各個(gè)擊破的去學(xué)習(xí)。反過(guò)來(lái),當(dāng)我們做一個(gè)新項(xiàng)目的時(shí)候,也需要從這幾個(gè)方面去考慮。我們要選擇哪種主芯片?存儲(chǔ)類(lèi)型選擇什么?容量大小是多少?采用哪種調(diào)試方式?供電電流多大?有幾種電壓?需要哪些外設(shè)?看到了吧,系統(tǒng)就是這么簡(jiǎn)單。 |