




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、LPC2000系列ARM硬件結(jié)構(gòu)1.LPC2000系列簡介2.引腳描述3.存儲(chǔ)器尋址4.系統(tǒng)控制模塊5.存儲(chǔ)器加速模塊 (MAM)6.外部存儲(chǔ)器控制器(EMC)7.引腳連接模塊8.GPIO9.向量中斷控制器10.外部中斷輸入11.定時(shí)器0和定時(shí)器112.SPI接口13.I2C接口14.UART(0、1)15.A/D轉(zhuǎn)換器16.看門狗17.脈寬調(diào)制器(PWM)18.實(shí)時(shí)時(shí)鐘14.5 存儲(chǔ)器加速模塊(MAM)概述 LPC2000微控制器擴(kuò)展了器件內(nèi)部Flash總線寬度為128位,用于提高處理器的指令執(zhí)行速度。這個(gè)接口通過存儲(chǔ)器加速模塊(MAM)來控制。2MAM內(nèi)部結(jié)構(gòu) LPC2200系列芯片把Fl
2、ash存儲(chǔ)器被分成兩組,它們輪番工作,及時(shí)的為CPU提供需要的指令和數(shù)據(jù),以防止CPU取指暫停。每組Flash存儲(chǔ)器都有自己的預(yù)取指緩沖區(qū)、分支跟蹤緩沖區(qū)和數(shù)據(jù)緩沖區(qū)。 分支跟蹤緩存分支跟蹤緩存總線接口Flash存儲(chǔ)器組0Flash存儲(chǔ)器組1預(yù)取指緩存預(yù)取指緩存數(shù)據(jù)緩存區(qū)選擇ARM7局部總線2128位2128位存儲(chǔ)器地址存儲(chǔ)器數(shù)據(jù)/指令3Flash組2Flash組1CPU 執(zhí)行指令取指階段 等待 指令提供指令1提供指令3.取指階段提供指令4取指階段 等待3 等待取指階段提供指令2取指階段 等待124關(guān)閉MAM指令執(zhí)行情況 從Flash組1中讀取指令,CPU處于等待狀態(tài)。1 CPU從1組指令緩存
3、區(qū)中獲取指令并執(zhí)行。2 從Flash組2中讀取指令,CPU處于等待狀態(tài)。3 CPU從2組指令緩存區(qū)中獲取指令并執(zhí)行。4 所有存儲(chǔ)器操作請(qǐng)求都會(huì)直接對(duì)Flash操作,由此產(chǎn)生了CPU停止,等待若干周期的情況。4Flash組2Flash組1CPU 執(zhí)行指令開啟MAM指令執(zhí)行情況.1413提供指令13141516取指階段1211109取指階段提供指令91011128765取指階段提供指令56784321提供指令12345678取指階段取指階段 等待 指令. 兩組指令緩存區(qū)中不存在指令,啟動(dòng)Flash存儲(chǔ)器指令讀取周期,CPU停止,等待若干周期。1 CPU執(zhí)行Flash組1指令緩存區(qū)中的指令。2 CP
4、U執(zhí)行Flash組2指令緩存區(qū)中的指令,同時(shí)從Flash組1中讀取指令。3 只要指令存在兩個(gè)組的指令緩存區(qū)中,CPU的指令執(zhí)行是連續(xù)的,由此大大提高了指令執(zhí)行效率。54.5 存儲(chǔ)器加速模塊(MAM)程序順序執(zhí)行 每個(gè)128位值包括了4個(gè)32位ARM指令或8個(gè)16位Thumb指令。 在連續(xù)執(zhí)行代碼時(shí),通常一個(gè)Flash組包含當(dāng)前正在取指的指令和包含該指令的整個(gè)Flash行,而另一個(gè)Flash組則包含或正在預(yù)取指下一個(gè)連續(xù)的代碼行。 64.5 存儲(chǔ)器加速模塊(MAM)程序出現(xiàn)分支 在預(yù)取指緩存區(qū)中保存著將要執(zhí)行的指令,在分支跟蹤緩存區(qū)中保存著程序跳轉(zhuǎn)后可執(zhí)行到的指令。CPU取跳轉(zhuǎn)之后的指令跳轉(zhuǎn)方向
5、從Flash讀取指令將指令行放入分支跟蹤緩存區(qū)和預(yù)取指緩存區(qū)指令在預(yù)取指緩存區(qū)指令在分支跟蹤緩存區(qū)讀取指令讀取指令向后向前否否是是74.5 存儲(chǔ)器加速模塊(MAM)程序獲取數(shù)據(jù) 當(dāng)CPU在從Flash中獲取數(shù)據(jù)時(shí),如果這些數(shù)據(jù)沒有出現(xiàn)在MAM的數(shù)據(jù)緩沖區(qū)中,那么MAM會(huì)執(zhí)行一次Flash讀操作,并把一個(gè)128位的數(shù)據(jù)行存入數(shù)據(jù)緩沖區(qū),這樣就加快了按順序訪問數(shù)據(jù)的速度。數(shù)據(jù)訪問使用一個(gè)單行的緩沖區(qū),和訪問代碼時(shí)提供兩個(gè)緩沖區(qū)不同,因?yàn)閿?shù)據(jù)訪問不需要預(yù)取指功能。 84.5 存儲(chǔ)器加速模塊(MAM)MAM與Flash編程 Flash編程功能不受存儲(chǔ)器加速器模塊的控制,而是作為一個(gè)獨(dú)立的功能進(jìn)行處理。
6、Flash存儲(chǔ)器的布線使其每個(gè)扇區(qū)同時(shí)存在于兩個(gè)組當(dāng)中,這樣扇區(qū)擦除操作可同時(shí)對(duì)兩個(gè)組執(zhí)行。 94.5 存儲(chǔ)器加速模塊(MAM)MAM的操作模式 LPC2000系列芯片允許用戶設(shè)置MAM的加速級(jí)別,使芯片適用于某些對(duì)功耗和可預(yù)測(cè)性有要求的場(chǎng)合。MAM定義了三種操作模式:加速級(jí)別順序執(zhí)行程序分支數(shù)據(jù)功耗可預(yù)測(cè)性關(guān)閉不預(yù)取代碼不緩沖代碼不緩沖數(shù)據(jù)低高部分使能預(yù)取代碼緩沖代碼緩沖但時(shí)序固定中中完全使能預(yù)取代碼緩沖代碼緩沖數(shù)據(jù)高低104.5 存儲(chǔ)器加速模塊(MAM)MAM的配置 在復(fù)位后,MAM默認(rèn)為禁止?fàn)顟B(tài)。軟件可以隨時(shí)將存儲(chǔ)器訪問加速打開或關(guān)閉。通常我們都會(huì)把加速設(shè)置為完全使能,這可使程序以最高速
7、度運(yùn)行。而運(yùn)行某些要求更精確定時(shí)的代碼時(shí),我們可以關(guān)閉或部分使能MAM,以較慢但可預(yù)測(cè)的速度運(yùn)行代碼。 114.5 存儲(chǔ)器加速模塊(MAM)寄存器描述控制寄存器MAMCR7 : 21 : 0模式控制控制寄存器MAMTIM7 : 32 : 0取指周期控制MAM控制寄存器(MAMCR):MAMCR1:0:用于MAM的模式控制,具體關(guān)系如下表。MAMCR1:0描述00禁止MAM功能01部分使能MAM功能10完全使能MAM功能11保留MAM定時(shí)寄存器(MAMTIM):MAMTIM2:0:決定使用多少個(gè)CCLK周期訪問Flash存儲(chǔ)器,這樣可以調(diào)整MAM時(shí)序使其匹配處理器操作頻率,具體關(guān)系如下表。MAM
8、TIM2:0描述MAMTIM2:0描述000保留100取指周期為4個(gè)CCLK001取指周期為1個(gè)CCLK101取指周期為5個(gè)CCLK010取指周期為2個(gè)CCLK110取指周期為6個(gè)CCLK011取指周期為3個(gè)CCLK111取指周期為7個(gè)CCLK 當(dāng)訪問周期設(shè)置為1個(gè)CCLk時(shí),實(shí)際上關(guān)閉了MAM,但是仍可以選擇MAM模式對(duì)功耗進(jìn)行優(yōu)化。注意:不正確的設(shè)定會(huì)導(dǎo)致器件的錯(cuò)誤操作124.5 存儲(chǔ)器加速模塊(MAM)MAM使用注意事項(xiàng)MAM定時(shí)問題: 在改變MAM定時(shí)值時(shí)必須先關(guān)閉MAM。其設(shè)置的定時(shí)值和系統(tǒng)時(shí)鐘有如下關(guān)系,目的是為了確保Flash的訪問周期不會(huì)小于50ns ,否則會(huì)導(dǎo)致操作錯(cuò)誤。系統(tǒng)
9、時(shí)鐘(CCLK)MAM定時(shí)值 20MHz120MHz 40MHz240MHz 60MHz3Flash編程問題: 在編程和擦除操作過程中不允許訪問Flash存儲(chǔ)器。為了防止從Flash存儲(chǔ)器中讀取無效的數(shù)據(jù),在Flash編程或擦除操作開始后MAM將不緩沖任何數(shù)據(jù)。所以在Flash操作結(jié)束后,任何對(duì)Flash地址的讀操作都將啟動(dòng)新的取指操作。 134.5 存儲(chǔ)器加速模塊(MAM)MAM應(yīng)用示例void MAMSet(uint32 Fcclk) MAMCR = 0; If(Fcclk 200000000) MAMTIM = 1; else if(Fcclk 40000000) MAMTIM = 2;
10、 else MAMTIM = 3; MAMCR = 2; MAM部件Flash訪問時(shí)鐘的配置: 關(guān)閉MAM部件;1 啟動(dòng)MAM部件。3 根據(jù)系統(tǒng)時(shí)鐘配置取指周期;2141.LPC2000系列簡介2.引腳描述3.存儲(chǔ)器尋址4.系統(tǒng)控制模塊5.存儲(chǔ)器加速模塊 (MAM)6.外部存儲(chǔ)器控制器(EMC)7.引腳連接模塊8. GPIOLPC2000系列ARM硬件結(jié)構(gòu)9. 向量中斷控制器10.外部中斷輸入11.定時(shí)器0和定時(shí)器112. SPI接口13. I2C接口14. UART(0、1)15. A/D轉(zhuǎn)換器16. 看門狗17. 脈寬調(diào)制器(PWM)18. 實(shí)時(shí)時(shí)鐘154.6 外部存儲(chǔ)器控制器(EMC)概
11、述 外部存儲(chǔ)器控制器是AMBA AHB總線上的一個(gè)從模塊,它為AMBA AHB系統(tǒng)總線和外部(片外)存儲(chǔ)器器件提供了一個(gè)接口。 該模塊可同時(shí)支持多達(dá)4個(gè)單獨(dú)配置的存儲(chǔ)器組,每個(gè)存儲(chǔ)器組都支持SRAM、ROM、Flash EPROM、Burst ROM存儲(chǔ)器或一些外部I/O器件。存儲(chǔ)器或外部I/O口器件存儲(chǔ)器或外部I/O口器件存儲(chǔ)器或外部I/O口器件存儲(chǔ)器或外部I/O口器件ARM7TDMI-S內(nèi)核EMC模塊Bank0Bank1Bank2Bank3AMBA AHB總線CS0/1/2/3164.6 外部存儲(chǔ)器控制器(EMC)特性支持靜態(tài)存儲(chǔ)器映射器件;4個(gè)存儲(chǔ)器組(Bank0 Bank3)可單獨(dú)配置
12、,每個(gè)存儲(chǔ)器組可訪問16M字節(jié)空間;總線空閑周期可編程;可對(duì)靜態(tài)RAM器件的讀寫等待時(shí)間進(jìn)行編程;可編程外部數(shù)據(jù)總線寬度8位、16位和32位。174.6 外部存儲(chǔ)器控制器(EMC)引腳描述引腳名稱類型引腳描述復(fù)用引腳D31:0輸入/輸出外部存儲(chǔ)器數(shù)據(jù)線P2.0P2.31A23:0輸出外部存儲(chǔ)器地址線P3.0P3.23OE輸出讀使能信號(hào),低有效P1.1WE輸出寫使能信號(hào),低有效P3.27CS3:0輸出片選信號(hào),低有效P1.0、P3.24P3.26BLS3:0輸出字節(jié)定位選擇信號(hào),低有效P3.28P3.31 注:每個(gè)這些引腳是與P1、P2和P3口GPIO功能復(fù)用,所以在使用外部總線前首先要正確配置
13、PINSEL2寄存器 。184.6 外部存儲(chǔ)器控制器(EMC)寄存器描述 外部存儲(chǔ)器控制器包含4個(gè)配置寄存器。每個(gè)配置寄存器控制一個(gè)外部存儲(chǔ)器接口的總線空閑時(shí)間、讀訪問長度、寫訪問長度、存儲(chǔ)器組是否寫保護(hù)、存儲(chǔ)器組的總線寬度的設(shè)置等。ARM7TDMI-S內(nèi)核EMC模塊Bank0Bank1Bank2Bank3AMBA AHB配置寄存器BCFG1BCFG0BCFG2BCFG3194.6 外部存儲(chǔ)器控制器(EMC)寄存器描述配置寄存器BCFG033 : 0IDCY31 : 30AT49 : 5WST110RBLE15 : 11WST223 :1624BUSERR25WPERR26WP27BM29 :
14、 28MWIDCYWST1 IDCY:總線空閑時(shí)間控制位。該位控制著一個(gè)存儲(chǔ)器內(nèi)部的讀寫訪問之間,以及訪問一個(gè)存儲(chǔ)器組和訪問另一個(gè)存儲(chǔ)器組之間EMC需要給定的“空閑”CCLK周期最小數(shù)目,以避免器件間的總線競(jìng)爭(zhēng)。 計(jì)算公式為:空閑CCLK周期數(shù) IDCY +1;存儲(chǔ)器組配置寄存器03(BCFG03): WST1:讀寫訪問長度控制位。該位控制讀訪問的長度,以調(diào)節(jié)對(duì)外部存儲(chǔ)器的讀訪問時(shí)間。讀訪問的長度以CCLK周期來計(jì)量。 計(jì)算公式為:讀操作周期長度 WST1 + 3;XCLKCSOEWE/BLSAddrData有效地址變化數(shù)據(jù)有效數(shù)據(jù)WST1=01個(gè)等待周期外部存儲(chǔ)器讀訪問波形(WST1=0):
15、讀操作,共需3個(gè)周期增加1個(gè)等待周期外部存儲(chǔ)器讀訪問波形(WST1=1):WST1=1,2個(gè)等待周期有效地址變化數(shù)據(jù)有效數(shù)據(jù)讀操作,共需4個(gè)周期204.6 外部存儲(chǔ)器控制器(EMC)寄存器描述配置寄存器BCFG033 : 0IDCY31 : 30AT49 : 5WST110RBLE15 : 11WST223 :1624BUSERR25WPERR26WP27BM29 : 28MWRBLE存儲(chǔ)器組配置寄存器03(BCFG03): RBLE:字節(jié)定位使能位。在LPC2200微處理器中,EMC提供了一組字節(jié)定位選擇信號(hào)(BLS0BLS3)實(shí)現(xiàn)對(duì)16位或32位外部存儲(chǔ)器組的字節(jié)操作。 設(shè)定RBLE可實(shí)現(xiàn)
16、:寫訪問時(shí),RBLE位決定WE信號(hào)是否有效(低電平有效);讀訪問時(shí),RBLE位決定BLSn信號(hào)是否有效(低電平有效)。214.6 外部存儲(chǔ)器控制器(EMC)寄存器描述配置寄存器BCFG033 : 0IDCY31 : 30AT49 : 5WST110RBLE15 : 11WST223 :1624BUSERR25WPERR26WP27BM29 : 28MWWST2存儲(chǔ)器組配置寄存器03(BCFG03): WST2:寫訪問長度控制位。和讀操作類似,該位控制寫訪問的長度(對(duì)Burst ROM的連續(xù)讀訪問除外),以調(diào)節(jié)對(duì)外部存儲(chǔ)器的寫訪問時(shí)間。寫訪問的長度以CCLK周期來計(jì)量。 計(jì)算公式為:寫操作周期長
17、度 WST2 + 3;外部存儲(chǔ)器寫訪問波形(WST2=0):XCLKCSOEWE/BLSAddrData有效數(shù)據(jù)有效地址WST2=01個(gè)等待周期寫操作,共需3個(gè)周期外部存儲(chǔ)器寫訪問波形(WST2=1):增加1個(gè)等待周期寫操作,共需4個(gè)周期有效數(shù)據(jù)有效地址WST2=12個(gè)等待周期224.6 外部存儲(chǔ)器控制器(EMC)寄存器描述配置寄存器BCFG033 : 0IDCY31 : 30AT49 : 5WST110RBLE15 : 11WST223 :1624BUSERR25WPERR26WP27BM29 : 28MWMW存儲(chǔ)器組配置寄存器03(BCFG03):MW:該位控制相應(yīng)存儲(chǔ)器組的數(shù)據(jù)總線寬度。
18、BCFGx29:28數(shù)據(jù)總線寬度0080116103211保留234.6 外部存儲(chǔ)器控制器(EMC)寄存器描述MW控制域(BCFG29:28)與引腳BOOT1:0的關(guān)系: 由于Bank0可用于引導(dǎo)程序運(yùn)行,所以BCFG029:28的復(fù)位值與引腳BOOT1:0的設(shè)定有關(guān)(當(dāng)BOOT1:0=11時(shí),復(fù)位后從片內(nèi)Flash引導(dǎo)程序運(yùn)行)。Bank復(fù)位時(shí)引腳BOOT1:0的狀態(tài)BCFG29:28復(fù)位值存儲(chǔ)器寬度0LL0080LH01160HL10320HH10321XX10322XX01163XX008244.6 外部存儲(chǔ)器控制器(EMC)外部存儲(chǔ)器接口 LPC2200的外部存儲(chǔ)器寬度可設(shè)定為8位、1
19、6位和32位模式,每一種模式對(duì)應(yīng)的硬件連接都是不同的,原因就是在總線工作模式上存在差別。 254.6 外部存儲(chǔ)器控制器(EMC)8位總線寬度 數(shù)據(jù)總線D7D0有效,字節(jié)定位信號(hào)中只有BLS0是有效的,總線的工作模式 如表。LPC2200工作模式RBLECSOEWEBLS0說明讀操作(8位數(shù)據(jù))0LLHH1LLHL1寫操作(8位操作)0LHHL21LHLL空閑操作XHHHH說明: 1、如果此時(shí)使用BLS0作為存儲(chǔ)芯片的寫使能信號(hào),那么在執(zhí)行讀取操作時(shí),存儲(chǔ)芯片上的讀、寫使能信號(hào)就會(huì)同時(shí)有效。264.6 外部存儲(chǔ)器控制器(EMC)8位總線寬度連接方式需要設(shè)置RBLE = 1,否則在寫數(shù)據(jù)時(shí),WE不
20、會(huì)出現(xiàn)有效信號(hào)。需要設(shè)置RBLE = 0,否則在讀數(shù)據(jù)時(shí),讀、寫使能信號(hào)都有效,就會(huì)出現(xiàn)總線數(shù)據(jù)錯(cuò)誤。 274.6 外部存儲(chǔ)器控制器(EMC)16位總線寬度 數(shù)據(jù)總線D15D0有效,地址總線A0無效,字節(jié)定位信號(hào)中BLS0和BLS1有效。 16位存儲(chǔ)器數(shù)據(jù)16位存儲(chǔ)器地址D15 D8D7 D0高字節(jié)低字節(jié)0 x0000 0000高字節(jié)低字節(jié)0 x0000 0001高字節(jié)低字節(jié)0 x0000 0010高字節(jié)低字節(jié) LPC2200操作16位存儲(chǔ)器時(shí),需將LPC2200的地址線A1連接到存儲(chǔ)器地址線A0處。 總線工作模式如表。 16位存儲(chǔ)器件中,高、低字節(jié)定位表示方法:LPC2200工作模式RBLE
21、CSOEWEBLS1BLS0讀操作8位、16位數(shù)據(jù)0LLHHH1LLHLL寫操作8位數(shù)據(jù)0LHHHLLH1LHLHLLH16位數(shù)據(jù)0LHHLL1LHLLL空閑操作XHHHHH284.6 外部存儲(chǔ)器控制器(EMC)16位總線寬度連接方式RBLE = 0。否則在對(duì)存儲(chǔ)器進(jìn)行讀操作時(shí),讀、寫使能信號(hào)都有效。RBLE = 1。否則在對(duì)存儲(chǔ)器進(jìn)行寫操作時(shí),寫使能信號(hào)無效。294.6 外部存儲(chǔ)器控制器(EMC)16位總線操作示例 LPC2000與存儲(chǔ)芯片MT45W4MW16 的連接示意圖。MT45W4MW16是一款PSRAM芯片,16位總線寬度,容量8M字節(jié) 。RBLE = 1MT45W4MW16部分引腳
22、描述引腳描述A0A22地址線D0D15數(shù)據(jù)線CE片選線OE讀使能線WE寫使能線UB高字節(jié)使能線LB低字節(jié)使能線304.6 外部存儲(chǔ)器控制器(EMC)向PSRAM中寫入16位數(shù)據(jù)uint16 *point16;uint16 data16 = 0 x00;point16 = (uint16 *)0 x80001020;while(1) *point16 = data16+; 向PSRAM中0 x80001020地址循環(huán)寫入從0開始遞增的數(shù)據(jù)。 使用邏輯分析儀捕捉到前4次操作的波形。314.6 外部存儲(chǔ)器控制器(EMC)向PSRAM中低字節(jié)地址寫入8位數(shù)據(jù)uint8 *point8; uint8 d
23、ata8 = 0 x00; point8 = (uint8 *) 0 x80001010; while(1) * point8 = data8 +; 向PSRAM中低字節(jié)地址0 x8 0001010循環(huán)寫入從0開始遞增的8位數(shù)據(jù)。 WE、BLS0有效,數(shù)據(jù)線上D7D0有效,D15D8無效324.6 外部存儲(chǔ)器控制器(EMC)向PSRAM中高字節(jié)地址寫入8位數(shù)據(jù)uint8 *point8; uint8 data8 = 0 x00; point8 = (uint8 *) 0 x80001011; while(1) * point8 = data8 +; 向PSRAM中高字節(jié)地址0 x8 00010
24、11循環(huán)寫入從0開始遞增的8位數(shù)據(jù)。 WE、BLS1有效,數(shù)據(jù)線上D15D8有效,D7D0無效334.6 外部存儲(chǔ)器控制器(EMC) 1、寫入16位數(shù)據(jù)時(shí),EMC將16位數(shù)據(jù)輸出到D15:0,同時(shí)使BLS0和BLS1均有效; 2、向“低字節(jié)地址”處寫入8位數(shù)據(jù)時(shí),EMC將8位數(shù)據(jù)輸出到D7:0,同時(shí)使BLS0輸出有效,BLS1輸出無效; 3、向“高字節(jié)地址”處寫入8位數(shù)據(jù)時(shí),EMC將8位數(shù)據(jù)輸出到D15:8,同時(shí)使BLS1輸出有效,BLS0輸出無效。16位寫操作總結(jié)344.6 外部存儲(chǔ)器控制器(EMC)從PSRAM中讀取8位數(shù)據(jù)uint8 RcvData8;uint8 *point8;poin
25、t8 = (uint8 *) 0 x80001010;while(1) RcvData8 = * point8+; RcvData8 = * point8+; RcvData8 = * point8+; RcvData8 = * point8-; point8-; point8-; 從PSRAM 0 x8000 1010 0 x8000 1013循環(huán)讀取8位數(shù)據(jù) 讀取16位數(shù)據(jù)時(shí),BLS0和BLS1均有效,有效數(shù)據(jù)位于:D15:0; 讀取“低字節(jié)”數(shù)據(jù)時(shí),BLS0和BLS1均有效,有效數(shù)據(jù)位于:D7:0; 讀取“高字節(jié)”數(shù)據(jù)時(shí),BLS0和BLS1均有效,有效數(shù)據(jù)位于:D15:8。354.6 外
26、部存儲(chǔ)器控制器(EMC)32位總線寬度 數(shù)據(jù)總線D31D0有效,地址總線A1、A0無效,字節(jié)定位信號(hào)中BLS0BLS3有效。 32位存儲(chǔ)器件中字節(jié)0、1、2、3的定位表示法:32位存儲(chǔ)器數(shù)據(jù)32位存儲(chǔ)器件地址D31 D24D23 D16D15 D8D7 D0字節(jié)3字節(jié)2字節(jié)1字節(jié)00 x0000 0000字節(jié)3字節(jié)2字節(jié)1字節(jié)00 x0000 0001字節(jié)3字節(jié)2字節(jié)1字節(jié)00 x0000 0010字節(jié)3字節(jié)2字節(jié)1字節(jié)0 LPC2200操作32位存儲(chǔ)器時(shí),需將LPC2200的地址線A2連接到存儲(chǔ)器地址線A0處。364.6 外部存儲(chǔ)器控制器(EMC)32位總線寬度連接方式371.LPC2000
27、系列簡介2.引腳描述3.存儲(chǔ)器尋址4.系統(tǒng)控制模塊5.存儲(chǔ)器加速模塊 (MAM)6.外部存儲(chǔ)器控制器(EMC)7.引腳連接模塊8. GPIOLPC2000系列ARM硬件結(jié)構(gòu)9. 向量中斷控制器10.外部中斷輸入11.定時(shí)器0和定時(shí)器112. SPI接口13. I2C接口14. UART(0、1)15. A/D轉(zhuǎn)換器16. 看門狗17. 脈寬調(diào)制器(PWM)18. 實(shí)時(shí)時(shí)鐘384.7 引腳連接模塊概述 LPC2000系列微控制器的大部分管腳都具有多種功能,即管腳復(fù)用,但是同一引腳在同一時(shí)刻只能使用其中一個(gè)功能,通過配置相關(guān)寄存器控制多路開關(guān)來連接引腳與片內(nèi)外設(shè)。引腳P0.0GPIOTXD0PWM
28、1輸出保留PINSELx引腳連接寄存器PINSELx1 : 000011011P0.0默認(rèn)為GPIO功能P0.0選擇TXD0功能,配置對(duì)應(yīng)位為01P0.0選擇PWM1功能,配置對(duì)應(yīng)位為10P0.0選擇保留功能,配置對(duì)應(yīng)位為11394.7 引腳連接模塊 LPC2000系列微控制器具有三個(gè)32位寬度PINSEL寄存器,其中PINSEL0和PINSEL1控制端口0,PINSEL2根據(jù)芯片的不同控制的端口數(shù)量也不同 。寄存器描述寄存器LPC2100LPC2200PINSEL0P00:15PINSEL1P016:31PINSEL2P116:31P10:1、 P116:31、P20:31、P30:3140
29、4.7 引腳連接模塊應(yīng)用示例PINSEL0 = 0 x05 16; 要求將P0.8、P0.9設(shè)置為TxD1、RxD1 通過查閱PINSE0寄存器設(shè)置表,得到P0.9和P0.8的控制位為PINSEL019:16,當(dāng)該域設(shè)置為0101 (0 x05)時(shí)選擇 RxD1和 TxD1。 為了不影響別的管腳連接設(shè)置,通常選擇下面的設(shè)置方法。PINSEL0 = (PINSEL0 & 0 xFFF0FFFF) | (0 x05 16);411.LPC2000系列簡介2.引腳描述3.存儲(chǔ)器尋址4.系統(tǒng)控制模塊5.存儲(chǔ)器加速模塊 (MAM)6.外部存儲(chǔ)器控制器(EMC)7.引腳連接模塊8. GPIOLPC2000
30、系列ARM硬件結(jié)構(gòu)9. 向量中斷控制器10.外部中斷輸入11.定時(shí)器0和定時(shí)器112. SPI接口13. I2C接口14. UART(0、1)15. A/D轉(zhuǎn)換器16. 看門狗17. 脈寬調(diào)制器(PWM)18. 實(shí)時(shí)時(shí)鐘424.8 GPIO引腳描述 LPC2114/2124微控制器具有兩個(gè)端口P0和P1,可以作為GPIO使用的引腳數(shù)為46個(gè)。 LPC2210/2212/2214微控制器還包含另外兩個(gè)端口P2和P3,這個(gè)兩個(gè)端口與外部存儲(chǔ)器總線復(fù)用,當(dāng)它們?nèi)孔鳛镚PIO使用時(shí),GPIO引腳數(shù)多達(dá)112個(gè)。GPIO與控制寄存器的關(guān)系PINSELxIOxDIRIOxCLRIOxPINIOxSETi
31、nout10引腳43PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10通用名稱描述訪問類型復(fù)位值IOPINGPIO引腳值寄存器,不管方向模式如何,引腳的當(dāng)前狀態(tài)都可以從該寄存器中讀出只讀NAIOSETGPIO輸出置位寄存器。該寄存器控制引腳輸出高電平讀/置位0 x00000000IOCLRGPIO輸出置位寄存器。該寄存器控制引腳輸出低電平只清零0 x00000000IODIRGPIO方向控制寄存器。該寄存器單獨(dú)控制每個(gè)IO口的方向讀/寫0 x00000000GPIO相關(guān)寄存器描述44PINSE
32、LxIOxDIRIOxCLRIOxPINIOxSETinout10GPIO相關(guān)寄存器描述IOxPINIOxPIN描述復(fù)位值31 : 0GPIO引腳值。IOxPIN0對(duì)應(yīng)于Px.0 IOxPIN31對(duì)應(yīng)于Px.31引腳未定義 該寄存器反映了當(dāng)前引腳的狀態(tài)。IOxPIN中的x對(duì)應(yīng)于某一個(gè)端口,如P1口對(duì)應(yīng)于IO1PIN。所以芯片存在多少個(gè)端口,就有多少個(gè)IOxPIN分別與之對(duì)應(yīng)。 寫該寄存器會(huì)將值保存到輸出寄存器。注意:無論引腳被設(shè)置為輸入還是輸出模式,都不影響引腳狀態(tài)的讀出。45PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10GPIO相關(guān)寄存器描述IOxDIRIOxD
33、IR描述復(fù)位值31 : 0方向控制位。IOxDIR0對(duì)應(yīng)于Px.0 IOxDIR31對(duì)應(yīng)于Px.31引腳0 當(dāng)引腳設(shè)置為GPIO輸出模式時(shí),可使用該寄存器控制引腳的方向。向某位寫入1使對(duì)應(yīng)引腳作為輸出功能,寫入0時(shí)作為輸入功能。 作為輸入功能時(shí),引腳處于高阻態(tài)。46PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10GPIO相關(guān)寄存器描述IOxSETIOxSET描述復(fù)位值31 : 0輸出置位。IOxSET0對(duì)應(yīng)于Px.0 IOxPIN31對(duì)應(yīng)于Px.31引腳0 當(dāng)引腳設(shè)置為GPIO輸出模式時(shí),可使用該寄存器從引腳輸出高電平。向某位寫入1使對(duì)應(yīng)引腳輸出高電平。寫入0無效。
34、 從該寄存器讀回的數(shù)據(jù)為GPIO輸出寄存器的值。47PINSELxIOxDIRIOxCLRIOxPINIOxSETinout10GPIO相關(guān)寄存器描述IOxCLRIOxCLR描述復(fù)位值31 : 0輸出清零。IOxCLR0對(duì)應(yīng)于Px.0 IOxCLR31對(duì)應(yīng)于Px.31引腳0 當(dāng)引腳設(shè)置為GPIO輸出模式時(shí),可使用該寄存器從引腳輸出低電平。向某位寫入1使對(duì)應(yīng)引腳輸出低電平。寫入0無效。注意:讀取該寄存器無效,不能讀回輸出寄存器的值。484.8 GPIO使用GPIO注意要點(diǎn)引腳設(shè)置為輸出方式時(shí),輸出狀態(tài)由IOxSET和IOxCLR中最后操作的寄存器決定;復(fù)位后默認(rèn)所有GPIO為輸入模式。49 .
35、PINSEL0 &= 0 xFFFFFFFC; IO0DIR |= 0 x00000001; IO0SET = 0 x00000001; .C代碼:PINSEL0IO0DIRIO0CLRIO0PINIO0SETinout10GPIO應(yīng)用示例設(shè)置P0.0輸出高電平P0.0(1) 設(shè)置引腳連接模塊,P0.0為GPIO(2) 設(shè)置P0.0口方向,設(shè)置為輸出(3) 設(shè)置P0.0口狀態(tài),輸出高電平150 . uint32 PinStat; PINSEL0 &= 0 xFFFFFFFC; IO0DIR &= 0 xFFFFFFFE; PinStat = IO0PIN; .C代碼:PINSEL0IO0DIR
36、IO0CLRIO0PINIO0SETinout10GPIO應(yīng)用示例讀取P0.0引腳狀態(tài)P0.0(1) 設(shè)置引腳連接模塊,P0.0為GPIO(2) 設(shè)置P0.0口方向,設(shè)置為輸入(3) 從IO0PIN讀取引腳狀態(tài)IO0PIN51#define DataBus 0 xFF PINSEL0 &= 0 xFFFF0000; IO0DIR |= DataBus; IO0CLR = DataBus; IO0SET = Data; .使用IOxSET和IOxCLR實(shí)現(xiàn):GPIO應(yīng)用示例輸出多位數(shù)據(jù)至IO口(1) 設(shè)置引腳連接模塊,P0.07為GPIO(2) 設(shè)置P0.0口方向,設(shè)置為輸出(3) 清零8位IO
37、口的輸出狀態(tài) 在需要將多位數(shù)據(jù)同時(shí)輸出到某幾個(gè)IO口線時(shí),通常使用IOxSET和IOxCLR來實(shí)現(xiàn),在某些情況下也可以使用IOxPIN寄存器實(shí)現(xiàn)。后者可以在多個(gè)IO口上直接輸出0和1電平。 本例將8位無符號(hào)整形變量Data的值輸出到P0.0P0.7。(4) Data變量中為1的位將輸出高電平0 x?0 x00Data數(shù)據(jù)輸出線:52#define DataBus 0 xFF PINSEL0 &= 0 xFFFF0000; IO0DIR |= DataBus; IO0PIN = (IO0SET & 0 xFFFFFF00) | Data; .GPIO應(yīng)用示例輸出多位數(shù)據(jù)至IO口(1) 設(shè)置引腳連
38、接模塊,P0.0為GPIO(2) 設(shè)置P0.0口方向,設(shè)置為輸出(3) 寫IO0PIN,輸出數(shù)據(jù) 在需要將多位數(shù)據(jù)同時(shí)輸出到某幾個(gè)IO口線時(shí),通常使用IOxSET和IOxCLR來實(shí)現(xiàn),在某些情況下也可以使用IOxPIN寄存器實(shí)現(xiàn)。后者可以在多個(gè)IO口上直接輸出0和1電平。 本例將8位無符號(hào)整數(shù)變量Data的值輸出到P0.0P0.7。使用IOxPIN實(shí)現(xiàn):0 x?Data數(shù)據(jù)輸出線:0 x?0 x00Data與前者對(duì)比:531.LPC2000系列簡介2.引腳描述3.存儲(chǔ)器尋址4.系統(tǒng)控制模塊5.存儲(chǔ)器加速模塊 (MAM)6.外部存儲(chǔ)器控制器(EMC)7.引腳連接模塊8. GPIOLPC2000系
39、列ARM硬件結(jié)構(gòu)9. 向量中斷控制器10.外部中斷輸入11.定時(shí)器0和定時(shí)器112. SPI接口13. I2C接口14. UART(0、1)15. A/D轉(zhuǎn)換器16. 看門狗17. 脈寬調(diào)制器(PWM)18. 實(shí)時(shí)時(shí)鐘544.9 向量中斷控制器概述 ARM7TDMI內(nèi)核具有兩個(gè)中斷輸入,分別為IRQ中斷和FIQ中斷。向量中斷控制器(VIC)負(fù)責(zé)管理芯片的中斷源,最多可以管理32個(gè)中斷輸入請(qǐng)求。CPU 內(nèi)核ARM7TDMI-S554.9 向量中斷控制器程序狀態(tài)寄存器CPSR與VIC的關(guān)系 ARM內(nèi)核通過CPSR來監(jiān)視和控制內(nèi)部的操作,CPSR中的“I”位和“F”位分別用來控制IRQ模式和FIQ模
40、式的使能。CPUARM7TDMI-SVICIRQFIQCPSR 7 (I)CPSR 6 (F)564.9 向量中斷控制器程序狀態(tài)寄存器CPSR與VIC的關(guān)系 當(dāng)I = 1時(shí),禁止IRQ中斷CPUARM7TDMI-SVICIRQFIQCPSR 7 (I)CPSR 6 (F) 當(dāng)I = 0時(shí),使能IRQ中斷CPUARM7TDMI-SVICIRQFIQCPSR 7 (I)CPSR 6 (F)574.9 向量中斷控制器程序狀態(tài)寄存器CPSR與VIC的關(guān)系 當(dāng)F = 1時(shí),禁止FIQ中斷CPUARM7TDMI-SVICIRQFIQCPSR 7 (I)CPSR 6 (F) 當(dāng)F = 0時(shí),使能FIQ中斷C
41、PUARM7TDMI-SVICIRQFIQCPSR 7 (I)CPSR 6 (F)584.9 向量中斷控制器中斷分類中斷輸入請(qǐng)求可以在VIC中被設(shè)置為以下三類: FIQ中斷:具有最高優(yōu)先級(jí); 向量IRQ中斷:具有中等優(yōu)先級(jí); 非向量IRQ中斷:具有最低優(yōu)先級(jí);594.9 向量中斷控制器FIQ中斷硬件處理流程將當(dāng)前的程序狀態(tài)寄存器的內(nèi)容備份即,SPSR_fiq = CPSR處理器切換到FIQ模式禁止IRQ和FIQ中斷,即,I = F = 1保存返回地址LR_fiq = PC設(shè)置FIQ異常入口地址PC = 0 x1C發(fā)生FIQ異常事件說明:ARM7不支持FIQ中斷嵌套604.9 向量中斷控制器IR
42、Q中斷相應(yīng)流程將當(dāng)前的程序狀態(tài)寄存器的內(nèi)容備份即,SPSR_irq = CPSR處理器切換到IRQ模式禁止IRQ中斷,即,I = 1保存返回地址LR_irq = PC設(shè)置IRQ異常入口地址PC = 0 x18發(fā)生IRQ異常事件說明:ARM7不支持IRQ中斷嵌套61中斷選擇寄存器VICIntSelect中斷使能寄存器VICIntEnable中斷使能清零寄存器VICIntEnClr中斷源31:0軟件中斷使能寄存器VICSoftInt軟件中斷清零寄存器VICSoftIntClear中斷狀態(tài)寄存器VICRawIntrIRQFIQ名稱描述訪問復(fù)位值地址VICIntEnable中斷使能寄存器 控制32個(gè)中
43、斷請(qǐng)求(包括軟件中斷)的使能R/W00 xFFFF F010VICIntEnClr中斷使能清零寄存器 將中斷使能寄存器中的一個(gè)或多個(gè)位清零W00 xFFFF F014VICIntSelect中斷選擇寄存器 將32個(gè)中斷請(qǐng)求的每個(gè)中斷分配為FIQ或IRQR/W00 xFFFF F00CVICSoftInt軟件中斷寄存器 控制對(duì)應(yīng)通道產(chǎn)生軟件中斷R/W00 xFFFF F018VICSoftIntClear軟件中斷清零寄存器 禁止對(duì)應(yīng)通道的軟件中斷W00 xFFFF F01C寄存器描述控制寄存器62控制寄存器功能描述4.9 向量中斷控制器控制寄存器功能描述VICIntEnable使能(禁止)中斷源
44、產(chǎn)生中斷VICIntEnClrVICIntSelect中斷類型選擇:FIQ & IRQVICSoftInt軟件中斷設(shè)置寄存器VICSoftIntClearFIQ中斷向量IRQ中斷非向量IRQ中斷中斷源0中斷源1中斷源31VIC將32個(gè)中斷輸入進(jìn)行分配63向量IRQ0使能中斷源向量IRQ0控制寄存器VICVectCntl0向量地址0寄存器VICVectAddr0默認(rèn)向量地址寄存器VICDefVectAddr向量IRQ15使能中斷源向量IRQ15控制寄存器VICVectCntl15向量地址15寄存器VICVectAddr15向量地址寄存器VICVectAddr寄存器描述參數(shù)設(shè)置寄存器名稱描述復(fù)位置
45、地址VICVectCntl0VICVectCntl15向量控制0寄存器 向量控制15寄存器 00 xFFFF F2000 xFFFF F23C VICVectAddr0 VICVectAddr15 向量地址0寄存器 向量地址15寄存器 00 xFFFF F100 0 xFFFF F13C VICDefVectAddr 默認(rèn)向量地址寄存器 00 xFFFF F034 VICVectAddr 向量地址寄存器 00 xFFFF F030 64IRQ中斷特點(diǎn)4.9 向量中斷控制器特點(diǎn)區(qū)別向量IRQ 支持16個(gè)向量IRQ中斷; 16個(gè)優(yōu)先級(jí); 每個(gè)優(yōu)先級(jí)指定一個(gè)服務(wù)程序入口地址。能為每個(gè)非向量IRQ中斷
46、源設(shè)置服務(wù)程序地址。非向量IRQ 支持1個(gè)非向量IRQ中斷; 所有非向量IRQ的入口地址都相同。所有的非向量IRQ中斷都共用一個(gè)相同的服務(wù)程序入口地址。65IRQ中斷相關(guān)寄存器4.9 向量中斷控制器寄存器名稱功能VICVectCntl015為中斷源分配向量IRQ中斷的優(yōu)先級(jí)。VICVectAddr015為該中斷優(yōu)先級(jí)設(shè)置服務(wù)程序入口地址。VICDefVectAddr設(shè)置非向量中斷服務(wù)程序的入口地址。 注意:如果將同一個(gè)中斷源分配給多個(gè)使能的向量IRQ中斷,那么該中斷源發(fā)生中斷時(shí),會(huì)使用最高優(yōu)先級(jí)(最低編號(hào))的寄存器設(shè)置。66產(chǎn)生中斷后的服務(wù)程序地址4.9 向量中斷控制器向量IRQ中斷發(fā)生向量I
47、RQ中斷后,VIC將對(duì)應(yīng)的向量地址寄存器中的數(shù)據(jù)存入VICVectAddr寄存器中。非向量IRQ中斷發(fā)生非向量IRQ中斷后,VIC將默認(rèn)向量地址寄存器中的數(shù)據(jù)存入VICVectAddr寄存器中67IRQ中斷狀態(tài)寄存器VICIRQStatus中斷選擇寄存器VICIntSelect中斷使能寄存器VICIntEnable中斷使能清零寄存器VICIntEnClr中斷源31:0軟件中斷使能寄存器VICSoftInt軟件中斷清零寄存器VICSoftIntClearFIQ中斷狀態(tài)寄存器VICFIQStatus中斷狀態(tài)寄存器VICRawIntrIRQFIQ寄存器描述狀態(tài)寄存器名稱描述訪問復(fù)位值地址VICIRQ
48、StatusIRQ狀態(tài)寄存器該寄存器讀出定義為IRQ并使能的中斷的狀態(tài)RO00 xFFFF F000VICFIQStatusFIQ狀態(tài)請(qǐng)求該寄存器讀出定義為FIQ并使能的中斷的狀態(tài)RO00 xFFFF F004VICRawIntr所有中斷的狀態(tài)寄存器 該寄存器讀出32個(gè)中斷請(qǐng)求/軟件中斷的狀態(tài),不管中斷是否使能或分類RO00 xFFFF F008注意:讀取VICRawIntr寄存器將得到所有32個(gè)中斷請(qǐng)求和軟件中斷的狀態(tài),它不管中斷是否使能或分類 。68保護(hù)使能寄存器4.9 向量中斷控制器保護(hù)使能寄存器(VICProtection ):位31:10功能當(dāng)該位為1時(shí),只能在特權(quán)模式下訪問VIC寄
49、存器。 在某些場(chǎng)合可能需要禁止在用戶模式下訪問VIC寄存器,以提高軟件的安全等級(jí)。69FIQ中斷處理4.9 向量中斷控制器SPSR_fiq = CPSR12CPSR = nzcvqIFt_fiq3LR_fiq = PC4PC = 0 x1C硬件處理軟件處理中斷服務(wù)程序1設(shè)置返回地址2恢復(fù)程序狀態(tài)寄存器CPSR3SUBS PC, LR, #470IRQ中斷處理4.9 向量中斷控制器硬件處理SPSR_irq = CPSR12CPSR = nzcvqIft_irq3VICVectAddr = VICVectAddrn4LR_irq = PC5PC = 0 x18軟件處理執(zhí)行中斷服務(wù)程序2設(shè)置返回地址
50、3恢復(fù)程序狀態(tài)寄存器CPSR4獲取中斷服務(wù)程序地址171IRQ中斷處理4.9 向量中斷控制器SPSR_irq = CPSR12CPSR = nzcvqIft_irq3VICVectAddr = VICVectAddrn4LR_irq = PC硬件處理5PC = 0 x18軟件處理執(zhí)行中斷服務(wù)程序2設(shè)置返回地址3恢復(fù)程序狀態(tài)寄存器CPSR4PC VICVectAddr172IRQ中斷處理4.9 向量中斷控制器SUBS PC, LR, #4SPSR_irq = CPSR12CPSR = nzcvqIft_irq3VICVectAddr = VICVectAddrn4LR_irq = PC硬件處理5PC = 0 x18軟件處理執(zhí)行中斷服務(wù)程序2設(shè)置返回地址3恢復(fù)程序狀態(tài)寄存器CPSR4LDR PC, PC, #-0 xff0173IRQ中斷的設(shè)計(jì)實(shí)例 將定時(shí)器0中斷分配為向量IRQ通道0,中斷服務(wù)程序地址設(shè)置為Timer0_ISR。C代碼:步驟:IRQ通道0控制寄存器VICVectCntl031:654:0010 x04向量IRQ通道0控制寄存器位分配位數(shù)值IRQ通道0向量地址寄存器VICVectAddr0定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鎮(zhèn)江資格證模擬考試
- 公司合作養(yǎng)豬合同范本
- 冷鐓模具合同范本
- 冰箱售后服務(wù)合同范本
- 農(nóng)村水田改造合同范本
- 代理交易合同范本
- 兄妹贈(zèng)予房產(chǎn)合同范本
- 北京出租車司機(jī)合同范本
- 農(nóng)村承包經(jīng)營戶合同范本
- 臨時(shí)店面員工合同范本
- DB11 938-2022 綠色建筑設(shè)計(jì)標(biāo)準(zhǔn)
- 部編版語文八年級(jí)下冊(cè)第六單元名著導(dǎo)讀《鋼鐵是怎樣煉成的》問答題 (含答案)
- 2022譯林版新教材高一英語必修二單詞表及默寫表
- 全國青少年機(jī)器人技術(shù)等級(jí)考試:二級(jí)培訓(xùn)全套課件
- 九種中醫(yī)體質(zhì)辨識(shí)概述課件
- (外研版)英語四年級(jí)下冊(cè)配套同步練習(xí) (全書完整版)
- 小學(xué)數(shù)學(xué)計(jì)算能力大賽實(shí)施方案
- 古詩詞誦讀《虞美人》課件-統(tǒng)編版高中語文必修上冊(cè)
- 文物學(xué)概論-中國古代青銅器(上)
- 制作拉線課件
- 某物業(yè)公司能力素質(zhì)模型庫(參考)
評(píng)論
0/150
提交評(píng)論