单片机/MCU论坛
直播中

胖子的逆袭

12年用户 1065经验值
私信 关注

Traveo SCB、SPI从机模式下出现SPI总线错误的原因?

我们在项目中使用 Traveo T2G 微控制器,其变体为 CYT2B9,SCB 外设处于 SPI 模式。
SPI 配置为从机,SPI 主控制器是另一个板载应用处理器,它们之间有一个电平转换器。
我们遇到的情况是,SCLK、CS、MOSI 线上有可见的数据,而 Traveo 的 MISO 线上没有数据。
traveo 的接收中断偶尔会命中,SPI_BUS_ERROR 始终设置为 1,并尝试使用 W1C 清除 SPI_BUS_ERROR 位,但会再次设置。
对是什么让 SPI_BUS_ERROR 的 Rx Interruct 具有持久性和零星性质有什么想法吗?

                                                                                                                                                                                                                                                                                                                                                                                                        
                                                        

回帖(1)

chumowei

2024-1-30 17:17:19
出现SPI总线错误可能有多种原因,以下是一些可能的原因:

1. 时钟配置错误:SPI从机和主控制器的时钟配置不匹配可能导致通信错误。请确保从机的时钟频率和主控制器的时钟频率匹配。

2. 数据传输错误:如果从机的MISO线上没有数据,可能是由于数据传输错误导致的。请检查数据传输的时序和格式是否正确。

3. 电平转换器问题:如果从机和主控制器之间使用了电平转换器,可能是电平转换器出现问题导致数据传输错误。请确保电平转换器的工作正常并且能够正确转换信号电平。

4. 总线负载问题:如果总线上存在较高的负载,可能导致通信错误。请确保总线上的负载适当,并根据需要调整。

至于SPI_BUS_ERROR的持久性和零星性质可能是由于以上原因的组合导致的。在调试过程中,您可以尝试以下方法:

1. 检查硬件连接:确保所有SPI线路连接正确,并且没有接触不良或短路等问题。

2. 检查时钟配置:确保从机和主控制器的时钟配置正确且匹配。

3. 调整总线负载:如果可能,请尝试降低总线负载,看是否可以解决通信错误。

4. 调整电平转换器:如果使用了电平转换器,请确保其工作正常,并根据需要进行调整。

5. 调试代码:检查从机代码,确保SPI从机模式的配置正确,并进行适当的错误处理和处理。

如果问题仍然存在,您可能需要进一步分析SPI总线的信号波形和时序来确定问题的根本原因。此外,与Traveo T2G微控制器和SPI外设相关的技术支持也可能会提供更具体的帮助和建议。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分