2. TI Sitara最小系统硬件设计
AM335x/AM437x 的最小系统不是“把芯片焊上、能跑起来”这么简单。它是一组彼此约束的电路集合:电源树决定上电顺序,上电顺序决定 DDR3L 与 eMMC 能否被正确初始化,复位与时钟又决定处理器在什么时刻开始执行第一条指令。任何一环时序错位,现象往往表现为“串口无输出”“卡在 SPL”“DDR 校准失败”,而不是明显的器件损坏。因此本节围绕电源树、DDR3L、eMMC、调试串口、JTAG、复位与时钟六部分展开,并给出可直接对照的原理图与 PCB 布局检查清单。
一、电源树与 TPS65217 上电时序
AM335x 典型供电域包括:核心电压 VDD_CORE(1.1V 或 1.0V)、DDR 接口电压 VDD_DDR(1.35V,对应 DDR3L)、I/O 电压 VDDSHV(3.3V)、模拟域 VDDS_MPU/VDDS_PLL 等。AM437x 在此基础上增加 VDDS_DDR 与更多 PLL 供电。工程上通常用 TPS65217C 作为 PMIC,它集成三路 DCDC(DCDC1~3)与四路 LDO,并内置上电时序控制。
TPS65217 的默认上电顺序由内部状态机决定,典型为:LDO1(RTC/1.8V)→ DCDC1(VDD_CORE)→ DCDC2(VDD_DDR/1.35V)→ DCDC3(VDDSHV/3.3V)→ LDO2/LDO3/LDO4。若使用 AM335x 的 RTC 域,LDO1 需先建立,否则 PWRON 按键与 RTC 无法工作。设计时需注意:DCDC2 输出 1.35V 时,其反馈电阻按 1.35V 计算,不能沿用 1.5V 的旧值;DCDC1 的 1.1V 需在 SPL 中通过 I2C 调整,以匹配 MPU 频率。
上电时序的验证点在于:用示波器同时抓取 VDD_CORE、VDD_DDR、VDDSHV 三路,确认 DCDC1 先于 DCDC2 建立,且各路上升时间在 1~10ms 量级,无回沟。若 VDD_DDR 先于 VDD_CORE 建立,DDR3L 的输入缓冲可能处于不确定态,导致后续校准失败。
二、DDR3L 接口设计
AM335x 支持 16 位 DDR3/DDR3L,AM437x 支持 16 位 DDR3L。DDR3L 供电 1.35V,VREF 为 0.675V,通常由 VDD_DDR 经电阻分压或专用 VREF 芯片产生。关键设计点:
- 数据线 DQ0~DQ15 按字节分组,每组 8 位加 1 位 DQM,走线等长误差控制在 ±25mil 以内;
- 地址/命令/控制线以 VREF 为参考,走线等长误差 ±50mil;
- CK/CK# 差分对阻抗 100Ω,长度匹配 ±5mil;
- DDR3L 的 ODT 与驱动强度通过 EMIF 寄存器配置,SPL 中需写入正确的 DDR 时序参数。
以 AM335x + MT41K128M16(2Gb DDR3L)为例,SPL 中需配置 EMIF 的 SDRAM_CONFIG、SDRAM_TIM_1/2/3、SDRAM_REF_CTRL 等寄存器。典型参数:tRCD=13.75ns、tRP=13.75ns、tRAS=35ns、CL=6。这些值来自 DDR 颗粒手册,不能凭经验填写。若 DDR 校准失败,串口会打印 “DDR3 init failed” 或直接无输出。
三、eMMC 与调试串口
eMMC 接口使用 MMC1(AM335x)或 MMC2(AM437x),信号包括 CLK、CMD、DAT0~DAT7、RSTn。CLK 走线需包地,长度尽量短;CMD 与 DAT 线需上拉 10kΩ 至 3.3V。eMMC 的 VCC 为 3.3V,VCCQ 为 1.8V 或 3.3V,需与 PMIC 的 LDO 输出匹配。若使用 1.8V VCCQ,需在 SPL 中切换 MMC 的 I/O 电压。
调试串口使用 UART0,默认引脚为 J15/J16(AM335x),波特率 115200,8N1。串口是判断最小系统是否启动的第一手段:上电后若能看到 “U-Boot SPL” 字样,说明电源、时钟、DDR 基本正常;若完全无输出,应优先检查 UART0 的 TX/RX 是否接反、晶振是否起振、复位是否释放。
四、JTAG、复位与时钟
JTAG 接口用于边界扫描与调试,AM335x 的 JTAG 引脚包括 TCK、TMS、TDI、TDO、TRSTn、EMU0/EMU1。TRSTn 需上拉,EMU0/EMU1 需上拉至 3.3V。若使用 20 针 JTAG,需注意引脚定义与 TI 的 14 针定义不同,建议使用 TI 推荐的 XDS100/200 仿真器。
复位电路由 PMIC 的 nRESET 输出与 AM335x 的 WARMRSTn 组成。上电时 PMIC 释放 nRESET,AM335x 开始执行 ROM Boot。若复位信号被外部看门狗拉低,处理器会反复重启。时钟方面,AM335x 需要 24MHz 主晶振与 32.768kHz RTC 晶振。24MHz 晶振的负载电容需按晶振手册计算,典型为 12pF~18pF;RTC 晶振需注意走线远离高频信号。
五、原理图与 PCB 布局检查清单
| 检查项 | 原理图要点 | PCB 布局要点 |
|---|---|---|
| 电源树 | TPS65217 各 DCDC 反馈电阻按目标电压计算;LDO1 先于 DCDC1 建立 | DCDC 电感靠近 PMIC,输入电容紧贴引脚,反馈线远离电感 |
| DDR3L | VREF 分压电阻 1% 精度;ODT 与驱动强度按颗粒手册配置 | DQ/DQS 等长 ±25mil,CK 差分 100Ω,地址线 ±50mil |
| eMMC | CMD/DAT 上拉 10kΩ;VCCQ 与 PMIC 输出一致 | CLK 包地,长度尽量短,远离 DDR 信号 |
| 调试串口 | UART0 TX/RX 交叉连接;电平 3.3V | 串口走线短,避免与 DDR 并行 |
| JTAG | TRSTn 上拉,EMU0/EMU1 上拉 | JTAG 信号远离时钟与 DDR,长度匹配 |
| 复位与时钟 | nRESET 上拉,WARMRSTn 接按键;晶振负载电容按手册 | 晶振靠近芯片,包地,远离高频信号 |