272761180 发表于 2024-11-25 22:19:54

新手请教关于AI8051U的时钟问题

请教以下几个关于理解AI8051U芯片时钟的几个问题:


1. 时钟树的这个IRCBAND频段是不是以ISP设置的IRC频率为准,而main文件里面define的MAIN_Fosc只起到一个宏定义的作用。





2. 如果IRC以ISP设置24MHz为准,那么配置SPI通过如下时钟树配置时,只要不高于20MHz就行了是吗?是不是就可以HSCLKDIV和SPICLKDIV择一配置除以2即可。



3. 另外上面时钟树的图里说了高速SPI输出频率不高于33M,但是在HSPI章节里面说可以在144MHz下工作,两者是一个意思吗?如果是一个意思应该就会有矛盾。



伫候明教。

王昱顺 发表于 2024-11-25 22:33:32

1.这个频段是用来设置内部irc的不同谐振点,stcisp也是调节的这个。main_fosc是用来程序中计算用的。需要跟stcisp中保持一致
2.spi的clk和输入时钟并不是相等的,最快可以到spi输入时钟/2,需要在spi部分进行设置
3.hspi确实可以工作在144mhz下,输出速率其实是受限于io口速率了。一般是用来拉高一点spi输入时钟频率来跑满io性能,例如主频40mhz情况下spi最快是能到20mhz,想要升高就需要走pll和hspi功能了

DebugLab 发表于 2024-11-25 22:45:23


Ai8051U内部预置频率IRC参数属于哪个频段,手册中没有介绍,我也在找但是没找到,Ai8的手册是有的,但是是2频段的,不通用
Ai8:



Ai8051U:




DebugLab 发表于 2024-11-25 22:51:31

DebugLab 发表于 2024-11-25 22:45
Ai8051U内部预置频率IRC参数属于哪个频段,手册中没有介绍,我也在找但是没找到,Ai8的手册是有的,但是是 ...

猜测Ai8051U是Ai8H8K64U的48M改为45.1584M,其余和Ai8H8K64U相同,更低频率是分频得到的

272761180 发表于 2024-11-25 23:02:50

DebugLab 发表于 2024-11-25 22:51
猜测Ai8051U是Ai8H8K64U的48M改为45.1584M,其余和Ai8H8K64U相同,更低频率是分频得到的 ...

那应该用isp就能直接设置咯,烧录时看日志isp是可以自动调整频率的,那就是说可以调整很多个主频频段

DebugLab 发表于 2024-11-25 23:02:52

IRCBAND由ISP下载程序和系统区自动配置,如用户需要运行时变频,参考楼上两个帖
猜测Ai8051U是Ai8H8K64U的48M改为45.1584M,其余和Ai8H8K64U相同
MAIN_Fosc是程序中使用的,要和运行频率一致,否则所有和时钟有关的程序都会异常
主频24MHz,不用PLL,SPI时钟最高12M,更低的只能是6M、3M、1.5M这样,整数倍的,最高是主频的一半
这些CLKDIV按需要设置,看其他功能是否需要使用,如还需要PWM,可以把HSCLKDIV设置为0,让PWM时钟高一些,然后设置SPICLKDIV
如果不考虑其他功能,设置哪个都可以
HSPI输入144M时钟,SPI的CLK最高就是72M,但是IO速度不支持

DebugLab 发表于 2024-11-25 23:04:07

272761180 发表于 2024-11-25 23:02
那应该用isp就能直接设置咯,烧录时看日志isp是可以自动调整频率的,那就是说可以调整很多个主频频段 ...

全自动的,如果不需要设置为奇葩频率或运行时变频,就不需要用户手动设置寄存器

272761180 发表于 2024-11-25 23:09:31

王昱顺 发表于 2024-11-25 22:33
1.这个频段是用来设置内部irc的不同谐振点,stcisp也是调节的这个。main_fosc是用来程序中计算用的。需要跟 ...

是不是可以这么理解,当使用主频的时候选择MCLK,一般通过HSCLKDIV或者SPICLKDIV控制在20MHz以下就行了,如果使用HSSPI,就得用PLL倍频(研究案例时看到的),最大支持144。
那么我还有个疑问,上图二的①部分,不管使用什么时钟源,最终经过HSCLK的时候都不能大于33或者20MHz吗?

王昱顺 发表于 2024-11-25 23:23:45

272761180 发表于 2024-11-25 23:09
是不是可以这么理解,当使用主频的时候选择MCLK,一般通过HSCLKDIV或者SPICLKDIV控制在20MHz以下就行了, ...

你的理解是对的
有关你的疑问:那个频率是最终输出频率,并不是spi的输入频率。
hsclk是共用的高速时钟,除了给spi似乎暂时没有太大作用,给pwm和tfpu还是有很大作用的

272761180 发表于 2024-11-25 23:57:25

王昱顺 发表于 2024-11-25 23:23
你的理解是对的
有关你的疑问:那个频率是最终输出频率,并不是spi的输入频率。
hsclk是共用的高速时钟, ...

明白了,不管倍频不倍频、用不用HSSPI,经过spi_clkdiv之后的时钟频率是有上限要求的,其余都可以。HSPI只是说明了可以在高速时钟下工作
页: [1] 2
查看完整版本: 新手请教关于AI8051U的时钟问题