S5PV210微處置器功能部件和應(yīng)用_第1頁
S5PV210微處置器功能部件和應(yīng)用_第2頁
S5PV210微處置器功能部件和應(yīng)用_第3頁
S5PV210微處置器功能部件和應(yīng)用_第4頁
S5PV210微處置器功能部件和應(yīng)用_第5頁
已閱讀5頁,還剩156頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

共161頁1第8章S5PV210微處理器功能部件及應(yīng)用

本章主要內(nèi)容(續(xù))5、S5PV210產(chǎn)品編碼;6、S5PV210GPIO;7、S5PV210UART;共161頁28.5S5PV210

產(chǎn)品編碼(資料90頁)8.5.1寄存器映射寄存器地址R/W說明復(fù)位值PRO_ID0xE000_0000R產(chǎn)品信息0x431100208.5.2PRO_ID寄存器PRO_ID位說明初始狀態(tài)產(chǎn)品ID[31:12]分配給S5PV210是“0x43110”0x43110保留[11:8]保留-版本號[7:4]修正號0x2設(shè)備ID[3:0]000:V210;001:C110010:C110;其它保留0x0共161頁38.6S5PV210GPIO(92頁)1、GPIO概述

S5PV210包括237個多功能的輸入/輸出端口引腳和142個存儲器端口引腳,以下是34個普通端口組和2個存儲器端口組:(1)GPA0:8位I/O端口——有流控的2xUART;(2)GPA1:4位I/O端口——沒有流控的2xUART或有流控的1xUART;共161頁4(3)GPB:8位I/O端口——2xSPI;(4)GPC0:5位I/O端口——I2S,PCM,AC97;(5)GPC1:5位I/O端口——I2S,SPDIF,LCD_FRM;(6)GPD0:4位I/O端口——PWM;(7)GPD1:6位I/O端口——3xI2C,PWM,IEM;共161頁5(8)GPE0,1:13位I/O端口——CameraI/F;(9)GPF0,1,2,3:30位I/O端口——LCDI/F;(10)GPG0,1,2,3:28位I/O端口——4xMMC通道(通道0和2支持4位和8位模式,但通道1和3僅支持4位模式);(11)GPH0,1,2,3:32位I/O端口——鍵盤、外部喚醒(高達(dá)32位)。GPH組在帶電部分;共161頁6(12)GPI:低功耗的I2C、PCM(I/O端口沒有使用),通過AUDIO_SSPDN寄存器來配置值PDN掉電控制;(13)GPJ0,1,2,3,4:35位I/O端口——ModemIF,CAMIF,CFCON,KEYPAD,SROMADDR[22:16];(14)MP0_1,2,3:20位I/O端口——EBI(SROM,NF,OneNAND)的控制信號;共161頁7(15)MP0_4,5,6,7:32位I/O存儲器端口——EBI(EBI的更多配置信息);(16)MP1_0~8:71位DRAM1端口(I/O端口沒有使用);(17)MP2_0~8:71位DRAM2端口(I/O端口沒有使用);(18)ETC0,ETC1,ETC2,ETC4:28位I/OETC端口——JTAG,OperatingMode,RESET,CLOCK(ETC3保留)。共161頁82、GPIO特性(1)控制146個GPIO中斷;(2)控制32個外部中斷;(3)237個多功能I/O端口;(4)除GPH0,GPH1,GPH2,andGPH3外,其它GPIO在休眠模式控制引腳狀態(tài)。共161頁93、S5PV210I/O類型I/O類型I/O組說明AGPA0,GPA1,GPC0,GPC1,GPD0,GPD1,GPE0,GPE1,GPF0,GPF1,GPF2,GPF3,GPH0,GPH1,GPH2,GPH3,GPI,GPJ0,GPJ1,GPJ2,GPJ3,GPJ4NormalI/O(3.3VI/O)BGPB,GPG0,GPG1,GPG2,GPG3,MP0FastI/O(3.3VI/O)CMP1,MP2DRAMI/O(1.8VI/O)

配置I/O被分成類型A和B。共161頁104、I/O說明(98頁)(1)GPIO塊圖

GPIO

由兩部分組成,依次是帶電部分和不帶電部分。帶電部分在休眠模式下也提供電源,因此在休眠模式下寄存器的值被保存;不帶電部分則不同。共161頁11共161頁12(2)引腳摘要I/OControlTypeFunctionDescriptionA1Controlatpowerdownmodeispossible,powerdownmodeisreleasedbyS/W(ENABLE_GPIObitofOTHERSregisteratPMU)A2Controlatpowerdownmodeispossible,powerdownmodeisreleasedbyS/W(ENABLE_UART_IObitofOTHERSregisteratPMU)A3Controlatpowerdownmodeispossible,powerdownmodeisreleasedbyS/W(ENABLE_MMC_IObitofOTHERSregisteratPMU)A4Controlatpowerdownmodeispossible,powerdownmodeisreleasedbyH/WautomaticallyA5Controlatpowerdownmodeispossible,powerdownmodeisreleasedbyH/W(ENABLE_CF_IObitofOTHERSregisteratPMU)B1NoRetention(AliveIO)B2NoRetention(AnalogIO)共161頁13(3)引腳復(fù)用說明(100頁)引腳名GPIO功能0功能1功能2功能3缺省復(fù)位休眠狀態(tài)PUDI/OXuRXD[0]GPA0[0]UART_0_RXDGPIPDI(L)A1XuTXD[0]GPA0[1]UART_0_TXDGPIPDI(L)A1XuCTSn[0]GPA0[2]UART_0_CTSnGPIPDI(L)A1XuRTSn[0]GPA0[3]UART_0_RTSnGPIPDI(L)A1

詳情參考數(shù)據(jù)手冊100頁。共161頁145、寄存器說明(115頁)(1)寄存器映射

每端口組有兩種類型的控制寄存器,一種工作在正常模式,另外一種工作在掉電模式(STOP,DEEP-STOP,SLEEPmode)。

正常寄存器(如GPA0CON,GPA0DAT,GPA0PUD,GPA0DRV)對應(yīng)正常模式;掉電寄存器(如GPA0CONPDN,GPA0PUDPDN)對應(yīng)掉電模式。共161頁15

如果S5PV210進(jìn)入掉電模式,所有配置和下拉控制被設(shè)置為掉電模式。寄存器地址R/W說明復(fù)位值GPA0CON0xE020_0000R/W端口組GPA0配置寄存器0x00000000GPA0DAT0xE020_0004R/W端口組GPA0數(shù)據(jù)寄存器0x00GPA0PUD0xE020_0008R/W端口組GPA0上/下拉寄存器0x5555GPA0DRV0xE020_000CR/W端口組GPA0驅(qū)動能力控制寄存器0x0000GPA0CONPDN0xE020_0010R/W端口組GPA0掉電模式配置寄存器0x00GPA0PUDPDN0xE020_0014R/W端口組GPA0掉電上/下拉寄存器0x00共161頁16寄存器地址R/W說明復(fù)位值GPA1CON0xE020_0020R/W端口組GPA1配置寄存器0x00000000GPA1DAT0xE020_0024R/W端口組GPA1數(shù)據(jù)寄存器0x00GPA1PUD0xE020_0028R/W端口組GPA1上/下拉寄存器0x5555GPA1DRV0xE020_002CR/W端口組GPA1驅(qū)動能力控制寄存器0x0000GPA1CONPDN0xE020_0030R/W端口組GPA1掉電模式配置寄存器0x00GPA1PUDPDN0xE020_0034R/W端口組GPA1掉電上/下拉寄存器0x00共161頁17寄存器地址R/W說明復(fù)位值GPBCON0xE020_0040R/W端口組GPB配置寄存器0x00000000GPBDAT0xE020_0044R/W端口組GPB數(shù)據(jù)寄存器0x00GPBPUD0xE020_0048R/W端口組GPB上/下拉寄存器0x5555GPBDRV0xE020_004CR/W端口組GPB驅(qū)動能力控制寄存器0x0000GPBCONPDN0xE020_0050R/W端口組GPB掉電模式配置寄存器0x00GPBPUDPDN0xE020_0054R/W端口組GPB掉電上/下拉寄存器0x00共161頁18寄存器地址R/W說明復(fù)位值GPC0CON0xE020_0060R/W端口組GPC0配置寄存器0x00000000GPC0DAT0xE020_0064R/W端口組GPC0數(shù)據(jù)寄存器0x00GPC0PUD0xE020_0068R/W端口組GPC0上/下拉寄存器0x0155GPC0DRV0xE020_006CR/W端口組GPC0驅(qū)動能力控制寄存器0x0000GPC0CONPDN0xE020_0070R/W端口組GPC0掉電模式配置寄存器0x00GPC0PUDPDN0xE020_0074R/W端口組GPC0掉電上/下拉寄存器0x00共161頁19寄存器地址R/W說明復(fù)位值GPC1CON0xE020_0080R/W端口組GPC1配置寄存器0x00000000GPC1DAT0xE020_0084R/W端口組GPC1數(shù)據(jù)寄存器0x00GPC1PUD0xE020_0088R/W端口組GPC1上/下拉寄存器0x0155GPC1DRV0xE020_008CR/W端口組GPC1驅(qū)動能力控制寄存器0x0000GPC1CONPDN0xE020_00790R/W端口組GPC1掉電模式配置寄存器0x00GPC1PUDPDN0xE020_0094R/W端口組GPC1掉電上/下拉寄存器0x00共161頁20寄存器地址R/W說明復(fù)位值GPD0CON0xE020_00A0R/W端口組GPD0配置寄存器0x00000000GPD0DAT0xE020_00A4R/W端口組GPD0數(shù)據(jù)寄存器0x00GPD0PUD0xE020_00A8R/W端口組GPD0上/下拉寄存器0x0055GPD0DRV0xE020_00ACR/W端口組GPD0驅(qū)動能力控制寄存器0x0000GPD0CONPDN0xE020_00B0R/W端口組GPD0掉電模式配置寄存器0x00GPD0PUDPDN0xE020_00B4R/W端口組GPD0掉電上/下拉寄存器0x00共161頁21寄存器地址R/W說明復(fù)位值GPD1CON0xE020_00C0R/W端口組GPD1配置寄存器0x00000000GPD1DAT0xE020_00C4R/W端口組GPD1數(shù)據(jù)寄存器0x00GPD1PUD0xE020_00C8R/W端口組GPD1上/下拉寄存器0x0555GPD1DRV0xE020_00CCR/W端口組GPD1驅(qū)動能力控制寄存器0x0000GPD1CONPDN0xE020_00C0R/W端口組GPD1掉電模式配置寄存器0x00GPD1PUDPDN0xE020_00C4R/W端口組GPD1掉電上/下拉寄存器0x00共161頁22寄存器地址R/W說明復(fù)位值GPE0CON0xE020_00E0R/W端口組GPE0配置寄存器0x00000000GPE0DAT0xE020_00E4R/W端口組GPE0數(shù)據(jù)寄存器0x00GPE0PUD0xE020_00E8R/W端口組GPE0上/下拉寄存器0x5555GPE0DRV0xE020_00ECR/W端口組GPE0驅(qū)動能力控制寄存器0x0000GPE0CONPDN0xE020_00F0R/W端口組GPE0掉電模式配置寄存器0x00GPE0PUDPDN0xE020_00F4R/W端口組GPE0掉電上/下拉寄存器0x00共161頁23寄存器地址R/W說明復(fù)位值GPE1CON0xE020_0100R/W端口組GPE1配置寄存器0x00000000GPE1DAT0xE020_0104R/W端口組GPE1數(shù)據(jù)寄存器0x00GPE1PUD0xE020_0108R/W端口組GPE1上/下拉寄存器0x0155GPE1DRV0xE020_010CR/W端口組GPE1驅(qū)動能力控制寄存器0x0000GPE1CONPDN0xE020_0110R/W端口組GPE1掉電模式配置寄存器0x00GPE1PUDPDN0xE020_0114R/W端口組GPE1掉電上/下拉寄存器0x00太多,后續(xù)略。共161頁24(2)端口組GPA0

控制寄存器

有6個控制寄存器,依次為:GPA0CON,GPA0DAT,GPA0PUD,GPA0DRV,GPA0CONPDN,GPA0PUDPDN(后兩個是掉電模式用)。①GPA0CON,R/W,Address=0xE020_0000GPA0CON位說明初始狀態(tài)GPA0CON[7][31:28]0000=Input0001=Output0010=UART_1_RTSn0011~1110=Reserved1111=GPA0_INT[7]0000共161頁25GPA0CON位說明初始狀態(tài)GPA0CON[6][27:24]0000=Input0001=Output0010=UART_1_CTSn0011~1110=Reserved1111=GPA0_INT[6]0000GPA0CON[5][23:20]0000=Input0001=Output0010=UART_1_TXD0011~1110=Reserved1111=GPA0_INT[5]0000GPA0CON[4][19:16]0000=Input0001=Output0010=UART_1_RXD0011~1110=Reserved1111=GPA0_INT[4]0000共161頁26GPA0CON位說明初始狀態(tài)GPA0CON[3][15:12]0000=Input0001=Output0010=UART_0_RTSn0011~1110=Reserved1111=GPA0_INT[3]0000GPA0CON[2][11:8]0000=Input0001=Output0010=UART_0_CTSn0011~1110=Reserved1111=GPA0_INT[2]0000GPA0CON[1][7:4]0000=Input0001=Output0010=UART_0_TXD0011~1110=Reserved1111=GPA0_INT[1]0000共161頁27GPA0CON位說明初始狀態(tài)GPA0CON[0][3:0]0000=Input0001=Output0010=UART_0_RXD0011~1110=Reserved1111=GPA0_INT[0]0000②GPA0DAT,R/W,Address=0xE020_0004GPA0DAT位說明初始狀態(tài)GPA0DAT[7:0][7:0]當(dāng)該端口配置成輸入口時(shí),對應(yīng)位是引腳狀態(tài);當(dāng)該端口配置成輸出口時(shí),引腳狀態(tài)與位狀態(tài)一致;當(dāng)端口配置成多功能時(shí),輸入數(shù)據(jù)不定。0X00共161頁28③GPA0PUD,R/W,Address=0xE020_0008GPA0PUD位說明初始狀態(tài)GPA0PUD[n][2n+1:2n]

n=0~700=Pull-up/downdisabled01=Pull-downenabled10=Pull-upenabled11=Reserved0x5555④GPA0DRV,R/W,Address=0xE020_000CGPA0DRV位說明初始狀態(tài)GPA0DRV[n][2n+1:2n]

n=0~700=1x10=2x01=3x11=4x0x0000共161頁29⑤GPA0CONPDN,R/W,Address=0xE020_0010GPA0CONPDN位說明初始狀態(tài)GPA0[n][2n+1:2n]

n=0~700=Output001=Output110=Input11=Previousstate0x00⑥GPA0PUDPDN,R/W,Address=0xE020_0014GPA0PUDPDN

位說明初始狀態(tài)GPA0[n][2n+1:2n]

n=0~700=Pull-up/downdisabled01=Pull-downenabled10=Pull-upenabled11=Reserved0x00

其它端口組寄存器太多,這里略。共161頁30(3)GPIO中斷控制寄存器(215頁)GPIO中斷由22組構(gòu)成,依次為:GPA0,GPA1,GPB,GPC0,GPC1,GPD0,GPD1,GPE0,GPE1,GPF0,GPF1,GPF2,GPF3,GPG0,GPG1,GPG2,GPG3,GPJ0,GPJ1,GPJ2,GPJ3、GPJ4。S5PV210采用兩種過濾檢測中斷:延遲過濾和數(shù)字過濾。共161頁31

延遲過濾采用延遲單元。

如果時(shí)鐘不可用,在上電區(qū)域選擇延遲過濾。

延遲過濾在中斷發(fā)生35納秒后使能檢測中斷。

數(shù)字過濾意味著所有的中斷是基于時(shí)鐘的。數(shù)字過濾可以使用在時(shí)鐘支持的區(qū)域。共161頁32

當(dāng)選擇數(shù)字過濾時(shí)設(shè)置過濾寬度。

數(shù)字過濾在過濾寬度中每個時(shí)鐘檢測中斷。

過濾寬度在上電部分是6

位,在掉電部分是7

位。

當(dāng)使用中斷功能時(shí),為了使用中斷可以使用延時(shí)過濾,也可以使用數(shù)字過濾。共161頁33

當(dāng)過濾被屏蔽時(shí),系統(tǒng)從連續(xù)的中斷中檢測所有中斷是很可能的,但有些中斷會丟失。

為可靠檢測中斷,最好設(shè)置過濾使能。

GPIO

中斷不能用在喚醒資源中,對于喚醒中斷源可以使用外中斷。

下表為GPIO

中斷控制寄存器。共161頁34寄存器地址讀寫說明復(fù)位值GPA0_INT_CON0xE020_0700R/WGPA0_INT配置寄存器0x0GPA1_INT_CON0xE020_0704R/WGPA1_INT配置寄存器0x0GPB_INT_CON0xE020_0708R/WGPB_INT配置寄存器0x0GPC0_INT_CON0xE020_070CR/WGPC0_INT配置寄存器0x0GPC1_INT_CON0xE020_0710R/WGPC1_INT配置寄存器0x0還有很多,略。共161頁35①GPA0_INT_CON,R/W,Address=0xE020_0700(222頁)GPA0_INT_CON保留位說明初始狀態(tài)保留[31]保留0GPA0_INT_CON[7][30:28]設(shè)置GPA0_INT[7]信號的方法:000=Lowlevel001=Highlevel010=Fallingedgetriggered011=Risingedgetriggered100=Bothedgetriggered101~111=Reserved000保留[27]保留0GPA0_INT_CON[6][26:24]設(shè)置GPA0_INT[6]信號的方法:000=Lowlevel001=Highlevel010=Fallingedgetriggered011=Risingedgetriggered100=Bothedgetriggered101~111=Reserved000共161頁36GPA0_INT_CON保留位說明初始狀態(tài)保留[23]保留0GPA0_INT_CON[5][22:20]設(shè)置GPA0_INT[5]信號的方法:000=Lowlevel001=Highlevel010=Fallingedgetriggered011=Risingedgetriggered100=Bothedgetriggered101~111=Reserved000保留[19]保留0GPA0_INT_CON[4][18:16]設(shè)置GPA0_INT[4]信號的方法:000=Lowlevel001=Highlevel010=Fallingedgetriggered011=Risingedgetriggered100=Bothedgetriggered101~111=Reserved000共161頁37GPA0_INT_CON保留位說明初始狀態(tài)保留[15]保留0GPA0_INT_CON[3][14:12]設(shè)置GPA0_INT[3]信號的方法:000=Lowlevel001=Highlevel010=Fallingedgetriggered011=Risingedgetriggered100=Bothedgetriggered101~111=Reserved000保留[11]保留0GPA0_INT_CON[2][10:8]設(shè)置GPA0_INT[2]信號的方法:000=Lowlevel001=Highlevel010=Fallingedgetriggered011=Risingedgetriggered100=Bothedgetriggered101~111=Reserved000共161頁38GPA0_INT_CON保留位說明初始狀態(tài)保留[7]保留0GPA0_INT_CON[1][6:4]設(shè)置GPA0_INT[1]信號的方法:000=Lowlevel001=Highlevel010=Fallingedgetriggered011=Risingedgetriggered100=Bothedgetriggered101~111=Reserved000保留[3]保留0GPA0_INT_CON[0][2:0]設(shè)置GPA0_INT[0]信號的方法:000=Lowlevel001=Highlevel010=Fallingedgetriggered011=Risingedgetriggered100=Bothedgetriggered101~111=Reserved000其它寄存器類似,略。共161頁39②GPA0_INT_FLTCON0,R/W,Address=0xE020_0800(257頁)GPA0_INT_FLTCON0位說明初始狀態(tài)FLTEN1[3][31]GPA0_INT[3]的過濾使能:0=Disables1=Enables0FLTWIDTH1[3][30:24]GPA0_INT[3]的過濾寬度,當(dāng)FLTSEL1=1時(shí)該值有效。0FLTEN1[2][23]GPA0_INT[2]的過濾使能:0=Disables1=Enables0FLTWIDTH1[2][22:16]GPA0_INT[2]的過濾寬度,當(dāng)FLTSEL1=1時(shí)該值有效。0FLTEN1[1][15]GPA0_INT[1]的過濾使能:0=Disables1=Enables0FLTWIDTH1[1][14:8]GPA0_INT[1]的過濾寬度,當(dāng)FLTSEL1=1時(shí)該值有效。0共161頁40GPA0_INT_FLTCON0位說明初始狀態(tài)FLTEN1[0][7]GPA0_INT[0]的過濾使能:0=Disables1=Enables0FLTWIDTH1[0][6:0]GPA0_INT[0]的過濾寬度,當(dāng)FLTSEL1=1時(shí)該值有效。0其它寄存器類似,略。共161頁41③GPA0_INT_MASK,R/W,Address=0xE020_0900(288頁)GPA0_INT_MASK位說明初始狀態(tài)保留[31:8]保留0GPA0_INT_MASK[7][7]0=EnablesInterrupt,1=Masked1GPA0_INT_MASK[6][6]0=EnablesInterrupt,1=Masked1GPA0_INT_MASK[5][5]0=EnablesInterrupt,1=Masked1GPA0_INT_MASK[4][4]0=EnablesInterrupt,1=Masked1GPA0_INT_MASK[3][3]0=EnablesInterrupt,1=Masked1GPA0_INT_MASK[2][2]0=EnablesInterrupt,1=Masked1GPA0_INT_MASK[1][1]0=EnablesInterrupt,1=Masked1GPA0_INT_MASK[0][0]0=EnablesInterrupt,1=Masked1其它寄存器類似,略。共161頁42④GPA0_INT_PEND,R/W,Address=0xE020_0A00(300頁)GPA0_INT_PEND位說明初始狀態(tài)保留[31:8]保留0GPA0_INT_PEND[7][7]0=Notoccur,1=Occurinterrupt0GPA0_INT_PEND[6][6]0=Notoccur,1=Occurinterrupt0GPA0_INT_PEND[5][5]0=Notoccur,1=Occurinterrupt0GPA0_INT_PEND[4][4]0=Notoccur,1=Occurinterrupt0GPA0_INT_PEND[3][3]0=Notoccur,1=Occurinterrupt0GPA0_INT_PEND[2][2]0=Notoccur,1=Occurinterrupt0GPA0_INT_PEND[1][1]0=Notoccur,1=Occurinterrupt0GPA0_INT_PEND[0][0]0=Notoccur,1=Occurinterrupt0其它寄存器類似,略。共161頁43⑤GPIO_INT_GRPPRI,R/W,Address=0xE020_0B00(312頁)GPIO_INT_GRPPRI位說明初始狀態(tài)保留[31:1]保留0GPIO_INT_GRPPRI[0]GPIO中斷組優(yōu)先級循環(huán)使能,0不循環(huán)(固定)0⑥GPIO_INT_PRIORITY,R/W,Address=0xE020_0B04GPIO_INT_PRIORITY位說明初始狀態(tài)保留[31:22]保留0GPJ4_INT_PRI[21]GPJ4_INT優(yōu)先級循環(huán)使能,0不循環(huán)(固定)0GPJ3_INT_PRI[20]GPJ3_INT優(yōu)先級循環(huán)使能,0不循環(huán)(固定)0………..GPA0_INT_PRI[0]GPA0_INT優(yōu)先級循環(huán)使能,0不循環(huán)(固定)0共161頁44⑦GPIO_INT_SERVICE,R/W,Address=0xE020_0B08(314頁)GPIO_INT_SERVICE位說明初始狀態(tài)保留[31:8]保留0SVC_Group_Num[7:3]GPIO中斷服務(wù)組號(GPA0_INT~GPJ4_INT)無中斷:00000=0X0GPA0_INT:00001=0X01GPA1_INT:00010=0X2GPB_INT:00011=0X3………..GPJ14_INT:10110=0X160SVC_Num[2:0]被服務(wù)的中斷號0共161頁45⑧GPIO_INT_SERVICE_PEND,R/W,Address=0xE020_0B0C(315頁)GPIO_INT_SERVICE_PEND位說明初始狀態(tài)保留[31:8]保留0SVC_PEND_Num[7:0]GPIOInterruptServiceInterruptnumber(0=Notoccur,1=Occurinterrupt)(0~7bit)0bit:0000_0001==0x11bit:0000_0010==0x22bit:0000_0100==0x43bit:0000_1000==0x84bit:0001_0000==0x105bit:0010_0000==0x206bit:0100_0000==0x407bit:1000_0000==0x800共161頁46⑨GPIO_INT_GRPFIXPRI,R/W,Address=0xE020_0B10(316頁)GPIO_INT_GRPFIXPRI位說明初始狀態(tài)保留[31:5]保留0Highest_GRP_NUM[4:0]當(dāng)固定組優(yōu)先級模式時(shí)(GPA0_INT~GPJ4_INT),最高優(yōu)先級的組號:Non_INT:00000==0x0,GPA0_INT:00001==0x1GPA1_INT:00010==0x2,GPB_INT:00011==0x3GPC0_INT:00100==0x4,GPC1_INT:00101==0x5GPD0_INT:00110==0x6,GPD1_INT:00111==0x7GPE0_INT:01000==0x8,GPE1_INT:01001==0x9GPF0_INT:01010==0xA,GPF1_INT:01011==0xBGPF2_INT:01100==0xC,GPF3_INT:01101==0xDGPG0_INT:01110==0xE,GPG1_INT:01111==0xFGPG2_INT:10000==0x10,GPG3_INT:10001==0x11GPJ0_INT:10010==0x12,GPJ1_INT:10011==0x13GPJ2_INT:10100==0x14,GPJ3_INT:10101=0x15GPJ4_INT:10110=0x16。假如GPC0_INT是高優(yōu)先級,下一個優(yōu)先組是GPC1_INT,不是GPA0_INT.0共161頁47⑩GPA0_INT_FIXPRI,R/W,Address=0xE020_0B14(316頁)GPA0_INT_FIXPRI位說明初始狀態(tài)保留[31:3]保留0Highest_EINT_NUM[2:0]當(dāng)固定優(yōu)先級模式時(shí)0~7時(shí),在GPA0_INT中最高優(yōu)先級的中斷號。假如3是最高優(yōu)先級,下一個優(yōu)先級是4,不是00其它寄存器類似,略。共161頁4848(1)蜂鳴器應(yīng)用

在應(yīng)用中,為了產(chǎn)生聲音報(bào)警,常常使用蜂鳴器。下圖為S5PV210

中使用蜂鳴器的電路接線圖。6、GPIO應(yīng)用實(shí)例共161頁4949①蜂鳴器電路圖共161頁5050②涉及寄存器及操作端口控制寄存器GPA0CON(0xE020_0000)。端口數(shù)據(jù)寄存器GPA0DAT(0xE020_0004)。GPA0CON(0xE020_0000)=OXXXXXXXX1。GPA0DAT(0xE020_0004)=0XXXXXXXXX0~0XXXXXXXXX1。共161頁5151③用ARM

的匯編語言實(shí)現(xiàn)的程序

AREALarm,CODE,READONLY;只讀的代碼段

ENTRY;程序入口點(diǎn)

startLDRR0,=0XE0200000

LDRR1,=0XFFFFFFF1STRR1,[R0]LDRR0,=0XE0200004LOOPLDRR1,=0XFFFFFFF0STRR1,[R0]BLdelay

LDRR1,=0XFFFFFFF1STRR1,[R0]BLdelayBLOOP共161頁5252③用ARM的匯編語言實(shí)現(xiàn)的程序(續(xù))delayLDRR2,=0X0000FFFFdelay1MOVR3,R3SUBSR2,R2,#1BNEdelay1

MOVPC,LR

END

;段結(jié)束若使用BLR,編譯器提示不能使用這種方式。共161頁5353④用C語言實(shí)現(xiàn)的程序#defineGPA0CON(*((volatileunsignedint*)0xE0200000))#defineGPA0DAT(*((volatileunsignedint*)0xE0200004))/********************延時(shí)程序************/

voidDelayNS(intdly){inti;for(;dly>0;dly--)for(i=0;i<5000;i++);}共161頁5454/***蜂鳴程序**/intmain(void){

GPA0CON=0XFFFFFFF1;//輸出

while(1){

GPA0DAT=0XFFFFFFF0;DelayNS(10);

GPA0DAT=0XFFFFFFF1;DelayNS(10);}return(0);}④用C語言實(shí)現(xiàn)的程序(續(xù))共161頁558.7S5PV210UART(853頁)8.7.1UART概述

S5PV210中的UART

提供4個獨(dú)立的、異步的串行I/O

口。這些端口基于中斷或

DMA模式操作。UART基于中斷或DMA在CPU和UART之間傳輸和接收數(shù)據(jù)。UART支持位速率高達(dá)3Mbps

。每個UART通道包含兩個FIFOs

用于接收和發(fā)送數(shù)據(jù):通道1的FIFOs是256字節(jié),通道2是64字節(jié),通道3、4是16字節(jié)。共161頁56

UART

包括可編程的波特率,紅外接收器/發(fā)送器,插入1個或2個停止位,5、6、7、8位數(shù)據(jù)寬度和奇偶校驗(yàn)。

每個UART包含:一個波特率發(fā)生器、一個發(fā)送器、一個接收器和一個控制部件。如下圖所示:共161頁57共161頁58

波特率發(fā)生器使用PCLK

或SCLK_UART

作為時(shí)鐘,發(fā)送器和接收器包含有FIFOs

和數(shù)據(jù)移位器。要發(fā)送的數(shù)據(jù)被寫到TxFIFO,然后拷貝到發(fā)送移位器,數(shù)據(jù)通過發(fā)送數(shù)據(jù)引腳(TxDn)移位出去。接收的數(shù)據(jù)通過移位數(shù)據(jù)引腳(RxDn)移位進(jìn)來,然后從移位器中拷貝到RxFIFO。共161頁598.7.2UART的關(guān)鍵特性(1)RxD0,TxD0,RxD1,TxD1,RxD2,TxD2,RxD3和TxD3能夠基于DMA或中斷操作;(2)UART通道0、1、2、3具有IrDA1.0(紅外數(shù)據(jù)協(xié)會);(3)UART通道0有256字節(jié)的FIFO,通道1有64字節(jié)的FIFO,通道2、3有16字節(jié)的FIFO;共161頁60(4)UART的通道0、1、2有nRTS0,nCTS0,nRTS1,nCTS1,nCTS2和nRTS2作為自動流控;(5)支持硬握手的發(fā)送/接收。8.7.3UART說明

以下部分依次描述UART的操作,如數(shù)據(jù)發(fā)送、數(shù)據(jù)接收、中斷產(chǎn)生、波特率產(chǎn)生、環(huán)回模式、紅外模式、自動流控。共161頁61(1)數(shù)據(jù)發(fā)送(855頁)

發(fā)送的數(shù)據(jù)幀是可編程的,它包括1個起始位,5~8位數(shù)據(jù)位,1個可選的校驗(yàn)位,1個或2個停止位,這些為由線控寄存器ULCONn控制。發(fā)送器能夠產(chǎn)生一個斷點(diǎn)條件迫使輸出到邏輯0狀態(tài)作為一幀發(fā)送的開始,當(dāng)前字完全發(fā)送完后該塊將發(fā)送中斷信號,當(dāng)中斷信號發(fā)送后,發(fā)送器連續(xù)發(fā)送數(shù)據(jù)到TxFIFO(TX保持寄存器,在非FIFO模式)。共161頁62(2)數(shù)據(jù)接收

類似于數(shù)據(jù)發(fā)送,接收的數(shù)據(jù)幀也是可編程的。它由1位起始位、5~8位數(shù)據(jù)位、1位可選的校驗(yàn)位、1位或2位停止位組成,由線控寄存器ULCONn控制。接收器檢測超限錯誤、校驗(yàn)錯誤、幀錯誤、斷點(diǎn)條件,每種情況設(shè)置錯誤標(biāo)志。①超限錯誤指示老的數(shù)據(jù)未被讀取前被新的接收數(shù)據(jù)覆蓋;共161頁63②校驗(yàn)錯誤指示接收器檢測到一個不期望的校驗(yàn)條件;③幀錯誤指示接收到的數(shù)據(jù)沒有有效的停止位;④斷點(diǎn)條件指示RxDn輸入引腳保持邏輯0的時(shí)間超過一幀數(shù)據(jù)的時(shí)間。

假如在3個字的時(shí)間期間沒有接收到數(shù)據(jù),并且在FIFO模式下RxFIFO非空就發(fā)生接收暫停條件。共161頁64(3)自動流控(AFC)(855頁)S5PV210中的UART0、UART1使用nRTS和nCTS信號來支持自動流控(AFC)。如果TxD3和RxD3被GPA1CON(GPIOSFR)設(shè)置為nRTS2和nCTS2時(shí),UART2支持自動流控制。在這種情況下它可以被連接到外部的UARTS。連接UART到一個Modem,使用軟件屏蔽UMCONn寄存器的AFC位和控制nRTS信號。共161頁65

在AFC中,nRTS依賴于接收器的條件,鑒于nCTS信號控制發(fā)送器的操作。如果nCTS信號是活動的(在AFC中,nCTS信號意味著其它的UART的FIFO處于接收數(shù)據(jù)狀態(tài))UART的發(fā)送器發(fā)送數(shù)據(jù)到FIFO。在UART接受數(shù)據(jù)前,如果它的接收FIFO有多于2個字節(jié)是空的,nRTS信號必須是活動的。如果它的接收FIFO少于一個字節(jié)是空余的(在AFC中,nRTS信號意味著它自己的接收FIFO是處于接收數(shù)據(jù)狀態(tài)),nRTS信號一定是非活動的。共161頁66UARTAFC的接口圖如下:共161頁67(4)非自動流控實(shí)例(通過軟件控制NRTS和NCTS)(856頁)①擁有FIFO的RX操作第一:選擇傳輸模式(中斷或DMA);第二:檢查在UFSTATn寄存器中的RxFIFO的計(jì)數(shù)值,如果該值小于16,你必須設(shè)置UMCONn[0]為1(nRTS活動);如果該值等于或大于16,你必須設(shè)置UMCONn[0]為0(nRTS非活動);共161頁68第三:重復(fù)第二步。②擁有FIFO的Tx操作第一:選擇傳輸模式(中斷或DMA);第二:檢查UMSTATn[0]的值,如果該值是1(nCTS活動),你必須寫數(shù)據(jù)到TxFIFO;第三:重復(fù)第二步。共161頁69(5)在DMA模式中TX/RXFIFO觸發(fā)級和DMA突發(fā)大?。?57頁)

如果Tx/Rx數(shù)據(jù)達(dá)到了在DMA模式中UFCONn寄存器的觸發(fā)級別,DMA事務(wù)開始。一個DMA事務(wù)傳輸數(shù)據(jù)的大小由UCONn寄存器的DMA突發(fā)大小字段控制。DMA事務(wù)重復(fù)直到傳輸數(shù)據(jù)的大小達(dá)到Tx/RxFIFO觸發(fā)級別。因此DMA突發(fā)大小應(yīng)該是小于或等于Tx/RxFIFO觸發(fā)級的。一般情況下建議Tx/RxFIFO的觸發(fā)級和DMA突發(fā)大小匹配。共161頁70(6)RS-232C接口(857頁)

為了連接UART

到modem

接口(不是空modem),需要用到nRTS,nCTS,nDSR,nDTR,DCD

和nRI信號。由于AFC

不支持RS-232C

接口,你可以通過軟件,利用I/O

端口來控制這些信號。共161頁71(7)中斷/DMA請求與產(chǎn)生

在S5PV210

中的每個UART

有7個狀態(tài)信號(Tx/Rx/Error),它們依次是:重寫錯誤、校驗(yàn)錯誤、幀錯誤、斷點(diǎn)、接收緩沖數(shù)據(jù)就緒、發(fā)送緩沖空、發(fā)送移位空。這些情況通過UART

的相關(guān)寄存器指示(UTRSTATn/UERSTATn)。共161頁72

重寫錯誤、校驗(yàn)錯誤、幀錯誤、斷點(diǎn)情況說明了接收錯誤狀態(tài)。如果將控制寄存器(UCONn)中接收錯誤中斷使能位置1,接收錯誤狀態(tài)產(chǎn)生接收錯誤狀態(tài)中斷。如果一個接收錯誤狀態(tài)中斷被檢測到,可以通過讀UERSTATn

寄存器的值找到中斷源。共161頁73

在FIFO模式中如果接收移位器到接收FIFO寄存器的接收器的傳送數(shù)據(jù)量大于或等于RxFIFO

觸發(fā)級,并且在控制寄存器(UCONn)中的接收模式位置1,Rx

中斷產(chǎn)生(中斷請求或輪訓(xùn)模式)。

在非FIFO模式中,在中斷請求和輪訓(xùn)模式下傳輸接收移位器到接收保持寄存器的數(shù)據(jù)產(chǎn)生Rx中斷。共161頁74

如果傳輸器從傳輸FIFO寄存器到傳輸移位器傳輸數(shù)據(jù),并且在傳輸FIFO的數(shù)據(jù)量小于或等于TxFIFO

觸發(fā)級,Tx

中斷被產(chǎn)生(在控制寄存器被選作為中斷請求或輪詢模式提供傳輸模式)。在非FIFO

模式中,在中斷請求和輪詢模式下傳輸從保持寄存器到傳輸移位器的數(shù)據(jù)產(chǎn)生TX中斷。共161頁75

如果在傳輸FIFO

中的數(shù)據(jù)量小于觸發(fā)級Tx

中斷總是要請求。這意味著只要你使能了Tx

中斷,一個中斷就會請求產(chǎn)生,直到你填充Tx

緩沖。推薦先填充Tx

緩沖,再使能Tx

中斷。

S5PV210

的中斷控制器是觸發(fā)級類型,如果你編程UART

控制寄存器必須按級設(shè)置中斷類型。共161頁76

如果在控制寄存器中的接收和發(fā)送模式被選擇為DMAn

請求模式,那么DMAn

請求產(chǎn)生代替上述情況下的Rx或Tx

中斷。

下表為擁有

FIFO

連接的中斷:共161頁77TypeFIFOModeNon-FIFOModeRxinterruptGeneratedifRxFIFOcountisgreaterthanorequaltothetriggerlevelofreceivedFIFO.GeneratedifthenumberofdatainFIFOdoesnotreachesRxFIFOtriggerLevelanddoesnotreceiveanydataduring3-wordtime(receivetimeout).ThisintervalfollowsthesettingofWordLengthbit.Generatedbyreceiveholdingregisterwheneverreceivebufferbecomesfull.TxinterruptGeneratedifTxFIFOcountislessthanorequaltothetriggerleveloftransmitFIFO(TxFIFOtriggerLevel).Generatedbytransmitholdingregisterwhenevertransmitbufferbecomesempty.ErrorinterruptGeneratedifframeerror,parityerror,orbreaksignalaredetected.GeneratedifUARTreceivesnewdatawhenRxFIFOisfull(overrunerror).Generatedbyallerrors.Howeverifanothererroroccursatthesametime,onlyoneinterruptisgenerated.共161頁78(8)UART錯誤狀態(tài)FIFO(858頁)

UART

除了RxFIFO

寄存器外還有錯誤狀態(tài)

FIFO

,錯誤狀態(tài)寄存器指示在FIFO

寄存器中接收的數(shù)據(jù)有錯誤。僅當(dāng)數(shù)據(jù)有錯并在準(zhǔn)備讀出數(shù)據(jù)時(shí)產(chǎn)生一個錯誤中斷。為了清楚錯誤狀態(tài)FIFO

,有錯的URXHn

和UERSTATn

必須讀出。共161頁79

例如:假設(shè)UARTRxFIFO

依次接收A、B、C、D、E字符,在接收B

時(shí)發(fā)生幀錯誤,在接收D時(shí)發(fā)生校驗(yàn)錯誤。

實(shí)際的UART

接收錯誤不產(chǎn)生任何錯誤中斷,有錯誤的接收字符是不讀,如果有錯誤的接收字符被讀將發(fā)生一個錯誤中斷。共161頁80TimeSequenceFlowErrorInterruptNote#0Ifnocharacterisreadout-#1A,B,C,D,andEisreceived-#2AfterAisreadoutFrameerror(inB)interruptoccurs.The'B'hastobereadout.#3AfterBisreadout-#4AfterCisreadoutParityerror(inD)interruptoccurs.The'D'hastobereadout.#5AfterDisreadout#6AfterEisreadout共161頁81

UART

接收5

個字符(其中2個錯誤)的示意圖:共161頁82(1)紅外(IR)模式(860頁)

S5PV210UART

塊支持紅外接收和發(fā)送。通過設(shè)置在

UART控制寄存器(ULCONn)中的紅外模式位來選擇的。下圖展示了如何實(shí)現(xiàn)紅外模式:共161頁83

在紅外發(fā)送模式中,在普通的串行傳輸速率下(假如傳輸數(shù)據(jù)位是0)傳輸脈沖在位幀的3/16時(shí)產(chǎn)生。然而,在紅外接收模式中,接收器必須在位幀的3/16檢測識別0值(參考下面幀定時(shí)上圖)。共161頁84共161頁85共161頁868.7.4UART輸入時(shí)鐘圖說明(862頁)

S5PV210

為UART提供了多種時(shí)鐘。UART

可以從PCLK

或SCLK_UART

中選擇時(shí)鐘,SCLK_UART

來自于PLLs

,具體參見時(shí)鐘部分。共161頁878.7.5UART的I/O說明(863頁)SignalI/ODescriptionPadTypeUART_0_RXDInputReceivesDataforUART0XuRXD[0]muxedUART_0_TXDOutputTransmitsDataforUART0XuTXD[0]muxedUART_0_CTSnInputClearstoSend(activelow)forUART0XuCTSn[0]muxedUART_0_RTSnOutputRequeststoSend(activelow)forUART0XuRTSn[0]muxedUART_1_RXDInputReceivesDataforUART1XuRXD[1]muxedUART_1_TXDOutputTransmitsDataforUART1XuTXD[1]muxedUART_1_CTSnInputClearstoSend(activelow)forUART1XuCTSn[1]muxedUART_1_RTSnOutputRequeststoSend(activelow)forUART1XuRTSn[1]muxedUART_2_RXDInputReceivesDataforUART2XuRXD[2]muxedUART_2_TXDOutputTransmitsDataforUART2XuTXD[2]muxedUART_2_CTSnInputClearstoSend(activelow)forUART2XuRXD[3]muxedUART_2_RTSnOutputRequeststoSend(activelow)forUART2XuTXD[3]muxedUART_3_RXDInputReceivesDataforUART3XuRXD[3]muxedUART_3_TXDOutputTransmitsDataforUART3XuTXD[3]muxed共161頁888.7.6UART的寄存器說明(864頁)(1)寄存器映射RegisterAddressR/WDescriptionResetValueULCON00xE290_0000R/WSpecifiestheUARTChannel0LineControlRegister0x00000000UCON00xE290_0004R/WSpecifiestheUARTChannel0ControlRegister0x00000000UFCON00xE290_0008R/WSpecifiestheUARTChannel0FIFOControlRegister0x00000000UMCON00xE290_000CR/WSpecifiestheUARTChannel0ModemControlRegister0x00000000UTRSTAT00xE290_0010RSpecifiestheUARTChannel0Tx/RxStatusRegister0x00000006UERSTAT00xE290_0014RSpecifiestheUARTChannel0RxErrorStatusRegister0x00000000UFSTAT00xE290_0018RSpecifiestheUARTChannel0FIFOStatusRegister0x00000000UMSTAT00xE290_001CRSpecifiestheUARTChannel0ModemStatusRegister0x00000000UTXH00xE290_0020WSpecifiestheUARTChannel0TransmitBufferRegister-共161頁89URXH00xE290_0024RSpecifiestheUARTChannel0ReceiveBufferRegister0x00000000UBRDIV00xE290_0028R/WSpecifiestheUARTChannel0BaudRateDivisorRegister0x00000000UDIVSLOT00xE290_002CR/WSpecifiestheUARTChannel0DividingSlotRegister0x00000000UINTP00xE290_0030R/WSpecifiestheUARTChannel0InterruptPendingRegister0x00000000UINTSP00xE290_0034R/WSpecifiestheUARTChannel0InterruptSourcePendingRegister0x00000000UINTM00xE290_0038R/WSpecifiestheUARTChannel0InterruptMaskRegister0x00000000ULCON10xE290_0400R/WSpecifiestheUARTChannel1LineControlRegister0x00000000UCON10xE290_0404R/WSpecifiestheUARTChannel1ControlRegister0x00000000UFCON10xE290_0408R/WSpecifiestheUARTChannel1FIFOControlRegister0x00000000UMCON10xE290_040CR/WSpecifiestheUARTChannel1ModemControlRegister0x00000000UTRSTAT10xE290_0410RSpecifiestheUARTChannel1Tx/RxStatusRegister0x00000006UERSTAT10xE290_0414RSpecifiestheUARTChannel1RxErrorStatusRegister0x00000000共161頁90UFSTAT10xE290_0418RSpecifiestheUARTChannel1FIFOStatusRegister0x00000000UMSTAT10xE290_041CRSpecifiestheUARTChannel1ModemStatusRegister0x00000000UTXH10xE290_0420WSpecifiestheUARTChannel1TransmitBufferRegister-URXH10xE290_0424RSpecifiestheUARTChannel1ReceiveBufferRegister0x00000000UBRDIV10xE290_0428R/WSpecifiestheUARTChannel1BaudRateDivisorRegister0x00000000UDIVSLOT10xE290_042CR/WSpecifiestheUARTChannel1DividingSlotRegister0x00000000UINTP10xE290_0430R/WSpecifiestheUARTChannel1InterruptPendingRegister0x00000000UINTSP10xE290_0434R/WSpecifiestheUARTChannel1InterruptSourcePendingRegister0x00000000UINTM10xE290_0438R/WSpecifiestheUARTChannel1InterruptMaskRegister0x00000000ULCON20xE290_0800R/WSpecifiestheUARTChannel2LineControlRegister0x00000000UCON20xE290_0804R/WSpecifiestheUARTChannel2ControlRegister0x00000000UFCON20xE290_0808R/WSpecifiestheUARTChannel2FIFOControlRegister0x00000000共161頁91UMCON20xE290_080CR/WSpecifiestheUARTChannel2ModemControlRegister0x00000000UTRSTAT20xE290_0810RSpecifiestheUARTChannel2Tx/RxStatusRegister0x00000006UERSTAT20xE290_0814RSpecifiestheUARTChannel2RxErrorStatusRegister0x00000000UFSTAT20xE290_0818

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論