跳转至

Sigmastar MSPI_DebugSop

Revision History

Revision NO.
Description
Data
1.0 Initial release 03/30/2024

1. 概述

MSPI在使用过程中,问题发生不频繁,多是对特殊场景的需求。本文提供几种情况用于参考调试。

包含数据发送异常,数据接收异常,通讯timeout等,提供排查流程图以及各步骤的说明。

各平台的mspi内部寄存器基本不变,CLKGEN,PADMUX,BDMA寄存器会存在差异。排查时请以实际平台为准。


2. Keyword

  • GPIO mode:PAD可以被通过padmux复用成mspi引脚,也可以被设定成GPIO引脚,当被设定成GPIO mode时,复用mspi优先级较低,会受影响。

  • PADMUX: PADMUX设定bank为PADTOP,用于指定复用关系。

  • CLKGEN: source clock设定寄存器,用于选取IP的时钟源。

  • BDMA: mspi dma mode需要BDMA这个IP来协助工作,作用是在内存与mspi之间完成数据搬运的功能。


3. 数据异常

数据发送异常,包含没有波形,数据错误,个别引脚(CS/CK/MOSI)没有波形。其中,没有波形可能伴随出现timeout err log,可以查看timeout章节。

3.1. 排查流程图


数据异常检查流程

3.2. 步骤说明

流程节点
节点说明
出口 需提供的分析数据
A 抓取波形,这是通讯问题最直观的分析方法 B
C
-
B 对比波形解析和预期数据是否一致 D
E
F
-
C 无波形的情况,一般发生在引脚错误(设为GPIO并拉高拉低确认引脚是否正确),padmux错误,以及clk没有enable导致的通讯无法进行,也有可能只是设定的触发条件刚好是个别引脚问题,尝试设定其他引脚作为触发条件,当出现个别引脚异常时,判断GPIO mode是否被打开,以及硬件影响 G
H
I
J
-
D 数据丢失,可能是设定的发送字节长度不对 K
L
mspi bank register
bdma bank register
E 数据错误 L
M
-
F 是否个别引脚无波形 N -
G 抓取波形的引脚错误,重新与HW确认应该抓取的引脚 O -
H padmux寄存器设定错误,重新设定 P -
I clkgen没有使能,查找CLKGEN register table,确认gate bit是否打开 Q -
J LA或示波器的触发条件引脚刚好无动作 - -

4. timeout

出现mspi timeout err log时,一般为代码触发时间节点不合理,或者clkgen没有enable,请直接提供code branch,mspi bank和clkgen bank。