打印
[其它产品/技术]

QSPI TC399只有spi模式1可以工作,为什么?

[复制链接]
191|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
可能是参数配置错误

使用特权

评论回复
5
flycamelaaa| | 2024-8-13 13:49 | 只看该作者
驱动程序或固件限制

使用特权

评论回复
6
powerantone| | 2024-8-13 16:00 | 只看该作者
信号干扰?

使用特权

评论回复
7
stormwind123| | 2024-8-13 19:06 | 只看该作者
更新QSPI控制器或外设的驱动程序或固件

使用特权

评论回复
8
probedog| | 2024-8-13 21:12 | 只看该作者
用示波器排查

使用特权

评论回复
9
IFX-LeoLI| | 2024-8-20 14:50 | 只看该作者
1. 找个逻辑分析仪(如有便携式的更好),看一下SPI MISO和MOSI信号是否工作预期模式下。
2. 有可能是从设备不支持模式0和模式2,或需要同步设置成相同的模式;

使用特权

评论回复
10
Betty1299| | 2024-9-6 23:11 | 只看该作者
QSPI是一种高速的串行通信接口,通常用于连接微控制器和外部存储器或其他外设。Infineon的TC399是一款高性能的TriCore微控制器,广泛应用于汽车电子和其他嵌入式系统中。如果QSPI接口在TC399微控制器上只有SPI模式1(CPOL=0, CPHA=0)可以工作,而其他模式(如模式0、模式2、模式3)无法正常工作,可能是硬件配置问题

使用特权

评论回复
11
Candic12e| | 2024-9-7 08:25 | 只看该作者
软件配置问题,初始化设置:检查QSPI接口的初始化代码,确保时钟极性和时钟相位的设置正确。时序参数:调整时序参数,如时钟频率、数据保持时间、数据建立时间等,以满足外部设备的要求

使用特权

评论回复
12
Alina艾| | 2024-9-7 09:42 | 只看该作者
外部设备兼容性,设备支持:确认外部设备是否支持其他SPI模式。有些设备可能只支持特定的SPI模式。设备配置:检查外部设备的配置,确保其与TC399的QSPI接口配置一致

使用特权

评论回复
13
Estelle1999| | 2024-9-7 11:20 | 只看该作者
一般是固件或驱动问题,固件更新:检查是否有最新的固件或驱动程序可用,更新到最新版本可能解决兼容性问题。调试信息:查看调试信息,分析通信过程中的错误类型,如时序错误、数据错误等

使用特权

评论回复
14
Charlotte夏| | 2024-9-7 12:36 | 只看该作者
芯片损坏也会这样的,请检查TC399芯片或外部设备是否有损坏,如引脚短路、开路等。

使用特权

评论回复
15
alxd| | 2024-9-7 15:30 | 只看该作者
确保所有连接正确无误,如焊接质量、连接器接触良好等

使用特权

评论回复
16
Betty996| | 2024-9-7 16:38 | 只看该作者
解决这类问题通常需要结合硬件和软件的调试。首先,可以通过示波器等工具检查信号波形,确认时序是否符合要求。然后,逐步调整软件配置,确保与外部设备的通信参数一致。如果问题依然存在,可能需要进一步的硬件检查或联系技术支持获取帮助。

使用特权

评论回复
17
Carmen7| | 2024-9-8 09:15 | 只看该作者
在 TC399 电路板上,如果只有 SPI 模式 1 能正常工作,而在模式 0 和 2 中中断根本不会发生,这通常涉及到 SPI 接口的配置问题。SPI 模式由两个参数定义:时钟极性(CPOL)和时钟相位(CPHA)

使用特权

评论回复
18
Emily999| | 2024-9-8 10:25 | 只看该作者
在您提供的 transferData 函数中,确保在模式 0 和 2 中,IfxQspi_SpiSlave_exchange 和 IfxQspi_SpiMaster_exchange 函数的调用参数正确。特别是,确保 g_qspi.spiSlave 和 g_qspi.spiMasterChannel 的配置与所需的 SPI 模式一致

使用特权

评论回复
19
Annie556| | 2024-9-8 13:06 | 只看该作者
使用调试工具(如示波器)检查信号波形,确认时序是否符合要求

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

360

主题

1578

帖子

1

粉丝