第7-LPC2132系統(tǒng)結(jié)構(gòu)與資源_第1頁
第7-LPC2132系統(tǒng)結(jié)構(gòu)與資源_第2頁
第7-LPC2132系統(tǒng)結(jié)構(gòu)與資源_第3頁
第7-LPC2132系統(tǒng)結(jié)構(gòu)與資源_第4頁
第7-LPC2132系統(tǒng)結(jié)構(gòu)與資源_第5頁
已閱讀5頁,還剩162頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2024/11/7西安郵電學(xué)院計算機學(xué)院1第7章

LPC2132

系統(tǒng)結(jié)構(gòu)資源

西安郵電學(xué)院計算機學(xué)院22024/11/7第7章目錄7.1LPC2132芯片簡介7.2LPC2132地址空間分配7.3管腳連接模塊7.4定時器/計數(shù)器7.5通用異步收發(fā)器7.6向量中斷控制器西安郵電學(xué)院計算機學(xué)院32024/11/7第7章目錄7.1LPC2132芯片簡介7.2LPC2132地址空間分配7.3管腳連接模塊7.4定時器/計數(shù)器7.5通用異步收發(fā)器7.6向量中斷控制器

西安郵電學(xué)院計算機學(xué)院42024/11/77.1LPC2132芯片簡介LPC2132是NXP公司LPC2000系列芯片的一個型號。LPC2000系列微控制器基于ARM7TDMI-SCPU內(nèi)核。支持ARM和Thumb指令集,芯片內(nèi)集成豐富外設(shè)(片內(nèi)外設(shè)),而且具有很低的功率消耗。該系列微控制器主要應(yīng)用于工業(yè)控制、醫(yī)療系統(tǒng)、訪問控制和POS機等場合。簡介西安郵電學(xué)院計算機學(xué)院52024/11/77.1.1LPC2000系列簡介器件信息器件引腳數(shù)片內(nèi)RAM片內(nèi)Flash10位AD通道數(shù)備注LPC21146416KB128KB4-LPC21246416KB256KB4-LPC2131648321(8ch)-LPC21326416641(8ch)-LPC221014416KB-8帶外部存儲器接口LPC222014464KB-8LPC221214416KB128KB8LPC221414416KB256KB8西安郵電學(xué)院計算機學(xué)院62024/11/77.1.2LPC2132芯片主要資源小型LQFP64封裝的16/32位ARM7TDMI-S微控制器;64KB的片內(nèi)高速Flash存儲器和16KB片內(nèi)靜態(tài)RAM;2個32位定時器/計數(shù)器;2個16C550工業(yè)標準UART;2個高速I2C接口(400kbit/s);

47個5V通用I/O口(GPIO);高達60MHz的CPU操作頻率;9個邊沿或電平觸發(fā)的外部中斷管腳。;向量中斷控制器,可配置優(yōu)先級和向量地址;西安郵電學(xué)院計算機學(xué)院72024/11/7ARM7TDMI-SCPUAHBToVPB橋EMCVICI2C串行接口SPI串行接口UART0&1看門狗定時器系統(tǒng)控制外部中斷TIMER0/1ADC通用I/OPWM0實時時鐘SRAMFlashAHB總線ARM7局部總線系統(tǒng)功能VPB總線7.1.3芯片內(nèi)部結(jié)構(gòu)LPC2000系列微控制器包含4大部分:

支持仿真的ARM7TDMI-SCPU1

與片內(nèi)存儲器控制器接口的ARM7局部總線2

與中斷控制器接口的AMBA高性能總線(AHB)3

連接片內(nèi)外設(shè)功能的VLSI外設(shè)總線(VPB)4西安郵電學(xué)院計算機學(xué)院82024/11/77.1.4LPC2132片內(nèi)存儲器LPC2000系列采用馮·諾伊曼存儲結(jié)構(gòu);程序/數(shù)據(jù)存儲器(Flash/RAM)與IO端口寄存器統(tǒng)一編制在同一個32bit地址寬度的空間;無外存儲器訪問接口,不支持存儲器擴;LPC2132器件內(nèi)含有16KB的SRAM和64KB的Flash。西安郵電學(xué)院計算機學(xué)院92024/11/7片內(nèi)存儲器(Flash、SRAM)片內(nèi)Flash編程方法1.使用JTAG仿真/調(diào)試器,通過芯片的JTAG接口下載程序;2.使用在系統(tǒng)編程技術(shù)(即ISP),通過UART0接口下載程序;3.使用在應(yīng)用編程技術(shù)(即IAP),在用戶程序運行時對Flash進行擦除和/或編程操作,實現(xiàn)數(shù)據(jù)的存儲和固件的現(xiàn)場升級。ARM7處理器核外設(shè)控制器RAMBootBlockFLASHJTAGUART0串口并口JTAGJTAGUART0西安郵電學(xué)院計算機學(xué)院102024/11/77.1.5LPC2132管腳西安郵電學(xué)院計算機學(xué)院112024/11/77.1.5LPC2132管腳管腳名管腳號屬性說明P0.0TxD0PWM119IOP0.0---P0口bit0OTxD0---UART0數(shù)據(jù)發(fā)送端OPWM1---脈寬調(diào)制器輸出1P0.1RxD0PWM3EINT021IOP0.1---P0口bit1IRxD0---UART0數(shù)據(jù)接收端OPWM3----脈寬調(diào)制器輸出3IEINT0---外部中斷0輸入備注:關(guān)于XXX器件的管腳說明詳見《XXX芯片數(shù)據(jù)手冊》西安郵電學(xué)院計算機學(xué)院122024/11/7第7章目錄7.1LPC2132芯片簡介7.2LPC2132地址空間分配7.3管腳連接模塊7.4定時器/計數(shù)器7.5通用異步收發(fā)器7.6向量中斷控制器7.2LPC2132地址空間分配西安郵電學(xué)院計算機學(xué)院142024/11/77.2.1存儲器映射就外設(shè)、存儲器器件等資源本身而言,沒有什么地址的概念;只有當這些資源連接到計算機系統(tǒng)中時,處理器要指定地訪問他們,需要給他們分配地址;即處理器能在特定的地址找到特定的物理資源。這種在計算機系統(tǒng)中,為存儲器資源安排訪問地址的過程稱之為存儲器映射。存儲器映射到計算機系統(tǒng)的哪個地址空間位置,在電路設(shè)計中取決于對處理器地址線的譯碼結(jié)果。西安郵電學(xué)院計算機學(xué)院152024/11/70x000000002.0GB1.0GB0.0GB3.0GB3.5GB4.0GB3.75GB0x000200000x000400000x400000000x400020000x7FFFE0000x800000000x810000000x820000000x830000000x840000000xC00000000xE00000000xF00000000xFFFFFFFF系統(tǒng)存儲器映射7.2.1存儲器映射256KB片內(nèi)非失憶性存儲器(LPC2124/2214)2MBAHB外設(shè)128KB片內(nèi)非失憶性存儲器(LPC2114/2212)16KB片內(nèi)靜態(tài)RAM8KBBootBlock(片內(nèi)ROM存儲器重映射)2MBVPB外設(shè)16MBBank0保留保留給片內(nèi)RAM存儲器保留給片內(nèi)FLASH存儲器16MBBank116MBBank216MBBank3目標板BUSFLASHAHB外設(shè)FLASHRAMBootBlockVPB外設(shè)ARM7處理器核AHBToVPB橋保留給片外存儲器用戶所見存儲器的分布備注:AHB設(shè)備---VIC、EMC等VPB設(shè)備---SPI、ADC、PWM、GPIO等西安郵電學(xué)院計算機學(xué)院162024/11/77.2.1存儲器映射AHB和VPB

AHB(先進的高性能總線)和VPB(VLSI外設(shè)總線)外設(shè)區(qū)域都為2M字節(jié),可各分配128個外設(shè)。每個外設(shè)空間的規(guī)格都為16K字節(jié),這樣就簡化了每個外設(shè)的地址譯碼。(2M=128個Devx16K/Dev)

注意:外設(shè)寄存器的地址都是字對齊;AHB和VPB外設(shè)區(qū)域中不管是字還是半字,都是一次性訪問。例如不可能對一個字寄存器的某字節(jié)執(zhí)行單獨的“讀”或“寫”操作。西安郵電學(xué)院計算機學(xué)院172024/11/7外設(shè)存儲器映射7.2.1存儲器映射注:AHB和VPB均為128x16kB(2MB)范圍。0x000000002.0GB1.0GB0.0GB3.0GB3.5GB0x000200000x000400000x400000000x400020000x7FFFE0000x800000000x810000000x820000000x830000000x840000000xC00000000xE0000000256KB片內(nèi)非失憶性存儲器(LPC2124/2214)128KB片內(nèi)非失憶性存儲器(LPC2114/2212)16KB片內(nèi)靜態(tài)RAM8KBBootBlock(片內(nèi)ROM存儲器重映射)16MBBank0保留給片內(nèi)RAM存儲器保留給片內(nèi)FLASH存儲器16MBBank116MBBank216MBBank3保留給片外存儲器4.0GB3.75GB0xF00000000xFFFFFFFF2MBAHB外設(shè)2MBVPB外設(shè)保留0xE00000003.5GB4.0GB-2MB保留4.0GB0xFFE00000AHB外設(shè)0xF00000003.75GB0xFFFFFFFF3.5GB3.5GB+2MBVPB外設(shè)保留0xE00000000xE0200000西安郵電學(xué)院計算機學(xué)院182024/11/7AHB外設(shè)映射7.2.1存儲器映射4.0GB-2MB保留保留0xE00000003.75GB3.5GB3.5GB+2MBVPB外設(shè)0xE02000000xF00000000xFFE000004.0GBAHB外設(shè)0xFFFFFFFF0xFFE000004.0GB-2MB0xFFE000000xFFE040000xFFFF80000xFFFFC000向量中斷控制器0xFFFFF0000xFFFFFFFF(AHB外設(shè)#1-AHB外設(shè)#125)未使用(AHB外設(shè)#0)未使用(AHB外設(shè)#126)未使用外部總線控制器

注:只有LPC2200系列微處理器有外部總線控制器西安郵電學(xué)院計算機學(xué)院192024/11/7VPB外設(shè)映射7.2.1存儲器映射4.0GB-2MB保留保留3.75GB3.5GB+2MB4.0GBAHB外設(shè)0xFFFFFFFF0xFFE000000xF00000000xE02000003.5GBVPB外設(shè)0xE00000003.5GB+2MB0xE0200000……(VPB外設(shè)#14-VPB外設(shè)#126)未使用系統(tǒng)控制模塊(VPB外設(shè)#127)10位A/D(VPB外設(shè)#13)看門狗定時器(VPB外設(shè)#0)TIMER0(VPB外設(shè)#1)0xE00000000xE00040000xE00080000xE00340000xE00380000xE01FC0000xE01FFFFF西安郵電學(xué)院計算機學(xué)院202024/11/77.2.2存儲器重映射通常使用中,一旦系統(tǒng)設(shè)計完成,系統(tǒng)內(nèi)的物理資源與地址有固定的對應(yīng)關(guān)系;為了增加系統(tǒng)的靈活性,系統(tǒng)中有些存儲單元可以同時出現(xiàn)在不同的地址位置上;有時又需要在不同的時刻,不同的存儲器資源映射在同一地址位置,此技術(shù)稱為“存儲器重映射”;系統(tǒng)資源重映射技術(shù)在實際應(yīng)用中很常見。舉例;西安郵電學(xué)院計算機學(xué)院212024/11/7存儲器重映射舉例1處理器與存儲器連接方式1KB的物理存儲器重映射在2K地址空間西安郵電學(xué)院計算機學(xué)院222024/11/7存儲器重映射舉例2

---不同的物理資源分別映射到同一地址區(qū)域通過選擇端可分別使能DEV1或DEV2,這兩個設(shè)備在系統(tǒng)中被映射到同一塊地址空間。LPC2132存儲器重映射ARM系統(tǒng)中有需要重映射的資源:BootBlock(器件廠家定制的器件引導(dǎo)代碼);用戶中斷向量表(fromFlashorSRAM);ARM7TDMI處理器復(fù)位時PC=0x00,解復(fù)位后,ARM處理器第一條取指運行的指令位于0x00地址單元。ARM微控器解復(fù)位后,要求首先執(zhí)行BootBlock;BootBlock重映射到0x00地址位置。用戶程序可在Flash/SRAM中調(diào)試,那么Flash/SRAM中的用戶中斷向量表也能夠重映射到0x00地址位置;西安郵電學(xué)院計算機學(xué)院242024/11/7LPC2132存儲器重映射在以ARM7TDMIF為內(nèi)核的LPC2132器件中,通過存儲器映射控制寄存器(MEMMAP

–0xE01FC040)可以實現(xiàn)三個不同物理資源到0x00地址的重映射。MEMMAP位號值功能含義復(fù)位值1:000將BootBlock的異常向量表重映射到0x00地址---ISP模式。(0x7FFFE000)0001將內(nèi)Flash的異常向量表重映射到0x00地址---用戶Flash模式。(0x00000000)10將內(nèi)SRAM的異常向量表重映射到0x00地址---用戶RAM模式。(0x40000000)11將外Flash的異常向量表重映射到0x00地址---用戶Flash模式。(0x80000000)7:2保留用戶軟件不可修改其值,讀出的數(shù)據(jù)無意義。NA西安郵電學(xué)院計算機學(xué)院252024/11/77.2.3器件引導(dǎo)模塊(BootBlock)BootBlock是ARM芯片解復(fù)位后ARM處理器首先運行的器件引導(dǎo)代碼,它是由廠家在制作芯片時寄生于芯片中,用戶不能修改、刪除的一段可執(zhí)行代碼。BootBlock代碼在芯片解復(fù)位后被首先運行,其功能主要是:①判斷運行哪個存儲器上的程序、②檢查用戶代碼是否有效、③判斷芯片是否被加密、④在系統(tǒng)編程功能(ISP)以及⑤芯片的在應(yīng)用編程(IAP)。西安郵電學(xué)院計算機學(xué)院262024/11/7啟動后運行代碼的選擇

芯片解復(fù)位后是運行片內(nèi)Flash中的用戶代碼,還是運行廠家ISP代碼,取決于芯片的復(fù)位屬性、P0.14管腳狀態(tài)和‘用戶代碼’的有效性等三個條件。(芯片解復(fù)位時若P0.14=0,強制ISP)用戶代碼有效性檢測BootBlock計算0x00~0x1C單元的8個字數(shù)據(jù)(即異常向量表中數(shù)據(jù))的累加和,當這8個字數(shù)據(jù)的累加和為0x00000000時,芯片系統(tǒng)約定為用戶程序有效,否則為用戶程序無效!。西安郵電學(xué)院計算機學(xué)院272024/11/7芯片(用戶代碼)加密檢測

芯片解復(fù)位后,BootBlock核查0x01FC字單元中的數(shù)據(jù),如果是0x87654321時,就對芯片的JTAG和ISP操作進行一些限制,達到加密的效果。(用于保護用戶的知識產(chǎn)權(quán)

)西安郵電學(xué)院計算機學(xué)院282024/11/7在系統(tǒng)編程ISP(InSystemProgram)ARM片內(nèi)Flash可以在系統(tǒng)編程,即可以通過某些特約接口對已裝焊到目標系統(tǒng)板上的ARM器件Flash進行再編程,這個技術(shù)稱為ISP;有兩種手段實現(xiàn)ISP:借用ARM器件的串口0(UART0)實現(xiàn)ISP和JTAG方式ISP。當芯片加密后,JTAG_ISP功能將被屏蔽,此時只能使用UART_ISP;UART_ISP只能寫FLASH(不能讀),以此實現(xiàn)用戶代碼的加密。西安郵電學(xué)院計算機學(xué)院292024/11/7在應(yīng)用編程IAP(InApplicationProgram)在用戶程序運行過程中,用戶程序能對片內(nèi)Flash或部分單元再編程---IAP。LPC2000系列ARM微控器的內(nèi)Flash無法從外部直接擦寫,BootBlock的一部分代碼以函數(shù)的方式可以被用戶程序調(diào)用,實現(xiàn)用戶對Flash中指定區(qū)域數(shù)據(jù)的修改。應(yīng)用:在運行中修改用戶數(shù)據(jù),修改用戶程序等。7.2.3器件引導(dǎo)模塊(引導(dǎo)流程)西安郵電學(xué)院計算機學(xué)院312024/11/7補充:引導(dǎo)代碼

vs系統(tǒng)啟動代碼ARM微處理器在上電或復(fù)位后首先運行BootBlock中的一段代碼,這段代碼稱為“引導(dǎo)代碼”,由芯片廠商固化在芯片中。此后,在正式運行用戶main函數(shù)之前,還需要運行一段大部分由匯編指令構(gòu)成的代碼,這段代碼稱為“啟動代碼”(StartUp.s),由用戶添加。

“啟動代碼”主要完成系統(tǒng)的初始化,諸如:向量表定義、堆棧初始化、系統(tǒng)變量初始化、中斷系統(tǒng)初始化、I/O初始化、外圍初始化、地址重映射等操作。西安郵電學(xué)院計算機學(xué)院322024/11/7設(shè)置存儲器重映射設(shè)置系統(tǒng)時鐘設(shè)置存儲器加速設(shè)置中斷向量控制器target.c異常向量表初始化外部總線(LPC2132)初始化各模式堆棧初始化系統(tǒng)硬件初始化執(zhí)行環(huán)境Startup.s進入main函數(shù)設(shè)置引腳功能啟動代碼流程圖西安郵電學(xué)院計算機學(xué)院332024/11/7第7章目錄7.1LPC2132芯片簡介7.2LPC2132地址空間分配7.3管腳連接模塊7.4定時器/計數(shù)器7.5通用異步收發(fā)器7.6向量中斷控制器西安郵電學(xué)院計算機學(xué)院342024/11/77.3管腳連接模塊ARM系列器件片內(nèi)資源豐富、功能強大,器件的功能最終還是要通過器件的管腳表現(xiàn)出來。為了減少了器件的管腳數(shù),ARM器件采用了管腳多功能復(fù)用的技術(shù)。所謂的“管腳多功能復(fù)用”是指-----在一個管腳上安排了多個互斥的功能,這個管腳可被控制分時呈現(xiàn)為不同的功能應(yīng)用。7.3.1概述西安郵電學(xué)院計算機學(xué)院352024/11/77.3.1概述在ARM器件中,管腳連接模塊(PinConnectBlock)是專用于配置器件管腳具體功能的專用電路部件。通過對該模塊的編程設(shè)置,可以將器件片內(nèi)的功能資源連接到相應(yīng)的管腳,以此實現(xiàn)器件管腳具體應(yīng)用功能的設(shè)計約定。西安郵電學(xué)院計算機學(xué)院362024/11/77.3.2結(jié)構(gòu)原理管腳連接模塊(PinConnectBlock)就是一個可編程多路選擇器,通過編程選擇制定功能信號聯(lián)通到管腳。引腳P0.0GPIOTXD0PWM1輸出保留PINSELx引腳連接寄存器PINSEL01:000011011P0.0默認為GPIO功能P0.0選擇TXD0功能,配置對應(yīng)位為01P0.0選擇PWM1功能,配置對應(yīng)位為10例如:P0.0選擇‘無’功能,則配置對應(yīng)位為11西安郵電學(xué)院計算機學(xué)院372024/11/77.3.3端口寄存器與操作LPC2000系列微控制器具有三個32位寬度PINSEL寄存器,其中PINSEL0和PINSEL1控制端口0,PINSEL2根據(jù)芯片的不同控制的端口數(shù)量也不同。寄存器描述PINSEL0和PINSEL1寄存器中每兩位對應(yīng)控制著一個引腳的連接狀態(tài),所以一個引腳最多可以有4種不同的功能供選擇。西安郵電學(xué)院計算機學(xué)院382024/11/77.3.3端口寄存器與操作寄存器描述地址寄存器名寄存器說明復(fù)位值訪問屬性0xE002C000PINSEL0管腳功能選擇寄存器0;用于選擇P0[15:0]各管腳的功能;每2比特對應(yīng)一個管腳。0x00000000R/W0xE002C004PINSEL1管腳功能選擇寄存器1;用于選擇P0[31:16]各管腳的功能;每2比特對應(yīng)一個管腳。0x00000000R/W0xE002C014PINSEL2管腳功能選擇寄存器2;用于選擇P1[31:26]、P1[25:16]兩管腳簇的功能。---R/W西安郵電學(xué)院計算機學(xué)院392024/11/7PINSEL0引腳名稱00011011復(fù)位值1:0P0.0GPIOP0.0TxD0PWM1保留003:2P0.1GPIOP0.1RxD0PWM3EINT0005:4P0.2GPIOP0.2SCL捕獲0.0保留007:6P0.3GPIOP0.3SDA匹配0.0EINT1009:8P0.4GPIOP0.4SCK0捕獲0.1保留0011:10P0.5GPIOP0.5MISO0匹配0.1保留0013:12P0.6GPIOP0.6MOSI0捕獲0.2保留0015:14P0.7GPIOP0.7SSEL0PWM2EINT20017:16P0.8GPIOP0.8TxD1PWM4保留0019:18P0.9GPIOP0.9RxD1PWM6EINT30021:20P0.10GPIOP0.10RTS捕獲1.0保留0023:22P0.11GPIOP0.11CTS捕獲1.1保留0025:24P0.12GPIOP0.12DSR匹配1.0保留0027:26P0.13GPIOP0.13DTR匹配1.1保留0029:28P0.14GPIOP0.14CDEINT1保留0031:30P0.15GPIOP0.15RIEINT2保留00表示寄存器中某兩位的設(shè)定值如PINSEL0[1:0]=01時,連接TXD0表示寄存器中的控制位如[9:8]表示PINSEL0寄存器的第9和8位寄存器描述-PINSEL0如:PINSEL[19:18]設(shè)置為01時,引腳P0.9的功能為RXD1書P185表7-6西安郵電學(xué)院計算機學(xué)院402024/11/7PINSEL1引腳名稱00011011復(fù)位值1:0P0.16GPIOP0.16EINT0匹配0.2保留003:2P0.17GPIOP0.17捕獲1.2SCK1匹配1.2005:4P0.18GPIOP0.18捕獲1.3MISO1匹配1.3007:6P0.19GPIOP0.19匹配1.2MOSI1匹配1.3009:8P0.20GPIOP0.20匹配1.3SSEL1EINT30011:10P0.21GPIOP0.21PWM5保留捕獲1.30013:12P0.22GPIOP0.22保留捕獲0.0匹配0.00015:14P0.23GPIOP0.23保留保留保留0017:16P0.24GPIOP0.24保留保留保留0019:18P0.25GPIOP0.25保留保留保留0021:20P0.26保留0023:22P0.27GPIOP0.27AIN0捕獲0.1匹配0.10025:24P0.28GPIOP0.28AIN1捕獲0.2匹配0.20027:26P0.29GPIOP0.29AIN2捕獲0.3匹配0.30029:28P0.30GPIOP0.30AIN3EINT3捕獲0.00031:30P0.31保留00寄存器描述-PINSEL1書P185表7-7西安郵電學(xué)院計算機學(xué)院412024/11/7寄存器描述-PINSEL2PINSEL2位號管腳名取值功能說明復(fù)位值1:0-----保留。不可修改其值。NA2:2GPIODEBUG0P1.31~P1.26用作GPIO功能。P1.26/RTCK管腳狀態(tài)非1P1.31~P1.26用作一個調(diào)試端口。3:3GPIOTRACE0P1.25~P1.16用作GPIO功能。P1.20/TRACESYNC管腳狀態(tài)非1P1.25~P1.16用作一個跟蹤端口。31:4-----保留。不可修改其值。NA書P185表7-8西安郵電學(xué)院計算機學(xué)院422024/11/7寄存器操作應(yīng)用舉例1:P0.8、P0.9兩管腳分別用作UART1的TxD和RxD;P0.10~P0.15管腳用作GPIO;P0.0~P0.7各管腳功能不變。西安郵電學(xué)院計算機學(xué)院432024/11/7PINSEL0引腳名稱00011011復(fù)位值1:0P0.0GPIOP0.0TxD0PWM1保留003:2P0.1GPIOP0.1RxD0PWM3EINT0005:4P0.2GPIOP0.2SCL捕獲0.0保留007:6P0.3GPIOP0.3SDA匹配0.0EINT1009:8P0.4GPIOP0.4SCK0捕獲0.1保留0011:10P0.5GPIOP0.5MISO0匹配0.1保留0013:12P0.6GPIOP0.6MOSI0捕獲0.2保留0015:14P0.7GPIOP0.7SSEL0PWM2EINT20017:16P0.8GPIOP0.8TxD1PWM4保留0019:18P0.9GPIOP0.9RxD1PWM6EINT30021:20P0.10GPIOP0.10RTS捕獲1.0保留0023:22P0.11GPIOP0.11CTS捕獲1.1保留0025:24P0.12GPIOP0.12DSR匹配1.0保留0027:26P0.13GPIOP0.13DTR匹配1.1保留0029:28P0.14GPIOP0.14CDEINT1保留0031:30P0.15GPIOP0.15RIEINT2保留00寄存器描述-PINSEL0書P185表7-6西安郵電學(xué)院計算機學(xué)院442024/11/7寄存器操作應(yīng)用舉例1:①將P0.8、P0.9兩管腳用作UART1的TxD和RxD,②P0.10~P0.15管腳用作GPIO,③P0.0~P0.7各管腳功能不變。編碼分析(依據(jù)模塊寄存器說明):PINSEL0[15:0]各位保持不變(對應(yīng)于P0.7~P0.0各管腳功能不變);PINSEL0[17:16]=01b(對應(yīng)于P0.8管腳用作TxD);PINSEL0[19:18]=01b(對應(yīng)于P0.9管腳用作RxD);PINSEL0[31:20]=000000000000b(對應(yīng)于P0.15~P0.10管腳用作GPIO);西安郵電學(xué)院計算機學(xué)院452024/11/7寄存器操作PINSEL0=(PINSEL0&0x0000ffff)|0x00050000;完成此設(shè)置功能的C代碼:思考:如果將代碼寫成下方式會如何?PINSEL0=0x00050000;答:這個代碼會強制P0.0~P0.7管腳設(shè)置為GPIO。備注:建議在修改寄存器bit值時,使用“讀—修改—寫回”方式完成。西安郵電學(xué)院計算機學(xué)院462024/11/7第7章目錄7.1LPC2132芯片簡介7.2LPC2132地址空間分配7.3管腳連接模塊7.4定時器/計數(shù)器7.5通用異步收發(fā)器7.6向量中斷控制器西安郵電學(xué)院計算機學(xué)院472024/11/77.4定時器/計數(shù)器(Timer/Counter)LPC2000中的Timer特性2個32bit的定時器(T0、T1);(基準)定時時鐘來源于pclk;

32位可編程預(yù)分頻器;PR4路捕獲通道(輸入信號跳變時,鎖存Tn的當前值);CAPx[3:0]

----pin4個匹配寄存器;MR3~MR04個匹配輸出通道。MATx[3:0]----pin西安郵電學(xué)院計算機學(xué)院482024/11/77.4.1概述定時與計數(shù)功能是計算機系統(tǒng)中重要的基礎(chǔ)功能;如產(chǎn)生OS中的時間片、汽車里程表、包裝機等都可以使用“定時器/計數(shù)器”實現(xiàn)。計數(shù)器是構(gòu)成定時器的主要部件。計數(shù)器有如下兩種:

加1計數(shù)器(遞增計數(shù)器)

減1計數(shù)器(遞減計數(shù)器)每個計數(shù)脈沖計數(shù)器+1每個計數(shù)脈沖計數(shù)器-1西安郵電學(xué)院計算機學(xué)院492024/11/7計數(shù)器工作原理:編程方式設(shè)置計數(shù)器初值;每個計數(shù)脈沖計數(shù)器±1(±計數(shù)器);計數(shù)器達到邊界值時,下一個計數(shù)脈沖會使計數(shù)器產(chǎn)生一個進位,同時計數(shù)器清0;西安郵電學(xué)院計算機學(xué)院502024/11/7定時器工作原理:定時器來源于計數(shù)器;計數(shù)脈沖周期穩(wěn)定,則計數(shù)器即可用作為定時器;西安郵電學(xué)院計算機學(xué)院512024/11/77.4.2LPC2000中的Timer結(jié)構(gòu)原理ARM定時器/計數(shù)器主要由三部分組成:分頻與計數(shù)模塊匹配控制模塊捕獲控制模塊LPC2132器件中含有兩個定時器/計數(shù)器Timer0和Timer1。這兩個Timer除了基地址不同外,其他都相同;可應(yīng)用于設(shè)計中的計數(shù)、定時功能和事件時間捕獲。西安郵電學(xué)院計算機學(xué)院522024/11/7西安郵電學(xué)院計算機學(xué)院532024/11/7分頻與計數(shù)模塊模塊主要構(gòu)成:預(yù)分頻寄存器(PR)、預(yù)分頻計數(shù)器(PC)、定時計數(shù)器(TC)、定時器控制寄存器(TCR)和一個32位比較器。模塊基本原理:PR是一個可編程預(yù)置初值的寄存器;PC對PCLK加1計數(shù),當PC計數(shù)值與PR中的預(yù)置值相等時比較器輸出一個PCLK寬度的高脈沖,此高脈沖信號在下一個PCLK將PC清0,以此實現(xiàn)了對PCLK時鐘的(PR)+1預(yù)分頻;TC對比較器相等脈沖計數(shù)并輸出計數(shù)值。模塊主要功能:本模塊主要用于Timer使能控制和TC、PC兩計數(shù)器的清0,對PCLK預(yù)分頻,并對預(yù)分頻后的基本定時時鐘計數(shù)等功能。西安郵電學(xué)院計算機學(xué)院542024/11/7西安郵電學(xué)院計算機學(xué)院552024/11/7分頻器原理西安郵電學(xué)院計算機學(xué)院562024/11/7名稱描述訪問復(fù)位值PR預(yù)分頻控制(參數(shù))寄存器。用于設(shè)定預(yù)分頻值,為32位寄存器。讀寫0PC預(yù)分頻(工作)計數(shù)器。為32位計數(shù)器,計數(shù)頻率為PCLK,當計數(shù)值等于預(yù)分頻計數(shù)器的值時,TC計數(shù)器加1。讀寫0TC定時器(工作)計數(shù)器。為32位計數(shù)器,計數(shù)頻率為PCLK經(jīng)過預(yù)分頻計數(shù)器后頻率值。讀寫0分頻器寄存器描述西安郵電學(xué)院計算機學(xué)院572024/11/7匹配控制模塊模塊主要構(gòu)成:4個匹配寄存器(MR0~MR3),匹配控制寄存器(MCR),外部匹配寄存器(EMR),4路比較器,4路匹配輸出管腳MAT[3:0]。模塊基本原理與功能:4路比較器隨時進行著MR0~MR3與TC計數(shù)值的比較,當TC計數(shù)值與某一個MRx的預(yù)置值相匹配(相等)時即執(zhí)行MCR編程的功能,并在管腳MAT[3:0]產(chǎn)生EMR編程約定的信號。西安郵電學(xué)院計算機學(xué)院582024/11/7西安郵電學(xué)院計算機學(xué)院592024/11/7捕獲控制模塊模塊主要構(gòu)成:4個捕獲寄存器CR0~CR3,捕獲控制寄存器(CCR),4路捕獲數(shù)據(jù)通道,4路捕獲觸發(fā)信號管腳CAP[3:0]模塊基本原理與功能:4路捕獲觸發(fā)信號管腳CAP[3:0]用于敏感外界的捕獲觸發(fā)信號,當CCR編程約定的捕獲觸發(fā)信號出現(xiàn)在CAPx管腳上時,對應(yīng)的捕獲數(shù)據(jù)通道即被使能,將當前的TC計數(shù)值裝載到CRx西安郵電學(xué)院計算機學(xué)院602024/11/7西安郵電學(xué)院計算機學(xué)院612024/11/77.4.3管腳描述CAP管腳----用于捕獲輸入或計數(shù)輸入;輸入信號的形式可編程設(shè)置。MAT管腳----用于計數(shù)(定時)到輸出;輸入信號的形式可編程設(shè)置。備注:Timer的功能都要以管腳信號或IR寄存器位表現(xiàn)。西安郵電學(xué)院計算機學(xué)院622024/11/77.4.4端口寄存器所有外設(shè)在計算機中都是以寄存器形式被CPU訪問控制;ARM中的Timer亦如此。每一個Timer中有17個寄存器,按功能寄存器分為三類:基礎(chǔ)功能寄存器(6個);匹配功能寄存器(6個);捕獲功能寄存器(5個);用戶通過對這17個寄存器的編程與訪問,使用Timer資源的各項功能。西安郵電學(xué)院計算機學(xué)院632024/11/7基礎(chǔ)功能寄存器(6個)寄存器名寄存器說明IR中斷標志寄存器;8bit標志8個中斷事件源的中斷申請狀態(tài);寫‘1’清0對應(yīng)比特。TCR定時器控制寄存器;用于控制Timer的使能與復(fù)位功能。TC、PC定時計數(shù)器、預(yù)分頻計數(shù)器;工作寄存器;PR預(yù)分頻寄存器;用于編程預(yù)分頻值;電路按PR+1預(yù)分頻。CTCR計數(shù)控制寄存器;用于選擇Timer的“定時器模式”或“計數(shù)器模式”,并選擇“計數(shù)器模式”下的信號方式和信號通道。西安郵電學(xué)院計算機學(xué)院642024/11/7該寄存器是一個標志寄存器,它的8個比特分別對應(yīng)標志發(fā)生過相應(yīng)的通道事件;向?qū)?yīng)的IR位寫入‘1’將清0該IR對應(yīng)位,寫入‘0’無效;中斷標志寄存器-IR西安郵電學(xué)院計算機學(xué)院652024/11/7該寄存器是一個控制寄存器;它的最低2個比特有效;定時器控制寄存器-TCRbit功能說明復(fù)位值0使能‘1’---使能定時器/計數(shù)器;‘0’---禁能定時器/計數(shù)器;01復(fù)位‘1’---TC和PC在下一個PCLK上升沿同步復(fù)位,這兩個計數(shù)器保持復(fù)位直到TCR[1:1]被清0;0其它保留---NA西安郵電學(xué)院計算機學(xué)院662024/11/7該寄存器是一個參數(shù)寄存器;32個比特有效;預(yù)分頻寄存器-PR注意:分頻器按照PR+1

數(shù)值分頻;例如:希望對PCLK計數(shù)脈沖4分頻,則PR應(yīng)賦值0x03。當PR=0x00時,則不分頻輸入脈沖。西安郵電學(xué)院計算機學(xué)院672024/11/7該寄存器是一個控制寄存器;控制Timer的工作方式4個比特有效;計數(shù)控制寄存器-CTCR西安郵電學(xué)院計算機學(xué)院682024/11/7匹配功能寄存器(6個)寄存器名寄存器說明MCR匹配控制寄存器;分別控制4個匹配通道匹配時的功能。(中斷、復(fù)位、停止)MR0~MR3匹配寄存器;分別預(yù)存4個通道的匹配目標值。EMR外部匹配寄存器;分別控制4個匹配通道匹配發(fā)生時的輸出動作、狀態(tài)。(輸出1、0、反轉(zhuǎn)、維持)西安郵電學(xué)院計算機學(xué)院692024/11/7該寄存器是一個控制寄存器;它的最低12bit有效,每3bit控制1個通道;匹配控制寄存器-MCRbitT_CH功能描述復(fù)位值0MR0中斷1—允許在MR0與TC匹配時產(chǎn)生中斷申請;0---禁止MR0產(chǎn)生中斷申請;01復(fù)位1---在MR0與TC匹配時,復(fù)位TC;0---本功能無效;02停止1---在MR0與TC匹配時,停止PC計數(shù);0---本功能無效;0MCR[5:3]、MCR[8:6]、MCR[11:9]分別對應(yīng)MR1~MR3;西安郵電學(xué)院計算機學(xué)院702024/11/7分別是對應(yīng)于4各匹配通道的參數(shù)寄存器;32個比特有效;匹配寄存器-MR0~MR3對應(yīng)于4個匹配通道,分別用于存放預(yù)設(shè)置的匹配目標數(shù)據(jù),當TC值與其中的某個MRx匹配時,則自動觸發(fā)對應(yīng)通道由MCR和EMR寄存器編程約定功能。(發(fā)出中斷申請、復(fù)位TC、停止PC/TC計數(shù)、在MATx管腳發(fā)出何種信號輸出等操作等)西安郵電學(xué)院計算機學(xué)院712024/11/7它是一個狀態(tài)與控制寄存器;最低12個比特有效;外部匹配寄存器-EMR位功能描述復(fù)位值0EM0標志位;反映相應(yīng)外部匹配的狀態(tài),而不管是否連接到管腳。發(fā)生匹配時該位的動作由對應(yīng)的EMCx的控制位決定。01EM102EM203EM305:4EMC0分別控制引腳MATn[0:3],決定相應(yīng)外部匹配的功能。(引腳輸出控制)00:保持原態(tài);01:設(shè)置輸出0;10:設(shè)置輸出1;11:輸出狀態(tài)翻轉(zhuǎn)。07:6EMC109:8EMC2011:10EMC30西安郵電學(xué)院計算機學(xué)院722024/11/7捕獲功能寄存器(5個)寄存器名寄存器說明CCR捕獲控制寄存器;12bit有效位,每3bit分別控制4個捕獲通道的捕獲功能。CR0~CR3捕獲寄存器;分別用于存儲捕獲時刻TC計數(shù)的當前值;西安郵電學(xué)院計算機學(xué)院732024/11/7該寄存器是一個控制寄存器;它的最低12bit有效,每3bit控制1個通道;捕獲控制寄存器-CCRbit#CH功能描述復(fù)位值0CAP0CAP0RE1—CAP0上沿捕獲;0---本功能無效;01CAP0FE1---CAP0下沿捕獲;0---本功能無效;02CAP0I1---允許CAP0捕獲時申請中斷;0---禁止CAP0捕獲時申請中斷;0CCR[5:3]、CCR[8:6]、CCR[11:9]分別對應(yīng)CR1~CR3;西安郵電學(xué)院計算機學(xué)院742024/11/7LPC2000中的Timer功能特性概述2個32bit的定時器(T0、T1);既可用于計數(shù)(計數(shù)CAP管腳信號),也可用于定時(基準定時時鐘來源于pclk);32位可編程預(yù)分頻器;PR4路捕獲通道(輸入信號跳變時,鎖存Tn的當前值);CAPx[3:0]

----pin4個匹配寄存器;MR3~MR04個匹配輸出通道。MATx[3:0]----pin西安郵電學(xué)院計算機學(xué)院752024/11/7西安郵電學(xué)院計算機學(xué)院762024/11/77.4.5定時器/計數(shù)器應(yīng)用舉例例7-1:使用Timer0作為1秒鐘的定時器,產(chǎn)生周期為2秒,占空比為1:1的方波信號。西安郵電學(xué)院計算機學(xué)院772024/11/7資源分析:設(shè)置Timer0定時模式,1秒鐘定時,設(shè)置P0.5管腳為MAT0.1功能,當TC與MR1匹配時翻轉(zhuǎn)MAT0.1產(chǎn)生需要的方波。1秒鐘定時:設(shè)置T0PR寄存器100預(yù)分頻,那么MR1初值Fpclk/100;設(shè)置MCR使MR1匹配時不產(chǎn)生中斷并復(fù)位TC;備注:其中的Fpclk是本系統(tǒng)的外設(shè)時鐘頻率。西安郵電學(xué)院計算機學(xué)院782024/11/7PINSEL0引腳名稱00011011復(fù)位值1:0P0.0GPIOP0.0TxD0PWM1保留003:2P0.1GPIOP0.1RxD0PWM3EINT0005:4P0.2GPIOP0.2SCL捕獲0.0保留007:6P0.3GPIOP0.3SDA匹配0.0EINT1009:8P0.4GPIOP0.4SCK0捕獲0.1保留0011:10P0.5GPIOP0.5MISO0匹配0.1保留0013:12P0.6GPIOP0.6MOSI0捕獲0.2保留0015:14P0.7GPIOP0.7SSEL0PWM2EINT20017:16P0.8GPIOP0.8TxD1PWM4保留0019:18P0.9GPIOP0.9RxD1PWM6EINT30021:20P0.10GPIOP0.10RTS捕獲1.0保留0023:22P0.11GPIOP0.11CTS捕獲1.1保留0025:24P0.12GPIOP0.12DSR匹配1.0保留0027:26P0.13GPIOP0.13DTR匹配1.1保留0029:28P0.14GPIOP0.14CDEINT1保留0031:30P0.15GPIOP0.15RIEINT2保留00寄存器描述-PINSEL0書P185表7-6西安郵電學(xué)院計算機學(xué)院792024/11/7PINSEL1引腳名稱00011011復(fù)位值1:0P0.16GPIOP0.16EINT0匹配0.2保留003:2P0.17GPIOP0.17捕獲1.2SCK1匹配1.2005:4P0.18GPIOP0.18捕獲1.3MISO1匹配1.3007:6P0.19GPIOP0.19匹配1.2MOSI1匹配1.3009:8P0.20GPIOP0.20匹配1.3SSEL1EINT30011:10P0.21GPIOP0.21PWM5保留捕獲1.30013:12P0.22GPIOP0.22保留捕獲0.0匹配0.00015:14P0.23GPIOP0.23保留保留保留0017:16P0.24GPIOP0.24保留保留保留0019:18P0.25GPIOP0.25保留保留保留0021:20P0.26保留0023:22P0.27GPIOP0.27AIN0捕獲0.1匹配0.10025:24P0.28GPIOP0.28AIN1捕獲0.2匹配0.20027:26P0.29GPIOP0.29AIN2捕獲0.3匹配0.30029:28P0.30GPIOP0.30AIN3EINT3捕獲0.00031:30P0.31保留00寄存器描述-PINSEL1書P185表7-7intmain(void){PINSEL0=PINSEL0&(~(3<<10))|(2<<10);

/*設(shè)置P0.5管腳為MAT0.1功能*/

T0CTCR=0x00;

/*設(shè)置Timer0工作在定時方式*/T0TC=0; /*定時器設(shè)置為0 */T0PR=99; /*時鐘100預(yù)分頻 */T0MCR=0x02<<3;

/*設(shè)置T0MR1匹配后復(fù)位T0TC,無中斷標志*/T0MR1=Fpclk/100; /*1秒鐘定時---匹配目標值*/T0EMR|=0xC2;

/*設(shè)置Timer0發(fā)生MR1匹配時翻轉(zhuǎn)MAT0.1位*/

T0TCR=0x01; /*啟動定時器*/while(1);return0;}西安郵電學(xué)院計算機學(xué)院812024/11/7例7?2:假設(shè)車輪轂上已經(jīng)均勻安裝了8個霍爾傳感器,車輪每轉(zhuǎn)一周可產(chǎn)生8個正脈沖。使用LPC2132中的Timer0和Timer1資源,設(shè)計一個簡易的車用綜合儀表數(shù)據(jù)處理系統(tǒng)(可測量車速、本次里程、總里程等數(shù)據(jù))。西安郵電學(xué)院計算機學(xué)院822024/11/7設(shè)計分析:測量車輪周長為L米;設(shè)置Timer0用作1秒定時器;設(shè)置Timer1用作計數(shù)器,將P0.10管腳設(shè)置為CAP1.0功能,計數(shù)車輪霍爾傳感器的脈沖數(shù);P0.0管腳設(shè)置為GPIO并連接一個按鍵<KClr>用于清0本次里程紀錄。備注:在本例中使用查詢方式實現(xiàn)1秒定時。車速=西安郵電學(xué)院計算機學(xué)院832024/11/7#defineKClr 1<<0 /*KClr按鍵連接與P0.0管腳,KClr按下時P0.0為低電平*/#defineL2.5 /*車輪周長2.5米*/#defineHrN8 /*車輪箍霍爾傳感器個數(shù)*/uint32Vspeed; /*當前車速*/uint32VtotalLen; /*總里程*/uint32VthisLen; /*本次里程---Km*/intmain(void){uint32Vx;/*暫存1秒鐘車輪轂霍爾脈沖計數(shù)值*/PINSEL0=(PINSEL0&(~(3<<20)))|(2<<20);

/*設(shè)置P0.10管腳為CAP1.0*/PINSEL0=PINSEL0&(~3);/*設(shè)置P0.0管腳為GPIO*//*設(shè)置Timer0---1秒定時器*/T0CTCR&=0xf0;/*設(shè)置Timer0工作在定時方式*/T0TC=0; /*定時器設(shè)置為0 */T0PR=99; /*時鐘100預(yù)分頻 */T0MCR=0x03;

/*設(shè)置T0MR0匹配后復(fù)位T0TC,產(chǎn)生中斷標志*/T0MR0=Fpclk/100; /*1秒鐘定時---匹配目標值*//*設(shè)置Timer1---計數(shù)器對P0.10管腳輸入脈沖計數(shù)*/ T1CTCR=(T1CTCR&(~0x0f))|0xf1; /*設(shè)置Timer1計數(shù)方式,計數(shù)CAP1.0的上升沿*/T1TC=0; /*設(shè)置計數(shù)器初值為0*/T1MCR=0x00;/*這也是芯片的復(fù)位值00*/T1CCR&=~0x07;/*CAP1.0不再用作捕獲觸發(fā)*/

T0TCR=0x01; /*啟動定時器0*/T1TCR=0x01; /*啟動定時器1*/while(1)

{

if((T0IR&0x01)==1)/*1S定時到*/

{

T0IR=0x01; /*清除MR0中斷標志*/Vx=T1TC;T1TC=0; /*下一秒重新計數(shù)*/VtotalLen+=Vx; /*累計總里程*/VthisLen+=Vx; /*累計小里程*/Vspeed=(Vx*L*3.6)/HrN;/*單位:Km/Hr*/}if((IO0PIN&KClr)==0)/*如果KClr按下*/VthisLen=0;/*清0本次里程紀錄*/}return0;}西安郵電學(xué)院計算機學(xué)院862024/11/7第7章目錄7.1LPC2132芯片簡介7.2LPC2132地址空間分配7.3管腳連接模塊7.4定時器/計數(shù)器7.5通用異步收發(fā)器

7.6向量中斷控制器西安郵電學(xué)院計算機學(xué)院872024/11/77.5.1概述計算機應(yīng)用中,計算機之間以及計算機與其它外設(shè)之間常需要交換數(shù)據(jù),此即為計算機通信。計算機通信并行通信---多bit數(shù)據(jù)并行收發(fā);串行通信---多bit數(shù)據(jù)逐bit收發(fā);計算機通信同步傳輸---收/發(fā)端共用一個工作時鐘;異步傳輸---收/發(fā)端各自工作時鐘;異步串行通信方式具有連線少、接口協(xié)議簡單等特點,是常的計算機通信手段。西安郵電學(xué)院計算機學(xué)院882024/11/77.5.1概述EIA-232是PC機與通信工業(yè)中應(yīng)用最廣泛的一種串行接口,由于EIA提出的建議標準都是以“RS”作為前綴,所以在工業(yè)通信領(lǐng)域,仍然習慣將上述標準以RS作前綴稱謂。最被人們熟悉的串行通信技術(shù)標準是RS-232,它是一種異步串行協(xié)議,協(xié)議簡單,易于實現(xiàn),主要應(yīng)用于數(shù)據(jù)速率不很高的數(shù)據(jù)傳送應(yīng)用。西安郵電學(xué)院計算機學(xué)院892024/11/77.5.2異步串行通信及其協(xié)議

串行數(shù)據(jù)通信的字符幀格式與通信速率串行數(shù)據(jù)通信時,數(shù)據(jù)逐比特傳送。原則上講,首先傳送最高位(MSB)還是最低位(LSB)都允許,只要收發(fā)雙方一致即可。所謂的通信協(xié)議(通信規(guī)程)是指通信雙方約定的一些規(guī)則,在通信過程中雙方共同遵守。西安郵電學(xué)院計算機學(xué)院902024/11/7串行數(shù)據(jù)通信的字符幀格式與通信速率異步串行傳送一個字符的信息時,對數(shù)據(jù)格式的約定:以字符為單位組幀(稱為‘字符幀’),在一個完整的字符幀中,規(guī)定有起始位、信息位、奇偶校驗位、停止位和空閑位,空閑位是字符幀之間的間隔狀態(tài),高電平有效,位長可以不確定。西安郵電學(xué)院計算機學(xué)院912024/11/7起始位:一個位寬的低電平信號,傳輸字符幀的開始。信息位:可以是4、5、6、7、8bit等,構(gòu)成一個字符。LSB方式,靠自己的時鐘定位。奇偶校驗位:可選擇位。用來校驗信息傳送的正確性。停止位:1位、1.5位、2位的高電平,一個字符幀的結(jié)束??臻e位:高電平狀態(tài),表示當前線路上沒有數(shù)據(jù)傳送。西安郵電學(xué)院計算機學(xué)院922024/11/7串行數(shù)據(jù)通信的字符幀格式與通信速率串行通信中用波特率標稱串行通信中數(shù)據(jù)的傳送速率,記為bps,表示每秒鐘傳送的二進制數(shù)據(jù)的位數(shù)(bit/s)。例如信息傳送速率為240字符/秒,而每一個字符為10位(1位起始位,7位信息位,1位校驗位,1位停止位),則其傳送的波特率為240×10=2400bps。西安郵電學(xué)院計算機學(xué)院932024/11/7RS-232C串行接口標準簡介

RS-232C采用25芯引腳(D25型插座)或9芯引腳(D9型插座)的連接器。RS-232C標準邏輯電平采用EIA電平,規(guī)定:“1”的邏輯電平在-3V~-15V之間;“0”的邏輯電平在+3V~+15V之間。西安郵電學(xué)院計算機學(xué)院942024/11/7序號信號名D25#PinD9#PinIO屬性說明1TXD23O串行數(shù)據(jù)發(fā)送數(shù)據(jù)線。2RXD32I串行數(shù)據(jù)接收數(shù)據(jù)線。3RTS*47OUART數(shù)據(jù)終端請求發(fā)送,低電平有效。4CTS*58I低電平有效的允許發(fā)送狀態(tài)指示?!?’

電平指示數(shù)據(jù)設(shè)備已準備好從TxD接收串行數(shù)據(jù)。5DSR*66I低電平有效的數(shù)據(jù)設(shè)備狀態(tài)準備好指示。6DCD*81I低電平有效的已檢測到載波指示。7RI*229I低電平有效的振鈴指示。8DTR*204OUART數(shù)據(jù)終端就緒,低電平有效。9GND75信號地RS-232C在D25/D9型連接器中的信號管腳定義西安郵電學(xué)院計算機學(xué)院952024/11/7無Modem的RS-232接口連接方式短距離計算機通信應(yīng)用中,通常不需要Modem,此時串行通信接口信號線連接形式較為簡單,如下:西安郵電學(xué)院計算機學(xué)院962024/11/77.5.3LPC2000器件UART特性UART(UniversalAsynchronismReceiver&Transmitter)是一個硬件部件,用于完成串行數(shù)據(jù)的異步收發(fā)(起停控制、字符數(shù)據(jù)組幀解幀等)。西安郵電學(xué)院計算機學(xué)院972024/11/77.5.3LPC2000器件UART特性2個UART資源(UART0、UART1);16字節(jié)接收FIFO和16字節(jié)發(fā)送FIFO;接收FIFO觸發(fā)點可設(shè)置為1、4、8或14字節(jié);內(nèi)置波特率發(fā)生器;UART1含有標準調(diào)制解調(diào)器接口信號;西安郵電學(xué)院計算機學(xué)院982024/11/77.5.4結(jié)構(gòu)原理ARM微控器通用異步收發(fā)器(UART)主要組成:串行數(shù)據(jù)發(fā)送模塊串行數(shù)據(jù)接收模塊波特率發(fā)生器模塊UART控制與狀態(tài)模塊中斷控制邏輯模塊Modem控制模塊(UART1)西安郵電學(xué)院計算機學(xué)院992024/11/7ARM微控器通用異步收發(fā)器(UART)主要組成:西安郵電學(xué)院計算機學(xué)院1002024/11/7串行數(shù)據(jù)發(fā)送模塊—構(gòu)成本模塊主要構(gòu)成發(fā)送緩沖寄存器UnTHR發(fā)送FIFO發(fā)送移位寄存器UnTSR西安郵電學(xué)院計算機學(xué)院1012024/11/7串行數(shù)據(jù)發(fā)送模塊—工作原理通過UnTHR接受處理器寫入的待傳送并行數(shù)據(jù);只要發(fā)送FIFO未滿,就可以繼續(xù)接收并緩沖待傳送的并行數(shù)據(jù),發(fā)送FIFO的深度為16個字節(jié)。只要發(fā)送FIFO中還有待發(fā)送的數(shù)據(jù),則在停止位節(jié)拍,控制邏輯會自動地從發(fā)送FIFO讀取一個數(shù)據(jù)并寫入到發(fā)送移位寄存器UnTSR。發(fā)送邏輯電路在發(fā)出一個位寬的起始位后,UnTSR通過移位的方式將其中的數(shù)據(jù)逐比特移至TxD信號線傳送,之后按設(shè)置發(fā)出‘校驗位’和‘停止位’,完成一個字符數(shù)據(jù)的發(fā)送。西安郵電學(xué)院計算機學(xué)院1022024/11/7FIFO的概念FIFO是一種具有“先寫入的數(shù)據(jù)先被讀出”(FirstInFistOut)屬性的數(shù)據(jù)緩沖區(qū);通常由RAM加上專用的讀/寫控制器和端口組成。FIFO組織形式很像一個RAM單元組成的讀寫環(huán)。西安郵電學(xué)院計算機學(xué)院1032024/11/7FIFO的概念只要不發(fā)生W_ptr和R_ptr相遇,F(xiàn)IFO都在正常工作。如果W_ptr追上了R_ptr,則發(fā)生“FIFO滿溢出”;如果R_ptr追上了W_ptr,則發(fā)生“FIFO空溢出”,統(tǒng)稱為“FIFO溢出”,此時如若繼續(xù)操作則FIFO數(shù)據(jù)會出錯。西安郵電學(xué)院計算機學(xué)院1042024/11/7串行數(shù)據(jù)接收模塊—構(gòu)成本模塊主要構(gòu)成接收移位寄存器UnRSR接收FIFO接收緩沖寄存器UnRBR西安郵電學(xué)院計算機學(xué)院1052024/11/7串行數(shù)據(jù)接收模塊—工作原理接收邏輯電路收到起始位后,UnRSR逐bit接收RxD信號線的串行數(shù)據(jù),在‘停止位’將UnRSR中的并行數(shù)據(jù)寫入到接收FIFO;通過UnRBR寄存器向處理器提交信息數(shù)據(jù)。只要接收FIFO不空,處理器就可以從中讀取已接收到的通信信息數(shù)據(jù)。接收FIFO的深度為16個字節(jié)。當接收FIFO滿時,再有UnRSR數(shù)據(jù)寫入則滿溢出。西安郵電學(xué)院計算機學(xué)院1062024/11/7波特率發(fā)生器模塊—構(gòu)成與工作原理本模塊由兩個可預(yù)置參數(shù)的8bit寄存器(UnDLM、UnDLL)構(gòu)成一個16bit的分頻器,對Pclk分頻產(chǎn)生UART需要的波特率時鐘BPS_clk;西安郵電學(xué)院計算機學(xué)院1072024/11/7波特率發(fā)生器模塊—串行數(shù)據(jù)收發(fā)時序接收---每16個BPS_clk時鐘對應(yīng)1bit的串行數(shù)據(jù),在第7、8、9BPS_clk時鐘對RXD信號進行采樣接收該串行數(shù)據(jù)位;西安郵電學(xué)院計算機學(xué)院1082024/11/7波特率發(fā)生器模塊—串行數(shù)據(jù)收發(fā)時序發(fā)送---每16個BPS_clk時鐘移位UnTSR發(fā)送1bit串行數(shù)據(jù);西安郵電學(xué)院計算機學(xué)院1092024/11/7波特率發(fā)生器模塊—構(gòu)成與工作原理UnDLM、UnDLL兩個寄存器決定波特率時鐘的頻率,而波特率時鐘必須是波特率的16倍。波特率計算公式如下:西安郵電學(xué)院計算機學(xué)院1102024/11/7UART控制與狀態(tài)模塊本模塊主要構(gòu)成FIFO控制寄存器(UnFCR)UART線控制寄存器(UnLCR)UART線狀態(tài)寄存器(UnLSR)控制邏輯電路和狀態(tài)表決電路處理器對本模塊編程可設(shè)置UART的工作方式,如:收發(fā)FIFO的使能與否、分別復(fù)位接收或發(fā)送FIFO、接收FIFO的觸發(fā)深度、信息數(shù)據(jù)的位數(shù)、停止位的長度以及有無奇偶校驗等。將當前的工作狀態(tài)反映到UART線狀態(tài)寄存器(UnLSR)相應(yīng)的位上,處理器通過查閱UnLSR的值,即可詳知UART當前的工作情況。西安郵電學(xué)院計算機學(xué)院1112024/11/7中斷控制邏輯模塊處理器與外設(shè)之間的進行有條件數(shù)據(jù)傳送主要有:狀態(tài)查詢控制方式和中斷方式。LPC2000器件中的UART功能比較強大,需要控制的功能和標志的情況比較多,也比較復(fù)雜在系統(tǒng)中通過下述兩個寄存器完成相應(yīng)控制:中斷使能控制寄存器(UnIER)中斷標志寄存器(UnIIR)西安郵電學(xué)院計算機學(xué)院1122024/11/77.5.5管腳描述UART功能PinIO說明UART0Tx0P0.0OUART0串行數(shù)據(jù)輸出端Rx0P0.1IUART0串行數(shù)據(jù)輸入端UART1Tx1P0.8OUART1串行數(shù)據(jù)輸出端Rx1P0.9IUART1串行數(shù)據(jù)輸入端7.5.6端口寄存器與操作寄存器名讀寫說明復(fù)位值UnRBRR接收數(shù)據(jù)緩沖寄存器NAUnTHRW發(fā)送數(shù)據(jù)保持寄存器NAUnDLLR/W分頻器低字節(jié)寄存器0x01UnDLMR/W分頻器高字節(jié)寄存器0UnIERR/W中斷使能控制寄存器0UnIIRR中斷標志寄存器0x01UnFCRWFIFO控制寄存器0UnLCRR/W線控制寄存器0UnLSRR線狀態(tài)寄存器0x60UnSCRR/W高速緩存寄存器(onlyaRegisterByte)0UnTERR/W發(fā)送使能控制寄存器0x80UART0和UART1各有11個寄存器,用戶通過對這些寄存器的編程與訪問,使用UART資源的各項功能。西安郵電學(xué)院計算機學(xué)院1142024/11/7接收數(shù)據(jù)緩沖寄存器(UnRBR)8比特的只讀寄存器;與UnTHR、UnDLL共用同一個地址,當DLAB=0時,讀操作訪問UnRBR,寫操作訪問UnTHR;UnRBR是UARTn接收FIFO(16字節(jié)深度)的處理器接口寄存器,當接收FIFO不空時,處理器讀該寄存器總可得到最早串行接收到的信息數(shù)據(jù)。西安郵電學(xué)院計算機學(xué)院1152024/11/7接收數(shù)據(jù)緩沖寄存器(UnRBR)UnRBR功能說明復(fù)位值7:0接收數(shù)據(jù)緩沖寄存器本寄存器含有UART接收FIFO中最早接收到的字節(jié)數(shù)據(jù)NA操作示例:while((U0LSR&0x01)==

溫馨提示

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

最新文檔

評論

0/150

提交評論