找回密码
 立即注册
查看: 208|回复: 3

关于AI32的SPI速率问题

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:28
  • 最近打卡:2025-01-08 16:11:02

12

主题

26

回帖

224

积分

中级会员

积分
224
发表于 2024-10-23 17:27:55 | 显示全部楼层 |阅读模式
今天用逻辑分析仪测试了一下SPI的实际输出速率,感觉很奇怪,
MCLK时钟频率为24Mhz,SPI默认使用MCLK的时钟,HCLKDIV的值为0,即输入SPI时钟为24Mhz,SPI分频为4分频的条件下,
使用逻辑分析仪250M采样SPI时钟输出如下图所示:


截图202410231723533144.jpg
发现4分频下实际输出只有3Mhz,这个结果为8分频的结果,HCLKIDIV之后的时钟输入到SPI前,还会再2分频一次吗?
我换成SPI2分频后,输出为6Mhz,这个结果为4分频的结果。
截图202410231727129683.jpg
有人知道什么原因吗?芯片实际上是这样,还是我的时钟设置有问题呢?SPI最大频率能达到多少呢?

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-01 06:20:50
已绑定手机

13

主题

1257

回帖

2971

积分

金牌会员

积分
2971
发表于 2024-10-23 18:53:21 | 显示全部楼层
是不是CLKSEL寄存器的MCK2SEL[1:0]设置为10了,这是主时钟实际为内部PLL的1/2。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:28
  • 最近打卡:2025-01-08 16:11:02

12

主题

26

回帖

224

积分

中级会员

积分
224
发表于 2024-10-23 23:37:32 | 显示全部楼层
21cns*** 发表于 2024-10-23 18:53
是不是CLKSEL寄存器的MCK2SEL[1:0]设置为10了,这是主时钟实际为内部PLL的1/2。

没有使用PLL,直接采用内部高速晶振输入的,默认情况下的配置

点评

这是因为HSCLKDIV的默认值是2,如果想要取消掉这个2分频,需要将HSCLKDIV的值设置为0或者1 具体详见寄存器初始值说明 [attachimg]67473[/attachimg]  详情 回复 发表于 2024-12-2 20:44
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-12-2 20:44:31 | 显示全部楼层
Shot*** 发表于 2024-10-23 23:37
没有使用PLL,直接采用内部高速晶振输入的,默认情况下的配置

这是因为HSCLKDIV的默认值是2,如果想要取消掉这个2分频,需要将HSCLKDIV的值设置为0或者1
具体详见寄存器初始值说明
截图202412022044268340.jpg
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:33 , Processed in 0.143839 second(s), 70 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表