问题1:在配置SPI模块时,QSPI的时钟源怎么选择,EB配置中,McuClockSettingConfig_0的General中有McuQspiClockSourceSelection 选项,但是McuClockReferencePoint中也有一个MCU_QSPI_FREQUENCY的可选项,这两个的区别是什么
问题2:
TIDLEA,B 的怎么去测试,不太明白这个时间指的是什么,是不是我得发连续帧才能测出来
问题1:在配置SPI模块时,可以选择QSPI的时钟源。在EB配置中,McuClockSettingConfig_0的General部分有一个选项叫做McuQspiClockSourceSelection,它用于选择QSPI的时钟源。而McuClockReferencePoint中的MCU_QSPI_FREQUENCY选项则是用于定义QSPI的时钟频率,这两个选项的作用有所不同。
问题2:TIDLEA和TIDLEB是指SPI通信中的空闲时间。TIDLEA指的是主设备发送完一个字节数据后,到下一次发送一个新字节数据之间的时间。TIDLEB则是从从设备接收到一个字节数据后,到下一次接收一个新字节数据之间的时间。
测试TIDLEA和TIDLEB时,你需要发送一系列连续帧,然后通过测量接收到的数据的间隔时间来确定TIDLEA和TIDLEB的值。你可以通过改变发送数据的频率或者发送不同长度的数据来观察TIDLEA和TIDLEB的变化。
可以参考iLLD里面如下代码:
IfxScuCcu_getQspiFrequency
这个函数里面有频率的选择
IfxQspi_SpiMaster_setChannelBaudrate
及IfxQspi_calcRealBaudrate
这个函数里面有计算方法(关于fQspi和ECON[cs].B.Q, A, B, C)
float calculateRealBaudrate(Ifx_QSPI *qspi, IfxQspi_ChannelId
channelId){
// Extracting relevant parameters int cs = channelId % 8;
float fQspi = IfxScuCcu_getQspiFrequency();
// Set fQspi to the base QSPI frequency (e.g., 200MHz)
// Configuring QSPI parameters:
// TQ is 0,
// Q is 24,
// A is 3,
// B is 3,
// and C is 1.
// Adjusting fQspi for TQ fQspi = fQspi / (qspi->GLOBALCON.B.TQ + 1);
// Adjusting fQspi for Q
// Example: fQspi = 200M fQspi = fQspi / (econ[cs].B.Q + 1);
// Example: fQspi = 8M
// Further adjustments for A, B, and C fQspi = fQspi / ((econ[cs].B.A + 1) + econ[cs].B.B + econ[cs].B.C);
// Example: fQspi = 1M return fQspi;}
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 | |
【换取逻辑分析仪】rtthread添加RRH62000传感器驱动-基于野火启明6M5被打赏48分 | |
换逻辑分析仪+Verilog多输入门被打赏27分 |