关于AI32的SPI速率问题
今天用逻辑分析仪测试了一下SPI的实际输出速率,感觉很奇怪,MCLK时钟频率为24Mhz,SPI默认使用MCLK的时钟,HCLKDIV的值为0,即输入SPI时钟为24Mhz,SPI分频为4分频的条件下,
使用逻辑分析仪250M采样SPI时钟输出如下图所示:
发现4分频下实际输出只有3Mhz,这个结果为8分频的结果,HCLKIDIV之后的时钟输入到SPI前,还会再2分频一次吗?
我换成SPI2分频后,输出为6Mhz,这个结果为4分频的结果。
有人知道什么原因吗?芯片实际上是这样,还是我的时钟设置有问题呢?SPI最大频率能达到多少呢?
是不是CLKSEL寄存器的MCK2SEL设置为10了,这是主时钟实际为内部PLL的1/2。 21cnsound 发表于 2024-10-23 18:53
是不是CLKSEL寄存器的MCK2SEL设置为10了,这是主时钟实际为内部PLL的1/2。
没有使用PLL,直接采用内部高速晶振输入的,默认情况下的配置 Shoteen 发表于 2024-10-23 23:37
没有使用PLL,直接采用内部高速晶振输入的,默认情况下的配置
这是因为HSCLKDIV的默认值是2,如果想要取消掉这个2分频,需要将HSCLKDIV的值设置为0或者1
具体详见寄存器初始值说明
页:
[1]