1. 课程导论:全志T113平台概述、UART串口通信基础、DMA技术简介、课程目标与学习路径
1.1 全志T113平台概述
全志T113系列是一款面向嵌入式工业控制、智能家居及物联网网关的高集成度应用处理器。其核心架构基于双核ARM Cortex-A7 CPU,主频最高可达1.2GHz,并内置一颗200MHz的RISC-V协处理器,用于低功耗实时任务管理。T113在多媒体解码、显示输出及外设接口方面具有显著优势,尤其适合需要多路UART高速通信的场景。
平台关键特性: 双核Cortex-A7 + RISC-V协处理器、支持Linux 5.4/6.1 LTS内核、内置DMA控制器(支持8通道)、最多8路UART接口(其中4路支持DMA模式)。
1.2 UART串口通信基础
UART(Universal Asynchronous Receiver/Transmitter)是一种异步串行通信协议,通过TX(发送)和RX(接收)两根信号线实现全双工通信。在嵌入式Linux系统中,UART通常作为控制台、传感器数据采集、外设模块通信(如GPS、蓝牙)的主要接口。
| 参数 | 典型值 | 说明 |
|---|---|---|
| 波特率(Baud Rate) | 115200 / 921600 / 1Mbps | 决定通信速率,波特率越高,单位时间传输数据量越大 |
| 数据位(Data Bits) | 8 | 每帧传输的数据位数,通常为8位 |
| 停止位(Stop Bits) | 1 / 2 | 帧结束标志,用于同步 |
| 校验位(Parity) | None / Even / Odd | 可选错误检测机制 |
| 流控制(Flow Control) | None / RTS/CTS | 硬件流控制,防止数据溢出 |
开发提示: 在全志T113上,UART的时钟源来自PLL_PERI(0)或OSC24M,可通过CCU时钟控制寄存器进行分频配置。驱动开发时需重点关注时钟使能与波特率发生器寄存器的正确配置。
1.3 DMA技术简介
DMA(Direct Memory Access)是一种允许外设与内存之间直接传输数据的技术,无需CPU逐字节干预。在UART高速通信场景下,DMA能够显著降低CPU负载,提升系统吞吐量。全志T113集成的DMA控制器支持内存到外设、外设到内存、内存到内存三种传输模式,并支持链式描述符(Linked List Descriptor)实现连续传输。
| 对比维度 | 中断模式(PIO) | DMA模式 | 提升幅度 |
|---|---|---|---|
| CPU占用率(@1Mbps) | ~85% | ~5% | 降低80%+ |
| 最大稳定波特率 | 921600 bps | 3Mbps+ | 提升3倍+ |
| 每字节中断次数 | 1次/字节 | 1次/批量(如1024字节) | 降低99.9% |
| 数据拷贝次数 | CPU逐字节搬运 | DMA硬件直接搬运 | 零CPU拷贝 |
常见误区: DMA并非“无延迟”传输。DMA传输需要初始化描述符、启动传输、等待完成中断,整个过程存在微秒级延迟。对于小数据量(<64字节),中断模式可能反而更高效。实际开发中应根据数据包大小动态选择传输模式。
1.4 课程目标与学习路径
本课程旨在帮助嵌入式Linux驱动开发者系统掌握全志T113平台下UART串口DMA模式的驱动开发与性能调优方法。课程从基础原理出发,逐步深入到实际代码编写、设备树配置、DMA引擎API使用以及性能测试工具的应用。
课程核心目标
- 理解硬件架构: 掌握T113 UART与DMA控制器的寄存器级工作原理。
- 掌握驱动框架: 熟悉Linux串口子系统(serial core)与DMA引擎(dmaengine)的接口规范。
- 实现DMA驱动: 从零编写支持DMA模式的UART驱动,包括设备树绑定、中断处理、DMA描述符管理。
- 性能测试与优化: 使用串口环回测试、吞吐量基准测试工具(如
pps-tools、perf)评估驱动性能。
学习路径规划
| 阶段 | 章节范围 | 核心产出 |
|---|---|---|
| 基础篇 | 第1-5章 | 搭建开发环境,理解T113 UART与DMA寄存器手册 |
| 驱动开发篇 | 第6-18章 | 完成DMA模式UART驱动的编写、编译与加载 |
| 测试与优化篇 | 第19-26章 | 性能基准测试、CPU负载分析、DMA延迟优化 |
| 实战与总结篇 | 第27-30章 | 多路UART并发DMA传输、常见问题排查、课程总结 |
学习建议: 建议学员提前准备一块全志T113开发板(如芒果派-MQ-R或香橙派Zero 2),并搭建好Ubuntu 22.04交叉编译环境。课程中所有代码均基于Linux 5.4.125内核,与T113官方BSP保持一致。