问题描述
客户在调试QSPI模块过程中,将TC397的QSPI模块的CPOL位设置为1,但是示波器显示时钟引脚输出信号的空闲状态并不是高电平,在debug模式下,可观察到CPOL位已设置为1,这是怎么回事呢?

图1
设置TC397的QSPI模块工作在CPOL=1, CPH =1协议模式
解决过程
SpiIf_initChannelConfig()函数在初始化QSPI channel时,提供了很多配置参数项,其中就有clockPolarity,但是单单设置clockPolarity= SpiIf_ClockPolarity_idleHigh,虽然会将CPOL位设置为1,但是捕获的波形显示空闲状态电平并未变成高电平。
这是由于SpiIf_initChannelConfig()函数的默认参数项设置IDLE时序阶段时长为0,使得帧传输间隙缺少IDLE时序阶段,所以需要设置csInactiveDelay > 0(如下所示)来插入IDLE时序阶段,如下图所示。
voidSpiIf_initChannelConfig(SpiIf_ChConfig*config,SpiIf*driver)
{
config->driver=driver;
config->baudrate=0;
config->mode.enabled=1;
config->mode.autoCS=1;
config->mode.loopback=0;
config->mode.clockPolarity=SpiIf_ClockPolarity_idleHigh;
config->mode.shiftClock=SpiIf_ShiftClock_shiftTransmitDataOnLeadingEdge;
config->mode.dataHeading=SpiIf_DataHeading_msbFirst;
config->mode.dataWidth=8;
config->mode.csActiveLevel=Ifx_ActiveState_low;
config->mode.csLeadDelay=SpiIf_SlsoTiming_0;
config->mode.csTrailDelay=SpiIf_SlsoTiming_0;
config->mode.csInactiveDelay=SpiIf_SlsoTiming_2;
config->mode.parityCheck=0;
config->mode.parityMode=Ifx_ParityMode_even;
config->errorChecks.baudrate=0;
config->errorChecks.phase=0;
config->errorChecks.receive=0;
config->errorChecks.transmit=0;
}

图2
审核编辑:刘清
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
示波器
+关注
关注
113文章
7127浏览量
196851 -
QSPI
+关注
关注
0文章
55浏览量
13402 -
CPOL
+关注
关注
0文章
9浏览量
10376
原文标题:如何设置TC397的QSPI模块工作在CPOL=1, CPH =1协议模式
文章出处:【微信号:MCU频道,微信公众号:MCU频道】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
国产智驾域控上为什么很多是英飞凌TC397?
TC397/TC297的身影。 为什么这个系列的MCU在智驾域控领域这么成功?有相对应的国产芯片可以替代吗? 达到A
如何通过RGMII接口将TC397连接到Marvell 88Q5152?
我们的计划是通过 RGMII 接口将 TC397 连接到 Marvell 88Q5152,以满足我们的应用要求。
过去,在Linux系统上,我们设置了一个固定链接来直接指定速度和双工模式
发表于 01-26 06:05
求助,为什么miniWiggler的JTAG信号映射与设备端(TC397)不一致?
/TMS mapping on device side. ”
具体的说,minWiggler的TDO与DAP1是同一个信号;而tc397的TMS与DAP1是同一个信号。
我们希望在设备
发表于 02-01 06:47
将TC397的QSPI模块的CPOL设置为1,为什么示波器显示时钟引脚输出信号的空闲状态并不是高电平?
将TC397的QSPI模块的CPOL设置为1,但是示波器显示时钟引脚输出信号的空闲状态并不是高电平,请问是为什么?
发表于 02-01 08:34
TC397的TOM和STM会冲突怎么解决?
TC397 我们打开STM中断和TOM模块功能,档两个模块单独工作没有问题,档两个同时工作,运行2秒多,系统中断就不跑了,各位大侠有什么解决
发表于 02-01 06:17
SCR模式下如何通过TC397唤醒TLF35584进入NORMAL模式?
我通过TC397SPI把TLF35584进入了SLEEP模式,然后TC397也进入了standby模式,SCR模式下我如何通过
发表于 02-02 08:11
TC397 QSPI波特率异常问题怎么解决?
1. TC397 datasheet 描述QSPImax波特率50M;2.在英飞凌官方qspi demo SPI_DMA_1 for KIT
发表于 02-02 14:25
TC397 CAN不能进入normal模式怎么处理?
各位大佬好,请问TC397 CCCRn.INIT无法清零的问题大家遇到过吗?使用TC387/TC397APPKIT硬件,CAN驱动是通过EB生成的。调试时CCCRn.INIT不能清零,无法进入normal
发表于 02-04 07:08
TC397关于QPSI通信中的CS的问题求解
你好,我正在使用 TC397 开发板。
我参照 SPI_CPU_1_KIT_TC397_TFT 示例进行 QSPI 通信。
CS 引脚被设置为 GPIO 输出,以控制多个从属设备。
但
发表于 05-29 07:12
TC397进入SCR模式的条件是什么?
请问tc397 进入SCR模式, 可以在power down的工况,然后只给EVRSB提供3.3V供电,进入SCR模式嘛? 如果不可以的话,需要怎么实现呢?
发表于 05-31 06:36
如何设置TC397的QSPI模块工作在CPH =1协议模式?
评论