找回密码
 立即注册
查看: 1139|回复: 7

有源晶振使用的问题,求解

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

671

积分

高级会员

积分
671
发表于 2023-6-2 16:06:44 | 显示全部楼层 |阅读模式
有源晶振使用的问题,求解-1.png

芯片stc32g12k128.遇到一个问题。使用了标称25M的有源晶振,以为mcu工作频率就是25M了。在P54输出了一个1/10主频。并对它进行测量。结果发现对应的主频不是25M。求解释(表中P54输出频率列出的是对应主频值)


//XOSCCR=0xc0; //启动外部晶振 .用22M外晶振
//while (!(XOSCCR&1));//等待时钟稳定
CLKDIV = 0x00; //时钟不分频
CLKSEL = 0x01;//选择外部振荡源,25M有源晶振
在mcu设置时只选择了外部振荡源。没选外部晶振。

第一次使用有源晶振,没经验,不知问题在哪里,难道是信号波形不好。谐波在捣乱?还是有源晶振使用时需要关闭什么设置。
我自己的测量并不保证准确,只做为一个参考,希望看到的是stc-isp设置下载频率不同时,因为mcu使用了外部有源晶振,其工作频率是一个稳定的值。
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2025-06-17 10:15:05

74

主题

6092

回帖

1万

积分

超级版主

积分
12731
发表于 2023-6-3 12:25:40 | 显示全部楼层
1、断开晶振信号,看MCU还能运行吗?
2、要启动外部晶振,因为需要用到晶振输入电路。
3、用定时器0或1自动重装并自动取反输出方波,配合测试。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

671

积分

高级会员

积分
671
发表于 2023-6-3 15:31:46 | 显示全部楼层
梁*** 发表于 2023-6-3 12:25
1、断开晶振信号,看MCU还能运行吗?
2、要启动外部晶振,因为需要用到晶振输入电路。
3、用定时器0或1自 ...

关闭外部晶振,使用内部IRC时钟,用stc-isp设置12M,用stc-isp定时器设置T0定时器1毫秒计时中断,在中断程序中翻转P3.3.这时用stc虚拟示波器测得P3.3方波频率1.004K,符合预期。程序不变。把stc-isp设置频率改为24M。再测P3.3方波频率,还是1.004K左右。两种情况用自制频率计测P5.4输出频率都是24M(1/10输出,实际测得值是2.4M)改变stc-isp设置频率为18.432M,这时测P3.3方波频率为1.58K左右,测P5.4频率37M多些。换了一个stc12k128dip40芯片,结果一样。感觉我对设置频率的理解有问题
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

671

积分

高级会员

积分
671
发表于 2023-6-3 15:36:35 | 显示全部楼层
感觉是我在stc-isp中设置12M频率时。实际芯片工作频率是24M

点评

下载时选择内部IRC频率,注意程序中不要写CLKDIV,不要写跟IRC有关的寄存器,启动时MCU会自动配置好。 下载选择选择12M,内部振荡是24M,CLKDIV=2,即2分频。 下载选择选择24M,内部振荡是24M,CLKDIV=0,即1分频。  详情 回复 发表于 2023-6-3 15:44
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2025-06-17 10:15:05

74

主题

6092

回帖

1万

积分

超级版主

积分
12731
发表于 2023-6-3 15:44:06 | 显示全部楼层
丽江*** 发表于 2023-6-3 15:36
感觉是我在stc-isp中设置12M频率时。实际芯片工作频率是24M

下载时选择内部IRC频率,注意程序中不要写CLKDIV,不要写跟IRC有关的寄存器,启动时MCU会自动配置好。
下载选择选择12M,内部振荡是24M,CLKDIV=2,即2分频。
下载选择选择24M,内部振荡是24M,CLKDIV=0,即1分频。

这几年我们做了大量的应用,不管是内部时钟还是外部晶振,都未曾碰到过问题。每天接几十个电话,都未碰到主频异常的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

671

积分

高级会员

积分
671
发表于 2023-6-3 16:01:25 | 显示全部楼层
梁*** 发表于 2023-6-3 12:25
1、断开晶振信号,看MCU还能运行吗?
2、要启动外部晶振,因为需要用到晶振输入电路。
3、用定时器0或1自 ...

打开外部晶振选项,P5.4输出25M了。问题解决。谢谢梁老师
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

671

积分

高级会员

积分
671
发表于 2023-6-4 08:32:19 | 显示全部楼层
梁*** 发表于 2023-6-3 15:44
下载时选择内部IRC频率,注意程序中不要写CLKDIV,不要写跟IRC有关的寄存器,启动时MCU会自动配置好。
下 ...

谢谢。记住了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2023-11-26 13:41:15

14

主题

87

回帖

671

积分

高级会员

积分
671
发表于 2023-6-4 08:50:50 | 显示全部楼层
我的问题出在程序中加了CLKDIV = 0x00; //时钟不分频 。干扰了MCU自己的设置。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 12:59 , Processed in 0.131886 second(s), 91 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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