版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
微機原理與應用基礎知識(一)主要內(nèi)容:計算發(fā)展、分類和應用形態(tài)計算機的組成和運行原理計算機中的數(shù)制以及帶符號數(shù)的表示1電子計算機的發(fā)展、分類和應用形態(tài)
自1946年世界上第一臺電子計算機問世以來計算機的發(fā)展已經(jīng)歷了四代:第一代:電子管計算機第二代:晶體管計算機第三代:集成電路計算機第四代:大規(guī)模、超大規(guī)模集成電路計算機目前,各國正加緊研制和開發(fā)第五代“非馮·諾依曼”計算機和第六代“神經(jīng)”計算機。
電子計算機的發(fā)展電子計算機的分類微型、中型、大型個人、服務器、主機微機的應用形態(tài)通用型、嵌入式低端與高端應用微機的應用形態(tài)GeneralComputer:應用:科學運算、仿真模擬、工程與信息處理、管理、GAME。特點:對PC的硬件要求很少,有多媒體、網(wǎng)絡/數(shù)據(jù)庫支持。微機的應用形態(tài)EmbeddedComputer:應用:工業(yè)過程監(jiān)測、控制與自動化、機器人、智能儀表、家電控制。特點:嵌入到被控制對象中。要考慮體積、重量、功耗、環(huán)境適應性、可靠性、價格、開發(fā)周期,維護等諸多方面因素。高端產(chǎn)品支持網(wǎng)絡通信的要求功能強。
嵌入式系統(tǒng)定義、由來及特點嵌入式系統(tǒng)的定義
一種計算機硬件和軟件的組合,也許還有機械裝置,用于實現(xiàn)一個特定功能。在某些特定情況下,嵌入式系統(tǒng)是一個大系統(tǒng)或產(chǎn)品的一部分。嵌入式系統(tǒng)的由來
通用計算機系統(tǒng):滿足海量高速數(shù)值計算的計算機。嵌入式計算機系統(tǒng):嵌入到實際應用系統(tǒng)中,實現(xiàn)嵌入式應用的計算機。嵌入式系統(tǒng)定義、由來及特點嵌入式系統(tǒng)的特點嵌入式系統(tǒng)是計算機系統(tǒng),但不單獨以通用計算機面目出現(xiàn)。嵌入式系統(tǒng)開發(fā)需要專用工具和特殊方法。使用MCU設計嵌入式系統(tǒng),數(shù)據(jù)與程序空間采用不同存儲介質(zhì)。開發(fā)嵌入式系統(tǒng)涉及軟件、硬件及應用領域的知識。
嵌入式系統(tǒng)定義、由來及特點
嵌入式系統(tǒng)的知識體系
學習以MCU為核心的嵌入式系統(tǒng),需要以下軟件硬件基礎知識與實踐訓練:(1)硬件最小系統(tǒng)
(2)通用I/O(3)顯示(LED、LCD等)(4)輸入(KEY)(5)模數(shù)轉(zhuǎn)換A/D (6)數(shù)模轉(zhuǎn)換D/A(7)通信(SCI、SPI、I2C,CAN、USB、ZigBee等);(8)控制(控制各種設備,包含PWM等控制技術);(9)數(shù)據(jù)處理(圖形、圖像、語音、視頻等處理或識別);(10)各種具體應用。Moore定律“晶體管的大小將以指數(shù)速率變小,而集成到芯片上的晶體管數(shù)目將2-3年(18-24個月)翻一番?!?/p>
——GordonMoore,1965*GordonMoore
——Intel公司的創(chuàng)始人,著名半導體科學家。馮.諾伊曼計算機體系結構馮?諾伊曼計算機體系結構的要點:計算機中的信息(程序和數(shù)據(jù))以二進制方式表示。程序預存儲,機器自動執(zhí)行。計算機由運算器、控制器、存儲器、輸入設備和輸出設備五大部分組成。計算機部件控制與外部世界的聯(lián)系存儲器編址、存儲程序和數(shù)據(jù)CPU馮?諾伊曼計算機基本結構基本功能部件控制邏輯寄存器組…000……00HFFF……FFH101010010?運算器?控制器?輸出設備?輸入設備總線結構。時鐘驅(qū)動;中央處理器(CPU)中央處理單元(CentralProcessingUnit,簡寫為CPU)也稱之為‘處理器’,是計算機的核心部件,主要功能是解釋并執(zhí)行計算機指令,完成數(shù)據(jù)處理和對計算機其他各部分進行控制。CPU主要由運算器、控制器、寄存器組和內(nèi)部總線等構成。名詞解釋CPU:計算機的中央處理單元(含運算器、控制器、總線接口部件)MPU:微處理器(MicroprocessorUnit)微型計算機(MicroComputer)以μP為核心的計算機系統(tǒng)微型計算機/微處理器系統(tǒng)的聯(lián)系與區(qū)別主機,外設與電源(強調(diào)部件)CPU(μP),存儲器,I/O接口與外設(強調(diào)邏輯結構)存儲器(Memory)存儲器(Memory)是計算機系統(tǒng)中用來存儲程序和數(shù)據(jù)的信息記憶部件。在計算機內(nèi)部,程序和數(shù)據(jù)都以二進制形式表示,8位二進制代碼作為一個字節(jié)。為了便于對存儲器進行訪問,存儲器通常被劃分為許多單元,每個存儲單元存放一個字節(jié)的二進制信息,每個存儲單元分別賦予一個編號,稱為地址。在處理器控制下,可以向地址指定的存儲器單元存入數(shù)據(jù)(也稱為寫存儲器)或從地址指定存儲器單元取出數(shù)據(jù)(也稱為讀存儲器)ROM:只讀存儲器(程序代碼和常數(shù))RAM:隨機存儲器(程序代碼和數(shù)據(jù))E7H34HA5HF2H38H……4001H4002H4003H4004H4005H……地址指令或數(shù)據(jù)內(nèi)容00111000圖內(nèi)存單元的地址和內(nèi)容地址為4005H的存儲單元中存放了一個八位二進制信息00111000B。輸入/輸出接口與設備(IODevice)完成信息進出計算機的專用設備稱為“輸入/輸出設備”(簡稱為外設)。在計算機原理上,‘外設’主要是指這些“輸入/輸出接口”(簡稱為接口外設),它不特指某一具體的外設物理裝置,更具有邏輯原理普遍性。計算機總線(BUS)聯(lián)結計算機各部分的公共的信號線。
DB傳送信息(程序代碼,數(shù)據(jù))的一組信號線;AB傳送地址(信息存儲單元編址)的一組信號線;決定了CPU的尋址范圍。
CPU的尋址范圍=2n,n-地址線根數(shù)CB信息操作所需的一組(控制或狀態(tài))信號線;總線的作用范圍片內(nèi),片外/板內(nèi),系統(tǒng)時序配合名詞解釋(二)I/OInterface:連接外設(輸入與輸出)BUS:總線(體系結構:字長,容量,控制功能和構成AB,DB,CB)名詞解釋(三)InstructionSet:指令集CISCRISC
操作系統(tǒng)(管理系統(tǒng)資源,維護和開發(fā)應用程序的平臺)驅(qū)動程序(直接操作外設)應用程序(公共程序)系統(tǒng)程序(存儲管理、文件系統(tǒng)、任務運行)用戶程序(應用程序)嵌入式系統(tǒng)的程序開發(fā)微型計算機的主要技術指標字長——參與運算的數(shù)的位數(shù).它決定著計算機的內(nèi)部寄存器、加法器及數(shù)據(jù)總線(數(shù)據(jù)通路)的位數(shù)。有4位,8位,16位,32位,64位等。主存容量——主存儲器所能存儲信息的總量。通常以字節(jié)數(shù)(Byte)來表示。例:內(nèi)存128MB。運算速度——有不同的計量方法和測試標準。MIPS(MillionInstructionPerSecond)平均無故障運行時間——
MTBF(MeanTimeBetweenFailures),平均無故障間隔時間(可靠性)性能/價格比計算機系統(tǒng)微處理器系統(tǒng)的總線結構CPU的指令系統(tǒng)指令(Instruction)是關于CPU的最基本的操作命令。高級語言z=x+y必須分解為:從x地址單元中取一數(shù)到累加器將y地址單元中的數(shù)加到累加器中將累加器內(nèi)容傳送到z地址單元中程序片段如下MOV A,XADD A,YMOV Z,A其中A為累加器,而X,Y,Z各代表一個存儲單元的地址。CISC與RISCRISC(ReducedInstructionSetComputer)精簡指令計算機系統(tǒng),這包括兩個方面:排除使用頻度不高的、或能被其它指令(或指令的組)代替的指令。絕大部分指令的二進制編碼是等長的,這有利于簡化指令譯碼和執(zhí)行。RISC便于實現(xiàn)流水線結構,平均每個時鐘執(zhí)行一條指令。RISC代表一種先進的計算機發(fā)展方向。CISC(ComplicatedInstructionSetComputer)
相對而言,傳統(tǒng)的計算機因指令系統(tǒng)復雜,成為復雜指令系統(tǒng)計算機(一條指令甚至可以完成許多條指令的工作)計算機的工作過程關于運行原理(細節(jié))CPU的基本寄存器以程序的有限存儲為基礎指令及指令的微操作程序調(diào)用中斷程序運行必需的寄存器1累加器ACC(accummulator)數(shù)值運算和邏輯運算;很多指令使用累加器;2程序計數(shù)器PC(Programcounter)
始終指向下一條指令在存儲器中的地址;3指令寄存器IR(InstructionRegistor)CPU從存儲器獲得的指令代碼先置于IR,再譯碼執(zhí)行;4程序狀態(tài)字PSW(Programstateword)執(zhí)行指令,如數(shù)值運算,影響PSW含運算結果的正負,進(借)位,溢出位后續(xù)指令根據(jù)需要判斷,決定程序流程的變化;CPU的寄存器控制用寄存器組PCIRPSWSP——必不可少其余功能寄存器——多多益善工作寄存器組存臨時數(shù)據(jù),滿足算法的需要配合指令實現(xiàn)高級功能地址寄存器組訪問存儲器的地址指針配合指令實現(xiàn)存儲器的讀寫訪問,硬件地址計算(或變換)運行原理(一)指令的微操作堆棧和堆棧指示器堆棧是在存儲器中分配的、具有連續(xù)地址的一片存儲區(qū)域。FILO(FirstInLastOut)CPU按堆棧指示器SP訪問堆棧中的內(nèi)容壓棧:先調(diào)整SP中的地址,在存入新的數(shù)據(jù)到棧頂位置;彈棧:先從棧頂取數(shù),再反向調(diào)整SP地址內(nèi)容.SP始終指向棧頂位置.運行原理(二)子程序調(diào)用與返回2計算機中的數(shù)制各種常用記數(shù)制、編碼以及它們相互間的轉(zhuǎn)換;二進制數(shù)的算術運算和邏輯運算;帶符號數(shù)的表示及補碼運算;二進制數(shù)運算中的溢出問題。一、常用記數(shù)制十進制(Decimal)—符合人們的習慣二進制(Binary)—便于物理實現(xiàn)十六進制(Hexdecimal)—便于識別、書寫1).十進制特點:以十為底,逢十進一;
共有0-9十個數(shù)字符號。表示:2).二進制特點:以2為底,逢2進位;只有0和1兩個符號。表示:3).十六進制特點:以16為底,逢16進位; 有0--9及A--F共16個數(shù)字符號。表示:進位計數(shù)制的一般表示一般地,對任意一個K進制數(shù)S都可表示為其中:Si
----S的第i位數(shù)碼,可以是K個符號中任何一個;n,m---整數(shù)和小數(shù)的位數(shù);K---基數(shù);Ki----K進制數(shù)的權如何區(qū)分不同進位記數(shù)制的數(shù)字在數(shù)字后面加一個字母進行區(qū)分:二進制:數(shù)字后面加B,如1001B十進制:一般不加,如1001十六進制:數(shù)字后面加H,如1001H二、各種數(shù)制間的轉(zhuǎn)換1).非十進制數(shù)到十進制數(shù)的轉(zhuǎn)換
按相應進位計數(shù)制的權表達式展開,再按十進制求和。
例:10110010B
=(?)10
13FAH
=(?)102).十進制到非十進制數(shù)的轉(zhuǎn)換十進制→二進制的轉(zhuǎn)換: 整數(shù)部分:除2取余;小數(shù)部分:乘2取整。十進制→十六進制的轉(zhuǎn)換:整數(shù)部分:除16取余;小數(shù)部分:乘16取整。以小數(shù)點為起點求得整數(shù)和小數(shù)的各個位。3).二進制與十六進制間的轉(zhuǎn)換用4位二進制數(shù)表示1位十六進制數(shù)
例:10110001001.110=(?)H
0101
1000
1001.1100
589.C注意:位數(shù)不夠時要補03無符號二進制數(shù)的運算
無符號數(shù)算術運算
有符號數(shù)邏輯運算一、無符號數(shù)的運算算術運算
加法、減法、乘法、除法運算1).規(guī)則加法:1+1=0(有進位),…減法:0-1=1(有借位),…乘除法:…
一個數(shù)乘以2相當于該數(shù)左移一位;除以2則相當于該數(shù)右移1位。2).無符號數(shù)的表示范圍一個n位的無符號二進制整數(shù)X,其表示范圍為
0≤
X≤2n-1若運算結果超出這個范圍,則產(chǎn)生溢出。(或者說運算結果超出n位,則產(chǎn)生溢出。)判別方法:運算時,當最高位向更高位有進位(或借位)時則產(chǎn)生溢出。[例]:
11111111
+00000001
100000000
結果超出8位(最高位有進位),發(fā)生溢出。(結果為256,超出8位二進制數(shù)所能表示的范圍255)
4帶符號二進制數(shù)的運算計算機中的帶符號二進制數(shù)把二進制數(shù)的最高位定義為符號位符號位為0
表示正數(shù),符號位為1
表示負數(shù)連同符號位一起數(shù)值化了的數(shù),稱為機器數(shù)。機器數(shù)所表示的真實的數(shù)值,稱為真值。[例]:
+52=+0110100=0
0110100
符號位數(shù)值位
-52=-0110100=1
0110100
真值機器數(shù)1).符號數(shù)的表示對于符號數(shù),機器數(shù)常用的表示方法有原碼、反碼和補碼三種。數(shù)X的原碼記作[X]原,反碼記作[X]反,補碼記作[X]補。
注意:對正數(shù),三種表示法均相同。它們的差別在于對負數(shù)的表示。原碼[X]原定義 符號位:0表示正,1表示負;數(shù)值位:真值的絕對值。原碼的例子真值X=+18=+0010010X=-18=-0010010原碼[X]原=00010010[X]原=10010010符號符號位n位原碼表示數(shù)值的范圍是對應的原碼是111
1~011
1。數(shù)0的原碼8位數(shù)0的原碼:+0=00000000-0=10000000即:數(shù)0的原碼不唯一。反碼[X]反定義
若X>0,則[X]反=[X]原
若X<0,則[X]反=對應原碼的符號位不變,數(shù)值部分按位求反[例]:X=-52=-0110100[X]原=10110100[X]反=11001011反碼的例子真值X=+18=+0010010X=-18=-0010010反碼[X]反=00010010[X]反=11101101符號符號位n位反碼表示數(shù)值的范圍是對應的反碼是100
0~011
1。0的反碼:[+0]反=00000000[-0]反=11111111即:數(shù)0的反碼也不是唯一的。補碼定義:若X≥0,則[X]補=[X]反=[X]原若X<0,則[X]補=[X]反+1[例]:X=–52=–0110100[X]原=10110100[X]反=11001011[X]補=[X]反+1=11001100n位補碼表示數(shù)值的范圍是對應的補碼是100
0~011
1。0的補碼:[+0]補=[+0]原=00000000[-0]補=[-0]反+1=11111111+1=100000000
對8位字長,進位被舍掉∴[+0]補=[-0]補=00000000特殊數(shù)10000000該數(shù)在原碼中定義為:-0在反碼中定義為:-127在補碼中定義為:-128對無符號數(shù):(10000000)2=1288位有符號數(shù)的表示范圍:對8位二進制數(shù):原碼:-127~+127反碼:-127~+127補碼:-128~+127想一想:16位有符號數(shù)的表示范圍是多少?2).有符號二進制數(shù)與十進制的轉(zhuǎn)換對用補碼表示的二進制數(shù):
1)求出真值2)進行轉(zhuǎn)換[例]:將一個用補碼表示的二進制數(shù)轉(zhuǎn)換為十進制數(shù)。
1)
[X]補=00101110B真值為:+0101110B
正數(shù)
所以:X=+462)[X]補=11010010B
負數(shù)
X=[[X]補]補=[11010010]補=-
0101110B所以:X=
-
46*補碼的運算原理
模(module)就是一個計數(shù)系統(tǒng)的最大容量。例如,鐘表的模為12,8位二進制數(shù)的模為28。
凡是用器件進行的運算都是有模運算,運算結果超過模的部分會被運算器自動丟棄。因此,當器件為n位時,有
X=2n+X(mod2n)不難驗證,
[X]補=2n+X(mod2n)3).補碼加減法的運算規(guī)則通過引進補碼,可將減法運算轉(zhuǎn)換為加法運算。規(guī)則如下:[X+Y]補=[X]補+[Y]補[X-Y]補=[X]補-[Y]補=[X]補+[-Y]補其中X,Y為正負數(shù)均可,符號位參與運算。[例]:X=-0110100,Y=+1110100,求[X+Y]補。[X]原=10110100[X]補=[X]反+1=11001100[Y]補=[Y]原=01110100所以:[X+Y]補=[X]補+[Y]補=11001100+01110100=010000004).符號數(shù)運算中的溢出問題進(借)位——在加法過程中,符號位向更高位產(chǎn)生進位;在減法過程中,符號位向更高位產(chǎn)生借位。溢出——運算結果超出運算器所能表示的范圍。運算對標志的影響舉例(一) 00000011 3 +3 +00001100 +12 +(+12) 00001111 15 +15 NC,NV
00000110 6 +6 +11111100 +252 +(-4)100000010 258>255 +2 CY,NV運算對標志的影響舉例(二) 00001000 8 +8 +01111011 +123 +(+123)10000011131 +131NC,OV
10000111 135 -121+11110101 +245 +(-11)101111100 380>255 -132<-128CY,OV溢出的判斷方法同號相減或異號相加——不會溢出。同號相加或異號相減——可能溢出:兩種情況: 同號相加時,結果符號與加數(shù)符號相反—溢出;異號相減時,結果符號與減數(shù)符號相同—溢出。[例]:
10110101
+10001111
101000100
01000010
+0110001110100101
01000010
+11001101
100001111CASE1:CASE2:CASE3:CASE4:
01001010
+00101101
01110111浮點型變量(float)4個字節(jié)(32位),IEEE-754標準含數(shù)符、階碼和尾數(shù)三部分1位符號位:“0正1負”----------S8位階碼(2的指數(shù)):偏移0x7F----E24位尾數(shù)。最高位始終為“1”,實際不占位,只保存23位(小數(shù)位)。具有24位精度.-----M若1≤E≤254,則N=(-1)S·2(E-127)·(1+M)。為規(guī)格化數(shù)。
例:
(1)N=-1.5,它的單精度格式表示為:
10111111110000000000000000000000
其中,S=1,E=127,M=0.5,因此N=-1.5。(2)以下的32位數(shù)所表示的單精度浮點數(shù)為多少?11000000101000000000000000000000
其中,S=1,E=129,M=0.25,
由公式可知N=-5。(3)浮點數(shù)-12.5的存儲形式是:
0xC14800005二進制編碼一、十進制數(shù)的表示——BCD碼
(BinaryCodedDecimal)用4位二進制數(shù)表示一位十進制數(shù)。
壓縮BCD碼(CompactBCD)
非壓縮BCD碼(Uncompact)壓縮BCD碼的每一位用4位二進制表示,0000~1001表示0~9,一個字節(jié)表示兩位十進制數(shù)。非壓縮BCD碼用一個字節(jié)表示一位十進制數(shù),高4位總是0000,低4位的0000~1001表示0~9。二、非數(shù)值數(shù)據(jù)的表示計算機中除了能夠處理數(shù)值數(shù)據(jù)以外,還可以處理文字、語音、圖像等各種信息,這些信息統(tǒng)稱為非數(shù)值數(shù)據(jù)。非數(shù)值數(shù)據(jù)在計算機中也必須以二進制形式表示,非數(shù)值數(shù)據(jù)的表示本質(zhì)上是編碼的過程。最常用的數(shù)據(jù)編碼:美國標準信息交換代碼(AmericanStandardCodeforInformationInterchange,ASCII碼)ASCII碼—美國標準信息交換代碼
ASCII碼采用7位二進制代碼對字符進行編碼。數(shù)字0~9的編碼是0110000~0111001,它們的高3位均是011,后4位正好與其對應的二進制代碼(BCD碼)相符。英文字母A~Z的ASCII碼從1000001(41H)開始順序遞增,字母a~z的ASCII碼從1100001(61H)開始順序遞增。最高位通常總為0,有時也用作奇偶校驗位。6計算機中常用術語1)計算機中常用數(shù)據(jù)單位bit1Mb=1024
1024bit=220bit1Gb=230bit=1024Mb1Tb=240bit=1024GbByte1Byte=8bit,1KB=1024Byte,…2)計算機中通信速率單位波特率(baudrate)
通信信道中信號狀態(tài)每秒鐘變化的次數(shù),是信息傳送速率的度量單位。位速率(比特率,bitpersecond,b/s)
每秒傳送多少位。每秒字符(characterpersecond,CPS)
每秒傳送多少ASCII字符。C語言數(shù)據(jù)類型簡介基本類型
構造類型派生類型整型int結構體struct數(shù)組類型字符型char共用體(聯(lián)合)型union指針類型實型float枚舉型enum雙精度型double用戶定義類型typedef空值型void數(shù)據(jù)類型決定:1.數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.數(shù)據(jù)取值范圍3.其上可進行的操作數(shù)制與C語言數(shù)據(jù)類型C語言運算符各進制C語言中的書寫格式位運算用戶標識符用戶根據(jù)需要對C程序中用到的變量、符號常量、自己的函數(shù)或文件指針進行命名,形成用戶標識符。構成規(guī)則:由英文字母、數(shù)字、下劃線組成,且第一個字符不能是數(shù)字;英文字母區(qū)別大小寫;取名遵循“簡潔明了”和“見名知意”?;具壿嬁刂埔?guī)則處理處理處理1處理2處理1處理2處理n處理處理處理1處理2處理順序分支循環(huán)遞歸C與匯編語言的區(qū)別與聯(lián)系C具有匯編的功能具有高級語言的形式C通過庫函數(shù),一行語句能實現(xiàn)非常復雜的功能匯編語言指令級的語言,面向CPU和外圍硬件編程運行效率高,開發(fā)效率低一行最多對應一條指令編程者要求對硬件有透徹的理解C通過編譯生成匯編語言,再匯編成指令代碼基礎知識(三)——常用數(shù)字電路基礎數(shù)字電路概念邏輯電路譯碼電路時序電路三態(tài)門電路與總線數(shù)字電路輸入或輸出只有有限個狀態(tài)一般為高電平與低電平來源于三極管的飽和導通或截止或MOS器件的夾斷和導通VCC邏輯電平0或1真或假正邏輯(1為真,0為假)負邏輯(0為真,1為假)TTL電平(5V電源)高電平(1電平)——輸入大于2.4V,輸出大于2.8V低電平(0電平)——輸入小于0.8V,輸出小于0.4V兼容性、噪聲容限CMOS電平(與電源電壓有關)基本邏輯運算及相應的電路與(&,∧)、或(|,∨)、非(~,▔)、異或(⊕)按位運算,無進(借)位:
&|~^邏輯運算,真(非0)假(0)
&&||!邏輯電路是對應于按位運算的邏輯門邏輯門:完成邏輯運算的電路。掌握:與、或、非門邏輯符號和邏輯關系(真值表);與非門、或非門的應用。與門(ANDGate)ABY000010100111Y=A&B&ABY注:基本門電路僅完成1位二進制數(shù)的運算或門(ORGate)ABY000011101111Y=A|BYAB≥1非門(NOTGate)AY01101AYY=A=~A異或門(eXclusiveORGate)ABY000011101110Y=A⊕BYAB⊕譯碼電路使能輸入輸出/EBA/Y0/Y1/Y2/Y31xx11110000111001101101011010111110時序電路D鎖存器數(shù)字電路分兩大類:組合邏輯、時序電路D鎖存器屬于時序電路分頻器8D鎖存器鎖存時鐘端為高時,其輸出始終跟隨輸入,而時鐘端為低時,輸出端的狀態(tài)保持不變,也就是說時鐘的下跳變將輸入狀態(tài)鎖存到輸出端。三態(tài)門74LS245A0~A7和B0~B7雙向數(shù)據(jù)線/E輸出允許,/E=0時門開通DIR方向控制DIR=0,B→A;DIR=1,A→BLED發(fā)光管電路什么是ARM?Cortex-M3/M4基礎1)通用寄存器2)特殊寄存器3)中斷2.1ARM背景知識簡介ARM公司于1990年11月成立于英國,原名為AdvancedRISCMachine有限公司,是蘋果電腦、Acorn電腦集團和VLSITechnology的合資企業(yè)。ARM成功地研制了首個低成本RISC架構。1991年ARM公司推出了首個嵌入式RISC核心——ARM6TM系列處理器。作為知識產(chǎn)權(IP,IntelligenceProperty)供應商,該公司不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設計許可,由合作公司生產(chǎn)各種芯片。世界各大半導體生產(chǎn)商從ARM公司購買其設計的ARM微處理器核,根據(jù)各自不同的應用領域,加入適當?shù)耐鈬娐?,形成自己的ARM微處理器芯片進入市場。2.1.1ARM簡介將技術授權給其它芯片廠商形成各具特色的ARM芯片...2.1ARM背景知識簡介1985年,開發(fā)出ARM1Sample版1986年,ARM2量產(chǎn)--具有32位的數(shù)據(jù)總線、26位的尋址空間,并提供64MB的尋址范圍和16個32位的寄存器1991年,ARM技術首次發(fā)布,然后蘋果電腦使用ARM610當作其AppleNewtonPDA的核心。1994年,Acorn使用ARM610作為其RISCPC電腦內(nèi)的CPU。2.1.2ARM架構的演進ARM處理器架構進化史架構:處理器:1993V4版架構應用最廣,ARM7、ARM8、ARM9和StrongARM都采用該架構ARM10和Xcale都采用該版架構V6版架構是2001年發(fā)布的,首先在2002年春季發(fā)布的ARM11處理器中使用ARM處理器處理器名字架構版本號存儲器管理特性其它特性ARM7TDMI/ARM7TDMI‐Sv4TARM7EJ‐Sv5EDSP,JazelleARM920T/ARM922Tv4TMMUARM926EJ‐Sv5EMMUDSP,JazelleARM946E‐Sv5EMPUDSPARM966E‐Sv5EDSPARM968E‐Sv5EDMA,DSPARM966HSv5EMPU(可選)DSPARM1020E/ARM1022Ev5EMMUDSPARM1026EJ‐Sv5EMMU或MPUDSP,JazelleARM1136J(F)‐Sv6MMUDSP,JazelleARM1176JZ(F)‐Sv6MMU+TrustZoneDSP,JazelleARM11MPCorev6MMU+多處理器緩存支持DSPARM1156T2(F)‐Sv6MPUDSPCortex‐M3/Cortex-M4v7‐MMPUNVICCortex‐R4v7‐RMPUDSPCortex‐R4Fv7‐RMPUDSP+浮點運算Cortex‐A8v7‐AMMU+TrustZoneDSP,Jazelle
隨著技術的不斷發(fā)展,ARM公司不斷推陳出新,研發(fā)出較高性能的ARMv7架構。ARMv7架構采用Thumb-2技術。在該版本中,內(nèi)核架構首次從單一序列變成三種序列。系列A(ARMv7-A):設計用于高性能的“開發(fā)應用平臺”——越來越接近電腦。系列R(ARMv7-R):用于高端的嵌入式系統(tǒng),尤其是那些帶有實時要求的——既要快又要實時。系列M(ARMv7-M):用于深度嵌入的、單片機風格的系統(tǒng)中——本書的主角。ARMv7架構的A、R、M三個系列都以Cortex作為主名,分別命名為ARMCortex-A、ARMCortex-R、ARMCortex-M。2.1.2ARM架構的演進2.1ARM背景知識簡介1)Thumb、Thumb-2及ThumbEEThumb是ARM處理器的一種16位指令模式。Thumb-2是16位Thumb指令集的擴充,以額外的32位指令讓Thumb指令集的使用更加廣泛。ThumbEE也就是所謂的Thumb-2EE,在基礎上Thumb-2進行一些擴充,使得指令集能特別適用于執(zhí)行階段(Runtime)的代碼生成(例如即時編譯)2.1.3ARM的專有技術2)Jazelle、3)高級SIMD(NEON)、4)VFP、5)安全性擴充(TrustZone)
ARMCortex?-M4處理器是由ARM專門開發(fā)的最新嵌入式處理器,在M3的基礎上強化了運算能力,新加了浮點、DSP、并行計算等,用以滿足需要有效且易于使用的控制和信號處理功能混合的數(shù)字信號控制市場。其高效的信號處理功能與Cortex-M處理器系列的低功耗、低成本和易于使用的優(yōu)點的組合,旨在滿足專門面向電動機控制、汽車、電源管理、嵌入式音頻和工業(yè)自動化市場的新興類別的靈活解決方案。2.1ARM背景知識簡介2.1.4Cortex-M4處理器特性簡介Cortex‐M3/M4是一個32位處理器內(nèi)核,采用了哈佛結構;擁有獨立的指令總線和數(shù)據(jù)總線,但指令與數(shù)據(jù)共享同一個存儲空間(一個統(tǒng)一的存儲器系統(tǒng))。32位的數(shù)據(jù)總線,32位的寄存器組,32位的存儲器接口,一個可選的MPU,支持小端模式和大端模式,……2.1ARM背景知識簡介2.1.4Cortex-M4處理器特性簡介2.1ARM背景知識簡介2.2Cortex-M3/M4基礎寄存器組特殊功能寄存器組異常和中斷向量表復位序列2.2.1寄存器組2.2.1寄存器組通用寄存器R0-R7:低組寄存器,32位,所有指令都能訪問。通用寄存器R8-R12:高組寄存器,32位,所有32位指令都能訪問,少量16位Thumb指令能訪問。堆棧指針R13:主堆棧指針(MSP),進程堆棧指針(PSP)。連接寄存器R14:調(diào)用子程序時,存儲返回地址。程序計數(shù)器R15:存儲當前指令地址。堆棧:按“后進先出(LIFO)”方式工作的存儲區(qū)域。堆棧4字節(jié)對齊進行壓入、彈出操作。堆棧的主要用途:
調(diào)用過程/函數(shù)/子程序時保存返回地址。參數(shù)傳遞、臨時保存數(shù)據(jù)。堆棧指針R13(SP)主程序繼續(xù)執(zhí)行主程序執(zhí)行子程序轉(zhuǎn)子程序PC壓棧彈出返回地址返回主程序主程序PC繼續(xù)執(zhí)行主程序返回主程序執(zhí)行子程序2返回子程序1PC’執(zhí)行子程序1繼續(xù)執(zhí)行子程序1(a)子程序調(diào)用(b)子程序嵌套調(diào)用調(diào)用子程序時堆棧的使用轉(zhuǎn)子程序1PC壓棧彈出PCPC執(zhí)行主程序轉(zhuǎn)子程序2PC’壓棧彈出PC’堆棧指針R13PUSH{R0};*(--R13)=R0。R13是long*的指針POP{R0};R0=*R13++R13指示堆棧棧頂,R13的初值決定了堆棧的大小。堆棧指針R13棧底低地址高地址R13堆棧段進棧方向退棧方向棧頂例:PUSHR0,設R0=10203040H,SP=0004H進棧方向執(zhí)行后00H01H02H03H04H棧頂10203040執(zhí)行前棧頂棧底R0102000H01H02H03H04H3040堆棧操作使用要點:①堆棧操作總是按4字節(jié)進行壓入和彈出;②后壓入的數(shù)據(jù)總是首先被彈出;③堆棧指針R13永遠指向棧頂;⑤R13自動進行增減量(-4,+4),壓入時自動減4,彈出時自動加4。課堂練習:已知R13=00C0H,R0=00008B31H,R1=0000F213H,執(zhí)行指令
PUSHR0PUSHR1POPR0問,指令執(zhí)行后R13=?R0=?程序狀態(tài)寄存器(PSR)標志位作用N負數(shù)標志位;N=操作結果的MSBZ零標志位;1-結果為0;0-結果為非0。C進位標志位。V溢出標志位。Q中斷屏蔽寄存器寄存器功能PRIMASK只有1個位的寄存器:置1:關掉所有可屏蔽的異常,只剩下NMI和硬fault可以響應。缺省值是0,表示沒有關中斷。FAULTMASK只有1個位的寄存器:置1:只有NMI能響應,所有其它的異常(包括中斷和fault)都關閉。缺省值是0,表示沒有關異常。BASEPRI最多有9位的寄存器(由表達優(yōu)先級的位數(shù)決定),定義了被屏蔽優(yōu)先級的閾值。當它被設成某個值后,所有優(yōu)先級號大于等于此值的中斷都被關閉(優(yōu)先級號越大,優(yōu)先級越低)。缺省值是0,則不關閉任何中斷。Cortex-M3/M4基礎1)通用寄存器2)特殊寄存器3)中斷4)存儲器系統(tǒng)5)總線輸入輸出的數(shù)據(jù)傳輸方式程序傳送方式無條件傳輸方式查詢傳輸方式中斷傳輸方式DMA無條件方式&查詢方式無條件方式:假定輸入輸出設備總是處于就緒狀態(tài),因此在輸入輸出前,不需要了解設備的實際狀態(tài).查詢方式:需要了解設備的狀態(tài),有流量控制的客觀要求。如微型打印機的工作方式。查詢方式的流程圖超時?READY?與外設進行數(shù)據(jù)交換超時錯讀入并測試外設狀態(tài)YNYN傳送完?防止死循環(huán)復位計時器NY中斷中斷(Interrupt)因事件發(fā)生,程序中止正常的執(zhí)行流程,轉(zhuǎn)入到該事件的處理程序。中斷服務程序(ISR,Interruptserviceroutine)中斷返回事件處理完畢(ISR執(zhí)行完畢)返回正常的流程。與函數(shù)調(diào)用的區(qū)別被動、硬件調(diào)用斷點是隨機的、不可預知與程序異步。中斷方式數(shù)據(jù)傳輸?shù)膬?yōu)點CPU與外設異步工作,無須大量的查詢,高速CPU不需要等待慢速的外部設備;編程時,程序仍分正常流程、中斷服務程序ISR并可以分別編寫,思路清晰;CPU的執(zhí)行時,由事件驅(qū)動ISR的運行;在控制應用中幾乎沒有不使用中斷的;異常與中斷Cortex-M3/4支持大量異常,包括11個系統(tǒng)異常,240個外部中斷(IRQ)。編號類型優(yōu)先級簡介0N/AN/A沒有異常1復位-3(最高)復位2NMI-2不可屏蔽中斷(來自外部NMI輸入腳)3硬(hard)fault-1所有被除能的fault,都將“上訪”成硬fault。除能的原因包括當前被禁用,或者FAULTMASK被置位。4MemManagefault可編程存儲器管理fault,MPU訪問犯規(guī)以及訪問非法位置均可引發(fā)。企圖在“非執(zhí)行區(qū)”取指也會引發(fā)此fault5總線fault可編程從總線系統(tǒng)收到了錯誤響應,原因可以是預取流產(chǎn)(Abort)或數(shù)據(jù)流產(chǎn),或者企圖訪問協(xié)處理器6用法(usage)Fault可編程由于程序錯誤導致的異常。通常是使用了一條無效指令,或者是非法的狀態(tài)轉(zhuǎn)換,例如嘗試切換到ARM狀態(tài)7-10保留N/AN/A11SVCall可編程執(zhí)行系統(tǒng)服務調(diào)用指令(SVC)引發(fā)的異常12調(diào)試監(jiān)視器可編程調(diào)試監(jiān)視器(斷點,數(shù)據(jù)觀察點,外部調(diào)試請求)13保留N/AN/A14PendSV可編程為系統(tǒng)設備而設的“可懸掛請求”(pendablerequest)15SysTick可編程系統(tǒng)滴答定時器(周期性溢出的時基定時器)16IRQ#0可編程外中斷#017IRQ#1可編程外中斷#1…………255IRQ#239可編程外中斷#239中斷的5個步驟中斷請求中斷判優(yōu)(有時還要進行中斷源識別)中斷響應中斷服務中斷返回1)中斷請求外設接口(中斷源)發(fā)出中斷請求信號,送到CPU的中斷引腳;中斷請求信號:邊沿請求,電平請求. 中斷請求信號應保持到中斷被處理為止;CPU響應中斷后,中斷請求信號應及時撤銷。2)中斷源識別與判優(yōu)計算機中的中斷源有很多,CPU必須識別是哪一個設備產(chǎn)生中斷。多個中斷源產(chǎn)生中斷,CPU首先為誰服務?
——中斷優(yōu)先級排隊問題。
中斷優(yōu)先級控制要處理兩種情況:對同時產(chǎn)生的中斷:應先處理優(yōu)先級別高的中斷;若優(yōu)先級別相同,則按先來先服務的原則處理;對非同時產(chǎn)生的中斷:低優(yōu)先級別的中斷處理程序允許被高優(yōu)先級別的中斷源所中斷——即允許中斷嵌套。3)中斷響應在每條指令的最后一個時鐘周期,CPU檢測中斷信號。若以下條件成立,則CPU響應中斷:當前指令執(zhí)行完。對中斷信號有效;當前沒有復位(RESET)和保持(HOLD)信號。若NMI和普通中斷信號同時發(fā)生,則首先響應NMI。3)中斷響應CPU中斷響應時,要做下述三項工作:向中斷源發(fā)出中斷響應信號;斷點保護,保證中斷結束后能返回被中斷的程序。獲得中斷服務程序首地址(入口)。中斷服務子程序入口保護現(xiàn)場開中斷中斷處理
關中斷恢復現(xiàn)場開中斷中斷返回4)中斷處理5)中斷返回執(zhí)行中斷返回指令CPU把堆棧內(nèi)保存的斷點信息彈出到程序指針寄存器,保證被中斷的程序從斷點處能夠繼續(xù)往下執(zhí)行。中斷向量表
存放各類中斷的中斷服務程序
的入口地址。表偏移地址000H~3FFH,
大小為1KB,共256個入口每個入口占用4Bytes根據(jù)中斷類型號獲得中斷服務
程序入口的方法:(n為中斷類型號)中斷向量在表中的存放地址=4×n異常與中斷Cortex-M3/4支持大量異常,包括11個系統(tǒng)異常,240個外部中斷(IRQ)。編號類型優(yōu)先級簡介0N/AN/A沒有異常1復位-3(最高)復位2NMI-2不可屏蔽中斷(來自外部NMI輸入腳)3硬(hard)fault-1所有被除能的fault,都將“上訪”成硬fault。除能的原因包括當前被禁用,或者FAULTMASK被置位。4MemManagefault可編程存儲器管理fault,MPU訪問犯規(guī)以及訪問非法位置均可引發(fā)。企圖在“非執(zhí)行區(qū)”取指也會引發(fā)此fault5總線fault可編程從總線系統(tǒng)收到了錯誤響應,原因可以是預取流產(chǎn)(Abort)或數(shù)據(jù)流產(chǎn),或者企圖訪問協(xié)處理器6用法(usage)Fault可編程由于程序錯誤導致的異常。通常是使用了一條無效指令,或者是非法的狀態(tài)轉(zhuǎn)換,例如嘗試切換到ARM狀態(tài)7-10保留N/AN/A11SVCall可編程執(zhí)行系統(tǒng)服務調(diào)用指令(SVC)引發(fā)的異常12調(diào)試監(jiān)視器可編程調(diào)試監(jiān)視器(斷點,數(shù)據(jù)觀察點,外部調(diào)試請求)13保留N/AN/A14PendSV可編程為系統(tǒng)設備而設的“可懸掛請求”(pendablerequest)15SysTick可編程系統(tǒng)滴答定時器(周期性溢出的時基定時器)16IRQ#0可編程外中斷#017IRQ#1可編程外中斷#1…………255IRQ#239可編程外中斷#239向量表異常類型地址偏移量異常向量00x00MSP的初始值10x04復位20x08NMI30x0C硬fault40x10MemManagefault50x14總線fault60x18用法fault7‐100x1c‐0x28保留110x2cSVC120x30調(diào)試監(jiān)視器130x34保留140x38PendSV150x3cSysTick160x40IRQ#0170x44IRQ#118‐2550x48‐0x3FFIRQ#2‐#239中斷向量表例:設某中斷源的中斷類型碼為08H,中斷向量為01001000H,則相應的中斷向量存儲地址?從該地址開始,連續(xù)的4個存儲單元存放的內(nèi)容依次為?復位序列復位序列因為CM3是在Thumb態(tài)下執(zhí)行,所以向量表中的每個數(shù)值都須把LSB置1。使用0x101來表達地址0x100。當0x100處的指令得到執(zhí)行后,就正式開始了程序的執(zhí)行。首先初始化MSP是必需的,因為可能第1條指令還沒執(zhí)行就會被NMI或是其它fault打斷。MSP初始化好后就已經(jīng)為它們的服務例程準備好了堆棧。存儲系統(tǒng)存儲器是計算機系統(tǒng)的記憶設備,用來存放計算機的程序指令、處理數(shù)據(jù)、運算結果以及各種需要計算機保存的信息。通常一個存儲單元由8個存儲元構成,可存放8位二進制信息(即一個字節(jié),Byte)。許多存儲單元組織在一起就構成了存儲器。多層存儲結構概念核心是解決容量、速度、價格間的矛盾,建立起多層存儲結構。
存儲器概述1內(nèi)存與外存
內(nèi)存、主存,存儲系統(tǒng)任務的指令代碼和數(shù)據(jù).
采用半導體存儲器,經(jīng)系統(tǒng)總線,連接到CPU。內(nèi)存(集成電路)的指標:容量、速度、功耗、存取模式和可靠性外存——軟盤、硬盤、光盤、U盤、CF卡等(移動數(shù)據(jù)設備中很普遍)典型半導體存儲器的分類隨機存儲器RAM只讀存儲器ROM半導體存儲器動態(tài)DRAMPROMEPROME2PROM靜態(tài)SRAMFLASHROM掩膜ROM雙極型MOS型靜態(tài)SRAM(StaticRAM)每個二進制位由6個MOS管構成,集成度低、容量?。▎纹瑸?12Kbits到512KB)和價格高。速度高,通常為100nS~幾nS;用途:小容量嵌入式控制系統(tǒng)、高速緩沖存儲器(Cache);動態(tài)DRAM(DynamicRAM)1~3管,極間電容存儲,集成度高(單片容量可達64Mb)、價格低,功耗低;需要刷新電路SRAM,DRAM的比較DRAM基本存儲單元:單場效應管、極間電容,芯片;容量大、存儲單元多,地址線的位數(shù)多;為減少引腳數(shù),地址分為行地址、列地址兩部分輸送。訪問任一單元時,行地址和列地址分別輸入。系統(tǒng)必須配備“讀出再生放大電路”,定時對存儲數(shù)據(jù)進行額外的刷新,因此,DRAM芯片的存取速度低,一般為70nS(毫微秒)或60nS,比CPU低許多。每次同時對一行的存儲單元進行刷新。DRAM一般采用“位結構”存儲體:每個存儲單元存放一位需要8個存儲芯片構成一個字節(jié)單元每個字節(jié)存儲單元具有一個地址半導體存儲器存儲單元的組織與內(nèi)部地址譯碼存儲器的構成主要的控制線存儲單元的組織與內(nèi)部地址譯碼譯碼器A5A4A3A2A1A06301存儲單元64個單元單譯碼雙譯碼可簡化芯片設計主要采用的譯碼結構行譯碼A2A1A0710列譯碼A3A4A501764個單元雙譯碼存儲器的構成地址譯碼(行、列)存儲單元矩陣A0-A4X譯碼Y譯碼……A5-A9I/O驅(qū)動控制讀/寫D0-D3數(shù)據(jù)線地址線控制線ROMROM(ReadOnlyMemory)特點:正常運行期間只能讀不能寫,存儲內(nèi)容不會被改寫,且掉電后也不會丟失。用途:存放開機即執(zhí)行的程序代碼。ROM的分類及用途掩膜ROM
半導體工藝中,以最后一張掩膜決定各存儲位是0還是1,信息是永久性的,不能更改。PROM(ProgrammableROM,可編程)出廠是空片(所有單元的初始信息是FFH),可利用專門的寫入器一次性寫入,不能擦除。EPROM(ErasableProgrammableROM可擦除可編程)用專門的寫入器編程,用一定波長的紫外線可擦除其中內(nèi)容(回到FFH),可多次進行。EEPROM(ElectricalEPROM)即電可擦除可編程ROM。存儲器讀周期⑩⑨⑧⑦⑥⑤④③②①浮空S6~S3A19~A16數(shù)據(jù)輸入地址輸出總線周期T1T2T4T3,TwM/IOCLKALEBHEA19/S6~A16/S3AD15~AD0RDREADY存儲器寫周期⑥③⑦⑤④②①S6~S3A19~A16數(shù)據(jù)輸出地址輸出總線周期T1T2T4T3,TwM/IOCLKALEBHEA19/S6~A16/S3AD15~AD0WRM3預定義的存儲器映射另一種方式分為8個512MB等份1.代碼區(qū)(0x0000_0000‐0x1FFF_FFFF)
該區(qū)是可以執(zhí)行指令的,數(shù)據(jù)操作通過數(shù)據(jù)總線接口實現(xiàn)(讀數(shù)據(jù)使用D‐Code,寫數(shù)據(jù)使用System),且在此區(qū)上的寫操作是緩沖的。另一種方式分為8個512MB等份2.SRAM區(qū)(0x2000_0000–0x3FFF_FFFF)
此區(qū)用于片內(nèi)SRAM,此區(qū)亦可以執(zhí)行指令,以允許把代碼拷貝到內(nèi)存中執(zhí)行——常用于固件升級等維護工作。另一種方式分為8個512MB等份3.片上外設區(qū)(0x4000_0000–0x5FFF_FFFF)4.外部RAM區(qū)的前段
(0x6000_0000‐0x7FFF_FFFF)5.外部RAM區(qū)的后段
(0x8000_0000–0x9FFF_FFFF)另一種方式分為8個512MB等份6.外部外設區(qū)的前段(0xA000_0000–0xBFFF_FFFF)7.外部外設區(qū)的后段
(0xC000_0000–0xDFFF_FFFF)
8.系統(tǒng)區(qū)
(0xE000_0000–0xFFFF_FFFF)如何在系列中選擇控制?ARM最小系統(tǒng)目前,Kinetis系列的微控制器有K10、K20、K30、K40、K50、K60和K70等幾個子系列。2.2.1Kinetis系列微控制器2.4K60系列微控制器的存儲器映像與編程結構K60系列微控制器具有:IEEE1588以太網(wǎng)全速和高速USB2.0硬件加密和防竄改探測能力,具有豐富的模擬、通信、定時和控制外設256KB~1MB閃存K60系列的模塊結構框圖1.內(nèi)核模塊2.系統(tǒng)模塊3.存儲模塊4.時鐘模塊5.安全模塊6.模擬模塊7.定時器模塊8.通信模塊9.人機接口模塊2.4K60系列微控制器的存儲器映像與編程結構2.4.2K60系列存儲器映像
ARMCortex-M4為32位處理器內(nèi)核。內(nèi)部的數(shù)據(jù)是32位的,寄存器是32位的,存儲器接口也是32位的。CPU頻率(MHz)閃存(KB)FlexNVM(KB)SRAM(KB)FlexRAM(KB)100LQFP14×14104BGA8×8144LQFP20×20144BGA13×13196BGA15×15256BGA17×17100256—64—++++——100512—128—++++——100256256644++++——12051251212816——++++15051251212816——++++1201024—128———++++1501024—128———++++K60系列的存儲器空間地址映像(一)地址范圍大小實際的物理對象0x0000_0000~0x0FFF_FFFF256MB可編程flash和只讀數(shù)據(jù)(包括一開始1024字節(jié)的異常中斷向量)0x1000_0000~0x13FF_FFFF64MB對MK60N256VLQ100芯片:未使用對MK60X256VLQ100芯片:FlexNVM對MK60N512VLQ100芯片:未使用0x1400_0000~0x17FF_FFFF64MB對有FlexNVM的設備:FlexRAM對只有可編程Flash的設備:可編程加速RAM0x1800_0000~0x1FFF_FFFF128MBSRAM_L0x2000_0000~0x_FFFF1MBSRAM_U0x2001_0000~0x21FF_FFFF31MB未使用0x2200_0000~0x23FF_FFFF32MBSRAM_U的混合位寬區(qū)0x2400_0000~0x3FFF_FFFF448MB未使用地址范圍大小實際的物理對象0x4000_0000~0x4007_FFFF512KB外設橋0(AIPS-Lite0)0x4008_0000~0x_EFFF508KB外設橋1(AIPS-Lite1)0x_F000~0x_FFFF4KB通用輸入輸出0x4010_0000~0x41FF_FFFF25MB未使用0x4200_0000~0x43FF_FFFF32MB外設橋(AIPS-Lite)與通用輸入輸出的混合位寬區(qū)0x4400_0000~0x5FFF_FFFF448MB未使用0x6000_0000~0xDFFF_FFFF2GBFlexbus0xE000_0000~0xE_FFFF1MB私有外設0xE010_0000~0xFFFF_FFFF511MB未使用K60系列的存儲器空間地址映像(二)2.4K60系列微控制器的存儲器映像與編程結構1.中斷向量表、程序代碼及常量的存放地址
中斷向量表、程序代碼及常量的存放于Flash中。K60的中斷向量表、程序代碼及常量的存放區(qū)域是:0x0000_0000~0x0FFF_FFFF。K60的程序代碼編譯鏈接后,中斷向量表將從0x0000_0000地址開始存放,程序代碼從0x0000_0410地址開始存放。存放完代碼空間后,常量隨其后。2.全局變量、局部變量的存放地址
全局變量及局部變量存放于RAM中。K60系列微控制器的RAM地址空間分為兩個部分,第一部分被稱為SRAM_L,地址范圍是:0x1800_0000~0x1FFF_FFFF,共128MB;第二部分被稱為SRAM_U,地址范圍是:0x2000_0000~0x200F_FFFF,共1MB。2.4K60的引腳功能與硬件最小系統(tǒng)1.硬件最小系統(tǒng)引腳硬件最小系統(tǒng)引腳包括電源類引腳、復位引腳、晶振引腳等。K60芯片電源類引腳,BGA封裝22個,LQFP封裝27個,其中MAPBGA封裝的芯片有五個引腳未使用(A10、B10、C10、M5和L5)。芯片使用多組電源引腳分別為內(nèi)部電壓調(diào)節(jié)器、I/O引腳驅(qū)動、A/D轉(zhuǎn)換電路等電路供電,內(nèi)部電壓調(diào)節(jié)器為內(nèi)核和振蕩器等供電。復位引腳
是一個專用引腳,內(nèi)部含有上拉電阻??臻e狀態(tài)為高電平,低電平迫使芯片復位。在寫入器電路中,該引腳被連接到標準的10芯JTAG接口,以便寫入器可以使MCU復位。
由于Flash存儲器制造技術的發(fā)展,大部分芯片提供了在板或在線系統(tǒng)(OnSystem)寫入程序功能,即把空白芯片焊接到電路板上后,再通過寫入器把程序下載到芯片中。這樣,硬件最小系統(tǒng)應該把寫入器的接口電路也包含在其中?;谶@個思路,MK60N512VMD10芯片的硬件最小系統(tǒng)包括電源電路、復位電路、晶振電路及JTAG接口電路。2.4.1K60的引腳功能2.4K60的引腳功能與硬件最小系統(tǒng)分類引腳名引腳號典型值功能描述MAPBGALQFP電源電源輸入VDDE5、E6、E7、E8、F5、F85、16、43、56、70、94、1083.3V電源VSSF6、F7、G7、G8、H3、H7、H8、M106、17、18、44、57、71、93、107、121、1340V地VBATL6423.3VRTC模塊的輸入電源(可電池供電)VDDA、VSSAH5、H631、343.3V、0VA/D模塊的輸入電源VREFH、VREFLG5、G632、333.3V、0VA/D模塊的參考電壓VREGING2225VUSB模塊的參考電壓電源輸出VREF_OUTM3371.2VADC、CMP和DAC的輸出參考電壓VOUT33G1213.3VUSB模塊電源穩(wěn)壓器輸出的電壓復位L1274復位引腳(雙向引腳)。作為輸入引腳,拉低可使芯片復位。作為輸出引腳,上電復位期間有低脈沖輸出,表示芯片已經(jīng)復位完成。晶振EXTALM1272晶振或時鐘輸入引腳(PTA18)*RTCEXTAL32、XTAL32M6、M741、40RTC晶振或時鐘輸入、輸出引腳寫入器JTAG_TMSK753測試模式選擇(有內(nèi)部上拉)JTAG_TCLKJ550JTAG時鐘JTAG_TDI、JTAG_TDOJ6、K651、52JTAG數(shù)據(jù)輸入、輸出EZP_CS_bL754EzPort模式選擇引腳個數(shù)統(tǒng)計MAPBGA封裝31個,LQFP封裝36個1.K60硬件最小系統(tǒng)引腳表2.4K60的引腳功能與硬件最小系統(tǒng)2)I/O端口資源類引腳可以為實際系統(tǒng)提供I/O服務。芯片提供服務的引腳也可稱為I/O端口資源類引腳。K60(144引腳MAPBGA和LQFP封裝)具有多達100個I/O引腳。其中A口26個,B口20個,C口20個,D口16個,E口18個,每個引腳均具有多個功能。在復位后,這些引腳立即被配置為高阻狀態(tài),且為通用輸入引腳,沒有內(nèi)部上拉電阻。為了避免來自浮空輸入引腳額外的漏電流,應用程序中的復位初始化例程需盡快使能上拉或下拉,也可改變不常用引腳的方向為輸出,以使該引腳不再浮空。2.4K60的引腳功能與硬件最小系統(tǒng)口名引腳數(shù)引腳名功能描述A26PTA[0~19]PTA[24~29]JTAG/Enet/EXTAL/FTM/ADC/TSI/SPI/UART/I2S/CMP/GPIOB20PTB[0~11]PTB[16~23]ADC/CMP/TSI/Enet/FTM/UART/SPI/I2S/CAN/GPIOC20PTC[0~19]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024中外合資企業(yè)教育培訓與經(jīng)營合同書
- 2024廣州市房地產(chǎn)中介服務合同(賣方出租方使用)
- 2024個人民間借款合同范例
- 2024年信息安全保密協(xié)議
- 2024年合伙人分伙協(xié)議書
- 2024果樹苗木定購合同范本
- 跨境電商商品銷售合同
- 承包商土地使用權贈與合同模板
- 精裝修室內(nèi)工程合同
- 2024英文合同范本
- 文明交通你我同行(課件)-小學生主題班會通用版
- 《嬰幼兒行為觀察、記錄與評價》期末試卷及答案 卷3
- 企業(yè)戰(zhàn)略管理概述
- 消防安全概述
- 《馮諼客孟嘗君》
- 湖北省鄂東南聯(lián)考2023-2024學年高一上學期期中考試物理
- 自體骨髓干細胞治療急性心肌梗死的臨床研究的開題報告
- 家長會課件:小學二年級學生家長會課件
- 運動技能學習與控制課件第十一章運動技能的練習
- 《第2課:20世紀的藝術大師-馬蒂斯》教學設計(湖北省縣級優(yōu)課)-五年級美術教案
評論
0/150
提交評論