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 自动化测试硬件连接拓扑 测试主机 (PC) 测试脚本 / 串口解析 USB ×2 调试器 E2 Lite / J-Link SWD 或 JTAG 复位控制 USB转串口 TX / RX / GND 波特率 115200 目标板 (RA / RX MCU) 调试引脚 SWCLK/SWDIO 或 TCK/TMS/TDI/TDO SCI 串口引脚 TXD / RXD / GND 复位与启动 RES# / MD / BOOT 引脚 时钟:主晶振 / 外部时钟输入 SWD/JTAG UART 关键信号测量点(示波器/逻辑分析仪) ① RES# 复位脉冲宽度与释放时刻 ② 主时钟波形与频率 ③ SWCLK/SWDIO 时序 ④ SCI TXD 起始位与波特率 ⑤ 电源纹波与上电斜率 测量参考地统一取目标板 GND,探头地线尽量短,避免引入开关噪声误判复位与时钟异常。

二、启动模式:决定“上电后跑谁”

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调试器→MCUJTAG调试(RX常用)TRST是否需要、菊花链顺序
TXD / RXD双向日志与测试命令波特率、电平匹配(3.3V/5V)
RES#输入硬件复位脉冲宽度、释放后等待时间
MD / BOOT输入启动模式选择复位释放前电平必须稳定
主时钟/CLKOUT输出时钟基准频率、幅值、抖动
VCC / GND电源供电与参考地纹波、上电斜率、共地
建议在夹具上把SWD/JTAG、SCI、RES#、MD/BOOT、GND做成标准排针或测试点,并在丝印上标注信号名与电平域。测试脚本初始化时先读一次目标ID(如RA的IDCODE或RX的器件ID),确认连接的是正确型号,再执行烧写与复位,可避免“连错板子跑错程序”的低级故障。

五、从接口认知到测试脚本的映射

把上述硬件认知落到脚本层面,通常形成三个初始化动作:第一,打开调试器会话并校验目标ID;第二,配置串口参数(波特率、数据位、停止位、校验位)并做一次回环或握手确认;第三,控制复位与模式引脚完成一次已知状态的启动。只有这三步都成功,后续的功能测试、参数测量和结果判定才有可信的起点。若某一步失败,应优先用示波器检查对应测量点,而不是反复修改脚本——多数“连不上”问题最终都指向复位时序、模式电平或共地不良。

例如,某次自动化测试中串口始终收不到预期回显,脚本侧反复调整超时无效。用逻辑分析仪抓取TXD波形后发现波特率实际约为9600而非配置的115200,进一步检查发现目标板使用了内部HOCO且未按预期切换到外部晶振,导致时钟基准偏差。修正时钟初始化后,串口通信恢复正常。这个例子说明:接口认知不是纸面知识,而是排障时定位问题层级的关键依据。