Tiger GPIO 设计说明文档格式.docx
《Tiger GPIO 设计说明文档格式.docx》由会员分享,可在线阅读,更多相关《Tiger GPIO 设计说明文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
上图是GPIO模块的整体框图。
对于支持接收外部中断源的引脚端口,包含有上图的GPIO处理和中断处理两个部分;
对于不支持接收外部中断的引脚端口,不包含上图所示的中断处理部分。
其中专用信号的输入输出方向根据实际所接的引脚专用用途时的方向而定。
作为通用用途的时候,可以配置输入输出方向。
对于支持接收外部中断的引脚端口,除了作为普通通用功能外,还可配置为外部中断采样。
对于可配置为多个特殊用途的引脚,将有多个专用信号输入,将增加一个专用信号选择寄存器以对多个特殊用途进行选择。
17.3.2中断输入去毛刺原理
图17-47GPIO去毛刺逻辑电路
图17-48GPIO去毛刺示例波形
去毛刺电路使用另一路时钟dbclk,dbclk时钟由APB总线时钟分频而得,分频比可以通过软件进行配置。
注意,外部的中断源输入信号的有效宽度至少为dbclk的两个周期才会被系统采样到,否则将被认为是毛刺,这里有以下几种情况:
⏹对于小于一个dbclk时钟脉冲宽度的信号,将被认为是毛刺并不被采样;
⏹对于大于两个dbclk时钟脉冲宽度的信号,将被系统采用为中断输入信号;
⏹对于信号介于一个到两个dbclk时钟脉冲宽度的信号,将有可能被系统采样。
这取决于输入的信号如果跨越了两个dbclk时钟上升沿,则被采样;
如果未跨越两个时钟上升沿则不被采样。
17.3.3接口信号
第一特殊功能
第二特殊功能
SRAM_nCS[1]
PA[16]
SRAM/NORFLASH片选
SRAM_nCS[0]
PA[15]
SRAM_nWE
PA[14]
SRAM/NORFLASH写使能
SRAM_nOE
PA[13]
SRAM/NORFLASH读使能
SRAM_nBE[1]
PA[12]
SRAM/NORFLASH字节选择信号
SRAM_nBE[0]
PA[11]
SRAM_ADDR[10]
SSI3_CLK
PA[10]
SRAM/NORFLASH地址总线
SRAM_ADDR[9]
SSI3_CS
PA[9]
SRAM_ADDR[8]
SSI3_TXD
PA[8]
SRAM_ADDR[7]
SSI3_RXD
PA[7]
SRAM_ADDR[6]
SD2_CLK
PA[6]
SRAM_ADDR[5]
SD2_CMD
PA[5]
SRAM_ADDR[4]
SD2_DAT[3]
PA[4]
SRAM_ADDR[3]
SD2_DAT[2]
PA[3]
SRAM_ADDR[2]
SD2_DAT[1]
PA[2]
SRAM_ADDR[1]
SD2_DAT[0]
PA[1]
SRAM_ADDR[0]
SD2_WP
PA[0]
SRAM_DATA[15]
PB[15]
SRAM/NORFLASH数据总线
SRAM_DATA[14]
PB[14]
SRAM_DATA[13]
PB[13]
SRAM_DATA[12]
PB[12]
SRAM_DATA[11]
PB[11]
SRAM_DATA[10]
PB[10]
SRAM_DATA[9]
PB[9]
SRAM_DATA[8]
PB[8]
SRAM_DATA[7]
PB[7]
SRAM_DATA[6]
PB[6]
SRAM_DATA[5]
PB[5]
SRAM_DATA[4]
PB[4]
SRAM_DATA[3]
PB[3]
SRAM_DATA[2]
PB[2]
SRAM_DATA[1]
PB[1]
SRAM_DATA[0]
PB[0]
NAND_nCS[3]
PC[17]
NANDFLASH片选
NAND_nCS[2]
PC[16]
NAND_nCS[1]
PC[15]
NAND_nCS[0]
PC[14]
NAND_nFRE
PC[13]
NANDFLASH读信号
NAND_nFWE
PC[12]
NANDFLASH写信号
NAND_FCLE
PC[11]
NANDFLASH命令锁存信号
NAND_FALE
PC[10]
NANDFLASH地址锁存信号
NAND_R_B[3]
PC[9]
NANDFLASHReady/Busy信号
NAND_R_B[2]
PC[8]
NAND_R_B[1]
PC[7]
NAND_R_B[0]
PC[6]
I2S_CLK
PC[5]
I2S时钟
I2S_WS
PC[4]
I2S声道
I2S_SD[3]
PC[3]
I2S音频数据
I2S_SD[2]
PC[2]
I2S_SD[1]
PC[1]
I2S_SD[0]
PC[0]
SD1_CLK
PD[16]
MMC/SD时钟
SD1_CMD
PD[15]
MMC/SD命令
SD1_DAT[3]
PD[14]
MMC/SD数据
SD1_DAT[2]
PD[13]
SD1_DAT[1]
PD[12]
SD1_DAT[0]
PD[11]
SD1_WP
PD[10]
MMC/SD写保护信号
UART1_TXD
PD[9]
UART串行数据输出
UART1_RXD
PD[8]
UART串行数据输入
UART2_TXD
PD[7]
UART2_RXD
PD[6]
UART2_RTS
PD[5]
UART硬件流控
UART2_CTS
PD[4]
UART3_TXD
PD[3]
UART3_RXD
PD[2]
UART3_RTS
PD[1]
UART3_CTS
PD[0]
SSI1_CLK
PE[16]
SSI时钟
SSI1_CS
PE[15]
SSI片选
SSI1_TXD
PE[14]
SSI数据输出
SSI1_RXD
PE[13]
SSI输入数据
SSI2_CLK
PE[12]
SSI2_CS
PE[11]
SSI2_TXD
PE[10]
SSI2_RXD
PE[9]
GPS_CLK
PE[8]
GPS时钟
GPS_MAG
PE[7]
GPS数据幅度
GPS_SIGN
PE[6]
GPS数据符号
PWM[1]
PE[5]
脉宽调制输出
PWM[0]
PE[4]
nTRST
TAP控制器复位信号
TMS
PE[3]
TAP控制状态
TCK
PE[2]
JTAG模块时钟信号
TDI
PE[1]
JTAG数据输入信号
TDO
PE[0]
JTAG数据输出信号
LCD_LD[23]
PF[28]
LCD数据总线
LCD_LD[22]
PF[27]
LCD_LD[21]
PF[26]
LCD_LD[20]
PF[25]
LCD_LD[19]
PF[24]
LCD_LD[18]
PF[23]
LCD_LD[17]
PF[22]
LCD_LD[16]
PF[21]
LCD_LD[15]
PF[20]
LCD_LD[14]
PF[19]
LCD_LD[13]
PF[18]
LCD_LD[12]
PF[17]
LCD_LD[11]
PF[16]
LCD_LD[10]
PF[15]
LCD_LD[9]
PF[14]
LCD_LD[8]
PF[13]
LCD_LD[7]
PF[12]
LCD_LD[6]
PF[11]
LCD_LD[5]
PF[10]
LCD_LD[4]
PF[9]
LCD_LD[3]
PF[8]
LCD_LD[2]
PF[7]
LCD_LD[1]
PF[6]
LCD_LD[0]
PF[5]
LCD_PCLK
PF[4]
像素时钟
LCD_HSYNC
PF[3]
行脉冲信号
LCD_VSYNC
PF[2]
帧同步信号
LCD_DEN
PF[1]
极性控制信号
LCD_CONTRAST
PF[0]
对比度调节信号
EXT_INT[15]
PI[15]
外部中断信号
EXT_INT[14]
PI[14]
EXT_INT[13]
PI[13]
EXT_INT[12]
PI[12]
EXT_INT[11]
PI[11]
EXT_INT[10]
PI[10]
EXT_INT[9]
PI[9]
EXT_INT[8]
PI[8]
EXT_INT[7]
PI[7]
EXT_INT[6]
PI[6]
EXT_INT[5]
PI[5]
EXT_INT[4]
PI[4]
EXT_INT[3]
PI[3]
EXT_INT[2]
PI[2]
EXT_INT[1]
PI[1]
EXT_INT[0]
PI[0]
17.4GPIO编程接口
17.4.1寄存器列表
GPIO寄存器堆基址为:
0x30006000
表17-233GPIO寄存器表
名称
偏移地址
复位值
描述
DBCLK_DIV
0x00
0x00000000
去毛刺采用时钟分频比配置寄存器
PORTA_DIR
0x010
A组端口输入输出方向配置寄存器
PORTA_SEL
0x014
A组端口通用用途选择配置寄存器
PORTA_DATA
0x018
A组端口通用用途数据配置寄存器
PORTA_2FUNC
0x02C
A组端口第二专用途数据配置寄存器
PORTB_DIR
0x030
B组端口输入输出方向配置寄存器
PORTB_SEL
0x034
B组端口通用用途选择配置寄存器
PORTB_DATA
0x038
B组端口通用用途数据配置寄存器
PORTC_DIR
0x050
C组端口输入输出方向配置寄存器
PORTC_SEL
0x054
C组端口通用用途选择配置寄存器
PORTC_DATA
0x058
C组端口通用用途数据配置寄存器
PORTD_DIR
0x070
D组端口输入输出方向配置寄存器
PORTD_SEL
0x074
D组端口通用用途选择配置寄存器
PORTD_DATA
0x078
D组端口通用用途数据配置寄存器
PORTE_DIR
0x090
E组端口输入输出方向配置寄存器
PORTE_SEL
0x094
E组端口通用用途选择配置寄存器
PORTE_DATA
0x098
E组端口通用用途数据配置寄存器
PORTF_DIR
0X0B0
F组端口输入输出方向配置寄存器
PORTF_SEL
0X0B4
F组端口通用用途选择配置寄存器
PORTF_DATA
0X0B8
F组端口通用用途数据配置寄存器
PORTI_DIR
0X110
I组端口输入输出方向配置寄存器
PORTI_SEL
0X114
I组端口通用用途选择配置寄存器
PORTI_DATA
0X118
I组端口通用用途数据配置寄存器
PORTI_INTRSEL
0x11C
I组通用用途输入时类型配置寄存器
PORTI_INTRLEL
0x120
I组端口中断触发类型配置寄存器1
PORTI_INTRPOL
0x124
I组端口中断触发类型配置寄存器2
PORTI_INTRCLR
0x128
I组端口通用用途中断清除配置寄存器
17.4.2寄存器描述
GPIO模块包含7个端口组,每个组根据需要有各自的配置寄存器,所有寄存器宽度均为32bit,通过APB总线可以读写这些配置寄存器。
GPIO所有的配置寄存器的起始基地址为0x30006000,各端口配置寄存器详细说明如下:
17.4.2.1去毛刺采样时钟分频比配置寄存器
表17-234去毛刺采样时钟分频比配置寄存器(DBCLK_DIV)
数据位
类型
31:
3
RESERVED
-
2:
RW
0x0
去毛刺采样时钟分频比根据该配置寄存器的值分频APB总线时钟
分频比
000
4
001
8
010
16
011
32
100
64
101
128
110
256
111
512
17.4.2.2PORTA输入输出方向配置寄存器
表17-235A组端口输入输出方向配置寄存器(PORTA_DIR)
17
16:
配置为0表示对应引脚为输出
配置为1表示对应引脚为输入
17.4.2.3PORTA通用用途选择配置寄存器
表17-236A组端口通用用途选择配置寄存器(PORTA_SEL)
配置为0表示该引脚作专用用途
配置为1表示该引脚作通用用途
17.4.2.4PORTA通用用途数据配置寄存器
表17-237A组端口通用用途数据配置寄存器(PORTA_DATA)
作通用用途时可配置该寄存器使输出的通用数据配置为0或1,作通用用途输入时读该地址可读取外部采样数据
17.4.2.5PORTA第二专用用途配置寄存器
表17-237A组端口通用用途数据配置寄存器(PORTA_2FUNC)
作专用用途时配置该寄存器
配置为0表示该引脚作专用用途1
配置为1表示该引脚作专用用途2
17.4.2.5PORTB输入输出方向配置寄存器
表17-238B组端口输入输出方向配置寄存器(PORTB_DIR)
15:
17.4.2.6PORTB通用用途选择配置寄存器
表17-239B组端口通用用途选择配置寄存器(PORTB_SEL)
配置为0表示该引脚作特殊用途
17.4.2.7PORTB通用用途数据配置寄存器
表17-240B组端口通用用途数据配置寄存器(PORTB_DATA)
17.4.2.8PORTC输入输出方向配置寄存器
表17-241C组端口输入输出方向配置寄存器(PORTC_DIR)
18
17:
17.4.2.9PORTC通用用途选择配置寄存器
表17-242C组端口通用用途选择配置寄存器(PORTC_SEL)
17.4.2.10PORTC通用用途数据配置寄存器
表17-243C组端口通用用途数据配置寄存器(PORTC_DATA)