news 2026/10/29 11:46:50

ST32G12单片机使用表贴晶体:32MHz

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ST32G12单片机使用表贴晶体:32MHz

简 介:本文介绍了使用32MHz表贴晶体替换原25MHz晶体来提升STC32G单片机性能的实验。通过更换1206封装的32MHz晶体并调整并联电容至20pF,成功提高了系统时钟频率。测试表明,该改动使信号采样周期从10ms缩短至7ms,主要得益于时钟频率提升。文中详细记录了电路设计、焊接过程、ADC采样优化及FFT频率分析等关键步骤,验证了外部晶振方案的有效性。同时指出STC32G系列单片机缺乏硬件数学加速单元,性能提升仅源于时钟频率提高。

关键词:32MHz,晶体,外部时钟,STC32G,150kHz,电磁门导航信号,幅值估计

00:02:57\\\\\\\\r\\\\\\\\n外部32MHz表贴晶体

  • STC32G12 使用外部晶振
  • 导航信号线性度测量:150kHz
  • 2016贴片无源晶振石英晶体谐振器16M24M25M26M27.12M32M40M50MHZ
  • STC32G中的数学硬件库有多疯狂?

AD\Test\2025\December\Sample150kHzSTC32G12MCP6S21.SchDoc

01外部晶体信号


一、背景

昨天测试了基于STC32G 系列的单片机采集150kHz 电磁门导航信号的电路板的功能。 每采集一个通道的数据, 时间大约消耗 10ms。 为了加速采集数据速度。 使用外部 32 MHz 的表贴晶体, 替换原来的 25MHz的晶体。 不仅减小了电路的面积, 同时也提高了电路工作速度。

▲ 图1.1.1 表贴晶体封装说明

二、设计电路

在昨天的实验电路板上, 将晶体修改成 32MHz 表贴晶体。 重新铺设PCB, 此时,全部飞线已经减少到 6 条。 解释通过 0 欧姆的电阻进行飞线。


一分钟之后, 得到了测试电路板。 电路板制作的非常完美。

三、焊接测试

焊接电路板, 其中, 晶体的两个并联电容, 都使用 20pF。 这个 20pF 是购买晶体包装上给出的 并联电容参数。 将之前编写的程序下载, 修改内部对应时钟频率为 32MHz。 可以看到此时, 单片机开始工作, 串口输出字节正常, 表明单片机内部始终为正确的 32MHz 。


▲ 图1.3.1 采集到的256个数据

配置 ADC 的时钟分频系数。 设置为 0, 此时, ADC 采样时钟频率达到最快。 采集 256 个输入信号波形, 由此可以看到采集频率比信号的频率好像大了6倍左右, 对应每个周期采集六个数据。 下面,对采集到的数据进行分析, 得到精确的归一化频率, 并进行正弦信号幅度分析。

四、频率分析

对采集到的数据补零, 使其长度达到原来的 128 倍。 求取它的 快速傅里叶变换, 其中的峰值对应的归一化频率 为 1.88488。 由此可以知道, 对应的采样频率是 信号频率的 3.33 倍。 所以, 处理255个数据, 恰好对应的信号周期的整数倍数。

▲ 图1.4.1 不128倍的0所得到的频谱
#!/usr/local/bin/python# -*- coding: gbk -*-#============================================================# TEST3.PY -- by Dr. ZhuoQing 2025-12-18## Note:#============================================================fromheadmimport*ddim=tspload('sample7','ddim')d=list(ddim[0]-mean(ddim[0]))d0=[0]*len(d)for_inrange(127):d.extend(d0)fftd=abs(fft.fft(d))id=where(fftd[:len(fftd)//2]==max(fftd[:len(fftd)//2]))[0][0]printf(id)omiga=id/128*2*pi/256printf(omiga)printf(2*pi/omiga)plt.plot(fftd,lw=3)plt.xlabel("N",color="steelblue",fontsize=24)plt.ylabel("FFT",color="steelblue",fontsize=24)plt.grid(True,which='both',linestyle='--',alpha=0.7)plt.tight_layout()plt.show()#------------------------------------------------------------# END OF FILE : TEST3.PY#============================================================

下面,测量一下现在晶振频率下, 对于外部信号采样和处理时间。 为此, 还将STC32 的数学库增加上, 不过后来经过测试发现, 加上STC32的数学库, 对于STC32G 系列的单片机来说没有什么用处。 因为这个系列的单片机并不支持硬件数学运算加速。 所以现在,采集信号周期编减小到 7ms 左右, 这些时间的提升主要来自于 时钟频率的增加。

※总线 ※


本文测试了 使用1206表贴封装的晶体, 作为 STC32G 外部时钟。 在并联电容为 20pF的时候, 单片机启动正常。 很可惜, STC32G 系列的单片机内部没有数学加速硬件单元, 所以,数据采样时间减小到 7ms, 主要来自于时钟频率提高所带来的加速效果。


■ 相关文献链接:

  • STC32G12 使用外部晶振
  • 导航信号线性度测量:150kHz-CSDN博客
  • 2016贴片无源晶振石英晶体谐振器16M24M25M26M27.12M32M40M50MHZ
  • STC32G中的数学硬件库有多疯狂?

● 相关图表链接:

  • 图1.1.1 表贴晶体封装说明
  • 图1.3.1 采集到的256个数据
  • 图1.4.1 不128倍的0所得到的频谱
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 6:39:12

超级Mini小车功能说明

巴掌车模01 超Mini小车功能说明1. 按键说明 小车左侧按键为启动按键,启动时需小车前方传感器处于背景布上(自动校准传感器数据),启动后小车会自行往前移动,若遇到赛道(白色胶带),则会沿着赛道行驶。 小车右侧为关机按键&#xff…

作者头像 李华
网站建设 2026/10/28 21:02:37

STC32G12单片机替换成STC32F12单片机,直接替换的结果

简 介: 本文测试了STC32F12单片机替换STC32G12单片机的可行性。实验表明,虽然两款单片机管脚兼容,但32F12增加了硬件数学运算单元。测试发现,直接下载32G12程序无法运行,需重新编译工程。使用硬件数学运算后&#xff0…

作者头像 李华
网站建设 2026/10/29 19:52:32

SIEMENS 6SL3210-1PE33-0CL0 变频器

常见故障及解决方法‌通信故障‌‌原因‌:通信线路松动、参数设置错误(如波特率、设备名称不匹配)或接口损坏。‌解决‌:检查线路连接,核对参数一致性,更换损坏接口。‌过流/过压/欠压‌‌过流‌&#xff1…

作者头像 李华
网站建设 2026/10/29 18:01:04

软件测试常用的7种方法,最后一个是升职加薪关键!(零基础小白转行IT互联网高效进阶)

一般而言,软件测试方法分为黑盒测试、白盒测试、灰盒测试、静态测试、动态测试、手动测试、自动化测试和探索性测试等类型。 【1】黑盒测试 黑盒测试又称功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试方法验证被测对象使用质量及外部质量表现。 …

作者头像 李华
网站建设 2026/10/29 7:18:09

【RTOS】EasyLog的移植与使用

当前log的突出问题: ①log不方便定位到源程序所在位置 ②log不分主次,比较难生成想要的信息 1. 彩色log 1.1 编译器内置宏:__FILE__,__LINE__ led1下直接打印出当前文件的行号和名字 led2复制粘贴过来,改一下引脚 实验现象 哎…

作者头像 李华
网站建设 2026/10/29 3:00:49

在数据库里玩“平行宇宙”:MatrixOne Data Branch 让数据也拥有Git 的分支/合并/对比/回滚(含跨集群同步)

这篇文章讲一件事:当数据像代码一样频繁迭代时,数据库内生的“分支工作流”会比备份/复制更可靠、更省钱、更工程化。 1. 从一个真实的“数据事故现场”开始 当你的 AI 模型不慎清空了核心数据库,或者错误地注入了大量虚假数据,传…

作者头像 李华