嵌入式系統(tǒng)第四章S_第1頁
嵌入式系統(tǒng)第四章S_第2頁
嵌入式系統(tǒng)第四章S_第3頁
嵌入式系統(tǒng)第四章S_第4頁
嵌入式系統(tǒng)第四章S_第5頁
已閱讀5頁,還剩173頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

嵌入式系統(tǒng)講義

第4章S3C2410X系統(tǒng)結構嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第1頁!1、S3C2410X主要特性有哪些?2、S3C2410X的結構分為幾個部分?每一部分主要由哪些部件構成?3、S3C2410X的存儲器由哪幾部分構成,每一部分有什么特點?存儲器主要有哪些控制寄存器?4、S3C2410X的Flash有哪些特點?5、S3C2410X的DMA有哪些特點?其工作過程是怎樣的?每個通道配置有哪些寄存器?6、S3C2410X的A/D轉(zhuǎn)換器有哪些特點?有哪些相關的寄存器?7、編寫一程序,用查詢的方式,對S3C2410X的A/D轉(zhuǎn)換器的第0通道連續(xù)進行100次A/D轉(zhuǎn)換,然后將其結果求平均值。注意:A/D轉(zhuǎn)換器有獨立的模擬信號輸入引腳AIN0---AIN9。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第2頁!8、S3C2410X的中斷系統(tǒng)有哪些特點?相關的寄存器有哪些?9、S3C2410X的中斷控制器的工作過程是怎樣的?對于IRQ,整個中斷過程是怎樣的(中斷控制器處理,向CPU請求,轉(zhuǎn)到中斷入口,轉(zhuǎn)去獲得中斷服務程序的首地址,執(zhí)行中斷服務程序)?10、編寫一程序,使用外部中斷EINT0,用中斷方式對端口C做數(shù)據(jù)輸入。(注意對中斷系統(tǒng)和相關引腳進行初始化) 提示:C語言指向特定地址的方法:(1)#definerGPCDAT(*(volatileunsigned*)0x56000024)(2)int*rGPCDAT=0x56000024;(3)int*rGPCDAT; rGPCDAT=0x56000024; 用種方法為好。11、S3C2410X的定時器系統(tǒng)有哪些特點?由哪幾部分構成?相關的寄存器有哪些?是如何工作的?嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第3頁!第4章S3C2410X系統(tǒng)結構4.1S3C2410X概述4.2存儲器配置4.3DMA4.4ADC和觸摸屏接口4.5中斷控制器4.6I/O端口4.7PWM4.8UART接口4.9RTC4.10IIC接口4.11SPI接口4.12時鐘和電源管理4.13看門狗4.14其它接口主要內(nèi)容嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第4頁!4.1S3C2410X概述主要內(nèi)容主要特性系統(tǒng)結構引腳信號嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第5頁!55個中斷源,可以設定1個為快速中斷,有24個外部中斷,并且觸發(fā)方式可以設定。4通道的DMA,并且有外部請求引腳。3個通道的UART,帶有16字節(jié)的TX/RXFIFO,支持IrDA1.0功能。具有2通道的SPI、1個通道的IIC串行總線接口和1個通道的IIS音頻總線接口。有2個USB主機總線的端口,1個USB設備總線的端口。有4個具有PWM功能的16位定時器和1個16位內(nèi)部定時器。8通道的10位A/D轉(zhuǎn)換器,最高速率可達500kB/s;提供有觸摸屏接口。具有117個通用I/O口和24通道的外部中斷源。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第6頁!二、系統(tǒng)結構 主要由兩大部分構成: ARM920T內(nèi)核 片內(nèi)外設。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第7頁!

2、片內(nèi)外設

分為高速外設和低速外設,分別用AHB總線和APB總線。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第8頁!4.2S3C2410X的存儲器主要內(nèi)容存儲器配置存儲器概述控制寄存器Flash及控制器Flash控制器概述控制器主要特性控制器的寄存器控制器的工作原理嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第9頁!嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第10頁!注意:補充引腳信號嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第11頁!

1、總線寬度和等待控制寄存器31302928272625242322212019181716ST7WS7DW7ST6WS6DW6ST5WS5DW5ST4WS4DW41514131211109876543210ST3WS3DW3ST2WS2DW2ST1WS1DW1XDW0XSTn:控制存儲器組n的UB/LB引腳輸出信號。 1:使UB/LB與nBE[3:0]相連; 0:使UB/LB與nWBE[3:0]相連WSn:使用/禁用存儲器組n的WAIT狀態(tài) 1:使能WAIT;0:禁止WAITDWn:控制存儲器組n的數(shù)據(jù)線寬 00:8位;01:16位;10:32位;11:保留嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第12頁!Tcoh:nOE無效后片選信號的保持時間

00:0個;01:1個;10:2個;11:4個時鐘Tcah:nGCSn無效后地址信號的保持時間

00:0個;01:1個;10:2個;11:4個時鐘Tacp:頁模式的訪問周期

00:2個;01:3個;10:4個;11:6個時鐘PMC:頁模式的配置,每次讀寫的數(shù)據(jù)數(shù)

00:1個;01:4個;10:8個;11:16個 注:00為通常模式。

注:紫色為實驗箱上的配置,其值為0x0700嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第13頁!REFEN:刷新控制。 1:使能刷新;0:禁止刷新TREFMD:刷新方式。 1:自刷新 0:自動刷新Trp:設置SDRAM行刷新時間(時鐘數(shù))

00:2個時鐘;01:3個;10:3個;11:4個時鐘Tsrc:設置SDRAM行操作時間(時鐘數(shù)) 00:4個時鐘;01:5個;10:6個;11:7個時鐘 注:SDRAM的行周期=Trp+Tsrc。Refresh_count:刷新計數(shù)值1514131211109876543210保留Refresh_count4、REFRESH---刷新控制寄存器31……242322212019181716保留REFENTREFMDTrpTsrc保留嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第14頁! 高24位未用。BURST_EN:ARM突發(fā)操作控制 0:禁止突發(fā)操作;1:可突發(fā)操作SCKE_EN:SCKE使能控制SDRAM省電模式 0:關閉省電模式;1:使能省電模式SCLK_EN:SCLK省電控制,使其只在SDRAM訪問周期內(nèi)使能SCLK 0:SCLK一直有效;1:SCLK只在訪問期間有效BK76MAP:控制BANK6/7的大小及映射76543210BURST_ENXSCKE_ENSCLK_ENXBK76MAP5、BANKSIZE---BANK6/7組大小控制寄存器嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第15頁!WBL:突發(fā)寫的長度。0:固定長度;1:保留TM:測試模式。 00:模式寄存器集;其它保留CL:列地址反應時間

000:1個時鐘;010:2個時鐘; 011:3個時鐘;其它保留BT:猝發(fā)類型

0:連續(xù); 1:保留BL:猝發(fā)時間

000:1個時鐘;其它保留

6、MRSRB6/7---BANK6/7模式設置寄存器1514131211109876543210WBLTMCLBTBL嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第16頁!4.2.2NandFlash及其控制器

Norflash存儲器:讀速度高,而擦、寫速度低,容量小,價格高。 Nandflash存儲器:讀速度不如Norflash,而擦、寫速度高,容量大,價格低。有取代磁盤的趨勢。 因此,現(xiàn)在不少用戶從Nandflash啟動和引導系統(tǒng),而在SDRAM上執(zhí)行主程序代碼。一、NandFlash控制器概述

S3C2410X微控制器從Nandflash的引導功能:其內(nèi)部有一個叫做“起步石(Steppingstone)”的SRAM緩沖器,系統(tǒng)啟動時,Nandflash存儲器的前面4KByte字節(jié)將被自動載入到起步石中,然后系統(tǒng)自動執(zhí)行這些載入的引導代碼。引導代碼執(zhí)行完畢后,自動跳轉(zhuǎn)到SDRAM執(zhí)行。

Nandflash操作的校驗功能:使用S3C2410X內(nèi)部硬件ECC功能可以對Nandflash的數(shù)據(jù)進行有效性的檢測。

嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第17頁!NandFlash控制器功能框圖主要由6部分組成引腳信號:CLE:命令鎖存R/nB:就緒/忙嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第18頁!NFEN:NF控制器使能控制 0:禁止使用; 1:允許使用IECC:初始化ECC編碼/解碼器控制位 0:不初始化ECC; 1:初始化ECCNFCE:NF片選信號nFCE控制位持續(xù)時間設置 0:nFCE為低有效; 0:nFCE為高無效TACLE:CLE/ALE持續(xù)時間設置值(0---7) 持續(xù)時間=HCLK*(TACLS+1)

CLE/ALE:命令/地址鎖存允許1514131211109876543210NFENXIECCNFCETACLEXTWRPH0XPWRPH10-000-0-01、NFCON---Flash配置寄存器嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第19頁! 高24位未用,低8位為讀入或者寫出的數(shù)據(jù)1514131211109876543210保留地址值3、NFADDR---Flash地址寄存器1514131211109876543210保留輸入/輸出數(shù)據(jù)4、NFDATA---Flash數(shù)據(jù)寄存器 高24位未用,低8位為Flash存儲器地址值嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第20頁!四、NandFlash控制器的工作原理

1、自動導入啟動代碼步驟

完成復位。 如果自動導入模式使能,Nandflash存儲器的前面4K字節(jié)被自動拷貝到Steppingstone內(nèi)部緩沖器中。 Steppingstone被映射到nGCS0對應的BANK0存儲空間。 CPU在Steppingstone的4-KB內(nèi)部緩沖器中開始執(zhí)行引導代碼。

注意:在自動導入模式下,不進行ECC檢測。因此,Nandflash的前4KB應確保不能有位錯誤(一般Nandflash廠家都確保)。

嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第21頁!

3、系統(tǒng)引導和NandFLASH配置

OM[1:0]=00b:使能Nandflash控制器自動導入模式; OM[3:0]為芯片引腳,設置引導模式、存儲器bank0的數(shù)據(jù)寬度、時鐘模式等。 OM[1:0]=01b、10b: bank0數(shù)據(jù)寬度為16位、32位 OM[1:0]=11b:測試模式

Nandflash的存儲頁面大小應該為512字節(jié)。

NCON:Nandflash尋址步驟數(shù)選擇 0:3步尋址; 1:4步尋址嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第22頁!4.3DMA控制器主要內(nèi)容1、概述2、工作原理3、寄存器嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第23頁!二、DMA工作原理

1、DMA的服務對象

每個DMA通道都有4個DMA請求源,通過設置,可以從中挑選一個服務。每個通道的DMA請求源如表4-1所示。

通道

源請求源0請求源1請求源2請求源3請求源4通道0nXDREQ0UART0SDITimerUSB設備EP1通道1nXDREQ1UART1IIS/SDISPI0USB設備EP2通道2IISSDOIISSDISDITimerUSB設備EP3通道3UART2SDISPI1TimerUSB設備EP4表4-1各通道的DMA請求源嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第24頁! 2、DMA的工作過程

S3C2410X的DMA工作過程可以分為三個狀態(tài): 狀態(tài)1:等待狀態(tài)。DMA等待一個DMA請求。如果有請求到來,將轉(zhuǎn)到狀態(tài)2。在這個狀態(tài)下,DMAACK和INTREQ為0。 狀態(tài)2:準備狀態(tài)。DMAACK變?yōu)?,計數(shù)器(CURR_TC)裝入DCON[19:0]寄存器。 注意:DMAACK保持為1直至它被清除。 狀態(tài)3:傳輸狀態(tài)。DMA控制器從源地址讀入數(shù)據(jù)并將它寫到目的地址,每傳輸一次,CURR_TC數(shù)器(在DSTAT中)減1,并且可能做以下操作: 重復傳輸:在全服務模式下,將重復傳輸,直到計數(shù)器CURR_TC變?yōu)?;在單服務模式下,僅傳輸一次。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第25頁!

3、外部DMA請求/響應規(guī)則 DMAC有3種類型的外部DMA請求/響應規(guī)則: (1)singleservicedemand,單服務請求(對應于需求模式) (2)singleservicehandshake,單服務握手(握手模式) (3)wholeservicehandshake,全服務握手(全服務模式) 每種類型都定義了像DMA請求和DMA響應這些信號怎樣與這些規(guī)則相聯(lián)系。

demand與handshake模式的比較: 在一次傳輸結束時,DMA檢查xnxDREQ(DMA請求)信號的狀態(tài): 在demand模式下:如果DMA請求(xnxDREQ)信號仍然有效,則傳輸馬上再次開始。否則等待。 在handshake模式下:如果DMA請求信號無效,DMA在兩個時鐘周期后將DMA響應(xnxDACK)信號變得無效。否則,DMA等待直到DMA請求信號變得無效。每請求一次傳輸一次。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第26頁!三、DMA控制器的相關寄存器 每個DMA通道有9個控制寄存器(4個通道共計36個寄存器),6個用來控制DMA傳輸,其它3個監(jiān)視DMA控制器的狀態(tài)。 RegisterAddressR/WDescriptionResetValueDISRCn0x4B0000x0R/W初始源基地址寄存器0x00000000DISRCCn0x4B0000x4R/W初始源控制寄存器0x00000000DIDSTn0x4B0000x8R/W初始目的基地址寄存器0x00000000DIDSTCn0x4B0000xCR/W初始目的控制寄存器0x00000000DCONn0x4B0000y0R/WDMA控制寄存器0x00000000DSTATn0x4B0000y4R狀態(tài)/計數(shù)寄存器0x00000000DCSRCn0x4B0000y8R當前源地址寄存器0x00000000DCDSTn0x4B0000yCR當前目的地址寄存器0x00000000SKTRIGn0x4B0000z0R/WDMA掩碼/觸發(fā)寄存器0b000嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第27頁!LOC---源所在總線選擇 0:AHB; 1:APBINC---源地址變化設置 0:源地址增加; 1:源地址不變

2、DISRCCn---DMA源控制寄存器

寄存器地址R/W意義初值DISRCC00x4B000004R/WDMA0初始源控制寄存器0x00000000DISRCC10x4B000044R/WDMA1初始源控制寄存器0x00000000DISRCC20x4B000084R/WDMA2初始源控制寄存器0x00000000DISRCC30x4B0000C4R/WDMA3初始源控制寄存器0x0000000031……210保留(為0)LOC---源總線選擇INC---源地址變化設置嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第28頁!4、DIDSTCn---DMA初始目的控制寄存器寄存器地址R/W意義初值DIDSTC00x4B00000CR/WDMA0初始目的控制寄存器0x00000000DIDSTC10x4B00004CR/WDMA1初始目的控制寄存器0x00000000DIDSTC20x4B00008CR/WDMA2初始目的控制寄存器0x00000000DIDSTC30x4B0000CCR/WDMA3初始目的控制寄存器0x00000000LOC---目的地址所在總線選擇 0:AHB; 1:APBINC---目的地址地址變化設置 0:目的地址增加; 1:目的地址不變31……210保留(為0)LOC---目的總線選擇INC---目的地址變化設置嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第29頁!DMD_HS---DMA與外設握手模式選擇 0:需求模式。為單服務,但只要DREQ信號有效便傳輸 1:握手模式。為單服務,要等待DREQ信號變?yōu)闊o效, DREQ再有效時才傳輸。SYNC---DREQ和DACK信號與系統(tǒng)總線時鐘同步選擇 0:DREQ和DACK與PCLK(APBclock)同步。慢速外設 1:DREQ和DACK與HCLK(AHBclock)同步。高速外設INT---CURR_TC的中斷請求控制 0:禁止CURR_TC產(chǎn)生中斷請求 1:當所有的傳輸結束時,CURR_TC產(chǎn)生中斷請求

TSZ---傳輸長度類型選擇 0:執(zhí)行單數(shù)據(jù)傳輸 1:執(zhí)行四數(shù)據(jù)長的突發(fā)傳輸

313029282726252423222120DMD_HSSYNCINTTSZSERVMODEHWSRCSELSWHW_SELRELOADDSZ嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第30頁!SWHW_SEL---DMA源選擇方式(軟件或硬件)設置 0:以軟件software方式產(chǎn)生DMA請求,需要用DMASKTRIG控制寄存器中的SW_TRIG位設置觸發(fā)。 1:由位[26:24]提供的DMA源觸發(fā)DMA操作RELOAD---再裝載選擇 0:自動再裝載,當傳輸次數(shù)減為0時自動裝載DMA初值 1:不自動再裝載,傳輸結束關閉DMA通道。DSZ---傳輸數(shù)據(jù)類型設置 00:字節(jié); 01:半字; 10:字; 11:保留313029282726252423222120DMD_HSSYNCINTTSZSERVMODEHWSRCSELSWHW_SELRELOADDSZ嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第31頁!CURR_SRC---當前數(shù)據(jù)源地址 注意:(1)DMA每傳輸一次,其地址可能增加(1、2、4)、可能不變;(2)在CURR_SRC為0、且DMAACK為1時,將S_ADDR源基地址的值裝入。寄存器地址R/W意義初值DCSRC00x4B000018RDMA0當前源地址寄存器0x00000000DCSRC10x4B000058RDMA1當前源地址寄存器0x00000000DCSRC20x4B000098RDMA2當前源地址寄存器0x00000000DCSRC30x4B0000D8RDMA3當前源地址寄存器0x000000003130……00CURR_SRC---當前數(shù)據(jù)源地址7、DCSRCn---DMA當前源地址寄存器嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第32頁!寄存器地址R/W意義初值DMASKTRIG00x4B000020R/WDMA0掩碼觸發(fā)寄存器0x00000000DMASKTRIG10x4B000060R/WDMA1掩碼觸發(fā)寄存器0x00000000DMASKTRIG20x4B0000A0R/WDMA2掩碼觸發(fā)寄存器0x00000000DMASKTRIG30x4B0000E0R/WDMA3掩碼觸發(fā)寄存器0x000000009、DMASKTRIGn---DMA掩碼(Mask)觸發(fā)寄存器31……3210保留(為0)STOPON/OFFSW_TRIG

嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第33頁!

對DMA應用注意: 在DMA運行中改變DISRCn、DIDSTn寄存器以及改變DCONn中TC的值,對DMA當前的整個傳輸沒有影響。而其它寄存器或位值的改變,將立即影響傳輸。

嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第34頁! 一、S3C2410X的A/D轉(zhuǎn)換器概述 S3C2410X中集成了一個8通道10位A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換器自身具有采樣保持功能。并且S3C2410X的A/D轉(zhuǎn)換器支持觸摸屏接口。A/D轉(zhuǎn)換器的主要特性:分辨率:10位; 精度:±1LSB線性度誤差:±1.5---2.0LSB;最大轉(zhuǎn)換速率:500KSPS;輸入電壓范圍:0~3.3v;系統(tǒng)具有采樣保持功能;常規(guī)轉(zhuǎn)換和低能源消耗功能;獨立/自動的X/Y坐標轉(zhuǎn)換模式。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第35頁!

2、引腳信號(需要補充)

0:正常工作模式; 嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第36頁!

測量X坐標:從XP輸出電壓給X+端,從XM輸出地電位給X-端;從YP腳輸入按壓點電壓。 控制信號: nYPON=1; nYMON=0 nXPON=0; nXMON=1測Y測X嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第37頁!

3、S3C24120XA/D轉(zhuǎn)換器的工作模式 有5種:普通轉(zhuǎn)換模式、分離的X/Y坐標轉(zhuǎn)換模式、連續(xù)的X/Y坐標轉(zhuǎn)換模式、等待中斷模式、靜態(tài)模式。第2---4種是用于觸摸屏。

(1)普通轉(zhuǎn)換模式 用于一般A/D轉(zhuǎn)換,不是用于觸摸屏。轉(zhuǎn)換結束后,其數(shù)據(jù)在ADCDAT0中的XPDATA域。

(2)分離的X/Y坐標轉(zhuǎn)換模式 分兩步進行X/Y坐標轉(zhuǎn)換,其轉(zhuǎn)換結果分別存于ADCDAT0中的XPDATA域中和ADCDAT1中的YPDATA域中,并且均會產(chǎn)生INT_ADC中斷請求。

(3)自動(連續(xù))的X/Y坐標轉(zhuǎn)換模式 X坐標轉(zhuǎn)換結束啟動Y坐標轉(zhuǎn)換,其轉(zhuǎn)換結果分別存于ADCDAT0中的XPDATA域中和ADCDAT1中的YPDATA域中,然后產(chǎn)生INT_ADC中斷請求。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第38頁!

三、ADC和觸摸屏專用寄存器 有5個專用寄存器RegisterAddressR/WDescriptionResetValueADCCON0x58000000R/WADC控制寄存器0x3FC4ADCTSC0x58000004R/W觸摸屏控制寄存器0x058ADCDLY0x58000008R/WADC起始延遲寄存器0x00FFADCDAT00x5800000CRADC轉(zhuǎn)換數(shù)據(jù)0寄存器-ADCDAT10x58000010RADC轉(zhuǎn)換數(shù)據(jù)1寄存器-嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第39頁!SEL_MUX---模擬輸入通道選擇 000:AIN0; 001:AIN1 010:AIN2 011:AIN3 …… 111:AIN7STDBM---備用模式設置

0:正常工作模式; 1:備用模式,不做A/D轉(zhuǎn)換READ_START---通過讀取啟動轉(zhuǎn)換 0:停止通過讀取啟動轉(zhuǎn)換;1:使能通過讀取啟動轉(zhuǎn)換ENABLE_START---通過設置該位啟動轉(zhuǎn)換 0:無效; 1:啟動A/D轉(zhuǎn)換(啟動后被清0) 注意:如果READ_START為1,則該位無效543210SEL_MUXSTDBMREAD_STARTENABLE_START嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第40頁!PULL---上拉切換使能 0:XP上拉使能; 1:XP上拉禁止AUTO_PST---自動連續(xù)轉(zhuǎn)換X軸和Y軸坐標模式選擇

0:普通A/D轉(zhuǎn)換; 1:連續(xù)X/Y軸轉(zhuǎn)換模式XY_PST---手動測量X軸和Y軸坐標模式選擇

00:無操作模式; 01:對X坐標測量; 10:對X坐標測量; 11:等待中斷模式876543210保留0YM_SENYP_SENXM_SENXP_SENPULL_UPAUTO_PSTXY_PST嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第41頁!UPDOWN---等待中斷模式的按壓狀態(tài) 0:觸筆點擊; 1:觸筆提起AUTO_PST---自動X/Y軸轉(zhuǎn)換模式指示

0:普通轉(zhuǎn)換模式; 1:X/Y軸坐標連續(xù)轉(zhuǎn)換XY_PST---手動X/Y軸轉(zhuǎn)換模式指示

00:無操作; 01:為X軸坐標轉(zhuǎn)換 10:為Y軸坐標轉(zhuǎn)換 11:為等待中斷轉(zhuǎn)換XPDATA[9:0]:為X軸坐標轉(zhuǎn)換數(shù)值、或普通ADC轉(zhuǎn)換數(shù)值 具體意義由其它位指示。其值為:0---0x3FF4、ADCDAT0---ADC轉(zhuǎn)換數(shù)據(jù)0寄存器1514131211109……0UPDOWNAUTO_PSTXY_PST保留(0)XPDATA或普通ADC值第11次到此嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第42頁!

例題:編寫程序,對3通道的模擬量連續(xù)做10次轉(zhuǎn)換,用查詢方式讀取轉(zhuǎn)換結果,其數(shù)據(jù)存于0x400000開始的區(qū)域。AREAADC,CODE,READONLY ENTRYSTART嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第43頁!4.5中斷主要內(nèi)容概述結構與工作原理寄存器應用舉例嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第44頁!二、S3C2410X中斷系統(tǒng)結構

1、中斷系統(tǒng)結構 主要由中斷源和控制寄存器兩大部分構成,其寄存器主要有4種:模式、屏蔽、優(yōu)先級、掛起(標志)寄存器等。中斷源(有子寄存器)子中斷源掛起寄存器中斷源(無子寄存器)子中斷源屏蔽寄存器中斷屏蔽中斷模式優(yōu)先級仲裁FIQIRQ中斷源掛起中斷掛起嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第45頁!

中斷服務程序工作流程:

先屏蔽中斷,防止其他中斷干擾中斷服務程序的執(zhí)行;

執(zhí)行相應的中斷服務子程序,在子程序中先要清除SRCPND和INTPND;

取消中斷屏蔽;嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第46頁!

三、中斷控制器專用寄存器 有8個專用寄存器RegisterAddressR/WDescriptionResetValueSRCPND0x4A000000R/W中斷標志寄存器0x00000000INTMOD0x4A000004R/W中斷模式寄存器0x00000000INTMSK0x4A000008R/W中斷屏蔽寄存器0xFFFFFFFFPRIORITY0x4A00000CR/W中斷優(yōu)先級寄存器0x7FINTPND0x4A000010R/W中斷服務寄存器0x00000000INTOFFSET0x4A000014R中斷偏移寄存器0x00000000SUBSRCPND0x4A000018R/W子源掛起寄存器0x00000000INTSUBMSK0x4A00001CR/W中斷子源屏蔽寄存器0x7FF

主要使用前5個寄存器嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第47頁! 該寄存器是設置各中斷源是FIQ中斷還是IRQ中斷各位: 1:對應中斷源設為FIQ中斷模式 0:對應中斷源設為IRQ中斷模式

2、INTMOD---中斷模式寄存器

位號中斷源位號中斷源位號中斷源位號中斷源31INT_ADC23INT_UART115INT_UART27nBATT_FLT30INT_RTC22INT_SPI014INT_TIM46保留29INT_SPI121INT_SDI13INT_TIM35EINT8_2328INT_UART020INT_DMA312INT_TIM24EINT4_727INT_IIC19INT_DMA211INT_TIM13EINT326INT_USBH18INT_DMA110INT_TIM02EINT225INT_USBD17INT_DMA09INT_WDT1EINT124保留16INT_LCD8INT_TICK0EINT0嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第48頁!

4、PRIORITY---中斷優(yōu)先級寄存器

ARB_SELn---n組優(yōu)先級順序控制位 00:REQ0,1,2,3,4,5 01:REQ0,2,3,4,1,5 10:REQ0,3,4,1,2,511:REQ0,4,1,2,3,5ARB_MODEn---n組優(yōu)先級循環(huán)控制位 0:優(yōu)先順序固定不變 1:優(yōu)先順序循環(huán),每響應一次中斷,其順序循環(huán)改變一次,但REQ0、REQ5位置不變。位號含義位號含義位號含義31:21保留12:11ARB_SEL24ARB_MODE420:19ARB_SEL610:9ARB_SEL13ARB_MODE318:17ARB_SEL58:7ARB_SEL02ARB_MODE216:15ARB_SEL46ARB_MODE61ARB_MODE114:13ARB_SEL35ARB_MODE50ARB_MODE0嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第49頁!

該寄存器的偏移值指示在INTPND中顯示的中斷源各位: 1:對應的中斷源,在INTPND中被置位

說明:當在中斷服務程序中對SRCPND、INTPND中的標志位清0時,該寄存器的對應位自動清0。6、INTOFFSET---中斷偏移寄存器中斷源偏移值中斷源偏移值中斷源偏移值中斷源偏移值INT_ADC31INT_UART123INT_UART215nBATT_FLT7INT_RTC30INT_SPI022INT_TIM414保留6INT_SPI129INT_SDI21INT_TIM313EINT8_235INT_UART028INT_DMA320INT_TIM212EINT4_74INT_IIC27INT_DMA219INT_TIM111EINT33INT_USBH26INT_DMA118INT_TIM010EINT22INT_USBD25INT_DMA017INT_WDT9EINT11保留24INT_LCD16INT_TICK8EINT00嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第50頁!8、INTSUBMSK---子中斷源屏蔽寄存器 對有多個中斷源的外設,對具體的中斷源進行屏蔽各位: 1:屏蔽對應的子中斷源 0:開放對應的子中斷源位號中斷源位號中斷源位號中斷源31:11保留7INT_TXD23INT_RXD110INT_ADC6INT_RXD22INT_ERR09INT_TC5INT_ERR11INT_TXD08INT_ERR24INT_TXD10INT_RXD0嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第51頁! LTORG ;聲明一個數(shù)據(jù)緩沖池的開始HandlerFIQ HANDLER HandleFIQHandlerIRQ HANDLER HandleIRQHandlerUndef HANDLER HandleUndefHandlerSWI HANDLER HandleSWIHandlerDabort HANDLER HandleDabortHandlerPabort HANDLER HandlePabort 本段意義:利用后面定義的宏來展開上面各行,使其進入它們所對應的中斷服務子程序嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第52頁!

IRQ中斷服務程序IsrIRQ sub sp,sp,#4 ;reservedforPC stmfd sp!,{r8-r9} ldr r9,=INTOFFSET ;中斷偏移寄存器 ldr r9,[r9] ldr r8,=HandleEINT0 ;中斷向量表首地址 add r8,r8,r9,lsl#2 ldr r8,[r8] str r8,[sp,#8] ldmfd sp!,{r8-r9,pc}

本段意義:根據(jù)中斷服務號,轉(zhuǎn)去執(zhí)行相應的中斷處理程序段。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第53頁!4.6輸入/輸出端口主要內(nèi)容概述寄存器應用舉例嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第54頁!

二、端口寄存器及引腳配置 每一個端口都有4個寄存器,它們是:引腳配置寄存器、數(shù)據(jù)寄存器、引腳上拉寄存器等。RegisterAddressR/WDescriptionResetValueGPXCON0x560000x0R/W端口X配置寄存器XGPXDAT0x560000x4R/W端口X數(shù)據(jù)寄存器XGPXUP0x560000x8R/W端口X上拉寄存器XRESERVED0x560000xCR/W端口X保留寄存器-嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第55頁!1、端口A寄存器及引腳配置

位號位名位值:01位號位名位值:0122GPA22輸出nFCE10GPA10輸出ADDR2521GPA21輸出nRSTOUT9GPA9輸出ADDR2420GPA20輸出nFRE8GPA8輸出ADDR2319GPA19輸出nFWE7GPA7輸出ADDR2218GPA18輸出ALE6GPA6輸出ADDR2117GPA17輸出CLE5GPA5輸出ADDR2016GPA16輸出nGCS54GPA4輸出ADDR1915GPA15輸出nGCS43GPA3輸出ADDR1814GPA14輸出nGCS32GPA2輸出ADDR1713GPA13輸出nGCS21GPA1輸出ADDR1612GPA12輸出nGCS10GPA0輸出ADDR011GPA11輸出ADDR26FCE:Flash片選嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第56頁!端口B引腳配置寄存器

位號位名位值:0001101121,20GPB10輸入輸出nXDREQ0Reserved19,18GPB9輸入輸出nXDACK0Reserved17,16GPB8輸入輸出nXDREQ1Reserved15,14GPB7輸入輸出nXDACK1Reserved13,12GPB6輸入輸出nXBACKReserved11,10GPB5輸入輸出nXBREQReserved9,8GPB4輸入輸出TCLK0Reserved7,6GPB3輸入輸出TOUT3Reserved5,4GPB2輸入輸出TOUT2Reserved3,2GPB1輸入輸出TOUT1Reserved1,0GPB0輸入輸出TOUT0Reserved嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第57頁!端口C引腳配置寄存器

位號位名位值位號位名位值000110110001101131,30GPC15輸入輸出VD7保留15,14GPC7輸入輸出LCDVF2保留29,28GPC14輸入輸出VD6保留13,12GPC6輸入輸出LCDVF1保留27,26GPC13輸入輸出VD5保留11,10GPC5輸入輸出LCDVF0保留25,24GPC12輸入輸出VD4保留9,8GPC4輸入輸出VM保留23,22GPC11輸入輸出VD3保留7,6GPC3輸入輸出VFRAME保留21,20GPC10輸入輸出VD2保留5,4GPC2輸入輸出VLINE保留19,18GPC9輸入輸出VD1保留3,2GPC1輸入輸出VCLK保留17,16GPC8輸入輸出VD0保留1,0GPC0輸入輸出VEND保留嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第58頁!端口D引腳配置寄存器位號位名位值位號位名位值000110110001101131,30GPD15輸入輸出VD23nSS015,14GPD7輸入輸出VD15保留29,28GPD14輸入輸出VD22nSS113,12GPD6輸入輸出VD14保留27,26GPD13輸入輸出VD21保留11,10GPD5輸入輸出VD13保留25,24GPD12輸入輸出VD20保留9,8GPD4輸入輸出VD12保留23,22GPD11輸入輸出VD19保留7,6GPD3輸入輸出VD11保留21,20GPD10輸入輸出VD18保留5,4GPD2輸入輸出VD10保留19,18GPD9輸入輸出VD17保留3,2GPD1輸入輸出VD9保留17,16GPD8輸入輸出VD16保留1,0GPD0輸入輸出VD8保留嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第59頁!端口E引腳配置寄存器位號位名位值位號位名位值000110110001101131,30GPE15輸入輸出IICSDA保留15,14GPE7輸入輸出SDDAT0保留29,28GPE14輸入輸出IICSCL保留13,12GPE6輸入輸出SDCMD保留27,26GPE13輸入輸出SPICLK0保留11,10GPE5輸入輸出SDCLK保留25,24GPE12輸入輸出SPISI0保留9,8GPE4輸入輸出IISSDO保留23,22GPE11輸入輸出SPISO0保留7,6GPE3輸入輸出IISSDI保留21,20GPE10輸入輸出SDDAT3保留5,4GPE2輸入輸出CDCLK保留19,18GPE9輸入輸出SDDAT2保留3,2GPE1輸入輸出IISSCLK保留17,16GPE8輸入輸出SDDAT1保留1,0GPE0輸入輸出IISLRCK保留嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第60頁!端口F引腳配置寄存器位號位名位值0001101115,14GPF7輸入輸出EINT7保留13,12GPF6輸入輸出EINT6保留11,10GPF5輸入輸出EINT5保留9,8GPF4輸入輸出EINT4保留7,6GPF3輸入輸出EINT3保留5,4GPF2輸入輸出EINT2保留3,2GPF1輸入輸出EINT1保留1,0GPF0輸入輸出EINT0保留嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第61頁!端口G引腳配置寄存器位號位名位值位號位名位值000110110001101131,30GPG15輸入輸出EINT23nYPON15,14GPG7輸入輸出EINT15SPICLK129,28GPG14輸入輸出EINT22YMON13,12GPG6輸入輸出EINT14SPISI127,26GPG13輸入輸出EINT21nXPON11,10GPG5輸入輸出EINT13SPISO125,24GPG12輸入輸出EINT20XMON9,8GPG4輸入輸出EINT12LCD-PEN23,22GPG11輸入輸出EINT19TCLK17,6GPG3輸入輸出EINT11nSS121,20GPG10輸入輸出EINT18保留5,4GPG2輸入輸出EINT10nSS019,18GPG9輸入輸出EINT17保留3,2GPG1輸入輸出EINT9保留17,16GPG8輸入輸出EINT16保留1,0GPG0輸入輸出EINT8保留LCD-PEN:POWER_ENABLEnSS0:SPI0_SELECT嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第62頁!端口H引腳配置寄存器

位號位名位值:0001101121,20GPH10輸入輸出CLKOUT1Reserved19,18GPH9輸入輸出CLKOUT0Reserved17,16GPH8輸入輸出UCLKReserved15,14GPH7輸入輸出RXD2nCTS113,12GPH6輸入輸出TXD2nRTS111,10GPH5輸入輸出RXD1Reserved9,8GPH4輸入輸出TXD1Reserved7,6GPH3輸入輸出RXD0Reserved5,4GPH2輸入輸出TXD0Reserved3,2GPH1輸入輸出nRTS0Reserved1,0GPH0輸入輸出nCTS0ReservedUCLK為USB的嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第63頁!nEN_SCKE---SCLK使能位。在電源關閉模式下對SDRAM做保護 0:正常狀態(tài) 1:低電平nEN_SCLKx---SCLKx使能位。在電源關閉模式下對SDRAM做保護 0:SCLKx=SCLK 1:低電平nRSTCON---對nRSTOUT軟件復位控制位 0:使nRSTOUT為低,0;1:使nRSTOUT為高,1151413121110987保留USBSUSPND1

USBSUSPND0

保留CLKSEL1

保留(1)MISCCR---混合控制寄存器31……2019181716保留(為0)nEN_SCKE

nEN_SCLK1

nEN_SCLK0

nRSTCON

6543210CLKSEL0

USBPAD

MEM_HZ_CONSPUCR_L

SPUCR_H

嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第64頁!USBPAD---與USB連接選擇 0:與USB設備連接 1:與USB主機連接MEM_HZ_CON---MEM高阻控制位 0:Hi-Z 1:前一狀態(tài)SPUCR_L---數(shù)據(jù)口低16位[15:0]上拉控制位 0:上拉 1:無上拉SPUCR_H---數(shù)據(jù)口高16位[31:16]上拉控制位 0:上拉 1:無上拉6543210CLKSEL0

USBPAD

MEM_HZ_CONSPUCR_L

SPUCR_H

嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第65頁!15…1211109876543210保留DCLK0CMPDCLK0DIV保留DCLK0SelCKDCLK0EN(2)DCLKCON---D時鐘控制寄存器(續(xù))31…28272625242322212019181716保留DCLK1CMP

DCLK1DIV

保留

DCLK1SEL

DCLK1ENDCLK1(0)SelCK---DCLK1(0)sourceclock選擇 0:源時鐘選擇PCLK 1:源時鐘選擇UCLK(USB)DCLK1(0)EN---DCLK1(0)Enable 0:禁止 1:允許嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第66頁!EINT0~7---中斷請求信號觸發(fā)方式選擇 000:低電平觸發(fā) 001:高電平觸發(fā) 01x:下降沿觸發(fā) 10x:上升沿觸發(fā) 11x:雙邊沿觸發(fā)第3、7、11、15、19、23、27、31位---保留1514131211109876543210XEINT3XEINT2XEINT1XEINT0(1)EXTINT0---外中斷觸發(fā)方式控制寄存器031302928272625242322212019181716XEINT7XEINT6XEINT5XEINT4嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第67頁!EINT16~23---外中斷請求信號觸發(fā)方式選擇 000:低電平觸發(fā) 001:高電平觸發(fā) 01x:下降沿觸發(fā) 10x:上升沿觸發(fā) 11x:雙邊沿觸發(fā)第3、7、11、15、19、23、27、31位---為FILTEN各引腳濾波控制位 0:禁止濾波 1:使能濾波1514131211109876543210F19EINT19F18EINT18F17EINT17F16EINT16(3)EXTINT2---外中斷控制寄存器231302928272625242322212019181716F23EINT23F22EINT22F21EINT21F20EINT20嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第68頁!FLTCLK16~19---外中斷16~19濾波器時鐘選擇

0:PCLK 1:外部/振蕩時鐘(由OM引腳選擇)EINTFLT16~19---外中斷16~19濾波器寬度(頻帶寬度)

1514……876……0FLTCLK17EINTFLT17FLTCLK16EINTFLT16(1)EINTFLT2---外中斷濾波控制寄存器23130……24232216FLTCLK19EINTFLT19FLTCLK18EINTFLT18嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第69頁!12、外中斷屏蔽、標志寄存器

RegisterAddressR/WDescriptionResetValueEINTMAK0x560000A4R/W外中斷屏蔽寄存器0x00FFFFF0EINTPEND0x560000A8R/W外中斷標志寄存器0x0嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第70頁!外中斷標志寄存器位號含義位號含義位號含義23EINT2315EINT157EINT722EINT2214EINT146EINT621EINT2113EINT135EINT520EINT2012EINT124EINT419EINT1911EINT113保留18EINT1810EINT102保留17EINT179EINT91保留16EINT168EINT80保留各位: 0:無中斷請求 1:有中斷請求

注意:對某位寫1,則清除相應標志,即清為0.嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第71頁!nWEIT---引腳nWEIT狀態(tài)nCON---引腳nCON狀態(tài)RnB---引腳R/nB狀態(tài)nBATT_FLT---引腳nBATT_FLT狀態(tài)

注意:各位的數(shù)值0、1,隨著對應引腳變化。31……43210保留nWEITnCONRnBnBATT_FLT(1)GSTATUS0---外部引腳狀態(tài)寄存器嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第72頁!外中斷舉例staticvoid__irqEint0Int(void){ClearPending(BIT_EINT0);Uart_Printf("EINT0interruptisoccurred.\n");}staticvoid__irqEint1Int(void){ClearPending(BIT_EINT1);Uart_Printf("EINT1interruptisoccurred.\n");}嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第73頁!

switch(extintMode){case'1': rEXTINT0=(rEXTINT0&~((7<<4)|(0x7<<0)))|0x0<<4|0x0<<0; //EINT0/1=lowleveltriggered break;case'2': rEXTINT0=(rEXTINT0&~((7<<4)|(0x7<<0)))|0x1<<4|0x1<<0; //EINT0/1=highleveltriggered break;case'3': rEXTINT0=(rEXTINT0&~((7<<4)|(0x7<<0)))|0x2<<4|0x2<<0; //EINT0/1=fallingedgetriggered break;嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第74頁!Uart_Printf(“PresstheEINT0/1buttonsorPressanykeytoexit.\n”); //設置中斷向量pISR_EINT0=(U32)Eint0Int; //將中斷處理程序的開始pISR_EINT1=(U32)Eint1Int;; //地址送到中斷向量表rEINTPEND=0xffffff;//清除EINTPND需要向其中寫入數(shù) 據(jù)。因此這句代碼的含義是清除EINTPND。rSRCPND=BIT_EINT0|BIT_EINT1; //toclearthepreviouspendingstatesrINTPND=BIT_EINT0|BIT_EINT1;rINTMSK=~(BIT_EINT0|BIT_EINT1);Uart_Getch();rEINTMASK=0xffffff;rINTMSK=BIT_ALLMSK;} (voidTest_Eint(void)函數(shù)結束) 注釋:#defineBIT_ALLMSK(0xffffffff)嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第75頁!一、概述 1、S3C2410X定時器的主要特性 5個16位定時器; 2個8位預分頻器和2個4位分頻器; 可編程PWM輸出占空比; 具有初值自動重裝連續(xù)輸出模式和單脈沖輸出模式; 具有死區(qū)生成器。

S3C2410有5個16位的定時器,定時器0-3具有PWM(脈寬調(diào)制)功能。定時器4是一個內(nèi)部定時器,沒有輸出引腳,供內(nèi)部使用。定時器0有死區(qū)產(chǎn)生器,通常用于大電流設備控制。

有2個8位預分頻器和2個4位分頻器。定時器0和定時器1分享同一個8位的預分頻器和分頻器,定時器2、3、4分享另一個預分頻器和分頻器,分頻器有1/2、1/4、1/8、1/16這4種分頻值。定時器從分頻器接收自己的時鐘信號,時鐘分頻器從相應的預分頻器接收時鐘信號。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第76頁!二、結構與工作原理1、定時器結構

(1)時鐘控制:系統(tǒng)為每個定時器設置有:預分頻器、分頻器。

(2)定時器組成(5部分): 減法計數(shù)器、初值寄存器、比較寄存器、觀察寄存器、控制邏輯等部分構成。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第77頁!

2、工作原理

(1)定時器工作過程 裝入初值、啟動計數(shù),計數(shù)結束產(chǎn)生中斷請求,并且可以重裝初值連續(xù)計數(shù)。如下圖所示。嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第78頁!

(3)死區(qū)產(chǎn)生器

死區(qū)的概念:是一小段時間間隔,在這個時間間隔內(nèi),禁止兩個開關同時處于開啟狀態(tài)。死區(qū)是在功率設備控制中常采用的一種技術,防止兩個開關同時打開起反作用。 S3C2410的timer0具有死區(qū)發(fā)生器功能,可用于控制大功率設備。死區(qū)發(fā)生器開啟前后輸出波形對比嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第79頁!

3、計數(shù)時鐘和輸出計算1)定時器輸入時鐘頻率fTclk(即計數(shù)時鐘頻率)

:fTclk=[f

pclk∕(Prescaler+1)]×分頻值 式中:Prescaler,預分頻值,0---255;分頻值為1/2、1/4、1/8、1/16。2)PWM輸出時鐘頻率:PWM輸出時鐘頻率=fTclk∕

TCNTBn3)PWM輸出信號占空比(即高電平持續(xù)時間所占信號周期的比例):PWM輸出信號占空比=TCMPBn∕

TCNTBn嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第80頁!三、定時器專用寄存器 共有6種、17個寄存器TCNTBn---Timern計數(shù)初值寄存器(計數(shù)緩沖寄存器)。16位TCMPBn---Timern比較寄存器(比較緩沖寄存器)。16位TCNTOn---Timern計數(shù)讀出寄存器。16位RegisterAddressR/WDescriptionResetValueTCFG00x51000000R/W配置寄存器00x00000000TCFG10x51000004R/W配置寄存器10x00000000TCON0x51000008R/W控制寄存器0x00000000TCNTBn0x510000xxR/W計數(shù)初值寄存器(5個)0x0000TCMPBn0x510000xxR/W比較寄存器(4個)0x0000TCNTOn0x510000xxR觀察寄存器(5個)0x0000嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第81頁!2、TCFG1---DMA模式與分頻選擇寄存器DMAmode---DMA通道選擇設置位

0000:不使用DMA方式,所有通道都用中斷方式 0001:選擇timer0 0010:選擇timer1 0011:選擇timer2 0100:選擇timer3 0101:選擇timer4 011X:保留MUX4~MUX0---timer4~timer0分頻值選擇

0000:1/2 0001:1/4 0010:1/8 0011:1/16 01XX:選擇外部TCLK0、1(對timer0、1是選TCLK0,對timer4、3、2是選TCLK1)31…2423…2019…1615…1211…87…43…0保留(為0)DMAmodeMUX4MUX3MUX2MUX1MUX0嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第82頁!TR4~TR0---TIMER4~TIMER0運行控制位 0:停止 1:啟動對應的TIMERTO3~TO0---TIMER4~TIMER0輸出控制位 0:正相輸出 1:反相輸出DZE---TIMER0死區(qū)操作控制位 0:禁止死區(qū)操作 1:使能死區(qū)操作121110987…543210TR2TL1TO1TUP1TR1保留DZETL0TO0TUP0TR03、TCON---定時器控制寄存器(續(xù))31…2322212019181716151413保留TL4TUP4TR4TL3TO3TUP3TR3TL2TO2TUP2嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第83頁! 3、定時器操作例子 (1)按照前面初始化定時器;設置TCNTBn=160(50+110),TCMPBn=110;手動裝入初值后,又重設TCNTBn=80,TCMPBn=40; (2)啟動定時器,按個初值計數(shù); (3)與個比較值相同,輸出取反; (4)次計數(shù)結束,自動重裝初值80、40; (5)在次中斷處理程序又重設TCMPBn=60; (8)在第二次中斷處理程序禁止自動重裝初值,準備結束計數(shù); (10)第三次計數(shù)結束,不再計數(shù)。501104040206012346791058TOUTn嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第84頁!voidTest_TimerInt(void){variable0=0;variable1=0;variable2=0; variable3=0;variable4=0;rINTMSK=~(BIT_TIMER4|BIT_TIMER3|BIT_TIMER2|BIT_TIMER1|BIT_TIMER0);//將各個中斷向量寫入中斷向量表中pISR_TIMER0=(int)Timer0Done;pISR_TIMER1=(int)Timer1Done;pISR_TIMER2=(int)Timer2Done;pISR_TIMER3=(int)Timer3Done;pISR_TIMER4=(int)Timer4Done;Uart_Printf("\n[Timer0,1,2,3,4InterruptTest]\n\n");

嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第85頁!Delay(1); //Topensatetimererror(<1tickperiod)if(variable4==8&&variable3==4&&variable2==2&&variable1==1&&variable0==1) Uart_Printf("Timer0,1,2,3,4InterruptTest-->OK\n"); else Uart_Printf("Timer0,1,2,3,4InterruptTest-->Fail.......\n");

嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第86頁!#defineBIT_TIMER0(0x1<<10)#defineBIT_TIMER1(0x1<<11)#defineBIT_TIMER2(0x1<<12)#defineBIT_TIMER3(0x1<<13)#defineBIT_TIMER4(0x1<<14)嵌入式系統(tǒng)第四章S共178頁,您現(xiàn)在瀏覽的是第87頁!一、概述

S3C2410的UART(通用異步串行口)有三個獨立的異步串行I/O端口:UART0、UART1、UART2,每個串口都可以在中斷和DMA兩種模式下進行收發(fā)。UART支持的最高波特率達230.4kbps。

每個UART包含:波特率發(fā)生器、接收器、發(fā)送器和控制單元。波特率發(fā)生器以PCLK或UCLK為時鐘源。發(fā)送器和接收器各包含1個16字節(jié)的FIFO寄存器和移位寄存器。

S3C2410的3個UART都有遵從1.0規(guī)范的紅外傳輸功能,UART0、UART1有完整的握手信號,可以連接MODEM。 當發(fā)送數(shù)據(jù)的時候,數(shù)據(jù)先寫到FIFO然后拷貝到發(fā)送移位寄存器,然后從數(shù)據(jù)輸出端口(TxDn)依次被移位輸出。被接收的數(shù)據(jù)也同樣從接收端口(RxDn

溫馨提示

  • 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

提交評論