原理图与数据手册阅读
一、原理图阅读技巧
1. 工具
- KiCad:开源、跨平台(推荐入门)
- Altium Designer:商业、最常用
- Cadence OrCAD / Allegro:高端 PCB 厂用
2. 核心原则
- 从电源入手:找到 VCC / GND 网络,看清楚电源树
- 从主控开始:找到 SoC,画出其所有外设引脚去向
- 标注页码与网络:使用交叉探针(Cross-probe)功能跳转
- 关注去耦电容:每个 IC 电源引脚附近都有 100nF
3. 关键页
- Power Tree(电源树)
- Clock Distribution(时钟分布)
- Reset Circuit(复位电路)
- Memory Interface(DDR / Flash 接线)
- Boot Mode Pins(启动模式选择)
二、数据手册(Datasheet / Reference Manual)阅读方法
1. 文档分层
| 文档 | 内容 | 字数 |
|---|---|---|
| Datasheet | 引脚、功能概要、电气参数 | 几十页 |
| Reference Manual (RM) | 寄存器定义、模块功能 | 上千页 |
| Technical Reference Manual (TRM) | CPU 架构、总线、Cache | 上千页 |
| Application Note (AN) | 应用案例、设计建议 | 几十页 |
2. 阅读顺序
- 首页 / Features:知道这颗 IC 是什么
- Pinout:哪些引脚是 GPIO,哪些是电源
- Memory Map / Address Mapping:每个寄存器地址
- Block Diagram:模块内部结构
- 章节按需读:用哪个外设就读哪一章
- Application Note:调试问题时查阅
3. 寄存器的标准结构
每个寄存器通常有:
- Offset:地址偏移
- Access:R/W、RO、WO
- Reset Value:复位初值
- Bit Field Table:每位含义
示例(简化):
GPIO_CTRL_REG (offset 0x00, Reset 0x0000_0000)
Bit Field R/W Description
[31:4] Reserved - Always 0
[3] INTR_EN RW 1: 中断使能
[2] MODE RW 0: 输入 1: 输出
[1] PULL_EN RW 1: 上下拉使能
[0] VAL RW 当前值(输入时为引脚状态,输出时为驱动电平)
三、查找寄存器配置例程
- 芯片厂商 BSP(Board Support Package):通常在
arch/arm/mach-xxx/或drivers/ - U-Boot 源码:
drivers/gpio/,board/<vendor>/<board>/ - Linux 内核驱动:
drivers/*/*xxx*.c - 官方 Demo Code:恩智浦/ST/瑞芯微一般会提供
四、推荐练习
- 打开你所用开发板的原理图,画出从电源到 SoC 的供电路径
- 找到一颗 LED,追踪其 GPIO 引脚直到 SoC 寄存器
- 阅读该 SoC Reference Manual 中 GPIO 章节,找出配置该引脚的所有寄存器