项目背景:
我遇到一个芯片要求SPI在IfxPort_PadDriver_cmosAutomotiveSpeed1模式下运行,但出现了读取的数据出错的问题,我怀疑是采样点的问题就去TC377的手册找怎样更改采样点,根据手册描述可以通过修改ECONz的ABC的值和比例来更改采样点
具体问题:
我根据我的理解A:(B+C)等于占空比但实际测试出来的结果却并不是,我想知道这是为什么,另外改变A+B+C的和的情况下还会改变SPI的时钟频率,我想知道这是为什么,是因为TQ在初始化的时候已经算出来了嘛?
可以debug这个函数,看一下你的tQspi fBaud设置的是多少,然后就可以计算出A、B、C的值了。
uint32 IfxQspi_calculateExtendedConfigurationValue(Ifx_QSPI *qspi, const uint8 cs, const SpiIf_ChConfig *chConfig)
IFX_UNUSED_PARAMETER(cs);
Ifx_QSPI_ECON econ;
econ.U = 0;
const int maxB = 3;
float32 tQspi = 1.0f / IfxQspi_getTimeQuantaFrequency(qspi);
float32 fBaud = (chConfig->baudrate);
int abcMin = (2);
int abcMax = (4 + 0 + 4);
int q, bestQ = 1, abc, bestAbc = abcMax, halfBaud = 0;
sint8 diffB = 0;
float32 error, bestError;
float32 tTmp, tBaudTmp;
boolean done = FALSE;
OPTIREG™ PMIC (Automotive)
Small signal/ small power MOSFETs
Sensors