版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章
嵌入式系統(tǒng)硬件體系結(jié)構(gòu)
本章要點
學習完本章讀者將掌握如下內(nèi)容:1、嵌入式硬件的相關(guān)基礎(chǔ)知識2、嵌入式硬件平臺基本組成3、ARM系列微處理器簡介2.1相關(guān)基礎(chǔ)知識2.1.1、嵌入式微處理器1、嵌入式微處理器的組成中央微處理器,簡稱CPU,它是計算機中最重要的一個部分,它決定嵌入式系統(tǒng)的主要功能特性。CPU又由運算器和控制器兩大部分組成。2、微處理器的重要指標(1)主頻、倍頻、外頻
主頻是指CPU的時鐘頻率,簡單地說也就是CPU運算時的工作頻率。
外頻就是系統(tǒng)總線的工作頻率。
倍頻則是指CPU外頻與主頻相差的倍數(shù)。三者的關(guān)系:主頻=外頻×倍頻。
(2)緩存
L1Cache(一級緩存)L2Cache(二級緩存)L3Cache(三級緩存)2.1.2嵌入式微處理器的流水線技術(shù)1、微處理器的流水線技術(shù)通常微處理器在處理一條指令要經(jīng)過三個步驟:取指(從存儲器裝載一條指令)、譯碼(識別將要被執(zhí)行的指令)、執(zhí)行(處理指令并將結(jié)果寫回寄存器)。流水線技術(shù)通過多個功能部件并行工作來縮短程序執(zhí)行時間,提高微處理器的運行效率和吞吐率。
微處理器在同一時間周期并行執(zhí)行若干條指令的取指、譯碼、執(zhí)行操作,其運行效率是逐條執(zhí)行指令的3倍。圖2.2微處理器的三級流水線技術(shù)2、嵌入式微處理器的流水線嵌入式微處理器ARM7采用三級流水線,而ARM9則采用五級流水線技術(shù),而ARM11則更是使用了8級流水線。
2.1.3寄存器與存儲器1、寄存器寄存器(register)是CPU的組成部分,是CPU內(nèi)部用來存放數(shù)據(jù)的一些小型存儲區(qū)域,用于暫時存放參與運算的數(shù)據(jù)和運算結(jié)果。
2、隨機存取存儲器(RAM)嵌入式系統(tǒng)的存儲器中,最為常見的一種是動態(tài)隨機存取存儲器(DRAM),在DRAM中晶體管和電容器合在一起就構(gòu)成一個存儲單元,代表一個數(shù)據(jù)位元。電容器保存一位二進制信息位——0或1(電容器有無電荷表示數(shù)據(jù)1或0)。
將很多DRAM基本存儲單元連接到同一個列線(位線)和同一個行線(字線)組成一個矩陣結(jié)構(gòu),位線和字線相交,就形成了存儲單元的地址3.內(nèi)存中數(shù)據(jù)存放的大小端模式
在嵌入式系統(tǒng)中,存儲是以字節(jié)為單位的,每個地址單元都對應著一個字節(jié),一個字節(jié)為8位。對于位數(shù)大于8位的處理器,例如16位或者32位的處理器,由于寄存器寬度大于一個字節(jié),如何安排多個字節(jié)的存儲,這就有了大端存儲模式和小端存儲模式。大端模式:數(shù)據(jù)的高字節(jié)保存在內(nèi)存的低地址中,而數(shù)據(jù)的低字節(jié)保存在內(nèi)存的高地址中。小端模式:數(shù)據(jù)的高字節(jié)保存在內(nèi)存的高地址中,而數(shù)據(jù)的低字節(jié)保存在內(nèi)存的低地址中。例如,一個32位寬的數(shù)的十六進制表示為0x01234567(地址從低位開始存放),如果是小端模式,則存儲方式為:0x670x450x230x01,如果是大端模式,則存儲方式為:0x010x230x450x67。如圖所示。2.1.4總線總線(BUS)是接口電路與CPU或者接口電路與I/O外部設(shè)備之間連接的主要形式,是各功能部件之間傳送信息的公共通路。采用一組公共的信號線作為嵌入式系統(tǒng)各部件之間的通信線,這組公共信號線就稱為總線。通信協(xié)議
通信協(xié)議是指通信雙方的一種約定。約定包括對數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟等問題做出統(tǒng)一規(guī)定,通信雙方必須共同遵守。(1)總線時序協(xié)議(2)異步時序協(xié)議的握手協(xié)議(3)總線仲裁方式(4)總線標準(1)總線時序協(xié)議同步時序:總線上所有事件共用同一時鐘脈沖進行操作過程的控制,所有事件都在時鐘周期的開始發(fā)生。異步時序:操作由源或目的模塊發(fā)出的特定信號確定。雙方相互提供聯(lián)絡信號。
(2)異步時序協(xié)議的握手協(xié)議握手協(xié)議是總線異步時序的基本構(gòu)件。握手協(xié)議數(shù)據(jù)傳送過程的4個周期:2.1.5I/O端口I/O端口又稱為I/O接口,它是微處理器對外控制和信息交換的必經(jīng)之路,是CPU與外部設(shè)備連接的橋梁,它在CPU與外部設(shè)備之間起信息轉(zhuǎn)換和匹配的作用。I/O端口有串行和并行之分,串行I/O端口一次只能傳送一位二進制數(shù)信息,而并行I/O端口一次能傳送一組二進制數(shù)信息。圖2.8
I/O接口電路的位置CPU對外設(shè)I/O端口物理地址的編址方式有兩種:一種是I/O映射方式(I/O-mapped);另一種是內(nèi)存映射方式(Memory-mapped)。具體采用哪一種則取決于CPU的體系結(jié)構(gòu)。2.1.6中斷中斷方式是指,當外部設(shè)備準備與CPU進行數(shù)據(jù)傳輸時,外部設(shè)備首先向CPU發(fā)出中斷請求,CPU接收到中斷請求并在一定條件下,暫時停止原來的程序并執(zhí)行中斷服務處理程序,執(zhí)行完畢以后再返回原來的程序繼續(xù)執(zhí)行。圖2.9中斷處理的各個階段2.1.7數(shù)據(jù)編碼設(shè)用微處理器控制一串彩燈(發(fā)光二極管)的亮滅。如圖所示。我們設(shè)不發(fā)光的口線(高電平)為1,發(fā)光的口線(低電平)為0。當彩燈L1發(fā)光時,PD0口線為低電平,而其余口線均為高電平。則可以表示為以下對應值:PD7
PD6
PD5
PD4
PD3
PD2
PD1
PD01
1
1
1
11
1
0用二進制數(shù)表示為:11111110。用十六進制編碼
,其值為:FEH
。再如,要彩燈L8發(fā)光,其余均不發(fā)光,則有:用二進制數(shù)表示為:01111111。十六進制編碼為:7FH。則可以表示為以下對應值:PD7
PD6
PD5
PD4
PD3
PD2
PD1
PD00
1
1
1
11
1
1若希望兩邊亮,中間暗,則:十六進制編碼為:7EH。
PD7
PD6
PD5
PD4
PD3
PD2
PD1
PD00
1
1
1
11
1
02.2嵌入式系統(tǒng)硬件平臺圖2.12嵌入式系統(tǒng)硬件結(jié)構(gòu)1、嵌入式處理器嵌入式處理器通常包括幾個部分:處理器內(nèi)核、地址總線、數(shù)據(jù)總線、控制總線、片上I/O接口電路及輔助電路(如時鐘、復位電路等)。嵌入式處理器可以分為3類:嵌入式微處理器、嵌入式微控制器、嵌入式DSP(DigitalSignalProcessor,數(shù)字信號處理器),2、嵌入式系統(tǒng)中的存儲設(shè)備(1)RAM、SRAM、DRAMRAM即是我們通常所說的內(nèi)存。RAM又可分為SRAM(靜態(tài)存儲器)和DRAM(動態(tài)存儲器)。(2)FlashFlash是一種非易失閃存,它具有和ROM一樣掉電后數(shù)據(jù)不會丟失的特性。Flash是目前嵌入式系統(tǒng)中廣泛采用的主流存儲器,它的主要特點是按整體/扇區(qū)擦除和按字節(jié)編程,具有低功耗、高密度、小體積等優(yōu)點。Flash分為
NORFlash、NANDFlash兩種。
NORFlash的特點是在芯片內(nèi)執(zhí)行,可以直接讀取芯片內(nèi)儲存的數(shù)據(jù),因而速度比較快。應用程序直接在Flash內(nèi)運行,不必把代碼讀到系統(tǒng)RAM中運行。NANDFlash不能直接在Flash內(nèi)運行應用程序,需要將數(shù)據(jù)復制到RAM中運行。NANDFlash的特點是容量大。3、JTAG接口JTAG(JointTestActionGroup,聯(lián)合測試行動小組)是一種國際標準測試協(xié)議(IEEE1149.1兼容),主要用于芯片內(nèi)部測試。我們經(jīng)常用簡易JTAG接口直接燒寫嵌入式系統(tǒng)Flash存儲器。這種燒寫方式是通過一根并口電纜和一塊信號轉(zhuǎn)換集成電路板以建立PC機與開發(fā)板之間的通信。2.3ARM微處理器體系2.3.1ARM公司及ARM體系結(jié)構(gòu)1、ARM公司簡介ARM(AdvancedRISCMachines),既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術(shù)的名字。ARM公司是專門從事基于RISC技術(shù)芯片設(shè)計開發(fā)的公司,作為知識產(chǎn)權(quán)供應商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計許可,由合作公司生產(chǎn)各具特色的芯。2、ARM微處理器體系-ARM7系列-ARM9系列-ARM10系列-Cortex-M系列-Cortex-R系列-Cortex-A系列3、哈佛總線體系結(jié)構(gòu)
圖2.15馮·諾依曼結(jié)構(gòu)
圖2.16哈佛結(jié)構(gòu)4、ARM微處理器的特點(1)體積小、低功耗、低成本、高性能;(2)支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8/16位器件;(3)大量使用寄存器,指令執(zhí)行速度更快;(4)大多數(shù)數(shù)據(jù)操作都在寄存器中完成;(5)尋址方式靈活簡單,執(zhí)行效率高;(6)指令長度固定。2.3.2ARM系列微處理器簡介1、ARM7系列微處理器2、ARM9系列微處理器3、Xscale系列微處理器4、Cortex系列微處理器ARMCortex系列微處理器是ARM公司推出的第二代微處理器,它的發(fā)展歷程如圖所示。
2.4微處理器的結(jié)構(gòu)2.4.1
RISC體系結(jié)構(gòu)
和ARM設(shè)計思想1、RISC體系結(jié)構(gòu)在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20%的指令被反復使用,占整個程序代碼的80%。而余下的80%的指令卻不經(jīng)常使用,在程序設(shè)計中只占20%。RISC結(jié)構(gòu)優(yōu)先選取使用頻率最高的簡單指令,避免復雜指令;將指令長度固定,指令格式和尋址方式種類減少;以控制邏輯為主。2、ARM設(shè)計思想1、ARM微處理器被設(shè)計成較小的核,降低功耗,延長電源的使用時間。2、存儲量有限,這就要求嵌入式系統(tǒng)需要使用高密度代碼。3、嵌入式系統(tǒng)對成本敏感,一般選用速度不高,成本較低的存儲器,以降低系統(tǒng)成本。4、ARM內(nèi)核不是一個純粹的RISC體系結(jié)構(gòu),這是為使它能夠更好地適應其嵌入式的應用領(lǐng)域。對嵌入式系統(tǒng)的應用項目來說,系統(tǒng)的關(guān)鍵并不單純在于微處理器的速度,而在于系統(tǒng)性能、功耗和成本。2.4.2ARMCortex微處理器結(jié)構(gòu)的最小系統(tǒng)設(shè)計1、什么是最小系統(tǒng)嵌入式微處理器芯片自己是不能獨立工作的,需要一些必要的外圍元器件給它提供基本的工作條件。一個ARM最小系統(tǒng)一般包括:(1)ARM微處理器芯片,(2)電源電路、復位電路,晶振電路,(3)存儲器(FLASH和SDRAM),(4)UART(RS232及以太網(wǎng))接口電路。(5)JTAG調(diào)試接口。2、CortexA8微處理器2.4.3Cortex微處理器結(jié)構(gòu)CortexA8微處理器SnmsungS5PV210核心板系統(tǒng)包括:CPU:SnmsungS5PV210基于Cortex-A8,運行主頻1GHz;DDR2RAM:512MB工作在200MHz外頻上;FLASH: 512MBSLCNANDFALSH;EthernetCON:100MB網(wǎng)絡控制器2.4.3Cortex微處理器結(jié)構(gòu)2.4.4CortexA8的存儲地址空間S5PV210存儲器地址映射如圖2.20所示。從圖2.20中可以看到,S5PV210的引導區(qū)分為兩個部分,分別是:0x0000_0000~0x1FFFF_FFFF和0xD000_0000~0xDFFFF_FFFF的地址空間。系統(tǒng)上電后,從引導區(qū)開始執(zhí)行BootLoader引導程序。2.4.5CortexA8的GPIO端口通用I/O接口(GeneralPurposeIO,GPIO)是嵌入式系統(tǒng)中一種非常重要的I/O接口。它具有使用靈活、可配置性好、硬件代價小等優(yōu)點,在嵌入式系統(tǒng)中廣泛應用。每個GPIO端口通常至少有兩個寄存器:一個為“IO端口控制寄存器”,另一個為“IO端口數(shù)據(jù)寄存器”。1.S5PV210微處理器的GPIO端口分組
表2.2CortexA8的GPIO端口端口分組端口引腳數(shù)GPA08個輸入/輸出引腳–2xUART帶控制流。GPA14個輸入/輸出引腳–2xUART不帶控制流或1xUART帶控制流。GPB8個輸入/輸出引腳–2xSPI總個接口。GPC05個輸入/輸出引腳–I2S總個接口,PCM接口,AC97接口。GPC15個輸入/輸出引腳GPD04個輸入/輸出引腳–I2C總個接口,PWM接口,擴展DMA接口,SPDIF接口。GPD16個輸入/輸出引腳GPE0,113個輸入/輸出引腳–攝像頭接口,SD/MMC接口。GPF0,1,2,330個輸入/輸出引腳–LCD接口。GPG0,1,2,328個輸入/輸出引腳–3xMMCchannel,SPI,I2S,PCM,SPDIF各種接口。GPH0,1,2,332個輸入/輸出引腳–攝像頭通道接口,鍵盤,最大支持32位可中斷接口。GPI低功率I2S、PCM接口。GPJ0,1,2,3,435個輸入/輸出引腳–ModemIF,HIS,ATA接口。MP0_1,2,320個輸入/輸出內(nèi)存端口引腳。MP0_4,5,6,732個輸入/輸出內(nèi)存端口引腳。MP1_0~871個DRAM1端口引腳。MP2_0~871個DRAM2端口引腳。ETC0,ETC1,ETC2,ETC428個輸入/輸出ETC端口及JTAG端口。2.CortexA8的常用GPIO寄存器在使用CortexA8微處理器時,由于大多數(shù)引腳都是可復用的,因此需要對每個引腳進行配置。CortexA8架構(gòu)的S5PV210微處理器有4種GPIO寄存器,它們是:控制寄存器GPxnCON、數(shù)據(jù)寄存器GPxnDAT、上拉/下拉寄存器GPxnPUD、掉電模式上拉/下拉寄存器GPxnPUDPDN。(1)GPIO寄存器地址表表2.3GPC0端口組控制寄存器地址
(BaseAddress=0xE020_0060)寄存器地址描述初始值GPC0CON0xE020_0060GPC0端口組控制寄存器0x00000000GPC0DAT0xE020_0064GPC0端口組數(shù)據(jù)寄存器0x00GPC0PUD0xE020_0068GPC0端口組上拉/下拉寄存器0x0155(2)端口控制寄存器GPxCON(x=A,B,D,E,F(xiàn),G,H,I,J)每一個I/O端口都有一個CON(端口控制)寄存器,用于控制GPIO引腳的功能。該寄存器每4位控制一個引腳。當輸入0000時,引腳設(shè)置為輸入口,可以從引腳讀入外部輸入的數(shù)據(jù);當輸入0001時,引腳設(shè)置為輸出口,向該位寫入的數(shù)據(jù)被發(fā)送到對應的引腳上。
表2.4GPC0CON端口控制寄存器定義(Address=0xE020_0060)GPC0CON位描述初始狀態(tài)GPC0CON[4][19:16]0000=輸入,0001=輸出,0010=I2S_1_SDO,0011=PCM_1_SOUT,0100=AC97SDO,0101~
1110=保留,1111=GPC0_INT[4]0000
GPC0CON[3][15:12]0000=輸入,0001=輸出,0010=I2S_1_SDI,0011=PCM_1_SIN,0100=AC97SDI,0101~
1110=Reserved,1111=GPC0_INT[3]0000GPC0CON[2][11:8]0000=輸入,0001=輸出,0010=I2S_1_LRCK,0011=PCM_1_FSYNC,0100=AC97SYNC,0101~
1110=Reserved,1111=GPC0_INT[2]0000GPC0CON[1][7:4]0000=輸入,0001=輸出,0010=I2S_1_CDCLK,0011=PCM_1_EXTCLK,0100=AC97RESETn,0101~
1110=Reserved,1111=GPC0_INT[1]0000GPC0CON[0][3:0]0000=輸入,0001=輸出,0010=I2S_1_SCLK,0011=PCM_1_SCLK,0100=AC97BITCLK,0101~
1110=Reserved,1111=GPC0_INT[0]0000
(3)端口數(shù)據(jù)寄存器GPxDAT(x=A,B,D,E,F(xiàn),G,H,I,J)每一個I/O端口都有一個DAT(數(shù)據(jù))寄存器,它是一個讀寫寄存器。該寄存器每2位表示一個數(shù)據(jù)。當端口被設(shè)置為輸出端口時,如果向GPxDAT的相應位寫入數(shù)據(jù)1,則該引腳輸出高電平,如果向GPxDAT的相應位寫入數(shù)據(jù)0,則該引腳輸出低電平;當端口被設(shè)置為輸入端口時,則可以向GPxDAT的相應位讀出數(shù)據(jù),得到端口電平狀態(tài)。表2.5GPC0DAT端口數(shù)據(jù)寄存器的定義GPC0DAT位描述初始狀態(tài)GPC0DAT[4:0][4:0]決定輸入或者輸出的電平狀態(tài)0x00
(4)端口上拉/下拉寄存器GPxPUD(x=A,B,D,E,F(xiàn),G,H,I,J)每一個I/O端口都有一個PUD(上拉/下拉使能)寄存器,該寄存器控制了每個端口組的上拉/下拉電阻的使能/禁止。根據(jù)對應位的0/1組組合,設(shè)置對應端口的上拉/下拉電阻功能是否使能。如果端口的上拉電阻被使能,無論在哪種狀態(tài)(輸入、輸出、DATAn、EINTn等)下,上拉電阻都起作用。3.GPIO寄存器功能設(shè)置應用示例【例2-1】設(shè)在CortexA8微處理器GPIO端口的GPC0[2]引腳連接一個LED發(fā)光二極管,如圖2.21所示?,F(xiàn)對該端口的控制寄存器GPC0CON和數(shù)據(jù)寄存器GPC0DAT進行設(shè)置,使LED發(fā)光二極管點亮或熄滅。(對于本例,上拉/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄭州2025年河南新密市招聘教師100人筆試歷年參考題庫附帶答案詳解
- 衡水2025年河北衡水學院選聘工作人員21人筆試歷年參考題庫附帶答案詳解
- 紹興浙江紹興博物館編外人員招聘筆試歷年參考題庫附帶答案詳解
- 湘西2025年湖南湘西州瀘溪縣招聘勞務派遣制教師72人筆試歷年參考題庫附帶答案詳解
- 海南2025年海南瓊臺師范學院附屬桂林洋幼兒園招聘員額制工作人員筆試歷年參考題庫附帶答案詳解
- 河南2025年河南省直第三人民醫(yī)院招聘30人筆試歷年參考題庫附帶答案詳解
- 杭州2025年浙江杭州市西湖區(qū)人民檢察院編外人員招聘筆試歷年參考題庫附帶答案詳解
- 撫州2025年江西撫州市東鄉(xiāng)區(qū)城區(qū)中學臨聘教師招聘100人筆試歷年參考題庫附帶答案詳解
- 廣西2025年廣西職業(yè)技術(shù)學院高層次人才招聘21人筆試歷年參考題庫附帶答案詳解
- 山東2025年山東體育學院招聘博士工作人員(第三批)筆試歷年參考題庫附帶答案詳解
- 外科院感課件
- 2025國家核安保技術(shù)中心招聘筆試歷年常考點試題專練附帶答案詳解試卷3套
- 12158-2024防止靜電事故要求
- 酒吧內(nèi)保年終總結(jié)
- 兒童講解員禮儀
- 文物建筑勘查設(shè)計取費標準(2020年版)
- DB14∕T2248-2020 《煤礦安全風險分級管控和隱患排查治理雙重預防機制實施規(guī)范》
- 千古奇文《初心》原文
- 失禁相關(guān)性皮炎與壓力性損傷的區(qū)分鑒別
- 鋁合金門窗設(shè)計說明
- 食品行業(yè)倉庫盤點制度及流程
評論
0/150
提交評論