單片機原理與應用系統(tǒng)設計 第08章 ARM系列單片機原理與應用_第1頁
單片機原理與應用系統(tǒng)設計 第08章 ARM系列單片機原理與應用_第2頁
單片機原理與應用系統(tǒng)設計 第08章 ARM系列單片機原理與應用_第3頁
單片機原理與應用系統(tǒng)設計 第08章 ARM系列單片機原理與應用_第4頁
單片機原理與應用系統(tǒng)設計 第08章 ARM系列單片機原理與應用_第5頁
已閱讀5頁,還剩311頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 8.1 ARM系列單片機概述 8.2 ARM處理器的編程模型 8.3 ARM系列單片機的硬件結構 8.4 ARM系列單片機指令系統(tǒng)及編程 8.5 ARM系列單片機集成開發(fā)環(huán)境 第8章 ARM系列單片機原理與應用 8.1 ARM系列單片機概述 ARM系列單片機實際上是對基于ARM處理器核而設計的一類單片機的泛稱,也常被稱為ARM系列微控制器。ARM是Advanced RISC Machines 的縮寫,是英國一家知名微處理器設計公司的名稱。ARM公司既不生產(chǎn)芯片也不銷售芯片,它只從事處理器技術研發(fā)和技術授權轉(zhuǎn)讓,將其自主研發(fā)的技術出售給合作伙伴公司,由他們?nèi)ドa(chǎn)基于ARM核的單片機芯片。至今,

2、全世界包括Intel、Philips、Atmel、IBM、TI、AD、Motorola、Altera、NetSilicon、OKI、SONY、NEC等許多著名半導體公司在內(nèi)的100多家公司,都與ARM公司建立了合作伙伴關系,采用了其ARM核技術來生產(chǎn)微處理器或微控制器芯片。國內(nèi)多家大公司也已經(jīng)購置ARM公司的芯核技術,用于通信專用芯片的設計。 8.1 ARM系列單片機概述 ARM處理器核的顯著特點是速度高、功耗低、功能強、價格廉,具有業(yè)界公認的世界領先、最受歡送的32位嵌入式 RISC ( Reduced Instruction Set Computer)處理器結構通常稱之為ARM體系結構。因

3、此,ARM核單片機在移動通信、可視 、信息家電、掌上電腦、TV機頂盒、數(shù)碼照相機、攝像機等控制及算法相對復雜、數(shù)據(jù)存儲及處理量較大、事務調(diào)度能力和實時性要求較高的場合,獲得了極為廣泛的應用,而且必將用得越來越廣泛。目前在32位單片機市場上,ARM實際上已扮演著類似于8位單片機市場上8051的角色。 8.1 ARM系列單片機概述 按照ARM結構設計的ARM處理器核,經(jīng)過多年的開展和優(yōu)勝劣汰,當前應用較多的主要有6個系列:ARM7、ARM9、ARM9E、ARM10E、SecurCore和最新的ARM11。其中在中國市場上比較流行的主要是ARM7和ARM9兩個系列,兩者功能、性能上雖然互有差異,但根

4、本結構大同小異,且都是32位嵌入式處理器,都同時支持32位的ARM指令集和16位的Thumb指令集,因此在應用編程上也大同小異。鑒于ARM7比ARM9應用更廣,基于ARM7處理器核設計生產(chǎn)芯片的公司更多,同時其性能價格比也更高,加之結合它進行教學既簡單又典型,所以本章將主要以ARM7處理器核為例,介紹ARM的編程結構和以它為核心構成的單片機的應用系統(tǒng)設計和調(diào)試方法。 8.1.1 ARM核的結構特性 ARM 處理器核是基于精簡指令集計算機(RISC)原理而設計的,因此它在體系結構上具有極典型的RISC特性,如: 具有統(tǒng)一和固定長度的指令域,使指令集和指令譯碼大大簡化; 具有一個大而統(tǒng)一的存放器文

5、件,大多數(shù)數(shù)據(jù)操作都在存放器中完成,使指令執(zhí)行速度更快; 采用加載/存儲結構,使數(shù)據(jù)處理時只對存放器操作,而不直接對存儲器操作; 尋址方式簡單而靈活,所有加載/存儲的地址都只由存放器的內(nèi)容和指令域決定,執(zhí)行效率高; 8.1.1 ARM核的結構特性 每一條數(shù)據(jù)處理指令都對算術邏輯單元ALU和移位存放器進行控制,以最大限度地提高ALU和移存器的利用率; 采用自動增/減地址的尋址方式,有利于優(yōu)化循環(huán)程序的執(zhí)行; 引入多存放器加載/存儲指令,有利于實現(xiàn)數(shù)據(jù)吞吐量的最大化; 所有指令的條件執(zhí)行有利于實現(xiàn)最快速的代碼執(zhí)行; 。 8.1.1 ARM核的結構特性 這些RISC結構特性帶來的結果,是使ARM核在

6、高性能、低代碼規(guī)模、低功耗和高集成度等方面獲得了良好的平衡,實現(xiàn)了綜合優(yōu)化,從而使指令吞吐量和吞吐率明顯增大,實時中斷響應性能顯著增強,總的性能價格比大大提高。 ARM的體系結構從提出至今,一直在不斷改進、完善和開展,根據(jù)其所用指令集的不同,先后推出了5種版本v1v5。版本v1、v2均只有26位的尋址空間,現(xiàn)在根本上已廢棄不用。版本v3v5,將尋址空間擴展到了32位。 8.1.2 ARM7系列處理器核簡介 ARM7系列處理器核包括ARM7TDMI、ARM7TDMI-S、ARM720T和ARM7EJ-S。 ARM7TDMI是從ARM6核開展而來的第一款ARM7核,它的后綴“TDMI反映了它在AR

7、M6根底上所增加的功能: T表示擴展了高密度16位的Thumb指令集;D表示支持在片調(diào)試,允許處理器響應調(diào)試請求暫停; M表示具有增強型64位乘法指令,支持兩個32位數(shù)相乘而直接產(chǎn)生64位結果;I表示內(nèi)含EmberdedICE觀察點硬件,可提供對設置片上斷點和調(diào)試點的支持。 8.1.2 ARM7系列處理器核簡介 ARM7TDMI-S是ARM7TDMI的可綜合Synthesizable版本軟核,邏輯上與ARM7TDMI根本相同,編程模型與ARM7TDMI完全一樣,差異僅在于它的邏輯功能可由芯片生產(chǎn)廠商進行裁剪。所以,以后如無特殊說明,對這兩者不予區(qū)分,統(tǒng)稱為ARM7TDMI。 8.1.2 ARM

8、7系列處理器核簡介 ARM720T是帶有高速緩存處理宏單元的高性能ARM7核,宏單元中提供了8KB緩存、讀緩沖和內(nèi)存管理等功能,可支持Linux、Symbiam OS和Windows CE等操作系統(tǒng)。 ARM7EJ-S是擴充了Jazelle功能的可綜合版本處理器核。該系列處理器核都提供了ARM32位指令集和Thumb16位壓縮指令集,提供了對EmbeddedICE JTAG軟件調(diào)試方式的支持,很適合用于大規(guī)模、超大規(guī)模集成的SoC設計中,并能很好地兼容8位/16位器件,目前在PDA、移動 等智能化多媒體無線設備領域和調(diào)制解調(diào)器、網(wǎng)卡等廣域網(wǎng)、局域網(wǎng)接入設備中已獲得廣泛應用。 8.1.3 常用A

9、RM系列單片機選型指南 如前所述,世界上基于ARM處理器核開發(fā)生產(chǎn)ARM單片機包括微處理器和微控制器芯片的公司很多,因此各ARM系列單片機的型號種類都很多,如Atmel公司基于ARM7TDMI核的芯片型號AT91F40416,AT91FR40481,AT91F40807,AT91F42800,AT91F43300,AT91F55800,AT91F40807,AT91M40400,AT91M40800,AT91M63200,AT75C220,AT75C310;NetSilicon公司基于ARM720TDMI核的NET+15,NET+40,NET+50;Linkup公司基于ARM720T核的L72

10、00,L7205,L7210;Altera公司基于ARM922T核的EPXA1,EPXA4,EPXA10;Samsung公司基于ARM720TDMI核的S3C3400A,S3C3410A,S3C44A0A,S3C34B0A,S3C34510;Motorola公司基于ARM9207核的DragonBallMXI;Sharp公司基于ARM720TDMI核的LH75400,基于ARM720T核的LH79520,基于ARM922T核的LH7A400;等等。 8.1.3 常用ARM系列單片機選型指南 不同公司、不同型號的產(chǎn)品,功能性能各有千秋。這里僅以市場上較常見、應用也較廣的,Philips公司基于A

11、RM7TDMIS核生產(chǎn)的LPC2100和LPC2200兩個系列的32位ARM微控制器為例,給出它們中主要型號的功能配置,如表8.1所示。讀者可以此作為選型指南,參照其中的配置來決定自己的芯片選型。 8.1.3 常用ARM系列單片機選型指南 8.1 Philips LPC系列32位ARM微控制器選型指南型號存儲器定時/計數(shù)器模數(shù)轉(zhuǎn)換CANWDT串行接口I/O通道數(shù)CPU電壓 /VI/O 電壓/V最高頻率/MHz封裝RAM/KBFlash/KBISPIAPTim. PWMRTCADC路/位DAC路/位UARTI2CSPIUSBLPC2100系列LPC210128YYYY-8/10-Y222-321

12、.83.370LQFP48LPC2102416YYYY-8/10-Y222-321.83.370LQFP48LPC2103832YYYY-8/10-Y222-321.83.370LQFP48LPC210416128YYYYY-Y2YY-321.83.360LQFP48LPC210532128YYYYY-Y2YY-321.83.360LQFP48LPC210664128YYYYY-Y2YY-321.83.360LQFP48LPC211416128YYYYY4/10-Y2Y2-461.83.360LQFP64LPC211916128YYYYY4/10-2Y2Y2-461.83.360LQFP64L

13、PC212416256YYYYY4/10-Y2Y2-461.83.360LQFP64LPC212916256YYYYY4/10-2Y2Y2-461.83.360LQFP64LPC2131832YYYYY8/10-Y222-473.33.360LQFP64LPC21321664YYYYY8/101/10-Y222-473.33.360LQFP64LPC213416128YYYYY8/10 x21/10-Y222-473.33.360LQFP64LPC213632256YYYYY8/10 x21/10-Y222-473.33.360LQFP64LPC213832512YYYYY8/10 x21/1

14、0-Y222-473.33.360LQFP64 8.1.3 常用ARM系列單片機選型指南 8.1 Philips LPC系列32位ARM微控制器選型指南型號存儲器定時/計數(shù)器模數(shù)轉(zhuǎn)換CANWDT串行接口I/O通道數(shù)CPU電壓 /VI/O 電壓/V最高頻率/MHz封裝RAM/KBFlash/KBISPIAPTim. PWMRTCADC路/位DAC路/位UARTI2CSPIUSBLPC2100系列LPC2141832YYYYY6/101/10-Y222Y453.33.360LQFP64LPC21421664YYYYY6/101/10-Y222Y453.33.360LQFP64LPC21441612

15、8YYYYY14/101/10-Y222Y453.33.360LQFP64LPC214632+8256YYYYY14/101/10-Y222Y453.33.360LQFP64LPC214832+8512YYYYY14/101/10-Y222Y453.33.360LQFP64LPC219416256YYYYY4/101/10-Y222Y461.83.360LQFP64LPC2200系列LPC221016-YYY8/10-Y2Y2-761.83.360LQFP144LPC221216128YYYYY8/10-Y2Y2-1121.83.360LQFP144LPC221416256YYYYY8/10-

16、Y2Y2-1121.83.360LQFP144LPC222064-YYY8/10-Y2Y2-761.83.375LQFP144LPC229016-YYY8/10-2Y2Y2-761.83.360LQFP144LPC229216256YYYYY8/10-2Y2Y2-1121.83.360LQFP144LPC229416256YYYYY8/10-4Y2Y2-1121.83.360LQFP144 8.2 ARM處理器的編程模式 本節(jié)簡介ARM處理器編程模型的一些根本概念,包括處理器工作狀態(tài)與運行模式、數(shù)據(jù)類型與存儲格式、存放器組織、處理器異常等。通過對本節(jié)的學習,旨在使讀者對ARM微處理器的根本工作

17、原理和一些與程序設計相關的根本技術細節(jié)有個初步了解,為應用編程打下必要根底。 8.2.1 ARM的工作狀態(tài)和運行模式 1. 工作狀態(tài) 從編程的角度看,ARM處理器的工作狀態(tài)一般有兩種: ARM狀態(tài)。此時處理器執(zhí)行32位的字對齊的ARM指令。 Thumb狀態(tài)。此時處理器執(zhí)行16位的、半字對齊的Thumb指令。 當ARM處理器執(zhí)行32位ARM指令集中的指令時,工作在ARM狀態(tài);執(zhí)行16位Thumb指令集中的指令時,工作在Thumb狀態(tài)。通常在剛加電開始執(zhí)行代碼時,ARM處理器處于ARM狀態(tài);然后,在程序的執(zhí)行過程中,只要滿足一定條件狀態(tài)切換指令或異常處理,隨時可在兩種工作狀態(tài)之間切換,并且這種切換

18、并不影響處理器的工作模式和相應存放器中的內(nèi)容。 8.2.1 ARM的工作狀態(tài)和運行模式 2. 運行模式 ARM處理器支持7種運行模式,分別為: 用戶模式usr ARM處理器正常的程序執(zhí)行模式。 快速中斷模式fiq 用于高速數(shù)據(jù)傳輸或通道處理。 外部中斷模式irq 用于通用的中斷處理。 管理模式svc 操作系統(tǒng)使用的保護模式。 數(shù)據(jù)訪問中止模式(abt) 當數(shù)據(jù)或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。 系統(tǒng)模式sys 運行具有特權的操作系統(tǒng)任務。 未定義指令模式und當未定義的指令執(zhí)行時進入該模式,可用于支持硬件協(xié)處理器的軟件仿真。 8.2.1 ARM的工作狀態(tài)和運行模式 ARM處

19、理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。 大多數(shù)的應用程序運行在用戶模式下,這時,對某些被保護的系統(tǒng)資源是不能訪問的。 7種運行模式中,除用戶模式以外,其余6種模式統(tǒng)稱為非用戶模式,也叫特權模式Privileged Modes;特權模式中,除去系統(tǒng)模式以外的5種又稱為異常模式Exception Modes,常用于處理中斷或異常,以及需要訪問受保護的系統(tǒng)資源等情況。 8.2.2 ARM的數(shù)據(jù)類型和存儲器格式 1.數(shù)據(jù)類型 ARM處理器支持三種長度的數(shù)據(jù)類型: 字Word:長度為32位的數(shù)據(jù)。 半字Half-Word:長度為16位的數(shù)據(jù)。 字節(jié)Byte:長度為8位的數(shù)據(jù)。

20、 在ARM體系結構中,半字數(shù)據(jù)必須對準于偶數(shù)地址,字數(shù)據(jù)必須對準于4的整數(shù)倍地址,字節(jié)數(shù)據(jù)那么可對準于任一地址。 8.2.2 ARM的數(shù)據(jù)類型和存儲器格式 2.存儲器格式 ARM處理器將存儲器看作是一個從0開始的線性遞增的字節(jié)集合:字節(jié)0到3 保存第1個字數(shù)據(jù),字節(jié)4 到7 保存第2個字數(shù)據(jù),依此類推,每4個字節(jié)保存一個字數(shù)據(jù)。 字的存儲格式有兩種:一種是小端Little-endian格式,即字的最低字節(jié)字節(jié)0保存在最低地址單元,最高字節(jié)字節(jié)3保存在最高地址單元。另一種是大端Big-endian格式,即字的最低字節(jié)保存在最高地址單元,最高字節(jié)保存在最低地址單元。從硬件連接上看,前者將存儲器系統(tǒng)

21、的字節(jié)0、字節(jié)1、字節(jié)2和字節(jié)3分別連接到32位數(shù)據(jù)線的D7D0、D15D8、D23D16和D31D24;后者那么相反,將存儲器系統(tǒng)的字節(jié)0、字節(jié)1、字節(jié)2和字節(jié)3分別連接到數(shù)據(jù)線的D31D24、D23D16、D15D8和D7D0。 8.2.2 ARM的數(shù)據(jù)類型和存儲器格式 一個具體的基于ARM核的芯片,可能對這兩種存儲格式都支持,也可能只支持其中一種。如果芯片只支持其中一種如大端格式,而實際連接的存儲器系統(tǒng)卻配置為相反的格式如小端格式,那么只有以字為單位的存儲器訪問能正確實現(xiàn),其他長度的存儲器訪問都將出現(xiàn)不可預知的結果。 ARM處理器核中共有37個32位存放器,其中31個為通用存放器,6個為

22、程序狀態(tài)存放器。這些存放器被安排成局部重疊的組,工作狀態(tài)和運行模式不同,使用的存放器組便不同。圖8.1所示的是ARM處理器核的內(nèi)部存放器及其組織結構。 8.2.3 內(nèi)部存放器組織 圖8.1 ARM狀態(tài)的存放器結構 8.2.3 內(nèi)部存放器組織 1. ARM 狀態(tài)存放器組 在ARM 狀態(tài)下,通用存放器r0r14,程序計數(shù)器PCr15,以及一個或兩個狀態(tài)存放器CPSR是任何時候均可訪問的。不過要注意,在某種特權模式中,只有與之相關的分組存放器才可以被訪問。圖8.1實際上反映的是各種模式下所能訪問的存放器情況。 1通用存放器r0r14 通用存放器r0r14實際上又分為兩類:未分組存放器r0r7和分組存

23、放器r8r14。 每個未分組存放器,在任何運行模式下都指向同一32位物理存放器,可用于任何使用通用存放器的指令。正因為此,在中斷或異常處理進行模式切換時,容易造成對存放器中數(shù)據(jù)的破壞,這點在程序設計時要特別小心。 8.2.3 內(nèi)部存放器組織 對分組存放器那么不同,處理器每次訪問它們所對應的物理存放器,與當前的運行模式直接相關。其中r8r12,每個對應兩個物理存放器,一個用于FIQ模式,叫r8_fiqr12_fiq,另一個用于其他6種模式,叫r8r12;r13和r14分別對應6個物理存放器,一個用于用戶和系統(tǒng)兩種模式,叫r13和r14,另外5個分別用于其他5種運行模式之一,叫r13_mod和r1

24、4_mod(其中mod為fiq、irq、svc、abt和und之一)。詳如圖8.1中所示。 r13在ARM指令中通常用作堆棧指針SP。在用戶應用程序的初始化局部,一般都要將r13的物理存放器指向其運行模式的棧空間。 8.2.3 內(nèi)部存放器組織 r14為子程序鏈接存放器Subroutine Link Register,簡稱鏈接存放器LR。 當執(zhí)行子程序調(diào)用指令BL時,r14 用于存放子程序返回地址,即將程序計數(shù)器PC(r15 )的當前值拷貝給r14。子程序返回時再通過將r14的內(nèi)容送回給PC來實現(xiàn)。實現(xiàn)這種子程序調(diào)用通常有兩種典型方法: 執(zhí)行以下兩條指令之一: MOV PC, LR BX LR

25、在子程序入口處使用以下指令將r14存入堆棧: STMFD SP!, LR 對應地,可用以下指令實現(xiàn)子程序返回: LDMFD SP!, PC 8.2.3 內(nèi)部存放器組織 與此類似,當出現(xiàn)異常時,相應異常模式的r14也可被設置為異常返回地址,且異常返回用與子程序返回相似的方法實現(xiàn),只是使用的指令稍有不同。 除了子程序調(diào)用和異常處理的情形外,其他時候均可將r14 當成一個通用存放器使用。 8.2.3 內(nèi)部存放器組織 2程序計數(shù)器 r15 存放器r15 通常用作程序計數(shù)器PC。在ARM 狀態(tài)下,r15的位1:0為00,位31:2保存PC 值;在Thumb 狀態(tài)下,r15的位0為0 ,位31:1保存PC

26、 值。 當讀程序計數(shù)器r15時,由于ARM狀態(tài)下的程序計數(shù)器PC總是指向當前指令的下兩條指令的地址,所以讀出的值總是讀指令的地址加上8字節(jié)。而因ARM指令始終是字對準的,故讀出結果值的位1:0總為00對Thumb指令,總是半字對準的,故位0總為0。讀程序計數(shù)器主要是為了對附近的指令和數(shù)據(jù)快速地進行與位置無關的尋址。 8.2.3 內(nèi)部存放器組織 當寫程序計數(shù)器r15時,指令中的寫入值取決于ARM結構的版本:對v3及以下版本,位1:0值無所謂;對v4及以上版本ARM7TDMI(-S)基于v4版,位1:0值必須為00。由于ARM指令始終是字對準的,指令的實際目標地址的位1:0總應為00,可見對v3及

27、以下版本,指令的實際目標地址將由寫入的r15值和0 xFFFFFFFCH相“與得到,而對v4及以上版本,指令實際目標地址的位1:0就是寫入的r15值。 8.2.3 內(nèi)部存放器組織 3程序狀態(tài)存放器PSR ARM體系結構包含一個當前程序狀態(tài)存放器CPSR和5個保存程序狀態(tài)存放器SPSR,供異常處理程序使用。CPSR為六種處理器模式所共享,SPSR除用戶和系統(tǒng)模式外其他5種模式統(tǒng)稱為模式各對應一個。程序狀態(tài)存放器的格式如圖8.2所示。其中4位存放條件代碼標志,3位控制中斷的使能和禁止,5位設置處理器操作模式,其余20位未用,留待將來使用。 8.2.3 內(nèi)部存放器組織圖8.2程序狀態(tài)存放器格式 8.

28、2.3 內(nèi)部存放器組織 2. Thumb 狀態(tài)存放器組 Thumb狀態(tài)存放器組是ARM 狀態(tài)存放器組的子集,兩者的映射關系如圖8.3所示。其中Thumb狀態(tài)下的r0r7、CPSR、SPSR分別與ARM狀態(tài)下的同名存放器相同;Thumb狀態(tài)下的SP、LR、PC分別映射到ARM 狀態(tài)的r13、r14、r15(PC)。這些Thumb狀態(tài)存放器都是程序員可直接訪問的;各存放器與可訪問的處理器模式間的對應關系,和ARM狀態(tài)下的同名或映射存放器相同。 8.2.3 內(nèi)部存放器組織圖8.3 Thumb存放器在ARM狀態(tài)存放器上的映射 8.2.3 內(nèi)部存放器組織 在Thumb狀態(tài)下,r0r7 為低存放器,r8r

29、15為高存放器,高存放器不是標準存放器集的一局部,所以程序員對它們的訪問受到限制,但可以將它們用于快速暫存,如:用MOV指令的特殊變量可以在低存放器r0r7和高存放器r8r15之間交換數(shù)據(jù);用CMP 指令可以比較高存放器和低存放器的值;用ADD 指令可以將高存放器的值與低存放器的值相加。 8.2.4 異常中斷及響應機理 1.異常中斷及分類 只要正常的程序流被暫時中止,例如響應一個來自外設的中斷,處理器就進入異常中斷模式。在處理異常之前,ARM7TDMI-S 內(nèi)核保存當前的處理器狀態(tài),這樣當異常處理程序結束時可以恢復執(zhí)行原來的程序。 ARM體系結構支持的異常有6類。ARM采用向量方式進入異常處理

30、程序,即系統(tǒng)中建有一個異常向量表,表中每類異常對應一個特定的異常向量即異常處理程序入口地址,當異常出現(xiàn)時,ARM強制將程序計數(shù)器PC值置成該異常所對應的向量,從而轉(zhuǎn)去執(zhí)行異常處理程序。當同時發(fā)生兩個或更多異常時,系統(tǒng)將按照固定的優(yōu)先級順序來處理異常。表8.2給出的是6類異常及其對應的進入模式、向量、優(yōu)先級等信息。 8.2.4 異常中斷及響應機理表8.2 ARM異常一覽表異常類型說 明進入時的模式向量(地址)優(yōu)先級復位 當系統(tǒng)加電、復位引腳有效或軟復位時,產(chǎn)生這種異常,ARM立即停止執(zhí)行當前指令,轉(zhuǎn)而執(zhí)行復位程序。管理模式0 x000000001(最高)未定義指令 當ARM處理器或協(xié)處理器遇到未

31、定義的指令時,產(chǎn)生這種異常。可用該異常機制通過仿真未定義的協(xié)處理器指令來擴展ARM指令集。未定義指令模式0 x000000046(最低)軟件中斷 該異常由執(zhí)行用戶定義的軟中斷指令(SWI)產(chǎn)生??捎迷摦惓C制在用戶模式下實現(xiàn)系統(tǒng)功能調(diào)用。管理模式0 x00000008指令預取中止 當處理器預取指令的地址不存在,或該地址不允許當前指令訪問,而該預取指令又被執(zhí)行時,產(chǎn)生該異常。數(shù)據(jù)訪問中止模式0 x0000000C5數(shù)據(jù)中止 當處理器數(shù)據(jù)訪問指令的地址不存在,或該地址不允許當前指令訪問時,產(chǎn)生該異常。數(shù)據(jù)訪問中止模式0 x000000102保留0 x00000014IRQ(外部中斷請求) 當處理器

32、的外部中斷請求引腳有效,且CPSR的I控制位為0時,產(chǎn)生該異常。系統(tǒng)中各外設均通過它請求處理器服務。IRQ模式0 x000000184FIQ(快速中斷請求) 當處理器的快速中斷請求引腳有效,且CPSR的F控制位為0時,產(chǎn)生該異常。FIQ模式0 x0000001C3 8.2.4 異常中斷及響應機理 2.ARM處理器對異常的響應機理 ARM處理器對異常的響應包括進入和退出異常處理程序兩方面。 異常進入入口 當異常出現(xiàn)時,ARM處理器進入異常處理的過程如下: 在相應的鏈接存放器LR中保存下一條指令的地址,以便程序能從異常處理程序正確返回被中斷程序。下一條指令的地址,對ARM狀態(tài)和Thumb狀態(tài)有所不

33、同:在ARM狀態(tài)下,是當前PC值加4或8具體取決于異常類型;在Thumb狀態(tài)下,是當前PC值加偏移值后再加4或8具體取決于異常類型。 將CPSR狀態(tài)復制到相應的SPSR中。 8.2.4 異常中斷及響應機理 根據(jù)異常類型,強制設置CPSR的運行模式位。 強制將相應的異常向量作為下一條指令地址裝入PC。 置位中斷禁止標志,以防止不受控制的異常嵌套。 由于異??偸窃贏RM 狀態(tài)下進行處理,所以假設處理器處于Thumb 狀態(tài)時發(fā)生了異常,在將異常向量裝入PC 時會自動切換到ARM 狀態(tài)。 8.2.4 異常中斷及響應機理 異常退出出口 當異常處理結束時,退出異常、返回被中斷程序的過程如下: 將LR中的值

34、移入PC。 將SPSR的值復制回CPSR。注意,該動作會將T、I和F位自動恢復為異常發(fā)生前的值。 去除中斷禁止標志,以開放異常中斷。 可以認為,應用程序總是從復位異常處理程序開始執(zhí)行的,因此復位異常處理程序不需要退出和返回。 8.3 ARM系列單片機的硬件結構 各種ARM系列單片機的根本特性和硬件結構大同小異。本節(jié)以Philips公司的LPC2212/2214芯片和Samsung 公司的S3C44BOX芯片為例,簡單介紹ARM系列單片機的硬件結構。 8.3.1 LPC2212/2214單片機簡介 LPC2212/2214是兩款基于ARM7TDMI-STM處理器核、支持實時仿真和跟蹤的32 位微

35、控制器。其128 位寬度的存儲器接口和獨特的加速結構使32位/16位代碼均能在最大時鐘速率下運行。其144 引腳封裝、極低的功耗、豐富的內(nèi)部邏輯部件及其強大的功能,使它特別適合于汽車控制、網(wǎng)關網(wǎng)橋、軟件Modem、工控設備、醫(yī)療系統(tǒng)、音頻視頻系統(tǒng)、協(xié)議轉(zhuǎn)換和POS機等小型應用場合。對代碼規(guī)模有嚴格控制的應用可使用16 位Thumb 模式將代碼規(guī)模降低30%以上,而性能的損失卻很小。 8.3.1 LPC2212/2214單片機簡介 1.根本結構及性能 LPC2212/2214內(nèi)部除ARM7TDMI-STM處理器核外,還集成有16 kB 片內(nèi)SRAM ,128Kb /256 kB 片內(nèi)Flash

36、程序存儲器, 4個通用并行I/O口,2 個16C550 工業(yè)標準UART串口,1個高速I2C 串口400 kbit/s,2 個SPI 串口,2個32 位定時器,以及PWM 單元、實時時鐘、看門狗、外部中斷控制邏輯、向量中斷控制器和A/D轉(zhuǎn)換器等功能部件,具體如圖8.4的內(nèi)部結構框圖所示。1. 8.3.1 LPC2212/2214單片機簡介圖8.4 LPC2212/2214內(nèi)部結構框圖 8.3.1 LPC2212/2214單片機簡介 LPC2212/2214的主要性能如下: 128 位寬度的接口/加速器和片內(nèi)鎖相環(huán)PLL的引入,可實現(xiàn)高達60MHz 的CPU工作頻率。 通過片內(nèi)boot 裝載程序

37、可實現(xiàn)在系統(tǒng)編程ISP和在應用編程IAP。單個Flash扇區(qū)或整片的擦除時間為400ms,512 字節(jié)編程時間為1ms。 EmbeddedICE-RT 和嵌入式跟蹤接口通過片內(nèi)軟件RealMonitor,可提供對任務進行實時調(diào)試和對執(zhí)行代碼進行高速實時跟蹤的支持。 8.3.1 LPC2212/2214單片機簡介 每個32 位定時器帶有4 路捕獲和4 路比較通道,PWM 單元有6 路輸出。 內(nèi)部向量中斷控制器可通過編程設置中斷優(yōu)先級和向量地址。 具有9個邊沿或電平觸發(fā)的外部中斷輸入引腳。 片內(nèi)集成振蕩器可使用外部晶體的頻率范圍為130 MHz。 通過外部存儲器接口可將存儲器配置成4 組,每組的

38、容量高達16Mb,數(shù)據(jù)寬度為8/16/32 位。 8.3.1 LPC2212/2214單片機簡介 具有空閑和掉電兩種低功耗模式??赏ㄟ^單獨允許/禁止外圍功能和外圍時鐘分頻進一步實現(xiàn)功耗優(yōu)化。可通過外部中斷將處理器從掉電模式中喚醒。 雙電源供電,其中: CPU 操作電壓范圍為 1.651.95 V(1.8 V 0.15 V); I/O 操作電壓范圍為 3.03.6 V(3.3 V 10%),最大可承受5V 電壓。 具有上電復位(POR)和掉電檢測BOD電路。 LPC2212/2214的外部引腳描述如表8.3所示。 8.3.1 LPC2212/2214單片機簡介表8.3 LPC2212/2214的

39、引腳描述 8.3.1 LPC2212/2214單片機簡介表8.3 LPC2212/2214的引腳描述 8.3.1 LPC2212/2214單片機簡介表8.3 LPC2212/2214的引腳描述 8.3.1 LPC2212/2214單片機簡介 2. 片內(nèi)存儲器系統(tǒng) LPC2212/2214 內(nèi)部集成了由128kB /256 kB FLASH 和 16 Kb SRAM 組成的存儲器系統(tǒng),它們均可用作代碼和數(shù)據(jù)的存儲。 對FLASH 存儲器,既可通過串口進行在系統(tǒng)編程,也可在應用程序運行時進行在應用編程。這樣為數(shù)據(jù)存儲和現(xiàn)場固件的升級都帶來了極大的靈活性。當使用片內(nèi)bootloader 時,有120

40、/248 kB Flash 存儲器可作用戶代碼使用。Flash 存儲器的擦除/編寫周期至少為100,000次,數(shù)據(jù)至少可保存20 年。SRAM 支持按8 位、16 位或32 位的方式進行訪問。 8.3.1 LPC2212/2214單片機簡介 片內(nèi)的引導狀態(tài)程序1.60 版提供對片內(nèi)Flash的代碼讀保護CRP功能。當CRP 使能時,禁止JTAG 調(diào)試端口和ISP 命令對片內(nèi)存儲器的訪問,但ISP Flash 擦除命令并不受CRP 狀態(tài)的控制,任何時候均可執(zhí)行。通過擦除整個片內(nèi)用戶Flash 區(qū)可取消CRP,從而恢復JTAG 和/或ISP 對芯片的完全訪問。 LPC2212/2214的存儲器映射

41、包含幾個不同的區(qū)域,如圖8.5所示。此外,CPU 的中斷向量可以重新映射,這樣允許它們位于片內(nèi)Flash默認或者SRAM中。 8.3.1 LPC2212/2214單片機簡介圖8.5 LPC2212/2214 存儲器映射 8.3.1 LPC2212/2214單片機簡介 3. 向量中斷控制器 LPC2194通過其向量中斷控制器(VIC)接收所有的中斷請求輸入,并將它們編程分配為3 類:快速中斷請求FIQ、向量IRQ 和非向量IRQ??删幊谭峙錂C制意味著不同外設的中斷優(yōu)先級可以動態(tài)分配和調(diào)整。 FIQ具有最高優(yōu)先級。當分配為FIQ的請求源只有一個時,可實現(xiàn)最短的請求等待時間,因為FIQ 效勞程序可以

42、直接啟動相應外設的處理;但當分配給FIQ 的請求源多于1 個時,VIC 將多個中斷請求“相或后向ARM 處理器產(chǎn)生FIQ 信號,F(xiàn)IQ 效勞程序先要從VIC 中讀出一個中斷狀態(tài)字以識別該響應的是哪一個FIQ 中斷源,然后才能啟動相應外設的處理。 8.3.1 LPC2212/2214單片機簡介 向量IRQ 具有中等優(yōu)先級。該級別可分配16 個中斷請求源,其中任意一個都可分配到16 個向量IRQ slot 中的任意一個,其中又以slot0優(yōu)先級最高,slot15優(yōu)先級最低。 非向量IRQ 的優(yōu)先級最低。假設分配給該級別的中斷源多于1個,默認中斷效勞程序要從VIC中讀出IRQ狀態(tài)存放器來識別該為哪個

43、中斷源效勞。 VIC 將所有向量和非向量IRQ 組合后向ARM 處理器產(chǎn)生IRQ 信號。IRQ 效勞程序可通過讀取VIC 的一個存放器立即啟動并跳轉(zhuǎn)到相應地址。如果有任意一個向量IRQ 發(fā)出請求,VIC 那么提供最高優(yōu)先級請求IRQ 效勞程序的地址,否那么提供默認程序的地址,該默認程序由所有非向量IRQ 共用。默認程序可讀取另一個VIC 存放器以確定哪個IRQ 被激活。 8.3.1 LPC2212/2214單片機簡介 表8.4所列為每個外圍功能的中斷源。每個外設都有一條中斷線連接到向量中斷控制器,但可能有幾個內(nèi)部中斷標志。單個中斷標志也可能代表不同的中斷源。表8.4 每個外圍功能的中斷源 8.

44、3.1 LPC2212/2214單片機簡介 4. 引腳連接模塊 LPC2212/2214 通過其片內(nèi)引腳連接模塊,允許將其引腳配置為不同的功能。配置存放器控制連接引腳和片內(nèi)外設的多路開關。應當在激活外設以及允許任何相關的中斷之前,將外設連接到相應的引腳。任何一個被允許的外設,如果其功能沒有映射到相關的引腳,對它的激活將被認為是未定義的。 8.3.1 LPC2212/2214單片機簡介 引腳連接模塊包含3 個可編程引腳功能選擇存放器: PINSEL0、 PINSEL1和PINSEL2。它們的地址分別為0 xE002C000、0 xE002C004和0 xE002C014。當需要配置引腳功能時,只

45、需向某個引腳功能選擇存放器寫入相應值即可。 芯片復位后,2個通用并行I/O口P0和P1的所有引腳都被配置為輸入。假設允許調(diào)試Debug,那么JTAG引腳被配置為JTAG功能;假設允許跟蹤Trace,那么Trace引腳被配置為Trace功能。與I2C相關的引腳均被配置為開路。 8.3.1 LPC2212/2214單片機簡介 5. 通用并行I/O 接口 LPC2212/2214 中有4個32位通用并行I/O口GPIO口:P0、P1、P2和P3。P0口使用了30根端口線P0.0P0.25,P0.27P0.30,P1口使用了18根端口線P1.1,P1.2和P1.16P1.31,P2和P3各使用了32根

46、端口線。每位的方向均可單獨控制,各端口的功能取決于引腳連接模塊的引腳功能選擇。 GPIO口沒有連接到特定外設功能的引腳由GPIO 存放器進行控制。引腳可以動態(tài)配置為輸入或輸出。存放器可以同時對任意輸出口進行置位或清零。輸出存放器的值以及引腳的當前狀態(tài)都可以讀出。 8.3.1 LPC2212/2214單片機簡介 GPIO的主要特性如下: GPIO存放器被轉(zhuǎn)移到ARM局部總線,以實現(xiàn)高速I/O時序; 屏蔽存放器允許將端口位集作為一組,而其他位不變; 所有GPIO存放器均為字節(jié)尋址; 可用一條指令寫入整個端口值; 具有單個位的方向控制功能; 具有對輸出端口置位或清零的單獨控制功能; 具有用一條指令將

47、一個端口的任何位置1或清0的功能; 所有I/O 在復位后的默認狀態(tài)都為輸入。 8.3.1 LPC2212/2214單片機簡介 6. 串行I/O 接口 【UART】 LPC2212/2214包含2 個UART。一個UART 提供一個完全的調(diào)制解調(diào)器控制握手接口;另一個UART 只有發(fā)送和接收數(shù)據(jù)線。 UART的特性如下: 16 字節(jié)接收和發(fā)送FIFO; 存放器位置遵循550 工業(yè)標準; 接收器FIFO 觸發(fā)點為1、4、8 和14 個字節(jié); 內(nèi)置波特率發(fā)生器; UART1 包含標準調(diào)制解調(diào)器接口信號。 8.3.1 LPC2212/2214單片機簡介 【I2C 接口】 I2C 是一個雙向總線,它使用

48、串行時鐘線(SCL) 和串行數(shù)據(jù)線(SDA) 兩條線實現(xiàn)互連芯片的控制。每個器件都通過一個唯一的地址來識別,這些器件可以是只接收器件例如LCD 驅(qū)動器,也可以是既發(fā)送又接收信息的收發(fā)器例如存儲器。發(fā)送器和/或接收器可以操作為主或從模式,這取決于芯片是啟動數(shù)據(jù)的發(fā)送還是只被尋址。I 2C 是一個多主機總線,它可以由一個以上的總線主控器進行控制。 LPC2212/2214 所包含的I2C 功能支持400kbit/s快速I2C。 8.3.1 LPC2212/2214單片機簡介 I2C的特性如下: 標準的I2C 總線接口; 可配置為主機、從機或主/從機; 可編程時鐘可實現(xiàn)通用速率控制; 主機從機之間雙

49、向數(shù)據(jù)傳輸; 多主機總線(無中央主機); 同時發(fā)送的主機之間進行仲裁,防止了總線數(shù)據(jù)的沖突; 串行時鐘同步使器件在一條串行總線上實現(xiàn)不同位速率的通信; 串行時鐘同步可作為握 制使串行傳輸掛起和恢復; I2C 總線可用于測試和診斷。 8.3.1 LPC2212/2214單片機簡介 【SPI 接口】 LPC2212/2214 包含2 個SPI 接口。SPI 是一個全雙工的串行接口,它設計成可以處理在一個給定總線上多個互連的主機和從機。在一定數(shù)據(jù)傳輸過程中,接口上只能有一個主機和一個從機通信。在一次數(shù)據(jù)傳輸中,主機總是向從機發(fā)送一個字節(jié)數(shù)據(jù),而從機也總是向主機發(fā)送一個字節(jié)數(shù)據(jù)。 SPI的特性如下:

50、遵循串行外設接口(SPI)標準; 支持同步全雙工串行通信; 組合的SPI 主機和從機; 最大數(shù)據(jù)位速率為輸入時鐘速率的1/8。 8.3.1 LPC2212/2214單片機簡介 7定時器/計數(shù)器 【通用定時器】 定時器對外設時鐘周期(PCLK)進行計數(shù),可選擇產(chǎn)生中斷或基于4 個匹配存放器,在到達指定的定時值時執(zhí)行其它動作。它還包括4 個捕獲輸入,用于在輸入信號發(fā)生跳變時捕獲定時器值,并可選擇產(chǎn)生中斷。多個引腳通過“或、“與,可以實現(xiàn)捕獲、匹配或播送功能。 通用定時器的特性如下: 帶可編程32 位預分頻器的32 位定時器/計數(shù)器; 每個定時器的4 個32 位捕獲通道可在輸入信號跳變時捕獲定時器的

51、瞬時值。捕獲事件可選擇產(chǎn)生中斷; 8.3.1 LPC2212/2214單片機簡介 4 個32 位匹配存放器: 連續(xù)操作,可選擇在匹配時產(chǎn)生中斷 匹配時停止定時器,可選擇產(chǎn)生中斷 匹配時復位定時器,可選擇產(chǎn)生中斷 每個定時器有4 個對應于匹配存放器的外部輸出,具有以下特性: 匹配時置低電平 匹配時置高電平 匹配時翻轉(zhuǎn) 匹配時不變 8.3.1 LPC2212/2214單片機簡介 【看門狗定時器】 看門狗定時器的用途是使微控制器在進入錯誤狀態(tài)經(jīng)過一段時間后復位。當看門狗使能時,如果沒有在預先確定的時間內(nèi)“喂重裝看門狗,它將會產(chǎn)生一次系統(tǒng)復位。 其特性如下: 如果沒有周期性重裝,那么產(chǎn)生片內(nèi)復位; 調(diào)

52、試模式; 由軟件使能,但要求禁止硬件復位或看門狗復位/中斷; 錯誤/不完整的喂狗時序會導致復位/中斷(如果使能); 指示看門狗復位的標志; 帶內(nèi)部預分頻器的可編程32 位定時器; 可選擇時間周期:(tpclk2564) (tpclk2324)??蛇x值為tpclk4 的整數(shù)倍。 8.3.1 LPC2212/2214單片機簡介 【實時時鐘】 中選擇正?;蚩臻e模式時,實時時鐘(RTC)提供一套用于測量時間的計數(shù)器。RTC 消耗的功率非常低,這使其適合于由電池供電的、CPU 不連續(xù)工作(空閑模式)的系統(tǒng)。 其特性如下: 通過對時間段進行測量,可實現(xiàn)一個包括秒、分、小時、日、月、年和星期等的日歷或時鐘;

53、 超低功耗設計,支持電池供電系統(tǒng); 可編程基準時鐘分頻器允許調(diào)節(jié)RTC 以適應不同的晶振頻率。 8.3.1 LPC2212/2214單片機簡介 【脈寬調(diào)制器(PWM)】 PWM 基于標準的定時器模塊并具有其所有特性。不過LPC2212/2214 只將其PWM 功能輸出到引腳。定時器對外設時鐘(pclk)進行計數(shù),可選擇產(chǎn)生中斷或者根據(jù)7 個匹配存放器在到達指定的定時值時執(zhí)行其它動作。它還包括4 個捕獲輸入,用于在輸入信號發(fā)生跳變時捕獲定時器值,并可選擇在事件發(fā)生時產(chǎn)生中斷。PWM 功能也建立在匹配存放器事件根底之上。 獨立控制上升和下降沿位置的能力使PWM 可以應用于更多的領域。例如,多相位電

54、機控制通常需要3個非重疊的PWM 輸出,而這3 個輸出的脈寬和位置需要獨立進行控制。 8.3.1 LPC2212/2214單片機簡介 兩個匹配存放器可用于提供單邊沿控制的PWM 輸出。匹配存放器MR0 通過匹配時重新設置計數(shù)值來控制PWM 周期率。其它的匹配存放器控制PWM 邊沿的位置。每個額外的單邊沿控制PWM 輸出只需要一個匹配存放器,因為所有PWM 輸出的重復速率是相同的。多個單邊沿控制的PWM 輸出在每個PWM 周期的開始并且當MR0 發(fā)生匹配時,都有一個上沿。 8.3.1 LPC2212/2214單片機簡介 3個匹配存放器可用于提供一個雙邊沿控制PWM 輸出。也就是說,MR0 匹配存

55、放器控制PWM 周期速率,其它匹配存放器控制兩個PWM 邊沿位置。每個額外的雙邊沿控制PWM 輸出只需要兩個匹配存放器,因為所有PWM 輸出的重復速率是相同的。使用雙邊沿控制PWM 輸出時,指定的匹配存放器控制輸出的上升和下降沿。這樣就產(chǎn)生了正脈沖當上升沿先于下降沿時和負脈沖當下降沿先于上升沿時。 8.3.1 LPC2212/2214單片機簡介 PWM的特性如下: 7個匹配存放器,可實現(xiàn)6 個單邊沿控制或3 個雙邊沿控制PWM 輸出,或這兩種類型的混合輸出。; 匹配存放器允許執(zhí)行以下操作: 連續(xù)操作,可選擇在匹配時產(chǎn)生中斷 匹配時停止定時器,可選擇產(chǎn)生中斷 匹配時復位定時器,可選擇產(chǎn)生中斷 支

56、持單邊沿控制和/或雙邊沿控制的PWM 輸出。單邊沿控制PWM 輸出在每個周期開始時總是為高電平,除非輸出保持恒定低電平。雙邊沿控制PWM 輸出可在一個周期內(nèi)的任何位置產(chǎn)生邊沿。這樣可同時產(chǎn)生正和負脈沖; 8.3.1 LPC2212/2214單片機簡介 脈沖周期和寬度可以是任何的定時器計數(shù)值。這樣可在分辨率和重復速率上獲得平衡。所有PWM輸出都以相同的重復率發(fā)生; 雙邊沿控制的PWM 輸出可編程為正脈沖或負脈沖; 匹配存放器更新與脈沖輸出同步,防止產(chǎn)生錯誤的脈沖。軟件必須在新的匹配值生效之前將它們釋放。 如果不允許PWM 模式,可作為一個標準定時器使用; 帶可編程32 位預分頻器的32 位定時器

57、/計數(shù)器。 8.3.1 LPC2212/2214單片機簡介 8. A/D 轉(zhuǎn)換器 LPC2212/2214 分別包含一個具有8 路輸入的10 位逐次逼近式A/D轉(zhuǎn)換器。 A/D轉(zhuǎn)換器特性如下: 模擬輸入電壓范圍:03V; 轉(zhuǎn)換頻率為4.5MHz; 每秒可執(zhí)行400,000 次10 位采樣; 可工作于單路或多路輸入的突發(fā)轉(zhuǎn)換模式; 根據(jù)輸入腳的跳變或定時器匹配信號執(zhí)行轉(zhuǎn)換。 8.3.1 LPC2212/2214單片機簡介 9系統(tǒng)控制模塊 【晶振】 振蕩器支持晶振范圍為1MHz30MHz。晶振輸出頻率稱為FOSC,而ARM 處理器時鐘頻率稱為cclk。除非連接并運行PLL,否那么在該文檔中FOSC

58、 和cclk 的值是相同的。 8.3.1 LPC2212/2214單片機簡介 【PLL】 PLL 可以接受范圍為10MHz25MHz 的輸入時鐘頻率。輸入頻率通過一個電流控制振蕩器CCO可以倍增為10MHz60MHz。倍增器可以是從1 到32 的整數(shù)實際上在該系列微控制器當中,由于CPU頻率的限制,倍增器的值不可能高于6。CCO 操作的范圍為156MHz320MHz,因此在環(huán)當中增加了一個分頻器,這樣PLL 在提供所需要的輸出頻率時,使CCO 保持在其頻率范圍內(nèi)。輸出分頻器可設置為2、4、8 或者16 以產(chǎn)生輸出時鐘。由于最小輸出分頻值為2,這樣就確保了PLL 輸出具有50%的占空比。PLL在

59、芯片復位后關閉并且被旁路,可通過軟件使能。程序必須配置并且激活PLL,等待PLL 鎖定之后再將PLL作為時鐘源。PLL 的設置時間為100s。 8.3.1 LPC2212/2214單片機簡介 【復位和喚醒定時器】 LPC2212/2214 有2 個復位源: RESET 管腳和看門狗復位。任何復位源所導致的芯片復位都會啟動喚醒定時器見下面的喚醒定時器,復位狀態(tài)將一直保持到外部復位撤除,振蕩器開始運行。振蕩器運行經(jīng)過固定數(shù)目的時鐘后Flash 控制器完成其初始化。 當內(nèi)部復位撤除后,處理器從復位向量地址0 開始執(zhí)行。此時所有的處理器和外設存放器都被初始化為預設的值。 8.3.1 LPC2212/2

60、214單片機簡介 喚醒定時器的用途是確保振蕩器和其它芯片操作所需要的模擬功能在處理器能夠執(zhí)行指令之前完全正常工作。這在上電、各種類型的復位以及任何原因所導致上述功能被關閉的情況下非常重要。由于振蕩器和其它功能在掉電模式下關閉,因此將處理器從掉電模式中喚醒就要利用喚醒定時器。 喚醒定時器監(jiān)視晶體振蕩器是否可以平安地開始執(zhí)行代碼。當芯片上電時,或某些事件導致芯片退出掉電模式時,振蕩器需要一定的時間以產(chǎn)生足夠振幅的信號驅(qū)動時鐘邏輯。 8.3.1 LPC2212/2214單片機簡介 【外部中斷輸入】 根據(jù)可選管腳功能的設定,LPC2212/2214 最多可包含9 個邊沿或電平觸發(fā)的外部中斷輸入。外部事

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論