2. RA/RX硬件平台与测试接口认知
自动化测试的第一道门槛不是写脚本,而是把测试主机与目标MCU之间的物理通路和信号通路认清楚。Renesas RA系列(基于Arm Cortex-M)与RX系列(RXv1/v2/v3内核)在调试接口、启动模式和时钟复位结构上既有共性也有差异。本节围绕“测试主机—调试器—目标板—被测信号”这条链路,梳理SWD、JTAG、SCI串口三类接口的用途分工,说明启动模式与复位、时钟电路对自动化测试的影响,并给出可落地的硬件连接点与信号测量点清单。
一、三类接口的分工:不要用串口代替调试口
RA与RX都支持片上调试接口,但具体形态不同。RA系列主流调试接口是SWD(Serial Wire Debug,2线:SWCLK/SWDIO),部分型号同时提供JTAG(5线:TCK/TMS/TDI/TDO/TRST,或4线不含TRST);RX系列传统上以JTAG(E1/E2/E2 Lite调试器)和细线的FINE接口为主,部分RX也支持SWD。自动化测试中,SWD/JTAG负责烧写、断点、寄存器与内存读写、复位控制,是“控制面”;SCI串口(RX的SCI、RA的SCI_UART)负责打印日志、下发测试命令、回传结果,是“数据面”。两者不能互相替代:串口无法设置硬件断点,调试口也不适合高频打印。
一个常见的自动化测试拓扑是:测试主机通过USB连接调试器(如E2 Lite、J-Link、RA的EK-RA板载调试器),调试器以SWD/JTAG连接目标MCU的调试引脚;同时测试主机的USB转串口模块以TX/RX/GND三线连接目标板的SCI引脚。上位机脚本通过调试器接口完成烧写与复位,通过串口完成测试激励下发与结果采集。若目标板有多个UART通道,应固定一个专用作测试通道,避免与业务日志混用导致解析歧义。
二、启动模式:决定“上电后跑谁”
RA与RX的启动模式由模式引脚在复位释放瞬间的电平决定,这是自动化测试中最容易被忽略却最致命的环节。RX系列通常有MD(Mode)引脚:MD=高时从片上Flash启动(正常用户程序),MD=低时进入Boot模式,通过SCI等接口与上位机通信,用于出厂烧写或恢复。RA系列则通过MD/BOOT引脚组合选择:从Flash启动、从SCI/USB引导加载程序启动,或进入调试模式。若测试夹具没有对模式引脚做可控拉高/拉低,烧写脚本可能“连得上但写不进”,或复位后直接跑旧程序导致测试结果错乱。
工程做法是:在夹具上为MD/BOOT引脚设计跳线或MOS管控制,由测试脚本通过调试器的GPIO或继电器板控制其电平,并在复位释放前建立稳定电平。典型时序为:拉低RES# → 设置MD电平 → 保持至少若干毫秒 → 释放RES# → 延时等待启动完成 → 再发起调试连接或串口握手。这个顺序不能颠倒,否则MCU会在错误模式下完成启动采样。
三、复位与时钟电路:自动化测试的“时间基准”
复位电路通常由RES#引脚外接上拉电阻与电容,或专用复位IC构成。自动化测试需要关注两点:一是复位脉冲宽度是否满足数据手册要求(过短可能导致内部寄存器未完全复位);二是复位释放到调试连接之间的等待时间。若使用调试器控制复位,应确认调试器的nRESET引脚确实连到目标板RES#,而不是仅做软件复位——软件复位无法让模式引脚重新采样。
时钟电路方面,RA/RX可选用外部主晶振(如8MHz、12MHz、24MHz)、外部时钟输入或内部高速振荡器(HOCO)。自动化测试若涉及通信波特率、定时器、ADC采样率,必须确认实际时钟源与频率,否则串口会出现累积误差。例如SCI异步模式在115200波特率下,若时钟偏差超过约3%,接收端就可能出现帧错误。测试脚本应在启动后读取时钟状态寄存器或通过串口回读时钟配置,作为后续测量的基准。测量点建议放在主时钟输出引脚(若使能CLKOUT)或晶振引脚,用示波器确认频率与幅值。
四、硬件连接点与测量点清单
下表给出一份可直接用于夹具设计与测试脚本初始化的检查清单,字段按“信号—方向—用途—自动化关注点”组织。示例中的引脚名以典型RA/RX封装为例,实际项目需对照具体型号的数据手册与用户手册确认。
| 连接点/测量点 | 方向 | 用途 | 自动化关注点 |
|---|---|---|---|
| SWCLK / SWDIO | 调试器→MCU | 烧写、断点、寄存器读写 | 上拉电阻、走线长度、连接稳定性 |
| TCK/TMS/TDI/TDO | 调试器→MCU | JTAG调试(RX常用) | TRST是否需要、菊花链顺序 |
| TXD / RXD | 双向 | 日志与测试命令 | 波特率、电平匹配(3.3V/5V) |
| RES# | 输入 | 硬件复位 | 脉冲宽度、释放后等待时间 |
| MD / BOOT | 输入 | 启动模式选择 | 复位释放前电平必须稳定 |
| 主时钟/CLKOUT | 输出 | 时钟基准 | 频率、幅值、抖动 |
| VCC / GND | 电源 | 供电与参考地 | 纹波、上电斜率、共地 |
五、从接口认知到测试脚本的映射
把上述硬件认知落到脚本层面,通常形成三个初始化动作:第一,打开调试器会话并校验目标ID;第二,配置串口参数(波特率、数据位、停止位、校验位)并做一次回环或握手确认;第三,控制复位与模式引脚完成一次已知状态的启动。只有这三步都成功,后续的功能测试、参数测量和结果判定才有可信的起点。若某一步失败,应优先用示波器检查对应测量点,而不是反复修改脚本——多数“连不上”问题最终都指向复位时序、模式电平或共地不良。
例如,某次自动化测试中串口始终收不到预期回显,脚本侧反复调整超时无效。用逻辑分析仪抓取TXD波形后发现波特率实际约为9600而非配置的115200,进一步检查发现目标板使用了内部HOCO且未按预期切换到外部晶振,导致时钟基准偏差。修正时钟初始化后,串口通信恢复正常。这个例子说明:接口认知不是纸面知识,而是排障时定位问题层级的关键依据。