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。