微機(jī)原理及其應(yīng)用ppt第七章單片微處理機(jī)與嵌入式處理器-課件_第1頁(yè)
微機(jī)原理及其應(yīng)用ppt第七章單片微處理機(jī)與嵌入式處理器-課件_第2頁(yè)
微機(jī)原理及其應(yīng)用ppt第七章單片微處理機(jī)與嵌入式處理器-課件_第3頁(yè)
微機(jī)原理及其應(yīng)用ppt第七章單片微處理機(jī)與嵌入式處理器-課件_第4頁(yè)
微機(jī)原理及其應(yīng)用ppt第七章單片微處理機(jī)與嵌入式處理器-課件_第5頁(yè)
已閱讀5頁(yè),還剩121頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、微機(jī)原理及其應(yīng)用普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材 作者 丁新民2007年5月第七章單片微處理機(jī)與嵌入式處理器學(xué)習(xí)目標(biāo) 1、識(shí)記MCS-51系列單片計(jì)算機(jī)的特點(diǎn)、結(jié)構(gòu)和發(fā)展,特別是8031單片機(jī)編程結(jié)構(gòu)。 2、理解8031單片機(jī)工作原理、指令系統(tǒng)、中斷和接口、編程開(kāi)發(fā)及應(yīng)用。 3、識(shí)記嵌入式處理器的特點(diǎn)、結(jié)構(gòu)和發(fā)展,以及嵌入式硬件系統(tǒng)的構(gòu)成。 4、識(shí)記ARM、PowePC、Acra嵌入式處理器的性能和用途。 5、理解ARM嵌入式處理器的編程結(jié)構(gòu)、初始化操作、系統(tǒng)開(kāi)發(fā)與應(yīng)用。第七章單片微處理機(jī)與嵌入式處理器7.1 單片機(jī)概述7.2 MCS-51系列單片機(jī)及其應(yīng)用7.3 嵌入式處理器7.4 AR

2、M處理器的開(kāi)發(fā)與應(yīng)用一、單片機(jī)概述1. 單片機(jī)主要特點(diǎn)2. 單片機(jī)發(fā)展概況3. 單片機(jī)應(yīng)用概述第一節(jié)單片機(jī)主要特點(diǎn)1. 單片機(jī)主要特點(diǎn) (1)什么叫單片機(jī) 普遍認(rèn)為單片機(jī)就是在一塊硅片上集成了CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多種I/O口的器件。如圖7-1-1所示為一個(gè)不帶外部設(shè)備的微處理機(jī),稱(chēng)為“微型控制器” 。1. 單片機(jī)主要特點(diǎn) (2)單片機(jī)結(jié)構(gòu) 結(jié)構(gòu)上來(lái)看,單片機(jī)有兩種不同的結(jié)構(gòu)類(lèi)型。一種是馮偌依曼結(jié)構(gòu),即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),例如MCS-96系列單片機(jī)。另一種是哈佛結(jié)構(gòu),即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的結(jié)構(gòu),例如MCS-51系列單片機(jī)。如圖7-1-2和圖7-1-3

3、所示。 1. 單片機(jī)主要特點(diǎn) (3)單片機(jī)特點(diǎn) 單片機(jī)主要用于控制領(lǐng)域,采用面向控制的結(jié)構(gòu)和RISC指令系統(tǒng)。 單片機(jī)的存儲(chǔ)結(jié)構(gòu)大多采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的哈佛結(jié)構(gòu),而計(jì)算機(jī)則常采用程序和數(shù)據(jù)存儲(chǔ)器合一的馮諾依曼結(jié)構(gòu)。 單片機(jī)的RAM作為數(shù)據(jù)存儲(chǔ)器,用來(lái)存放隨機(jī)數(shù)據(jù)。在計(jì)算機(jī)中RAM除了作數(shù)據(jù)存儲(chǔ)器之外,還可以作為高速緩沖器使用。 單片機(jī)的I/O帶有串行/并行I/O接口。 第二節(jié)單片機(jī)發(fā)展概況2. 單片機(jī)發(fā)展概況 20世紀(jì)80年代以來(lái),8位和16位單片機(jī)的發(fā)展非常迅速,以Intel公司為例,1980年推出MCS-51系列,三年后推出16位MCS-96系列,近來(lái)又推出32位的8096單片

4、機(jī)。 從結(jié)構(gòu)上看,單片機(jī)大多采用哈佛結(jié)構(gòu)。CPU面向控制結(jié)構(gòu)和RISC指令系統(tǒng)。數(shù)據(jù)和程序存儲(chǔ)器單獨(dú)尋址。 單片機(jī)品種日益增多,從多型號(hào)的單片機(jī)而言,以Motorola和Intel優(yōu)異,世界上著名的廠家還有Rockwell公司、Zilog公司、Inmos公司和NS公司等。 第三節(jié)單片機(jī)應(yīng)用概述3. 單片機(jī)應(yīng)用概述 (1)單片機(jī)應(yīng)用的考慮 用單片機(jī)構(gòu)成應(yīng)用系統(tǒng)時(shí),通常需要對(duì)單片機(jī)進(jìn)行擴(kuò)展。對(duì)于I/O口與存儲(chǔ)器統(tǒng)一編址時(shí),應(yīng)合理地分配地址空間。 編程時(shí)應(yīng)注意,由于片內(nèi)RAM容量小,堆棧空間受限制。 缺乏產(chǎn)生內(nèi)部中斷的指令,在中斷源較多的情況下應(yīng)考慮外接中斷控制器芯片。 單片機(jī)引腳控制信號(hào)比通用微機(jī)

5、控制信號(hào)要少得多,如有關(guān)的總線控制等信號(hào)。 3. 單片機(jī)應(yīng)用概述 (2)設(shè)計(jì)步驟 設(shè)計(jì)應(yīng)用系統(tǒng)前,首先明確引入單片機(jī)的重要性。就必須在對(duì)系統(tǒng)性能、可靠性、可維護(hù)性和經(jīng)濟(jì)效果等因素進(jìn)行綜合考慮后,才能得出是否采用單片機(jī)。單片機(jī)的選用方法,參見(jiàn)圖7-1-4所示。 3. 單片機(jī)應(yīng)用概述 (2)設(shè)計(jì)步驟 設(shè)計(jì)的步驟大致如下: 確定系統(tǒng)設(shè)計(jì)任務(wù)。對(duì)控制對(duì)象的工作過(guò)程進(jìn)行詳盡的分析,確定單片機(jī)在該系統(tǒng)中所承擔(dān)的作用。 功能部件的選擇。根據(jù)系統(tǒng)規(guī)模、輸入和輸出方式、被控對(duì)象的類(lèi)型和數(shù)據(jù)、軟件占用的存儲(chǔ)器空間以及成本等因素,選擇功能部件。 系統(tǒng)設(shè)計(jì)分為硬件設(shè)計(jì)和軟件兩部分。 系統(tǒng)調(diào)試,對(duì)樣機(jī)試運(yùn)行。 二、MC

6、S-51系列單片機(jī)及其應(yīng)用1. 內(nèi)部結(jié)構(gòu)概述2. MCS-51指令系統(tǒng)3. 8031最小應(yīng)用系統(tǒng)4. 應(yīng)用舉例第一節(jié)內(nèi)部結(jié)構(gòu)概述1. 內(nèi)部結(jié)構(gòu)概述 (1)結(jié)構(gòu)框圖 MCS-51系列單片機(jī)結(jié)構(gòu)如圖7-2-1所示,由八個(gè)部件通過(guò)片內(nèi)單一總線連接而成。部件有微處理器、數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器、I/O、串行口、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器SFR。 1. 內(nèi)部結(jié)構(gòu)概述 (1)結(jié)構(gòu)框圖 1. 內(nèi)部結(jié)構(gòu)概述 (1)結(jié)構(gòu)框圖 運(yùn)算部件 運(yùn)算部件包括ALU、位處理器、累加器A、寄存器B、暫存器以及程序狀態(tài)字(PSW)等。該部件的功能是實(shí)現(xiàn)算術(shù)邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送操作。 程序狀態(tài)字,如圖7-2-

7、2所示 。1. 內(nèi)部結(jié)構(gòu)概述 (1)結(jié)構(gòu)框圖 控制器 控制器是單片機(jī)的控制中心,負(fù)責(zé)硬件的各部件協(xié)調(diào)工作的部件。MCS-51的一個(gè)機(jī)器周期分為六個(gè)狀態(tài)(S1S6),每個(gè)狀態(tài)由兩個(gè)時(shí)鐘周期(主振頻率)P1和P2構(gòu)成。這樣一個(gè)機(jī)器周期共有12個(gè)時(shí)鐘周期。 1. 內(nèi)部結(jié)構(gòu)概述 (2)引腳及其功能 MCS-51系列是采用40腳的雙列直插封裝方式,如圖7-2-3所示。 信號(hào)線分為電源線 、時(shí)鐘 、控制總線和 I/O控制 四類(lèi)。1. 內(nèi)部結(jié)構(gòu)概述 (3)存儲(chǔ)器結(jié)構(gòu) MCS-51存儲(chǔ)器結(jié)構(gòu)分為五大類(lèi): 程序存儲(chǔ)器 8031內(nèi)部沒(méi)有ROM,只能外接。最多可外擴(kuò)64KB。8031復(fù)位后,從0000H單元開(kāi)始執(zhí)行

8、程序。地址0000H就是系統(tǒng)的起動(dòng)地址。除0000H單元外,中斷服務(wù)地址參見(jiàn)表7-2-2。 1. 內(nèi)部結(jié)構(gòu)概述 (3)存儲(chǔ)器結(jié)構(gòu) 數(shù)據(jù)存儲(chǔ)器 片內(nèi)128B的RAM作為數(shù)據(jù)存儲(chǔ)器,地址為00H7FH,如圖7-2-4所示 。1. 內(nèi)部結(jié)構(gòu)概述 (3)存儲(chǔ)器結(jié)構(gòu) 特殊功能寄存器(SFR) SFR由若干特殊功能的RAM單元構(gòu)成,地址范圍為80HFFH,總共有21個(gè),有的可進(jìn)行位尋址,如圖7-2-5所示。 1. 內(nèi)部結(jié)構(gòu)概述 (3)存儲(chǔ)器結(jié)構(gòu) 特殊功能寄存器(SFR) 寄存器標(biāo)識(shí)符、名稱(chēng)和地址如表7-2-3所示。 1. 內(nèi)部結(jié)構(gòu)概述 (3)存儲(chǔ)器結(jié)構(gòu) 位地址空間 在RAM和SFR中提供211個(gè)可尋址位,

9、地址范圍為00HFFH。 外部數(shù)據(jù)存儲(chǔ)器 當(dāng)片內(nèi)128B的RAM不夠用時(shí),允許外接存儲(chǔ)器擴(kuò)展存儲(chǔ)容量。 1. 內(nèi)部結(jié)構(gòu)概述 (4)中斷系統(tǒng) 中斷源 MCS-51有五個(gè)中斷源,兩個(gè)外部中斷和三個(gè)內(nèi)部中斷。 外部中斷為INT0 和 INT1 ;內(nèi)部中斷為定時(shí)/計(jì)數(shù)器T0、T1溢出中斷請(qǐng)求TF0、TF1,另一個(gè)為串行口中斷請(qǐng)求TI或RI。 中斷優(yōu)先級(jí) 中斷系統(tǒng)有高優(yōu)先級(jí)和低優(yōu)先級(jí),允許對(duì)中斷優(yōu)先級(jí)編程設(shè)定,從而實(shí)現(xiàn)二級(jí)中斷嵌套。 1. 內(nèi)部結(jié)構(gòu)概述 (4)中斷系統(tǒng) 中斷優(yōu)先級(jí) 各中斷源服務(wù)程序的入口地址如表7-2-4所示。 1. 內(nèi)部結(jié)構(gòu)概述 (5)定時(shí)/計(jì)數(shù)器 MCS-51有兩個(gè)可編程的16位定時(shí)

10、/計(jì)數(shù)器,分別記作T0和T1。T0和T1具有兩種工作方式:定時(shí)器和事件計(jì)數(shù)器。還有四種工作模式。 模式0,定時(shí)/計(jì)數(shù)器的計(jì)數(shù)長(zhǎng)度為13位。 模式1,定時(shí)/計(jì)數(shù)器的計(jì)數(shù)長(zhǎng)度為16位。 模式2,自動(dòng)恢復(fù)初值的8位定時(shí)/計(jì)數(shù)器。 模式3,將T0作為兩個(gè)計(jì)數(shù)器TL0和TH0使用。 1. 內(nèi)部結(jié)構(gòu)概述 (6)I/O口與串行接口 I/O口 MCS-51提供有四個(gè)8位并行I/O口。 P0口是三態(tài)雙向口數(shù)據(jù)口 P1口是I/O口,準(zhǔn)雙向口 P2口系統(tǒng)擴(kuò)展作高8位地址線用 P3口是雙功能口1. 內(nèi)部結(jié)構(gòu)概述 (6)I/O口與串行接口 串行接口 MCS-51有一個(gè)全雙工串行接口和一個(gè)獨(dú)立接收/發(fā)送緩沖器SBUF。工

11、作模式有: 模式0(同步方式) 模式1(異步方式1) 模式2(異步方式2) 模式3(異步方式3)第二節(jié)MCS-51指令系統(tǒng)2. MCS-51指令系統(tǒng) MCS-51基本指令共111條,其中單字節(jié)指令49條,雙字節(jié)指令45條,三字節(jié)指令17條。 (1)MCS-51指令系統(tǒng)的尋址方式 寄存器尋址 寄存器尋址方式可對(duì)寄存器區(qū)中的八個(gè)工作寄存器R0R7進(jìn)行訪問(wèn),用Rn(n=07)表示。 如: MOV A,Rn ;源操作數(shù)Rn的內(nèi)容累加器A2. MCS-51指令系統(tǒng)(1)MCS-51指令系統(tǒng)的尋址方式 直接尋址 直接尋址是訪問(wèn)特殊功能寄存器的惟一方法,也用于訪問(wèn)內(nèi)部RAM。直接尋址方式的指令是雙字節(jié)指令,

12、其中第一個(gè)字節(jié)是操作碼,第二個(gè)字節(jié)是內(nèi)部RAM或特殊功能寄存器的直接地址,即源操作數(shù)采用直接尋址方式。如: MOV A,40H ;RAM 40H單元的內(nèi)容累加器A MOV A,P0 ;P0口(若地址為80H)A 2. MCS-51指令系統(tǒng)(1)MCS-51指令系統(tǒng)的尋址方式 寄存器間接尋址 寄存器間接尋址方式用于訪問(wèn)內(nèi)部RAM或外部數(shù)據(jù)存儲(chǔ)器的低256字節(jié)時(shí),可采用R0或R1作為間接寄存器,這類(lèi)指令為單字節(jié)指令,其最低位表示采用R0還是R1作為間址寄存器。用Ri表示間址寄存器,其中i=0或1。如: MOV A,R0 ;R0中的操作數(shù)地址的內(nèi)容A2. MCS-51指令系統(tǒng)(1)MCS-51指令系

13、統(tǒng)的尋址方式 立即尋址 立即尋址方式的指令是雙字節(jié)的。第一個(gè)字節(jié)是操作碼,第二字節(jié)是立即操作數(shù),規(guī)定冠以前綴“#”符號(hào)。操作數(shù)就是放在程序存儲(chǔ)器內(nèi)的常數(shù)。如: MOV A,#40H ;40HA,40H是指令代碼的一部分2. MCS-51指令系統(tǒng)(1)MCS-51指令系統(tǒng)的尋址方式 基址加變址寄存器間址尋址 這種尋址方式用于訪問(wèn)程序存儲(chǔ)器中的一個(gè)單元,該單元的地址是基址寄存器(DPTR或PC)與變址寄存器A的內(nèi)容之和。如: MOVC A,A+DPTR ;DPTR加A的地址的內(nèi)容A2. MCS-51指令系統(tǒng) (2)指令系統(tǒng)簡(jiǎn)介 按指令的功能分類(lèi),MCS-51指令系統(tǒng)可分?jǐn)?shù)據(jù)傳送、算術(shù)操作、邏輯運(yùn)算

14、、控制轉(zhuǎn)移和位操作五個(gè)大類(lèi)。其中,位操作類(lèi)指令由位處理機(jī)執(zhí)行。 第三節(jié)8031最小應(yīng)用系統(tǒng)3. 8031最小應(yīng)用系統(tǒng) (1)最小系統(tǒng)的構(gòu)成 一塊單片機(jī)芯片包括了一臺(tái)完整微型計(jì)算機(jī)的全部基本部件。對(duì)于簡(jiǎn)單的應(yīng)用場(chǎng)合,在MCS-51系列中選取一個(gè)合適的單片機(jī)作為微機(jī)的基本系統(tǒng),即是所謂的最小系統(tǒng)。也就是說(shuō)用一片單片機(jī)就可構(gòu)成最小系統(tǒng)。但并不是所有的最小系統(tǒng)僅有一塊芯片就能工作,如8031單片機(jī)就必須外接程序存儲(chǔ)器才能構(gòu)成完整的系統(tǒng)。 3. 8031最小應(yīng)用系統(tǒng) (2)最小系統(tǒng)的設(shè)計(jì)工作 最小系統(tǒng)的硬件 最小系統(tǒng)的軟件 如圖7-2-6所示,由一片8031單片機(jī)、一片74LS373和一片EPROM 2

15、764,再加上復(fù)位鍵及晶振等簡(jiǎn)單器件組成。 第四節(jié)應(yīng)用舉例4. 應(yīng)用舉例 單片機(jī)在攻螺紋機(jī)床控制的應(yīng)用實(shí)例。 (1)應(yīng)用要求 當(dāng)攻螺紋機(jī)床的操作人員上料后,起動(dòng)程序。每次機(jī)床工作到六步之后,延時(shí)t秒以供操作人員上料,延時(shí)時(shí)間到,自動(dòng)循環(huán)執(zhí)行。 機(jī)床攻螺紋動(dòng)作過(guò)程順序:工件夾緊刀具快進(jìn)刀具攻進(jìn)刀具攻退刀具快退工件松開(kāi)延時(shí)。以上過(guò)程不斷重復(fù)。(2)主要元器件選擇 MCS-51系列單片機(jī)。 8255接口芯片。 4. 應(yīng)用舉例 (3)主要電路 用8255作為攻螺紋機(jī)床控制接口,如圖7-2-7所示。I/O口均采用光電隔離;8255的A口為輸入,B口作為輸出; YAi為電磁鐵。4. 應(yīng)用舉例 (4)問(wèn)題的

16、分析 輸出信號(hào)經(jīng)B口控制電磁鐵Yai,動(dòng)作完成后機(jī)床發(fā)出SQi回答信號(hào)。工件加工完后,工件松開(kāi),延時(shí)3s,等待上料。如表7-2-7所示。 4. 應(yīng)用舉例 (5)流程圖 工作流程見(jiàn)圖7-2-8所示。 4. 應(yīng)用舉例 (6)程序清單 AJMP MAIN MAIN:MOV R0,#EBH;8255控制口 MOV A,#90H ;方式0,A口為輸入,B口為輸出 MOVX R0,A ;將控制字送入8255控制口 LOOP:CLR A ;A清零 MOV R0,#E8H ;設(shè)置A口地址 MOV R1,#E9H ;設(shè)置B口地址 MOVX R0,A ;A口清零 MOVX R1,A ;B口清零 MOV A,#01

17、H ;發(fā)工件夾緊命令 MOVX R1,A ;輸出4. 應(yīng)用舉例 (6)程序清單 MOV 20H,#01H LOP1:MOVX A,R0 ;工件夾緊命令到否 CJNE A,20H,LOP1 MOV A,#05H ;發(fā)刀具快進(jìn)命令 MOVX R1,A ;輸出 MOV 20H,#02H LOP2:MOVX A,R0 ;刀具快進(jìn)命令到否 CJEN A,20H,LOP2 MOV A,#11H ;發(fā)刀具攻進(jìn)命令 MOVX R1,A ;輸出 MOV 20H,#04H4. 應(yīng)用舉例 (6)程序清單 LOP3:MOVX A,R0 ;刀具攻進(jìn)命令到否 CJEN A,20H,LOP3 MOV 02H,#15H ;延

18、時(shí)20ms設(shè)置參數(shù) ACALL DELY ;調(diào)用延時(shí)子程序 MOV A,#21H ;發(fā)刀具攻退命令 MOVX R1,A ;輸出 MOV 20H,#08H LOP4:MOVX A,R0 ;刀具攻退命令到否 CJEN A,20H,LOP4 MOV A,#09H ;發(fā)刀具快退命令 MOVX R1,A ;輸出 4. 應(yīng)用舉例 (6)程序清單 MOV 20H,#10H LOP5:MOVX A,R0 ;刀具快退命令到否 CJEN A,20H,LOP5 MOV A,#02H ;發(fā)工件放松命令 MOVX R1,A ;輸出 MOV 20H,#20H LOP6:MOVX A,R0 ;工件放松命令到否 CJEN A

19、,20H,LOP6 MOV 02H,#61H ;為延時(shí)三秒設(shè)置參數(shù) ACALL DELY ;調(diào)用延時(shí)子程序 LJMP LOOP ;64KB范圍內(nèi)無(wú)條件轉(zhuǎn)跳到LOOP END4. 應(yīng)用舉例 (6)程序清單 DELY:PUSH 02H LED:PUSH 02H LEF:PUSH 02H LFI:DJNZ 02H,LFI POP 02H DJNZ 02H,LEF POP 02H DJNZ 02H,LED POP 02H DJNZ 02H,DELY RET 三、嵌入式處理器1. 嵌入式處理器概述2. ARM處理器3. PowerPC處理器4. 我國(guó)方舟Arca處理器5. 嵌入式處理器的選擇第一節(jié)嵌入式

20、處理器概述1. 嵌入式處理器概述 (1)嵌入式處理器發(fā)展概況 主要發(fā)展階段如下: 70年代,有Intel的4040、8080,Zilog的Z80、NS的NSC800、Motorola的6800等。 80年代,有TI的9940,這是第一個(gè)商品化的嵌入式微處理器。Intel的MCS-51、Motorola的MC146805,ARM的ARM RISC。 90年代,NS推出了32位3200微處理器系列,以及NS32微處理器。 1. 嵌入式處理器概述 (1)嵌入式處理器發(fā)展概況 例如NS32FX200是一個(gè)針對(duì)傳真機(jī)設(shè)計(jì)的嵌入式微處理器,如圖7-3-1所示。 1. 嵌入式處理器概述 (2)嵌入式處理器

21、嵌入式處理器有許多產(chǎn)品,包括有嵌入式處理器、嵌入式控制器、數(shù)字信號(hào)處理器、各類(lèi)的可編程器件等。概括地講,嵌入式處理器有如下特點(diǎn): 通用性強(qiáng)、品種多。 存儲(chǔ)器和I/O接口的空間,以及驅(qū)動(dòng)電路都需要擴(kuò)展。 速度快、處理能力強(qiáng),適合于環(huán)境要求高的應(yīng)用場(chǎng)合。 1. 嵌入式處理器概述 (3)DSP DSP是特別為數(shù)字信號(hào)處理而設(shè)計(jì)的處理器,內(nèi)部結(jié)構(gòu)包括基本數(shù)字運(yùn)算、信號(hào)濾波、域變換三個(gè)主要的部分。如圖7-3-2所示,DSP在數(shù)字音頻信號(hào)的處理。 1. 嵌入式處理器概述 (4)可編程器件 可編程器件主要有FPGA和CPLD兩類(lèi)。 FPGA是一種專(zhuān)用的集成電路,采用邏輯單元陣列,內(nèi)部可配置邏輯模塊、輸入輸出

22、模塊、內(nèi)部連線三個(gè)部分,都可以編程控制。 CPLD是由可編程邏輯宏單元圍繞為中心的可編程互連矩陣單元組成,其中可編程邏輯宏單元具有復(fù)雜的I/O單元互連結(jié)構(gòu),可以由用戶(hù)根據(jù)需要生成特定的電路結(jié)構(gòu),完成一定的功能。 1. 嵌入式處理器概述 (5)嵌入式硬件系統(tǒng)的構(gòu)成 嵌入式硬件系統(tǒng)是圍繞嵌入式處理器設(shè)計(jì)的,通常包括處理部件、存儲(chǔ)器部件、I/O控制部件和輔助電路四個(gè)部分,如圖7-3-3所示。 第二節(jié)ARM處理器2. ARM處理器 ARM(Advanced RISC Machines)公司首創(chuàng)了chipless的生產(chǎn)模式。目前,ARM是嵌入式市場(chǎng)比較暢銷(xiāo)的產(chǎn)品。主要合作的廠商,如表7-3-1所示。2.

23、 ARM處理器(1)ARM7系列 ARM7系列采用ARM7 TDMI微處理器運(yùn)算核心,內(nèi)存與指令存取結(jié)構(gòu)采用普林斯頓結(jié)構(gòu)。根據(jù)應(yīng)用要求可擴(kuò)展,也可與其他ASIC電路或輔助電路構(gòu)成SoC系統(tǒng),如圖7-3-4所示。 2. ARM處理器(2)ARM9系列 ARM9系列是繼ARM7系列之后推出的32位RISC嵌入式處理器,與ARM7系列不同的是指令與數(shù)據(jù)采用全32位的存取結(jié)構(gòu),并且采用哈佛結(jié)構(gòu)。主要特性如下: 工作主頻為120MHz200MHz 片內(nèi)獨(dú)立的指令Cache和數(shù)據(jù)Cache 處理器采用五級(jí)流水線 性能為132MIPS或220MIPS 平均功耗為0.7mW/MHz2. ARM處理器(2)AR

24、M9系列 圖7-3-5所示用ARM9集成的SoC專(zhuān)用嵌入式處理器芯片。 2. ARM處理器(3)ARM10系列 ARM10系列是個(gè)硬宏單元,內(nèi)部采用六級(jí)流水處理,獨(dú)立的指令Cache與數(shù)據(jù)Cache,內(nèi)部提供64位數(shù)據(jù)通路以及64位的AHB接口,DSP擴(kuò)展,工作頻率為300MHz,每條指令平均執(zhí)行周期為1.2個(gè)時(shí)鐘,工作速度25MIPS/MHz,平均功耗為1000mW。 第三節(jié)PowerPC處理器3. PowerPC處理器 (1)IBM的PowerPC405GP芯片簡(jiǎn)介 PowerPC405GP處理器是一個(gè)32位RISC嵌入式CPU,主頻達(dá)到200MHz;100MHz外圍設(shè)備總線;DMA提供支

25、持外設(shè)、內(nèi)部UART和內(nèi)存、四個(gè)通道;媒體獨(dú)立接口;可編程中斷控制器;一個(gè)64位100M PLB總線,一個(gè)32位50M OPB總線;PCI接口可設(shè)置同步、異步內(nèi)置時(shí)鐘;片上的以太網(wǎng)口,支持全雙工的100Mbps;200MHz CPU 內(nèi)核、MMU、16k指令Cache和8k數(shù)據(jù)Cache、Multiply-Accumulate等功能。 3. PowerPC處理器 (2)Motorola的MPC860芯片簡(jiǎn)介 MPC860 PowerQUICC片上微處理器和外圍組件,特別適用于通信產(chǎn)品。MPC860 PowerQUICC有兩個(gè)處理模塊。一個(gè)處理模塊是嵌入的PowerPC核心,另一個(gè)是通信處理模塊

26、,通信處理模塊支持四個(gè)串行通信控制器。其中,兩個(gè)是串行管理控制器,一個(gè)串行外圍接口電路和一個(gè)I2C接口。由于CPM承擔(dān)了嵌入式PowerPC核心的外圍工作任務(wù),這種雙處理器體系結(jié)構(gòu)功耗要低于傳統(tǒng)的體系結(jié)構(gòu)的處理器。 第四節(jié)我國(guó)方舟Arca處理器4. 我國(guó)方舟Arca處理器 2001年我國(guó)方舟科技公司發(fā)布的Arca1 CPU(方舟1號(hào)),填補(bǔ)了嵌入式32位RISC微處理器的空白,2002年發(fā)布的Arca2 CPU(方舟2號(hào)),技術(shù)指標(biāo)上已達(dá)到ARM和MIPS的先進(jìn)水平。 (1)方舟嵌入式處理器體系結(jié)構(gòu) 方舟CPU核心結(jié)構(gòu) Arca作為一種RISC體系結(jié)構(gòu)的微處理器,不但具有RISC體系結(jié)構(gòu)的典型

27、特征,同時(shí)又是一套具有自主知識(shí)產(chǎn)權(quán)的全新的、高性能、低功耗的指令體系結(jié)構(gòu)。 4. 我國(guó)方舟Arca處理器(1)方舟嵌入式處理器體系結(jié)構(gòu) 方舟CPU核心結(jié)構(gòu) Arca CPU核心的結(jié)構(gòu),如圖7-3-6所示。 4. 我國(guó)方舟Arca處理器(1)方舟嵌入式處理器體系結(jié)構(gòu) 中央處理單元 CPU 執(zhí)行Arca RISC或Media 指令集 實(shí)現(xiàn)高效率流水線 主頻166MHz1000MHz之間 內(nèi)存管理單元MMU 32路全相聯(lián)指令TLB和數(shù)據(jù)TLB 支持頁(yè)面:4KB、16KB、1MB、16MB 采用循環(huán)輪換替換算法,支持表項(xiàng)鎖存4. 我國(guó)方舟Arca處理器(1)方舟嵌入式處理器體系結(jié)構(gòu) 高速緩存Cache

28、 配置數(shù)據(jù)、指令高速緩存,32路組相聯(lián) 循環(huán)輪換替換算法 支持緩存行鎖存、分配操作 四級(jí)寫(xiě)緩沖區(qū),每級(jí)最多16字節(jié) PMON模塊用于監(jiān)視CPU內(nèi)核 BTB模塊用于指令動(dòng)態(tài)跳轉(zhuǎn)預(yù)測(cè),命中率達(dá)到85%以上 調(diào)試單元Debug4. 我國(guó)方舟Arca處理器(2)方舟指令集體系結(jié)構(gòu) 基本指令集 RISC結(jié)構(gòu):80條定點(diǎn)指令、32個(gè)寄存器 特權(quán)模式,簡(jiǎn)化軟件的編寫(xiě)、移植和維護(hù) 緊湊的指令功能和編碼格式 媒體加速指令集 加速的DSP和SIMD增強(qiáng)指令集 雙MAC結(jié)構(gòu),單周期完成兩條定點(diǎn)運(yùn)算 SIMD指令:?jiǎn)沃芷谕瓿?、2.5和4位運(yùn)算 專(zhuān)用的MPEG加速指令4. 我國(guó)方舟Arca處理器(3)基于Arca2的

29、SoC Arca210 Arca210是基于32位RISC微處理器Arca2的SoC,集成了嵌入式產(chǎn)品所需的大量外設(shè)以及PC架構(gòu)南北橋中大部分功能,如圖7-3-7所示。 4. 我國(guó)方舟Arca處理器(3)基于Arca2的SoC Arca210 Arca2 CPU Arca2 CPU包括CPU內(nèi)核、存儲(chǔ)器管理單元、高速緩存以及總線接口單元。處理器采用哈佛存儲(chǔ)器結(jié)構(gòu),包括16kB指令和數(shù)據(jù)緩存。 OCS總線設(shè)備和OCP總線設(shè)備 OCS總線是為高性能存儲(chǔ)器帶寬的設(shè)備而設(shè)計(jì)的,用以滿(mǎn)足片上系統(tǒng)與高速外設(shè)間的高帶寬信息傳輸,因此被稱(chēng)為OCS總線設(shè)備。 4. 我國(guó)方舟Arca處理器(3)基于Arca2的S

30、oC Arca210 Arca210的主要特點(diǎn) Arca2CPU為核心 大量的OCS總線外設(shè)和OCP總線外設(shè) I/O采用313V供電,內(nèi)部采用118V供電 在400MHz運(yùn)行時(shí),最大功耗為360mW 采用先進(jìn)的PBGA封裝方式第五節(jié)嵌入式處理器的選擇5. 嵌入式處理器的選擇 (1)嵌入式系統(tǒng)的工作頻率 系統(tǒng)的工作頻率在很大程度上取決于處理器的處理速度。 (2)處理器的功能 不同嵌入式處理器功能存在較大的差異,注意選擇適合應(yīng)用要求的芯片。 (3)片上內(nèi)存儲(chǔ)器的容量 (4)片上外圍電路接口 四、ARM處理器的開(kāi)發(fā)與應(yīng)用1. ARM存儲(chǔ)系統(tǒng)2. ARM編程結(jié)構(gòu)3. ARM指令系統(tǒng)4. ARM的中斷處

31、理與系統(tǒng)初始化5. 系統(tǒng)仿真與調(diào)試 第一節(jié)ARM存儲(chǔ)系統(tǒng)1. ARM存儲(chǔ)系統(tǒng) ARM存儲(chǔ)系統(tǒng)使用的是平面式和單一的地址空間,最大尋址空間為4GB(232字節(jié))。 (1)存儲(chǔ)器格式 存儲(chǔ)地址為A的字單元,其字節(jié)單元有A、A+1、A+2、A+3;其半字單元有A、A+1。 以大端存儲(chǔ)格式為例,地址為A的字單元,其從高到低字節(jié)存放形式,如圖7-4-1所示。 31 24 23 16 15 8 7 0字單元A半字單元A半字單元A+2字節(jié)單元A字節(jié)單元A+1字節(jié)單元A+2字節(jié)單元A+3圖7-4-1 ARM的大端存儲(chǔ)格式1. ARM存儲(chǔ)系統(tǒng)(1)存儲(chǔ)器格式 ARM的小端存儲(chǔ)格式,對(duì)于地址為A的字單元,其數(shù)據(jù)字

32、是從低字節(jié)到高字節(jié)存放,存放順序?yàn)锳+3、A+2、A+1、A。存儲(chǔ)格式如圖7-4-2所示。 31 24 23 16 15 8 7 0字單元A半字單元A+2半字單元A字節(jié)單元A+3字節(jié)單元A+2字節(jié)單元A+1字節(jié)單元A圖7-4-2 ARM的小端存儲(chǔ)格式1. ARM存儲(chǔ)系統(tǒng)(2)指令長(zhǎng)度及數(shù)據(jù)類(lèi)型 ARM微處理器的指令長(zhǎng)度可以是32位,也可以為16位。 ARM微處理器中支持字節(jié)、半字、字三種數(shù)據(jù)類(lèi)型,其中,字需要4字節(jié)對(duì)齊、半字需要2字節(jié)對(duì)齊。 1. ARM存儲(chǔ)系統(tǒng)(3)非對(duì)齊的存儲(chǔ)訪問(wèn) 所謂非對(duì)齊是指,ARM狀態(tài),地址最低兩位不為00;Thumb狀態(tài),地址最低位不為0。 出現(xiàn)非對(duì)齊時(shí),存儲(chǔ)器自動(dòng)

33、忽略地址中的相應(yīng)位。在數(shù)據(jù)訪問(wèn)時(shí),會(huì)出現(xiàn)以下情況: 執(zhí)行結(jié)果不可預(yù)知。 忽略地址最低兩位,或最低位進(jìn)行訪問(wèn)。 由存儲(chǔ)系統(tǒng)忽略地址最低兩位,或最低位。1. ARM存儲(chǔ)系統(tǒng)(4)存儲(chǔ)系統(tǒng)的擴(kuò)展 最小存儲(chǔ)系統(tǒng)僅采用片上存儲(chǔ)器,地址空間分配固定,全部使用物理地址。對(duì)于復(fù)雜應(yīng)用系統(tǒng)就需要擴(kuò)充,??刹捎靡韵罗k法: 存儲(chǔ)系統(tǒng)可以包括多種類(lèi)型的存儲(chǔ)器。 采用Cache和Write Buffer技術(shù)。 通過(guò)映射技術(shù)實(shí)現(xiàn)虛擬空間的映射。 采用存儲(chǔ)保護(hù)技術(shù)。 第二節(jié)ARM編程結(jié)構(gòu)2. ARM編程結(jié)構(gòu) ARM處理器共有37個(gè)寄存器,包括31個(gè)32位的通用寄存器,其中一個(gè)程序計(jì)數(shù)器;6個(gè)32位狀態(tài)寄存器。支持七種工作模

34、式: 用戶(hù)模式(usr) 管理模式(svc) 快速中斷模式(fiq) 外部中斷模式(irq) 數(shù)據(jù)訪問(wèn)終止模式(abt) 系統(tǒng)模式(sys) 未定義指令中止模式(und)2. ARM編程結(jié)構(gòu)(1)寄存器結(jié)構(gòu) 未分組寄存器 未分組寄存器包括R0R7。在所有處理器模式下,使用同一個(gè)物理寄存器。 分組寄存器 R8R12分組寄存器都對(duì)應(yīng)兩個(gè)不同的物理寄存器,用于不同的特殊用途,在fiq模式時(shí),R8R12寄存器不受中斷現(xiàn)場(chǎng)保護(hù)和恢復(fù)指令的影響。 2. ARM編程結(jié)構(gòu)(1)寄存器結(jié)構(gòu) 分組寄存器 R13、R14分組寄存器對(duì)應(yīng)六個(gè)不同的物理寄存器,其中一個(gè)是用戶(hù)模式與系統(tǒng)模式共用,另外五個(gè)物理寄存器對(duì)應(yīng)于其

35、他五種不同的工作模式。采用記號(hào)來(lái)區(qū)分的: R13_ R14_ 式中mode為usr、svc、fiq、irq、abt、und。 R13默認(rèn)為堆棧指針。R14可作為子程序連接寄存器或連接寄存器LR使用。2. ARM編程結(jié)構(gòu)(1)寄存器結(jié)構(gòu) 程序計(jì)數(shù)器PC 寄存器R15用作程序計(jì)數(shù)器PC,雖然可以用作通用寄存器,但有一些指令在使用R15時(shí)有一些限制。如圖7-4-3所示,ARM狀態(tài)下的通用寄存器和程序寄存器,在六種不同工作模式下特定分組情況。 寄存器R16用作當(dāng)前程序狀態(tài)寄存器CPSR,可以在任何工作模式下被訪問(wèn) 。 2. ARM編程結(jié)構(gòu)(1)寄存器結(jié)構(gòu) 程序計(jì)數(shù)器PC2. ARM編程結(jié)構(gòu)(2)程序狀

36、態(tài)寄存器 CPSR與SPSR格式相同,如圖7-4-4所示。 2. ARM編程結(jié)構(gòu)(3)異常中斷與中斷的處理優(yōu)先級(jí) ARM處理器所支持的異常中斷的種類(lèi),如表7-4-2所示。 2. ARM編程結(jié)構(gòu)(3)異常中斷與中斷的處理優(yōu)先級(jí) ARM處理器的異常中斷的中斷向量地址和中斷處理優(yōu)先級(jí),如表7-4-3所示。 第三節(jié)ARM指令系統(tǒng)3. ARM指令系統(tǒng) (1)ARM指令尋址方式 立即尋址 指令所需的數(shù)據(jù)在指令代碼中,因此也叫立即數(shù)尋址。第二個(gè)源操作數(shù)是立即數(shù),規(guī)定以前綴“”符號(hào),對(duì)于十六進(jìn)制表示的立即數(shù),要求在“”后加上“0 x”或“&”。如: ADD R0,R0,1 ;R0源操作數(shù)R01 ADD R0,

37、R0,0 x3f ;R0源操作數(shù)R00 x3f3. ARM指令系統(tǒng) (1)ARM指令尋址方式 寄存器尋址 指令所需的操作數(shù)在某寄存器中。如: ADD R0,R1,R2 ;R0R1的源操作數(shù)R2的源操作數(shù) 寄存器間接尋址 指令所需的操作數(shù)被存儲(chǔ)在某寄存器指示的地址中。如: ADD R0,R1,R2 ;R0R1R2 操作數(shù)地址的內(nèi)容 LDR R0,R1 ;R0R1 操作數(shù)地址的內(nèi)容 STR R0,R1 ;存儲(chǔ)地址R1R03. ARM指令系統(tǒng) (1)ARM指令尋址方式 基址變址尋址 基址變址尋址就是將寄存器的內(nèi)容與指令中給出的地址偏移量相加,從而得到操作數(shù)的有效地址。如: LDR R0,R1,4 ;

38、R0R14 有效地址的內(nèi)容 LDR R0,R1,4! ;R0R14 ,R1R14 LDR R0,R1,4 ;R0R1 ,R1R14 LDR R0,R1,R2 ;R0R1R23. ARM指令系統(tǒng) (1)ARM指令尋址方式 多寄存器尋址 多寄存器尋址方式可以完成多個(gè)寄存器值的傳送,最多可向16個(gè)通用寄存器傳送數(shù)據(jù)。如將R0傳送到寄存器R1R4: LDMIA R0,R1,R2,R3,R4 ;R1R0、R2R04、R3R08、R4R012 該指令的后綴IA表示在每次執(zhí)行完加載/存儲(chǔ)操作后,R0按字長(zhǎng)度增加,指令是連續(xù)存儲(chǔ)單元的值。3. ARM指令系統(tǒng) (1)ARM指令尋址方式 相對(duì)尋址 相對(duì)尋址以程序

39、計(jì)數(shù)器PC的當(dāng)前值為基地址,標(biāo)號(hào)作為偏移量,兩者之和得到操作數(shù)的有效地址。如:下面程序段的調(diào)用和返回,跳轉(zhuǎn)指令BL采用了相對(duì)尋址方式。 BL NEXT ;跳轉(zhuǎn)到子程序NEXT處執(zhí)行 NEXT MOV PC,LR ;從子程序返回3. ARM指令系統(tǒng) (1)ARM指令尋址方式 堆棧尋址 堆棧是一種數(shù)據(jù)結(jié)構(gòu),按先進(jìn)后出的方式工作,使用一個(gè)稱(chēng)作堆棧指針的專(zhuān)用寄存器指示當(dāng)前的操作位置,堆棧指針總是指向棧頂。ARM的堆棧操作有四種方式,F(xiàn)D為滿(mǎn)遞減堆棧,地址由高向低地址遞減;ED為空遞減堆棧,地址由高向低地址遞減;FA滿(mǎn)遞增堆棧,地址由低向高地址遞增;EA空遞增堆棧,地址由低向高地址遞增。3. ARM指令

40、系統(tǒng) (2)ARM指令簡(jiǎn)介 按指令的功能分類(lèi),ARM指令集分為數(shù)據(jù)處理指令、加載/存儲(chǔ)指令、跳轉(zhuǎn)指令、程序狀態(tài)寄存器(PSR)處理指令、協(xié)處理器指令和異常產(chǎn)生指令六個(gè)大類(lèi) 。3. ARM指令系統(tǒng) (3)程序的控制結(jié)構(gòu) 正常情況,每執(zhí)行一條ARM指令PC加4;每執(zhí)行一條Thumb指令PC加2;程序是順序執(zhí)行的。 發(fā)生跳轉(zhuǎn)時(shí),按照指令給出的跳轉(zhuǎn)標(biāo)號(hào)處,或者挑轉(zhuǎn)到指定的子程序。執(zhí)行時(shí),先保存返回地址,在切換到Thumb工作狀態(tài)。 發(fā)生異常中斷時(shí),當(dāng)前指令執(zhí)行結(jié)束后,跳轉(zhuǎn)到中斷處理程序執(zhí)行。處理結(jié)束后,再返回到源程序繼續(xù)執(zhí)行。進(jìn)入中斷處理前,先保護(hù)中斷現(xiàn)場(chǎng),結(jié)束后要恢復(fù)中斷現(xiàn)場(chǎng)。 第四節(jié)ARM的中斷處

41、理與系統(tǒng)初始化4. ARM的中斷處理與系統(tǒng)初始化 (1)異常中斷的響應(yīng) ARM微處理器響應(yīng)中斷的步驟如下: 將下一條指令的地址存入相應(yīng)連接寄存器LR。若在ARM狀態(tài),LR寄存器保存的是下一條指令的地址;若在Thumb狀態(tài),LR寄存器保存當(dāng)前PC的偏移量。 將CPSR復(fù)制到相應(yīng)的SPSR中。 根據(jù)異常中斷的類(lèi)型,強(qiáng)制設(shè)置CPSR的工作模式位。 強(qiáng)制PC執(zhí)行相應(yīng)的異常中斷處理程序。4. ARM的中斷處理與系統(tǒng)初始化 (1)異常中斷的響應(yīng) 用偽碼描述的過(guò)程如下: R14_ = Return Link SPSR_ = CPSR CPSR4:0 = Exception Mode Number CPSR5

42、 = 0 ;在ARM工作狀態(tài)運(yùn)行 If = Reset or FIQ then ;響應(yīng)FIQ異常中斷后,禁止新的FIQ異常中斷 CPSR6 = 1 CPSR7 = 1 PC = Exception Vector Address 4. ARM的中斷處理與系統(tǒng)初始化 (2)異常中斷的返回 ARM微處理器執(zhí)行的返回步驟如下: 將連接寄存器LR的值減去相應(yīng)的偏移量后送到PC中。 將SPSR復(fù)制回CPSR中。 若在相應(yīng)異常中斷處理時(shí)設(shè)置了中斷屏蔽位,要解除對(duì)該位的屏蔽。 4. ARM的中斷處理與系統(tǒng)初始化 (3)應(yīng)用程序中的中斷處理程序 使用LDR指令 Vector_init_Block LDR PC,

43、Reset_Addr LDR PC,Undefined_Addr LDR PC,SW_Addr LDR PC,Prefeth_Addr LDR PC,Abort_Addr NOP LDR PC,IRQ_Addr LDR PC,F(xiàn)IQ_Addr4. ARM的中斷處理與系統(tǒng)初始化 (3)應(yīng)用程序中的中斷處理程序 使用LDR指令(續(xù)) Reset_Addr DCD Start_Boot Undefined_Addr DCD Undefined_Handle SW_Addr DCD SWI_Handle Prefeth_Addr DCD Prefeth_Handle Abort_Addr DCD Ab

44、ort_Handle DCD 0 IRQ_Addr DCD IRQ_Handle FIQ_Addr DCD FIQ_Handle 4. ARM的中斷處理與系統(tǒng)初始化 (3)應(yīng)用程序中的中斷處理程序 使用跳轉(zhuǎn)指令 Vector_init_Block BL Reset_Handle BL DCD Undefined_Handle BL SWI_Handle BL Prefeth_Handle BL Aboet_Handle NOP BL IRQ_Handle BL FIQ_Handle 4. ARM的中斷處理與系統(tǒng)初始化 (3)應(yīng)用程序中的中斷處理程序 用PC直接調(diào)用中斷向量表 MOV R8,#0 ADR R9,Ve

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論