[其它产品/技术] QSPI TC399只有spi模式1可以工作,为什么?

[复制链接]
 楼主| classroom 发表于 2024-8-12 19:26 | 显示全部楼层 |阅读模式
在 TC399 电路板上,只有 spi 模式 1 能正常工作,在模式 0 和 2 中中断根本不会发生。 仅通过配置这两个参数来定义模式:

clockPolarity = SpiIf_ClockPolarity_idleLow/SpiIf_ClockPolarity_idleHigh;
shiftClock = SpiIf_ShiftClock_shiftTransmitDataOnLeadingEdge/SpiIf_ShiftClock_shiftTransmitDataOnTrailingEdge;
还是有其他需要调整的地方?


在 SPI_CPU_1_KIT_TC397_TFT 示例中,QSPI2 模块是主站,QSPI3 模块是从站,这是一个传递函数:



void transferData(void)
{
while(IfxQspi_SpiSlave_getStatus( g_qspi.spiSlave) == SpiIf_Status_busy ||
IfxQspi_SpiMaster_getStatus( g_qspi.spiMasterChannel) == SpiIf_Status_busy)
{ /* Wait until the previous communication has finished, if any */
      }
     /* 指示 SPI 从站接收长度已定义的数据流 */
IfxQspi_SpiSlave_exchange( g_qspi.spiSlave、 NULL_PTR, g_qspi.spiBuffers.spiSlaveRxBuffer[0]、 spi_buffer_size);
    /* 通过 SPI Master 发送数据流 */
IfxQspi_SpiMaster_exchange( g_qspi.spiMasterChannel、  g_qspi.spiBuffers.spiMasterTxBuffer[0]、 null_ptr,spi_buffer_size);
verifyData();
}
caigang13 发表于 2024-8-13 07:54 来自手机 | 显示全部楼层
看来没有把模式的区别搞清楚啊
stormwind123 发表于 2024-8-13 12:40 | 显示全部楼层
引脚配置或连接问题
laocuo1142 发表于 2024-8-13 12:40 | 显示全部楼层
可能是参数配置错误
flycamelaaa 发表于 2024-8-13 13:49 | 显示全部楼层
驱动程序或固件限制
powerantone 发表于 2024-8-13 16:00 | 显示全部楼层
信号干扰?
stormwind123 发表于 2024-8-13 19:06 | 显示全部楼层
更新QSPI控制器或外设的驱动程序或固件
probedog 发表于 2024-8-13 21:12 | 显示全部楼层
用示波器排查
IFX-LeoLI 发表于 2024-8-20 14:50 | 显示全部楼层
1. 找个逻辑分析仪(如有便携式的更好),看一下SPI MISO和MOSI信号是否工作预期模式下。
2. 有可能是从设备不支持模式0和模式2,或需要同步设置成相同的模式;
Betty1299 发表于 2024-9-6 23:11 | 显示全部楼层
QSPI是一种高速的串行通信接口,通常用于连接微控制器和外部存储器或其他外设。Infineon的TC399是一款高性能的TriCore微控制器,广泛应用于汽车电子和其他嵌入式系统中。如果QSPI接口在TC399微控制器上只有SPI模式1(CPOL=0, CPHA=0)可以工作,而其他模式(如模式0、模式2、模式3)无法正常工作,可能是硬件配置问题
Candic12e 发表于 2024-9-7 08:25 | 显示全部楼层
软件配置问题,初始化设置:检查QSPI接口的初始化代码,确保时钟极性和时钟相位的设置正确。时序参数:调整时序参数,如时钟频率、数据保持时间、数据建立时间等,以满足外部设备的要求
Alina艾 发表于 2024-9-7 09:42 | 显示全部楼层
外部设备兼容性,设备支持:确认外部设备是否支持其他SPI模式。有些设备可能只支持特定的SPI模式。设备配置:检查外部设备的配置,确保其与TC399的QSPI接口配置一致
Estelle1999 发表于 2024-9-7 11:20 | 显示全部楼层
一般是固件或驱动问题,固件更新:检查是否有最新的固件或驱动程序可用,更新到最新版本可能解决兼容性问题。调试信息:查看调试信息,分析通信过程中的错误类型,如时序错误、数据错误等
Charlotte夏 发表于 2024-9-7 12:36 | 显示全部楼层
芯片损坏也会这样的,请检查TC399芯片或外部设备是否有损坏,如引脚短路、开路等。
alxd 发表于 2024-9-7 15:30 | 显示全部楼层
确保所有连接正确无误,如焊接质量、连接器接触良好等
Betty996 发表于 2024-9-7 16:38 | 显示全部楼层
解决这类问题通常需要结合硬件和软件的调试。首先,可以通过示波器等工具检查信号波形,确认时序是否符合要求。然后,逐步调整软件配置,确保与外部设备的通信参数一致。如果问题依然存在,可能需要进一步的硬件检查或联系技术支持获取帮助。
Carmen7 发表于 2024-9-8 09:15 | 显示全部楼层
在 TC399 电路板上,如果只有 SPI 模式 1 能正常工作,而在模式 0 和 2 中中断根本不会发生,这通常涉及到 SPI 接口的配置问题。SPI 模式由两个参数定义:时钟极性(CPOL)和时钟相位(CPHA)
Emily999 发表于 2024-9-8 10:25 | 显示全部楼层
在您提供的 transferData 函数中,确保在模式 0 和 2 中,IfxQspi_SpiSlave_exchange 和 IfxQspi_SpiMaster_exchange 函数的调用参数正确。特别是,确保 g_qspi.spiSlave 和 g_qspi.spiMasterChannel 的配置与所需的 SPI 模式一致
Annie556 发表于 2024-9-8 13:06 | 显示全部楼层
使用调试工具(如示波器)检查信号波形,确认时序是否符合要求
Amazingxixixi 发表于 2024-10-30 16:19 | 显示全部楼层
丛机的时序需要保持一致
您需要登录后才可以回帖 登录 | 注册

本版积分规则

526

主题

3258

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

526

主题

3258

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部