SPMI即系统电源管理接口,是专门为电源管理IC( PMIC) 设计的通信协议,常用于智能手机、平板电脑以及物联网设备等产品中。SPMI作为连接主处理器与 PMIC 的关键总线,一旦出现通信故障,易引发电压异常、功耗骤升甚至设备死机。本文将通过一个真实的实战案例,介绍如何通过Prodigy SPMI协议分析仪查找电源管理IC通信故障,为工程师迅速查找测试问题并找到解决方案,提高项目测试效率。

一、案例背景
某电子厂商研发开发一款智能手机,该手机选用高通公司的 PMIC(型号为 PM8998),主控制器(AP)与 PMIC 之间通过 SPMI 协议进行通信,实现对手机电源的管理。调试过程中,研发工程师发现当手机进行电池快充操作,PMIC出现无响应,快充功能无法实现,同时手机系统会显示充电故障字样。为解决这一问题,研发团队决定用SPMI协议分析仪对主控制器与 PMIC 之间的 SPMI 协议通信过程进行监测和分析,查找故障原因。
二、故障定位流程
(一)前期准备工作
1. 准备设备与工具
准备一台故障测试样机,保证样机可以开机,可以进入快充模式。
准备一台 SPMI 协议分析仪,保证分析仪硬件连接正常,软件安装正常。
准备SPMI测试探头和连接线,用于捕获 SPMI_CLK 和 SPMI_DATA 信号。
准备一台电脑,用于安装SPMI软件,同时用于通信数据的存储和分析处理。
2. 搭建测试环境
将测试样机放置在稳定的工作台上,确保样机稳固。
将差分探头连接到分析仪的信号输入通道上,探针连到样机主板上PMIC的SPMI_CLK引脚和SPMI_DATA 引脚上。
打开分析仪软件,初始化设置分析仪。根据PMIC的 datasheet 获悉该 PMIC的 SPMI 通信速率为100MHz,因此将分析仪的采样率设置为 500MHz(采样率通常设置为通信速率的 5-10 倍,以确保可以准确捕获信号)
对样机充电,进入快充模式,观察 SPMI协议分析仪的控制软件界面,确认可正常捕获SPMI_CLK 和 SPMI_DATA 信号。

(二)SPMI 协议通信数据捕获
1.设置数据捕获参数
通过SPMI协议分析仪软件设置数据捕获的触发条件。因故障原因在快充,故将触发条件输入为 “当主控制器发送快充配置命令(命令类型为 WRITE,从设备地址为 0x01,寄存器地址为 0x200)时触发捕获”。
设定捕获数据时长为10秒,确保能够捕获到完整的快充通信过程,包括发送命令、传输数据以及数据接收等。
2.数据捕获
点击SPMI软件的按钮 “开始捕获”,同时操作样机进行快充。当主控制器发送快充配置命令时,分析仪将按照之前设定的触发条件启动捕获通信数据,并把数据存储到电脑。
数据捕获时,观察分析仪的控制软件界面,监测数据捕获的情况。如果发现信号丢失、捕获中断等,应停下来检查测试连接是否正常,参数设置是否正确,排除问题再来数据捕获。
(三)通信数据分析与故障定位
数据解析
捕获数据后,打开SPMI协议分析仪的分析软件,导入捕获的数据。重点查看与快充配置命令相关的通信数据。数据发现,当主控制器发送快充配置命令WRITE 命令,从设备地址 0x01,寄存器地址 0x200,数据内容为 0x00000001后,PMIC没有返回相应的响应帧,正常情况应是PMIC接到主控制器命令,会返回ACK响应帧,而大约100us后,主控制器重新发送了该快充配置命令,如此反复发送多次,直到主控制器超时,结果系统报出 “充电故障” 的错误。
错误码分析
查看数据分析软件的错误统计界面,发现除了PMIC无响应的情况外,还出现了少量的 CRC 错误。CRC 错误通常是由于信号传输过程中受到干扰,导致数据发生错误,PMIC在接收错误数据后,会丢弃该数据,并不返回响应。通过进一步分析 CRC错误发生的时点和通信数据,发现CRC错误集中在主控制器发送快充配置命令之后,这反映出在快充通信过程中,信号传输质量存在问题,可能与时序偏差有关。
时序分析
为了进一步分析PMIC无响应的原因,我们测量和分析SPMI协议的时序参数。在波形图中,运用时序测量工具,测量 SPMI_CLK 信号的周期、占空比以及 SPMI_DATA 信号与 SPMI_CLK 信号之间的相位关系。
结果显示,SPMI_CLK 信号的周期为 10ns,占空比为 50%,基本正常。相应的通信速率为 100MHz,符合设计要求。但我们观察SPMI_DATA 信号与 SPMI_CLK 信号的相位关系发现,SPMI_DATA 信号的变化滞后于 SPMI_CLK 信号的上升沿约 2ns,超过了 PMIC datasheet 中规定的滞后时间1ns。这种时序偏差可能导致 PMIC 无法准确采样到主控制器发送的数据,从而无法正确解析命令,最终出现无响应的情况。

故障定位
综上,我们可以初步判断故障点主要是两方面:一是信号传输过程中有干扰,导致 CRC 错误,影响通信正常进行。二是主控制器与PMIC之间的SPMI_DATA 信号存在时序偏差,超过了 PMIC 的允许范围,导致 PMIC 无法准确采样数据。
为验证这个判断是否正确,我们再去检查智能手机主板上SPMI信号的布线。发现SPMI_DATA 信号的布线长度比 SPMI_CLK 信号的布线长度长约5mm,由于信号在 PCB 板上的传输速度约为 150mm/ns,因此5mm的布线长度差异会导致 SPMI_DATA 信号比 SPMI_CLK 信号延迟约 0.033ns,这一延迟虽然较小,但加上主控制器和 PMIC 芯片内部的信号延迟,最终导致 SPMI_DATA 信号的滞后时间超过了 PMIC 的允许范围。此外,在 SPMI 信号的布线附近,存在一条高速时钟线(26MHz),该时钟线产生的电磁干扰会对 SPMI 信号的传输产生影响,导致出现CRC错误。
三、故障验证与解决
为了验证时序偏差和电磁干扰是导致故障的主要原因,采取了以下验证措施:
调整 SPMI_DATA 信号的布线长度,将其与SPMI_CLK 信号的布线长度调整为一致,并重新制作了一块测试主板。在SPMI信号布线与高速时钟线之间增加接地隔离带,减少高速时钟线对SPMI信号的电磁干扰。使用Prodigy SPMI协议分析仪对修改后的测试主板进行同样的通信数据捕获和分析。
测试结果显示,修改后的测试主板在进行快充操作时,主控制器发送的快充配置命令能够被 PMIC 准确接收和解析,PMIC能够及时返回ACK响应帧,通信过程中没有出现无响应和CRC 错误的情况,手机的快充功能能够正常实现,系统也不再报出 “充电故障” 的提示信息。这表明之前的故障定位是准确的,通过调整 SPMI 信号的布线长度和增加接地隔离带,成功解决SPMI 协议通信故障。
综上所述,SPMI 协议分析仪是查找电源管理 IC 通信故障的可靠设备。实际测试场景中,研发工程师应熟练掌握其使用方法,结合SPMI协议知识,按照科学的故障排查步骤,及时正确地查找和解决SPMI协议通信故障,确保电子设备正常实现其电源管理功能,提高项目研发效率。