全志T113 GPIO驱动控制LED与蜂鸣器中断响应设计 - 第3节

3.1 数据手册整体结构

全志T113的数据手册(User Manual)是驱动开发的核心参考文档,其结构遵循SoC芯片手册的通用组织方式。掌握手册的章节布局,能帮助开发者快速定位所需信息。

开发提示:建议将数据手册PDF的目录页打印或固定在屏幕侧边,开发过程中频繁跳转查阅GPIO、GIC、系统控制等章节。

3.1.1 手册章节总览

章节编号章节名称核心内容
第1章Introduction芯片特性概述、功能框图、产品型号命名规则
第2章System Control系统启动、时钟复位、电源管理、寄存器基地址映射
第3章GPIO & Port ControllerGPIO功能复用、数据/方向/配置寄存器、中断控制
第4章Interrupt Controller (GIC)GICv2架构、中断ID映射、分发器与CPU接口寄存器
第5章Timer & Watchdog通用定时器、看门狗定时器、PWM定时器
第6章Communication InterfacesUART、SPI、I2C、TWI、EMAC等外设控制器
第7章Audio & Video音频编解码、视频输入输出、显示引擎
第8章Electrical Characteristics直流/交流参数、时序图、IO电平标准、功耗数据
附录Register Map & Revision History完整寄存器地址汇总表、芯片版本修订记录

3.1.2 手册阅读路径

针对GPIO驱动与中断响应开发,建议按以下路径精读手册:

  1. 第2章 System Control → 确认GPIO控制器基地址(通常为0x02000000区域)
  2. 第3章 GPIO & Port Controller → 掌握引脚功能配置、数据寄存器、中断触发方式
  3. 第4章 Interrupt Controller (GIC) → 理解中断号映射、使能/屏蔽/优先级配置
  4. 第8章 Electrical Characteristics → 确认IO驱动能力、上拉/下拉电阻、电平转换时序
关键寄存器基地址速查:GPIO控制器基地址 = 0x02000000,GIC分发器基地址 = 0x01C81000,GIC CPU接口基地址 = 0x01C82000。
T113数据手册阅读路径(GPIO驱动开发视角) 第2章 System Control 第3章 GPIO Controller 第4章 GIC 第8章 电气特性 基地址:GPIO=0x02000000 | GIC Distributor=0x01C81000 | GIC CPU IF=0x01C82000

3.2 GPIO控制器寄存器描述

T113的GPIO控制器管理最多128个通用IO引脚,每个引脚支持最多8种功能复用(Function 0~7)。寄存器按端口分组,每个端口(如PA、PB、PC…)拥有独立的配置空间。

3.2.1 GPIO寄存器分类

寄存器名称偏移地址宽度功能描述
GPIO_CFG0~CFG30x00 ~ 0x0C32位引脚功能配置,每4位控制一个引脚(8种功能)
GPIO_DAT0x1032位数据寄存器,读为引脚电平,写为输出电平
GPIO_DRV0~DRV10x14 ~ 0x1832位驱动能力控制,每2位控制一个引脚(0~3级)
GPIO_PUL0~PUL10x1C ~ 0x2032位上拉/下拉电阻配置,每2位控制一个引脚
GPIO_INT_CFG0~CFG30x24 ~ 0x3032位中断触发配置,每4位控制一个引脚(电平/边沿)
GPIO_INT_CTL0x3432位中断控制寄存器(全局使能/屏蔽)
GPIO_INT_STA0x3832位中断状态寄存器(读挂起中断,写清除)
GPIO_INT_DEB0x3C32位中断去抖控制寄存器

3.2.2 关键寄存器位域详解

GPIO_CFG0 (偏移0x00):每4位对应一个引脚,共8个引脚。编码值如下:

  • 0000:普通输入/输出(GPIO模式)
  • 0001~0111:功能复用1~7(如UART、SPI、I2C等外设功能)

GPIO_INT_CFG0 (偏移0x24):每4位配置中断触发方式:

  • 0000:中断禁用
  • 0001:上升沿触发
  • 0010:下降沿触发
  • 0011:双沿触发
  • 0100:高电平触发
  • 0101:低电平触发
寄存器操作注意事项:修改GPIO_CFG寄存器时,必须使用读-修改-写(Read-Modify-Write)方式,避免影响其他引脚配置。中断状态寄存器GPIO_INT_STA写1清除对应中断位,写0无效。
GPIO控制器寄存器访问流程(LED+蜂鸣器中断场景) 配置GPIO_CFG 配置GPIO_DRV 配置GPIO_PUL 配置GPIO_INT_CFG 读写GPIO_DAT 处理GPIO_INT_STA

3.3 中断控制器(GIC)寄存器描述

T113采用ARM Cortex-A7内核,集成GICv2中断控制器。GIC负责接收所有外设中断源,进行优先级仲裁后分发到CPU核。GIC寄存器空间分为两部分:分发器(Distributor)和CPU接口(CPU Interface)。

3.3.1 GIC寄存器分区

寄存器区域基地址大小功能
GIC Distributor0x01C810004KB中断使能、屏蔽、优先级、目标CPU、中断属性配置
GIC CPU Interface0x01C820004KB中断应答、结束、优先级掩码、抢占控制

3.3.2 分发器关键寄存器

寄存器名称偏移地址功能描述
GICD_CTLR0x000分发器控制寄存器(全局使能)
GICD_ISENABLER0~70x100 ~ 0x11C中断使能寄存器组,每32位对应32个中断ID
GICD_ICENABLER0~70x180 ~ 0x19C中断屏蔽寄存器组
GICD_IPRIORITYR0~630x400 ~ 0x4FC中断优先级寄存器,每8位配置一个中断优先级(0~255)
GICD_ITARGETSR0~630x800 ~ 0x8FC中断目标CPU寄存器,每8位指定中断发往哪个CPU核
GICD_ICFGR0~150xC00 ~ 0xC3C中断触发配置(电平/边沿)

3.3.3 CPU接口关键寄存器

寄存器名称偏移地址功能描述
GICC_CTLR0x000CPU接口控制寄存器(使能中断信号)
GICC_PMR0x004优先级掩码寄存器,只响应优先级高于此值的中断
GICC_IAR0x00C中断应答寄存器,读取获取当前最高优先级中断ID
GICC_EOIR0x010中断结束寄存器,写入中断ID通知GIC处理完成
中断响应流程(驱动视角):① 读取GICC_IAR获取中断ID → ② 根据ID跳转到对应ISR → ③ 处理完成后写GICC_EOIR。GPIO中断ID范围通常为32~63(SPI类型),具体值需查阅芯片中断映射表。
GIC中断响应流程(GPIO中断示例) 外设触发中断 GIC分发器仲裁 CPU读取GICC_IAR 执行中断服务函数ISR 写GICC_EOIR 清除GPIO_INT_STA

3.4 电气特性

电气特性章节(第8章)提供了驱动开发必须的硬件参数,包括IO电平标准、驱动电流、上下拉电阻值、时序要求等。这些参数直接影响GPIO配置和中断去抖设计。

3.4.1 IO电平标准

参数最小值典型值最大值单位
VIH(输入高电平)2.0—3.6V
VIL(输入低电平)−0.3—0.8V
VOH(输出高电平,IOH=−4mA)2.4—3.3V
VOL(输出低电平,IOL=4mA)0—0.4V
IOH/IOL(驱动电流,DRV=0级)—4—mA
IOH/IOL(驱动电流,DRV=3级)—16—mA

3.4.2 上拉/下拉电阻

GPIO_PUL配置电阻类型典型阻值
00无上拉/下拉高阻
01上拉50kΩ
10下拉50kΩ
11保留—

3.4.3 中断去抖时间

GPIO_INT_DEB寄存器可配置去抖时钟分频系数,去抖时间计算公式:

去抖时间 = (DEB_CLK_DIV + 1) × 2 × T_clk
其中 T_clk = 1 / 24MHz(APB时钟典型值)
DEB_CLK_DIV 取值范围:0~255

典型配置示例:

  • DEB_CLK_DIV = 0 → 去抖时间 ≈ 83ns(适用于高速信号)
  • DEB_CLK_DIV = 249 → 去抖时间 ≈ 20.8μs(适用于机械按键)
  • DEB_CLK_DIV = 2499(实际最大255)→ 最大去抖时间 ≈ 21.3μs
电气特性设计约束:驱动LED时,建议将GPIO_DRV配置为2级或3级(8~16mA),确保LED亮度充足。驱动蜂鸣器(有源)时,若蜂鸣器工作电流超过GPIO驱动能力,必须使用三极管或MOS管扩流,不可直接驱动。
GPIO电气特性与负载匹配示意 T113 GPIO输出 VOH=3.3V / IOH=4~16mA LED负载 Vf=2.0V / If=10mA 蜂鸣器负载 V=3.3V / I=30mA 设计建议:LED串联220Ω限流电阻(R=(3.3-2.0)/0.01=130Ω,取标称220Ω) 蜂鸣器需外接NPN三极管(如S8050)扩流,GPIO驱动基极 中断去抖时间建议:机械按键≥10ms,数字信号≥1μs

3.5 本章小结

本章系统梳理了T113数据手册中与GPIO驱动和中断响应直接相关的核心章节:

  • 手册结构:掌握8个主要章节的定位,建立快速查阅能力
  • GPIO寄存器:理解CFG/DAT/DRV/PUL/INT_CFG/INT_STA等寄存器的位域含义
  • GIC寄存器:区分分发器与CPU接口,掌握IAR/EOIR中断应答与结束流程
  • 电气特性:明确IO电平、驱动能力、上下拉电阻、去抖时间等关键参数