




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、主題: ARM開發(fā)流程,6.2 最小系統(tǒng)設計,6.2.1 最小系統(tǒng)概述 6.2.2 電源設計 6.2.3 時鐘電路設計 6.2.4 復位電路設計 6.2.5 調試接口設計 6.2.6 存儲系統(tǒng)設計 6.2.7 最小系統(tǒng)示例,6.2.1 最小系統(tǒng)概述,設計一個最小系統(tǒng)是學習ARM的好方法 一個嵌入式處理器自己是不能獨立工作的,必須給它供電、加上時鐘信號、提供復位信號,如果芯片沒有片內程序存儲器,則還要加上存儲器系統(tǒng),然后嵌入式處理器芯片才可能工作。這些提供嵌入式處理器運行所必須的條件的電路與嵌入式處理器共同構成了這個嵌入式處理器的最小系統(tǒng)。而大多數基于ARM7處理器核的微控制器都有調試接口,這部
2、分在芯片實際工作時不是必需的,但因為這部分在開發(fā)時很重要,所以也把這部分也歸入最小系統(tǒng)中。,6.2.1 最小系統(tǒng)概述,最小系統(tǒng)框圖,可選,因為許多面向嵌入式領域的微控制器內部集成了程序和數據存儲器,可選,但是在樣品階段通常都會設計這部分電路,供電系統(tǒng) (電源),電源系統(tǒng)為整個系統(tǒng)提供能量,是整個系統(tǒng)工作的基礎,具有極其重要的地位,但卻往往被忽略。如果電源系統(tǒng)處理得好,整個系統(tǒng)的故障往往減少了一大半。,6.2.2 電源設計,設計電源時要考慮的因素: 1.輸出的電壓、電流、功率; 2.輸入的電壓、電流; 3.安全因素; 4.輸出紋波; 5.電磁兼容和電磁干擾; 6.體積限制; 7.功耗限制; 8.
3、成本限制。,6.2.2 電源設計,1.分析需求,6.2.2 電源設計,(1)LPC2000系列微控制所需要的電源類型,1.分析需求,6.2.2 電源設計,(2)系統(tǒng)需求,主要考慮是否需要將數字電源和模擬電源分開。 (1)如果不使用芯片的A/D或者D/A功能,可以不區(qū)分數字電源和模擬電源。 (2)如果使用了A/D或者D/A,還需考慮參考電源設計。,1.分析需求,6.2.2 電源設計,(3)電源電路的前級和末級,電源前級,電源末級,2.設計末級電源電路,6.2.2 電源設計,LPC2000系列微控制1.8V消耗電流的極限值為70mA。為了保證可靠性并為以后升級留下余量,則電源系統(tǒng)1.8V能夠提供的
4、電流應當大于300mA。 整個系統(tǒng)在3.3V上消耗的電流與外部條件有很大的關系,這里假設電流不超過200mA,這樣,電源系統(tǒng)3.3V能夠提供600mA電流即可。 分析得到以下參數: 3.3V電源設計最大電流:600mA; 1.8V電源設計最大電流:300mA。,因為系統(tǒng)對這兩組電壓的要求比較高,且其功耗不是很大,所以不適合用開關電源,應當用低壓差模擬電源(LDO)。合乎技術參數的LDO芯片很多,Sipex 半導體SPX1117是一個較好的選擇,它的性價比高,且有一些產品可以與它直接替換,減少采購風險。,2.設計末級電源電路,6.2.2 電源設計,SPX1117主要特點: 0.8A穩(wěn)定輸出電流;
5、 1A穩(wěn)定峰值電流; 3V可調節(jié); 低靜態(tài)電流; 0.8A時低壓差為1.1V; 0.1%線形調整率; 0.2%負載調整率; 過流及溫度保護; 多種封裝供選擇。,6.2.2 電源設計,6.2.2 電源設計,末級電源 電路實例,6.2.2 電源設計,模數隔離實例,盡管SPX1117允許的輸入電壓可達20V(參考芯片數據手冊),但太高的電壓使芯片的發(fā)熱量上升,散熱系統(tǒng)不好設計,同時影響芯片的性能。這樣,就需要前級電路調整一下。如果系統(tǒng)可能使用多種電源(如交流電和電池),各種電源的電壓輸出不一樣,就更需要前級調整以適應末級的輸入。通過之前的分析,前級的輸出選擇為5V。選擇5V作為前級的輸出有兩個原因:
6、 這個電壓滿足SPX1117的要求; 目前很多器件還是需要5V供電的,這個5V可以兼做前級和末級了。,6.2.2 電源設計,3.設計前級電源電路,根據系統(tǒng)在5V上消耗的電流和體積、成本等方面的考慮,前級電路可以使用開關電源,也可以使用模擬電源。 它們的特別如下: 開關電源:效率較高,可以減少發(fā)熱量,因而在功率較大時可以減小電源模塊的體積; 模擬電源:電路簡單,輸出電壓紋波較小,并且干擾較開關電源小得多。,6.2.2 電源設計,3.設計前級電源電路,6.2.2 電源設計,模擬電源,開關電源,前級電源 電路實例,目前所有的微控制器均為時序電路,需要一個時鐘信號才能工作,大多數微控制器具有晶體振蕩器
7、。簡單的方法是利用微控制器內部的晶體振蕩器,但有些場合(如減少功耗、需要嚴格同步等情況)需要使用外部振蕩源提供時鐘信號。,時鐘系統(tǒng),6.2.3 時鐘電路設計,6.2.3 時鐘電路設計,目前所有的微控制器均為時序電路,需要一個時鐘信號才能工作,大多數微控制器具有晶體振蕩器。簡單的方法是利用微控制器內部的晶體振蕩器,但有些場合(如減少功耗、需要嚴格同步等情況)需要使用外部振蕩源提供時鐘信號。,使用內部振蕩器,使用外部時鐘源,可以使用穩(wěn)定的時鐘信號源,如有源晶振等。,微控制器在上電時狀態(tài)并不確定,這造成微控制器不能正確工作。為解決這個問題,所有微控制器均有一個復位邏輯,它負責將微控制器初始化為某個確
8、定的狀態(tài)。這個復位邏輯需要一個復位信號才能工作。一些微控制器自己在上電時會產生復位信號,但大多數微控制器需要外部輸入這個信號。這個信號的穩(wěn)定性和可靠性對微控制器的正常工作有重大影響。,復位及其 配置系統(tǒng),6.2.4 復位電路設計,復位電路可以使用簡單的阻容復位,這個電路成本低廉,但不能保證任何情況產生穩(wěn)定可靠的復位信號,所以一般場合需要使用專門的復位芯片。,阻容復位,6.2.4 復位電路設計,最好避免使用!,常用的復位專用芯片有CATALYST公司的CAT800系列,Sipex公司的SP700系列和SP800系列。為了適應嵌入式系統(tǒng)的應用,這些公司還推出帶有EEPROM存儲器和看門狗的復位芯片
9、,這可以降低系統(tǒng)成本和縮小產品體積,減少元件數量也有利于系統(tǒng)的穩(wěn)定性。 如果系統(tǒng)不需要手動復位功能,可以選擇CAT809。如果需要手動復位功能,可以選擇SP705/706、SP708SCN。 種類繁多的復位芯片可以滿足不同工作電壓和不同復位方式的系統(tǒng),這里僅介紹其中部分。 注意:復位芯片的復位門檻的選擇至關重要,一般應當選擇微控制器的IO口供電電壓范圍為標準。LPC2000這個范圍為:3.0V3.6V,所以選擇復位門檻電壓為2.93V,即電源電壓低于2.93V時產生復位信號。,6.2.4 復位電路設計,6.2.4 復位電路設計,復位電路實例CAT809 低有效復位; 在工業(yè)級溫度范圍的應用中可
10、直接代替MAX809; Vcc低至1.0V時,復位信號仍然有效; 6uA的電源電流; 抗電源的瞬態(tài)干擾; 緊湊的3腳SOT23和SC70封裝; 工業(yè)級溫度范圍:40+85 。,6.2.4 復位電路設計,復位電路實例SP708/R/S/T 2.63V:SP708R;2.93V:SP708S;3.08V:SP708T; 復位脈沖寬度-200ms; 最大電源電流40uA; 支持開關式TTL/CMOS手動復位輸入; Vcc下降至1V時,nRESET信號仍然有效; SP708/R/S/T支持高/低電平兩種方式。,6.2.4 復位電路設計,復位電路實例SP6200/6201 適用于要求高精度、快速操作和方
11、便使用的應用; 極低的關斷電流:最大為1uA; 低壓差:160mV100mA。輸出電壓高精度: 2% ; 邏輯控制的電子使能; 復位輸出(VOUT良好); 1uF的陶瓷電容就可保持器件無條件穩(wěn)定工作。,電壓輸出使能,復位輸出,6.2.4 復位電路設計,復位電路實例CAT1024/1025 具有2K字節(jié)EEPROM存儲器,數據保存時間長達100年; 存儲器采用400KHz的I2C總線接口,16字節(jié)的頁寫緩沖區(qū); CAT1025具有高、低電平復位信號,CAT1024具有低電平復位信號。Vcc低至1V時復位仍有效; 工作電壓范圍:2.7V5.5V; 手動復位輸入。,6.2.4 復位電路設計,微控制器
12、在復位后可能有多種初始狀態(tài),具體復位到哪種初始狀態(tài)是在復位的過程中決定的。復位邏輯可能通過片內只讀存儲器中的數據決定具體的初始狀態(tài),但更多的是通過復位期間的引腳狀態(tài)決定,也可能通過兩者共同決定。用引腳狀態(tài)配置復位后的初始狀態(tài)沒有統(tǒng)一的方法,需要根據相關芯片的手冊決定。,P2.26和P2.27決定復位后存儲器的來源以及存儲器的寬度,P1.26決定復位后是否使用P1.31P1.26作為調試端口,P1. 20決定復位后是否使用P1.25P1.16作為跟蹤端口,P0.14決定復位后是否進入ISP狀態(tài),調試與測試接口不是系統(tǒng)運行必須的,但現代系統(tǒng)越來越強調可測性,調試、測試接口的設計也要重視了。LPC2
13、000有一個內置JTAG調試接口,通過這個接口可以控制芯片的運行并獲取內部信息。,調試測試接口,6.2.5 調試接口設計,調試接口電路一,ETM功能僅在高級仿真器中具有,用戶如果沒有使用,可以將其省略,同時把TRACESYNC信號上的電阻也去掉。,6.2.5 調試接口設計,RTCK必須接4.7K下拉電阻。,標準20針JTAG,調試接口電路一,在該電路中,復位電路與前面介紹電路有所不同。它在復位信號和CPU之間插入了三態(tài)門74HC125。使用三態(tài)門主要是為了復位芯片和JTAG(ETM)仿真器都可以復位芯片。如果沒有74HC125,當復位芯片輸出高電平時,JTAG(ETM)仿真器就不可能把它拉低,
14、這不但不能實現需要的功能,還可能損壞復位芯片或JTAG(ETM)仿真器。,6.2.5 調試接口設計,因為這種電路JTAG(ETM)仿真器對LPC2000有完全的控制,其仿真性能最好。不過,由于74HC125工作的電壓范圍低于復位芯片的工作電壓范圍,所以此電路一般用于樣機。正式產品中可以不需要這部分電路。,6.2.5 調試接口設計,調試接口電路二,6.2.5 調試接口設計,RTCK必須接4.7K下拉電阻。,ETM跟蹤接口,標準20針JTAG,大部分LPC2000芯片都有片內Flash,可以不用再設計額外的存儲器系統(tǒng)。如果微控制器沒有片內存儲器,就必須設計存儲器系統(tǒng),這一般通過微控制器的外部總線接
15、口實現。,存儲器系統(tǒng),6.2.6 存儲系統(tǒng),如果需要外擴存儲系統(tǒng),需要考慮: (1)總線寬度 (2)總線速度 盡量避免使用8位總線,推薦使用16和32位總線,器件選型盡量選擇高速存儲器。 如果使用16位總線,使用Thumb指令集可獲得更高的性能。,6.2.6 存儲系統(tǒng),示例:LPC2210存儲器系統(tǒng),6.2.6 存儲系統(tǒng),復位后使用外部16位寬度存儲器,16位SRAM,16位FLASH,LPC2100系列沒有外部總線接口的最小系統(tǒng); LPC2130系列沒有外部總線接口的最小系統(tǒng); LPC2200系列使用內部存儲器的最小系統(tǒng); LPC2200系列使用外部存儲器的最小系統(tǒng)。,6.2.7 最小系統(tǒng)實
16、例,完整的最小系統(tǒng)LPC2100系列,決定是否進入ISP狀態(tài),如果該引腳懸空將影響程序脫機運行,6.2.7 最小系統(tǒng)實例,3.3V電源,1.8V電源,復位電路,時鐘電路,完整的最小系統(tǒng)LPC2130系列,6.2.7 最小系統(tǒng)實例,3.3V電源,復位電路,時鐘電路,決定是否進入ISP狀態(tài),如果該引腳懸空將影響程序脫機運行,6.2.7 最小系統(tǒng)實例,完整的最小系統(tǒng)LPC2200不使用外部存儲器,復位后使用內部存儲器,3.3V電源,1.8V電源,復位電路,時鐘電路,決定是否進入ISP狀態(tài),如果該引腳懸空將影響程序脫機運行,6.2.7 最小系統(tǒng)實例,完整的最小系統(tǒng)LPC2200使用外部存儲器,復位后使
17、用外部16位寬度存儲器,3.3V電源,1.8V電源,復位電路,時鐘電路,決定是否進入ISP狀態(tài),如果該引腳懸空將影響程序脫機運行,SRAM,FLASH,6.3 軟件開發(fā)平臺,6.3.1 ISP下載軟件 6.3.2 ADS集成開發(fā)環(huán)境 6.3.3 EasyJTAG使用 6.3.4 LPC2000工程模板,6.3.1 ISP下載軟件,簡介,ISP下載軟件是Philips為LPC2000系列芯片編寫的一款程序下載軟件,全稱是LPC2000 Flash Utility,最新版本為V2.2.2,支持LPC2000所有芯片。 常用于批量生產時下載程序,亦可用于檢測最小系統(tǒng)。,6.3.1 ISP下載軟件,界
18、面,6.3.1 ISP下載軟件,設置,設定晶振,設定串口 波特率,6.3.1 ISP下載軟件,操作,下載 校驗,查空 擦除,讀取ID,芯片型號,6.3.1 ISP下載軟件,重點提示,設計好最小系統(tǒng)后,最好先用ISP軟件對最小系統(tǒng)進行測試,如果能進行ISP連接操作(如讀取ID),則才能進行下一步的工作,如JTAG調試。如果ISP測試不能工作,則需要先檢查最小系統(tǒng)硬件電路。 系統(tǒng)可以沒有JTAG調試電路,但不能沒有UART0電路/接口。,UART0電路(ISP電路),6.3.1 ISP下載軟件,6.3.1 ISP下載軟件,ISP不成功常見原因和解決辦法,(1)確保各路電源正常 (2)確保UART0
19、電路正常,可用PC檢測 (3)確保晶振正常 (4)確保復位電路正常 (5)檢測PCB是否存在短路/斷路,6.3.2 ADS集成開發(fā)環(huán)境,簡介,ADS是目前國內使用最廣泛的ARM開發(fā)環(huán)境。 ADS為ARM公司所有,全稱為ARM Developer Suite,成熟版本為ADS1.2,支持ARM10之前的所有ARM控制器,支持軟件調試和JTAG硬件仿真調試,支持匯編、C、C+源程序;編譯效率高、系統(tǒng)功能強,可以在Win98/2000/XP和RedHat上運行。,6.3.2 ADS集成開發(fā)環(huán)境,簡介,ADS1.2 集成開發(fā)環(huán)境組成部分,6.3.2 ADS集成開發(fā)環(huán)境,Code Worriar IDE
20、界面,源程序編輯窗口,工程管理窗口,6.3.2 ADS集成開發(fā)環(huán)境,AXD調試器界面,源代碼查看區(qū),調試控制快捷圖標,6.3.2 ADS集成開發(fā)環(huán)境,ADS使用注意: 最好不要將ADS工程放在有中文的路徑下。,6.4 啟動代碼,6.4.1 啟動代碼內容 6.4.2 啟動代碼工作流程,6.4.1 啟動代碼內容,(1)啟動代碼簡介,廣州致遠電子有限公司為LPC2000系列芯片編寫的啟動代碼由3個文件組成。,(1)startup.s異常向量表定義、各模式堆棧初始化、跳轉到C程序main入口等。 (2)target.c目標板初始化,如時鐘分頻、PLL設置、VIC設置等。 (3)irq.s用于管理中斷嵌
21、套。,6.4.1 啟動代碼內容,(1)startup.s,CODE32 AREA vectors,CODE,READONLY ENTRY ;中斷向量表 Reset LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, DataAbortAddr DCD 0 xb9205f80 LDR PC, PC, #-0 xff0 LDR PC, FIQ_Addr ResetAddr DCD ResetInit UndefinedAddr DCD Undefined SWI_Addr DCD
22、 SoftwareInterrupt PrefetchAddr DCD PrefetchAbort DataAbortAddr DCD DataAbort Nouse DCD 0 IRQ_Addr DCD 0 FIQ_Addr DCD FIQ_Handler,匯編入口,異常向量表,地址跳轉表,6.4.1 啟動代碼內容,(1)startup.s,;未定義指令 Undefined B Undefined ;軟中斷 SoftwareInterrupt B SoftwareInterrupt ;取指令中止 PrefetchAbort B PrefetchAbort ;取數據中止 DataAbort B
23、 DataAbort ;快速中斷 FIQ_Handler STMFD SP!, R0-R3, LR BL FIQ_Exception LDMFD SP!, R0-R3, LR SUBS PC, LR, #4,異常處理程序,FIQ處理程序,在target.c中實現,6.4.1 啟動代碼內容,(1)startup.s,InitStack MOV R0, LR MSR CPSR_c, #0 xd3 ;設置管理模式堆棧 LDR SP, StackSvc MSR CPSR_c, #0 xd2 ;設置中斷模式堆棧 LDR SP, StackIrq MSR CPSR_c, #0 xd1 ;設置快速中斷模式堆
24、棧 LDR SP, StackFiq MSR CPSR_c, #0 xd7 ;設置中止模式堆棧 LDR SP, StackAbt MSR CPSR_c, #0 xdb ;設置未定義模式堆棧 LDR SP, StackUnd MSR CPSR_c, #0 xdf ;設置系統(tǒng)模式堆棧 LDR SP, =StackUsr MOV PC, R0 ResetInit BL InitStack ;初始化堆棧 BL TargetResetInit ;目標板基本初始化 B _main ;跳轉到c語言入口,設置各模式堆棧,6.4.1 啟動代碼內容,(1)startup.s,SVC_STACK_LEGTHEQU
25、0 FIQ_STACK_LEGTH EQU 0 IRQ_STACK_LEGTH EQU 256 ABT_STACK_LEGTH EQU 0 UND_STACK_LEGTH EQU 0 AREA MyStacks, DATA, NOINIT, ALIGN=2 SvcStackSpace SPACE SVC_STACK_LEGTH * 4 ;管理模式棧空間 IrqStackSpace SPACE IRQ_STACK_LEGTH * 4 ;中斷模式??臻g FiqStackSpace SPACE FIQ_STACK_LEGTH * 4 ;快速中斷模式棧空間 AbtStackSpace SPACE AB
26、T_STACK_LEGTH * 4 ;中止義模式棧空間 UndtStackSpace SPACE UND_STACK_LEGTH * 4 ;未定義模式棧 StackSvc DCD SvcStackSpace + (SVC_STACK_LEGTH - 1)* 4 StackIrq DCD IrqStackSpace + (IRQ_STACK_LEGTH - 1)* 4 StackFiq DCD FiqStackSpace + (FIQ_STACK_LEGTH - 1)* 4 StackAbt DCD AbtStackSpace + (ABT_STACK_LEGTH - 1)* 4 StackUn
27、d DCD UndtStackSpace + (UND_STACK_LEGTH - 1)* 4 AREA Heap, DATA, NOINIT bottom_of_heap SPACE 1 AREA Stacks, DATA, NOINIT StackUsr,定義各模式堆大小,計算并分配各模式棧空間 分散加載,文字池: 各模式棧起點,堆空間,分散加載,用戶堆??臻g,分散加載,6.3.4 LPC2000工程模板,(1)mem_a.scf mem_c.scf,ROM_LOAD 0 x00000000 ROM_EXEC 0 x00000000 Startup.o (vectors, +First)
28、* (+RO) IRAM 0 x40000000 Startup.o (MyStacks) * (+RW,+ZI) HEAP +0 UNINIT Startup.o (Heap) STACKS 0 x40002000 UNINIT Startup.o (Stacks) ,6.4.1 啟動代碼內容,(2)target.c,void FIQ_Exception(void) while(1); / 這一句替換為自己的代碼 void TargetResetInit(void) #ifdef _DEBUG_RAM MEMMAP = 0 x2; /remap #endif #ifdef _DEBUG_FL
29、ASH MEMMAP = 0 x1; /remap #endif #ifdef _IN_CHIP MEMMAP = 0 x1; /remap #endif /* 設置系統(tǒng)各部分時鐘 */ PLLCON = 1; #if (Fpclk / (Fcclk / 4) = 1 VPBDIV = 0; #endif,FIQ處理程序,調試時,根據用戶選擇的目標設置Remap,根據config.h用戶定義的時鐘自動設定VPB分頻值,6.4.1 啟動代碼內容,(2)target.c,/* 設置系統(tǒng)各部分時鐘 */ PLLCON = 1; #if (Fpclk / (Fcclk / 4) = 1 VPBDIV
30、= 0; #endif #if (Fpclk / (Fcclk / 4) = 2 VPBDIV = 2; #endif #if (Fpclk / (Fcclk / 4) = 4 VPBDIV = 1; #endif #if (Fcco / Fcclk) = 2 PLLCFG = (Fcclk / Fosc) - 1) | (0 5); #endif #if (Fcco / Fcclk) = 4 PLLCFG = (Fcclk / Fosc) - 1) | (1 5); #endif #if (Fcco / Fcclk) = 8 PLLCFG = (Fcclk / Fosc) - 1) | (2
31、 5); #endif #if (Fcco / Fcclk) = 16 PLLCFG = (Fcclk / Fosc) - 1) | (3 5); #endif,根據config.h用戶定義的時鐘自動設定PLL的P和M,根據config.h用戶定義的時鐘自動設定VPB分頻值,6.4.1 啟動代碼內容,(2)target.c,/* 設置存儲器加速模塊 */ MAMCR = 0; #if Fcclk 20000000 MAMTIM = 1; #else #if Fcclk 40000000 MAMTIM = 2; #else MAMTIM = 3; #endif #endif MAMCR = 2;
32、 /* 初始化VIC */ VICIntEnClr = 0 xffffffff; VICVectAddr = 0; VICIntSelect = 0; /* 添加自己的代碼 */ /* */ ,設定MAM,設定VIC,留給用戶使用,6.4.2 啟動代碼工作流程,復位后,啟動代碼工作及內容:,(1)復位后,PC0,根據異常向量表,跳轉到復位處理程序。 (2)執(zhí)行復位程序。 堆棧初始化 目標板初始化 跳到C程序main入。 (3)執(zhí)行用戶程序。,復位,(1)ResetInit的地址轉入PC,(2)程序跳轉到ResetInit,(3)各模式堆棧初始化,6.4.2 啟動代碼工作流程,(1)ResetI
33、nit的地址轉入PC,(2)程序跳轉到ResetInit,(3)各模式堆棧初始化,(4)進行目標板初始化,6.4.2 啟動代碼工作流程,(1)ResetInit的地址轉入PC,(2)程序跳轉到ResetInit,(3)各模式堆棧初始化,(4)進行目標板初始化,(5)跳轉到main入口,6.4.2 啟動代碼工作流程,參考資料,啟動代碼和分散加載在深入淺出ARM7LPC213x/ LPC214x(上冊)中有詳細描述。 詳見3.9啟動代碼綜述一節(jié)。,ARM之旅,當前位置,6.5 GPIO模塊,(一)特性,LPC2000的GPIO具有如下的特性: 可以獨立控制每個GPIO口的方向(輸入/輸出模式) 可
34、以獨立設置每個GPIO的輸出狀態(tài)(高/低電平) 所有GPIO口在復位后默認為輸入狀態(tài) 部分GPIO有快速GPIO特性,6.5 GPIO模塊,(二)應用,檢測數字輸入,如鍵盤或開關信號,驅動LED或其它指示器,控制片外器件,6.5 GPIO模塊,(三)引腳描述,LPC2114/2124微控制器具有兩個端口P0和P1,可以作為GPIO使用的引腳數為46個。 LPC2210/2212/2214微控制器還包含另外兩個端口P2和P3,這個兩個端口與外部存儲器總線復用,當它們全部作為GPIO使用時,GPIO引腳數多達112個。,6.5 GPIO模塊,(四)內部結構,GPIO內部結構示意,引腳,6.5 GP
35、IO模塊,(五)GPIO操作,除了設定管腳連接之外,GPIO還有如下操作: (1)設定GPIO方向 (2)控制GPIO (3)讀取管腳電平 (4)讀取GPIO設置,6.5 GPIO模塊,(1)設定GPIO方向,通過GPIO方向寄存器IODIR進行控制。,方向控制: 1輸出 0輸入,每個P口都有自己的IODIR寄存器。IOxDIR 和相應的Px口對應。,6.5 GPIO模塊,(2)控制GPIO,拉高某位口線通過置位相應的IO置位寄存器IOSET中對應位實現。,置位控制:寫入1輸出高電平 寫0無效,6.5 GPIO模塊,(2)控制GPIO,拉低某位口線通過置位相應的IO清零寄存器IOCLR中對應位實現。,清零控制:寫入1輸出低電平 寫0無效,寫該寄存器會清除IOSET寄存器/輸出寄存器中對應位。,6.5 GPIO模塊,(2)控制GPIO,同時拉高/拉低某些口線通過寫相應的IO管腳值寄存器IOPIN中對應位實現。,清零控制:寫入1輸出高電平 寫入0輸出低電平,6.5 GPIO模塊,(3)讀取管腳電平,讀取管腳電平通過讀取相應的IO管腳值寄存器IOPIN實現。,管腳電平:1管腳為高電平 0管腳為低電平,6.5 GPIO模塊,(4)讀取GPIO設置,讀取管腳設置通過讀取相應的IO管腳
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJG 1068-2025固態(tài)電壓標準檢定規(guī)程
- 【X市某區(qū)8萬人生活污水處理廠設計13000字】
- 北京戶口考試題目及答案
- 包材專業(yè)考試題目及答案
- 安陸母嬰護理考試題及答案
- 2025普法考試題庫及答案
- 2025年遵義市匯川區(qū)“特崗計劃”教師招聘考試筆試試題(含答案)
- 2025年鞍山市高校畢業(yè)生“三支一扶”計劃招募考試筆試試題(含答案)
- 家長會發(fā)言發(fā)言稿
- 工程合作協(xié)議書資料
- 燃料電池行業(yè)發(fā)展分析及投資前景預測研究報告2025-2028版
- 2025年 珠海市市直專職人民調解員招聘筆試考試試卷附答案
- 2025年 物業(yè)管理師三級考試練習試題附答案
- 肺動脈高壓講課件
- 呼吸困難的識別與護理
- 廣東省深圳市南山區(qū)2025年小升初數學模擬試卷含解析
- 小學三到六年級全冊單詞默寫(素材)-2023-2024學年譯林版(三起)小學英語
- GB/T 620-2011化學試劑氫氟酸
- 第1章 物質的聚集狀態(tài)
- (完整版)公司重組文書系列范本
- 1997年浙江高考理科數學真題及答案
評論
0/150
提交評論