有一些电子设备需要频率高度稳定的交流信号,而LC振荡器稳定性较差,频率容易漂移,即产生的交流信号频率容易变化。
在振荡器中采用一个特殊的元件——石英晶体,可以产生高度稳定的信号,这种采用石英晶体的振荡器称为晶体振荡器,简称晶振,如下图是各种各样的晶振。
电子元器件的小型化趋势,有力促进了当下社会的发展进步,电子元器件越小,为主板节约的空间越大,因此,有人异想天开,如果能将晶振电路封装到IC芯片(如时钟芯片)内部将是多么完美,就如同有源晶振在无源晶振的基础内置振动芯片,就无需外部的电容电阻等元器件了。
但实际出于各种原因,晶振并没有内置到IC芯片中。这究竟是为什么呢?
原因 1
早些年,芯片的生产制作工艺也许还不能够将晶振做进芯片内部,但是现在可以了。这个问题主要还是实用性和成本决定的。
原因 2
芯片和晶振的材料是不同的,芯片 (集成电路) 的材料是硅,而晶体则是石英 (二氧化硅),没法做在一起,但是可以封装在一起,目前已经可以实现了,但是成本就比较高了。
原因 3
晶振一旦封装进芯片内部,频率也固定死了,想再更换频率的话,基本也是不可能的了,而放在外面,就可以自由的更换晶振来给芯片提供不同的频率。
有人说,芯片内部有 PLL,管它晶振频率是多少,用 PLL 倍频/分频不就可以了,那么这有回到成本的问题上来了,100M 的晶振集成到芯片里, 但我用不了那么高的频率,我只想用 10M 的频率,那我为何要去买你集成了 100M 晶振的芯片呢,又贵又浪费。
我们通常所说的 '片内时钟',实际上片内根本没有晶振,只有RC振荡器。
STM32的时钟框图
可以看出STM32系统时钟的供给可以有3种方式:
HSI,高速内部时钟信号STM32单片机内带的时钟 (8M频率), 精度较差。
HSE,高速外部时钟信号,精度高。
PLL,低速外部晶体32.768kHz主要提供一个精确的时钟源 一般作为RTC时钟使用
如果选用内部时钟作为系统时钟,其倍频达不到72Mhz,最多也就8Mhz/2*16 = 64Mhz。
如果使用内部RC振荡器而不使用外部晶振,请按照如下方法处理:
① 对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。
② 对于少于100脚的产品,有2种接法:
OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。
分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出并输出'0'。此方法可以减小功耗并(相对上面i)节省2个外部电阻。
时钟是STM32单片机的脉搏,是单片机的驱动源。
使用任何一个外设都必须打开相应的时钟。这样的好处就是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。
关键字:晶振 封装 STM32
引用地址:
晶振为什么没有封装进STM32芯片内部?
推荐阅读最新更新时间:2024-11-13 07:54
MDK中STM32使用Printf函数详细解析
在用MDK调试STM32板子串口时,为了方便串口调试,调用了printf()函数,用Keil仿真是,串口不能正确的输出,软件仿真时,总是卡在那 里。有点纳闷,然后调用USART_SendData()函数,发现串口可以接收到正确的数据,证明串口配置没有问题,问题应该是出在printf()函 数上,参照ST公司的printf例子也不能在串口输出数据。由此可知应该是软件配置的原因。后面,百度,再AVR论坛上找到了答案。 如果使用的是MDK,请在工程属性的“Target“-》”Code Generation“中勾选”Use MicroLIB“ 进行如上设置后编译一下,串口输出正确的数据。 #ifndef __UART_INTERFAC
[单片机]
STM32----ADC进行信号(跳变沿、PWM)的捕获
一般情况下进行信号的捕获,如上升沿或者下降沿。均可采用外部触发进行捕获。这是基于信号比较稳定的情况,如信号出现较大的纹波或者易受到干扰。会出现“误触”的现象,此时用外部中断难以捕获到正确的信号。 这种情况的解决办法,可以采用以下办法: (1)使用定时器进行捕获,并开启定时器的滤波功能。在库函数结构体中,为: TIM_ICInitStruct.TIM_ICFilter = 0x0f;(滤波系数可填0x00~0x0f) 当系数开到最大(0x0f)可有效过滤大部分纹波以及干扰信号,但对于持续时间较长的干扰无法过滤。 (2)使用ADC模拟看门狗功能。 比如当前信号为高电平,触发信号为下降沿,存在着一定
[单片机]
【STM32平衡小车】电磁巡线归一化算法(二)
一、归一化的概念 归一化处理,由于各个电感的性能特性存在很大差异特别是电压波动范围相差较大。因此为了给算法制定统一的标准给数据处理带来方便须对 A/D传感器采集来的信号做归一化处理。此设计中的具体方法是通过公式将各传感器电压值都处理成相对该传感器最大电压和最小电压使得传感器输出电压值都保持在 0到 100之间。 归一化之后的传感器数据如图所示横坐标表示距离中心线的距离单位是毫米,纵轴是电压值。 二、归一化的原因 假设不用归一化处理时,距离中线零偏差时,电感A的值是1000,偏离赛道20厘米时,电感A值是200.当赛道电源不准时,比如输出电流由100ma变成了120ma,这时,电感A在零偏差的值和偏离赛道20厘米时候的值都会
[单片机]
STM32之SPI_FLASH
SPI的简介: SPI协议(Serial Peripheral Interface),即是串行外围设备接口,是一种高速全双工的通信总线,它是由摩托罗拉公司提出的,他被广泛的使用在ADC,LEC等设备与MCU间通讯的场合. SPI信号线: SPI总线包含4条总线,分别是为SS(PS:这里用SS代替,起始还有一个非号—在顶上),SCK,MOSI,MISO。 SS(Slave select):片选信号线,当有多个SPI设备与MCU相连时,每个设备的这个片选信号线是与MCU单独的引脚相连的,而其他的SCK,MOSI,MISO线则为多个设备并联到相同的SPI总线上 当SS信号线为低电平时,片选有效,开始SPI通讯. SCK(Serial
[单片机]
以STM32为主控的温度单反馈控制系统全面解析
设计选用STM32单片机作控制器,设计温度单反馈的控制系统,对电加热水器内水的温度进行控制。通过PT100温度传感器实现对水温信号的采集,并利用模拟量前向通道来对水温信号进行处理。利用STM32单片机进行控制输出PWM信号,用此信号控制接触器进而控制电加热水器的电源通断,最终实现对水温的控制。同时用组态软件设计监控界面来实现对水温的控制显示。通过对此课题的设计,能够使自动化的学生对工业过程控制对象具有更进一步的了解,同时熟练掌握自动化控制系统的设计流程,为以后的工作学习打下坚实基础。 一、控制系统硬件设计 1、控制系统硬件总体设计 温度是一个很重要的变量,需要对其进行准确地控制。温度控制系统常用来保持温度恒定或者使温度按照某种
[单片机]
高端封装技术:攻克存储器系统性能与容量限制
在半导体行业竞争日趋激烈的背景下,封装工艺作为一种部署更小型、更轻薄、更高效、和更低功耗半导体的方法,其重要性日益凸显。同时,封装工艺也可响应半导体小型化技术的限制和满足其他市场需求。 封装工艺是指对半导体制成品进行包装的过程,使其免受损坏,同时将半导体电路中的电线与外部连接。此前,封装工艺通常被视为一种简单的辅助工作,属于半导体制造的后工序,而非确定半导体质量的前工序。然而,近年来,随着晶体管的特征尺寸缩小到5nm以下,加之半导体制造业在未来几年面临物理尺寸限制的可能性越来越大,封装技术也得到了前所未有的关注。 封装工艺关乎半导体产品,是与客户休戚相关的关键工艺,SK海力士肩负责任,承载使命,致力于实现最佳性能和最高品质。 下面
[手机便携]
STM32启动过程与向量表
一.首先看一下一个典型的STM32程序的二进制文件: 注意开始地址的前2“字”,0x2000870,0x08000635. 二.在工程文件里,进入debug模式,点击 “RET”复位 发现MSP就是程序文件的第一个32bit内容,PC则是下一个32bit内容。注意0x08000635与0x08000634:加载到 PC 的数值是奇数( LSB=1) ,表明这是在 Thumb 状态下执行,因为Cortex-M3处理器不能执行ARM指令;另一方面, CM3 中的指令至少是半字对齐的,所以 PC 的 LSB 总是读回 0。 三.再看下STM32的启动文件下的中断向量表 事实上,可以明显地看出,STM32程序的文件的开始地址位
[单片机]
STM32笔记之十三:恶搞,两只看门狗
a) 目的: 了解两种看门狗(我叫它:系统运行故障探测器和独立系统故障探测器,新手往往被这个并不形象的象形名称搞糊涂)之间的区别和基本用法。 b) 相同: 都是用来探测系统故障,通过编写代码定时发送故障清零信号(高手们都管这个代码叫做 喂狗 ),告诉它系统运行正常。一旦系统故障,程序清零代码( 喂狗 )无法执行,其计数器就会计数不止,直到记到零并发生故障中断(狗饿了开始叫唤),控制CPU重启整个系统(不行啦,开始咬人了,快跑 )。 c) 区别: 独立看门狗Iwdg 我的理解是独立于系统之外,因为有独立时钟,所以不受系统影响的系统故障探测器。(这条狗是借来的,见谁偷懒它都咬!)主要用于监视硬件错误。 窗
[单片机]