1. 课程概述

1.1 全志T113芯片简介

全志T113是一颗面向嵌入式工业控制、智能家居与物联网终端的高集成度应用处理器。芯片采用双核ARM Cortex-A7架构,主频最高可达1.2GHz,内置64MB~512MB DDR3/DDR3L,支持Linux 5.4/6.1 LTS与RT-Thread双系统。

参数项 规格
CPU 双核 ARM Cortex-A7 @ 1.2GHz
内存 内封 64MB~512MB DDR3/DDR3L
视频解码 H.265/H.264 1080p@60fps
GPIO 总数 最多 128 个可编程IO
中断控制器 GIC-400,支持 SPI / PPI / SGI
典型功耗 全速 < 1.5W,待机 < 50mW
课程选型理由: T113 在 50mm×50mm 封装内集成了电源管理、音频编解码、以太网 MAC 和大量 GPIO,非常适合 GPIO 驱动与中断响应教学的硬件平台。
全志T113 芯片内部架构框图 Cortex-A7 核心0 Cortex-A7 核心1 L1/L2 Cache DDR 控制器 外设总线 GPIO 控制器 GIC-400 GPIO 控制器通过外设总线与 CPU 通信,中断请求经 GIC-400 分发到 Cortex-A7 核心

1.2 GPIO 与中断概念

GPIO 基本模型

GPIO(General Purpose Input/Output)是芯片与外部世界交互的最基本接口。每个 GPIO 引脚可通过寄存器配置为输入、输出、或复用为特定外设功能。T113 的 GPIO 控制器分为多个 Port(PA~PL),每个 Port 管理 32 个引脚。

  • 输入模式: 读取引脚电平(0/1),用于检测按键、传感器信号。
  • 输出模式: 驱动引脚电平,用于控制 LED、蜂鸣器、继电器。
  • 复用模式: 引脚分配给 UART、I2C、SPI 等外设。
  • 中断模式: 引脚电平变化时触发 CPU 中断。

中断响应流程

中断是 CPU 处理异步事件的机制。当 GPIO 引脚检测到预设的边沿(上升沿/下降沿/双边沿)或电平变化时,中断控制器向 CPU 发送中断信号,CPU 暂停当前任务,跳转到中断服务程序(ISR)执行处理。

中断类型 触发条件 典型应用
上升沿触发 引脚从低电平变为高电平 按键按下检测
下降沿触发 引脚从高电平变为低电平 按键释放检测
双边沿触发 电平任意变化 编码器脉冲计数
低电平触发 引脚持续为低电平 紧急停止信号
GPIO 中断响应流程 GPIO 外设 GIC-400 Cortex-A7 中断服务程序 ① 检测到边沿/电平 ② 分发中断号 ③ 保存上下文 ④ 执行处理 ⑤ 恢复上下文,返回主程序

1.3 LED 与蜂鸣器硬件原理

LED 驱动电路

LED(发光二极管)是单向导电器件,正向导通电压通常为 1.8V~3.3V,工作电流 5mA~20mA。GPIO 输出高电平时,需串联限流电阻防止过流损坏引脚或 LED。

限流电阻计算: R = (VOH - VF) / IF。例如 T113 GPIO 高电平 3.3V,LED 正向压降 2.0V,目标电流 10mA,则 R = (3.3 - 2.0) / 0.01 = 130Ω,取标称值 150Ω。

蜂鸣器驱动电路

蜂鸣器分为有源(内部含振荡源,通电即响)和无源(需 PWM 方波驱动)两种。T113 GPIO 直接驱动能力有限(通常 < 8mA),驱动蜂鸣器需通过三极管或 MOSFET 放大电流。

器件 类型 驱动方式 GPIO 连接
LED 无源 GPIO 高电平 + 限流电阻 直接连接
有源蜂鸣器 有源 GPIO 高电平 + NPN 三极管 通过三极管基极
无源蜂鸣器 无源 GPIO 输出 PWM 方波 + 三极管 通过三极管基极
LED 与蜂鸣器驱动电路原理 LED 驱动电路 GPIO R 150Ω LED GND 蜂鸣器驱动电路 GPIO R 1kΩ NPN Buzzer GND

1.4 课程目标与前置知识

课程目标

完成本课程后,学员应具备以下能力:

  1. 理解 T113 GPIO 控制器寄存器模型,能够通过寄存器操作控制引脚电平。
  2. 编写 Linux 内核 GPIO 字符设备驱动,实现 LED 亮灭与蜂鸣器鸣叫控制。
  3. 配置 GPIO 中断,编写中断服务程序响应按键或外部触发信号。
  4. 实现用户空间与内核空间的交互,通过 ioctl 或 sysfs 接口控制设备。
  5. 调试驱动问题,使用 devmem、printk、示波器验证硬件行为。

前置知识要求

知识领域 具体要求 推荐学习资源
C 语言编程 指针、结构体、位运算、函数指针 《C Primer Plus》第 6 版
Linux 基础 文件系统、命令行、交叉编译 《鸟哥的 Linux 私房菜》
嵌入式基础 ARM 体系结构、寄存器、中断向量 《ARM 嵌入式系统开发》
硬件基础 数字电路、三极管开关、LED 限流 《电子学》第 2 版
硬件准备提醒: 课程实践需要全志 T113 开发板(如芒果派 MQ-R)、LED(3mm 红色)、有源蜂鸣器(5V)、NPN 三极管(S8050)、电阻(150Ω、1kΩ)、面包板及杜邦线。请提前准备,避免影响实验进度。
课程知识体系依赖关系 C 语言基础 Linux 基础 ARM 体系结构 数字电路 硬件工具 GPIO 驱动开发与中断响应