精华内容
下载资源
问答
  • 外部晶振(external crystal),就是晶体。 外部时钟(external clock) ,就是一个时钟信号。 外部晶振,就是时钟产生电路在内部,只是使用了一个外部的晶振。 外部时钟,则时钟产生电路在外部,至于是否...
    外部晶振(external crystal),就是晶体。

    外部时钟(external clock) ,就是一个时钟信号。


    外部晶振,就是时钟产生电路在内部,只是使用了一个外部的晶振。
    外部时钟,则时钟产生电路在外部,至于是否使用晶振,要看它的具体实现。


    晶振,是一个元器件。在电路板上你可以肉眼看到。
    时钟,是一个电信号。你无法直接看到,只能通过仪器去测量出来。前者产生后者。



    展开全文
  • 也许有人说晶振这玩意,呵,有什么好写的。晶振内部结构怎么样的?晶振该怎么选择?晶振的布局走线怎么办?这些晶振问题,你都会吗?晶振产生的时钟被比喻成电路系统的心脏可不是随便说说的。今天重点给大家讲讲你...

    也许有人说晶振这玩意,呵,有什么好写的。

    晶振内部结构是怎么样的?

    晶振该怎么选择?

    晶振的布局走线怎么办?

    这些晶振问题,你都会吗?晶振产生的时钟被比喻成电路系统的心脏可不是随便说说的。今天重点给大家讲讲你熟悉又陌生的晶振。

    在写这篇文章前,前去拜读了各家微信公众号的相关内容。关于晶振的文章很多,简要列几条:

    石英谐振器简称为晶振;

    按晶振的功能和实现技术分:TCXO、VCXO、OCXO;

    晶振选择五要素:输出频率、频率稳定性和温度范围、输出电压和功率、输出波形、封装尺寸和外形;

    我们必考课堂的视频中也花了一些时间给大家做了相关讲解。

    好了,不长篇大论讲理论,小编直接上干货——晶振的必考知识点:

    689b689e053c339fa2a47bd20cf55c5f.gif

    知识点一:5个要点搞定晶振电路PCB布线

    位置要选对:晶振内部是石英晶体,如果不慎掉落或受不明撞击,石英晶体易断裂破损,所以晶振的放置远离板边,靠近MCU的位置布局。

    17e51206c65a7eda61480ce4b0016193.png

    两靠近:耦合电容应尽量靠近晶振的电源管脚,如果多个耦合电容,按照电源流入方向,依次容值从大到小摆放;晶振则要尽量的靠近MCU。

    7faefc60f9cb50c9ff99ab59b6ed746e.png

    走线短:在电路系统中,高速时钟信号线优先级最高,一般在布线时,需要优先考虑系统的主时钟信号线。时钟线是敏感信号,频率越高,要求走线尽量的短,保证信号的失真度最小。

    高独立:尽可能保证晶振周围的没有其他元件。防止器件之间的互相干扰,影响时钟和其他信号的质量。网传是300mil内不要布线,实际在设计中并没有如此严格。

    外壳要接地:晶振的外壳必须要接地,除了防止晶振向外辐射,也可以屏蔽外来的干扰。

    知识点二:查晶振问题不可缺少的三要素

    01,检查晶振本身

    在运输、焊接过程中,都可能会导致晶振内部的水晶片的损坏。如果我们在焊接晶振时,焊锡温度过高,或者是菜鸟级别的焊接时间长,都会影响到晶振本身。如果晶振损毁,直接更换一个晶振,是查找晶振不起振的问题中最简单的。

    02,物料参数值错误

    比如STM32使用外部晶振32.768Khz晶振,电容的容值建议在5pf-15pf之间,如果我们选择不合适的容值,就会导致晶振不起振。

    03,PCB布线问题

    检查PCB布线是否存在错误,如真是这个问题,那影响就非常大了,这一版就会浪费掉,还要投入更多成本,项目周期也会增加。

    51aa92c085ee0381c7573f23ea498f03.png

    别再小瞧晶振了,先记住今天的知识点吧。

    展开全文
  • RTC的晶振又分为:外部晶振和内置晶振。 RTC的晶振频率为什么是32768Hz? RTC时间以振荡频率来计算的。故它不是一个时间器而是一个计数器。而一般的计数器都16位的。又因为时间的准确性很重要,故震荡次数越低...

    RTC的晶振

    任何实时时钟的核心都是晶振,晶振频率为32768 Hz 。它为分频计数器提供精确的与低功耗的实基信号。它可以用于产生秒、分、时、日等信息。为了确保时钟长期的准确性,晶振必须正常工作,不能够收到干扰。RTC的晶振又分为:外部晶振和内置晶振。

    RTC的晶振频率为什么是32768Hz?

    1. RTC时间是以振荡频率来计算的。故它不是一个时间器而是一个计数器。而一般的计数器都是16位的。又因为时间的准确性很重要,故震荡次数越低,时间的准确性越低。所以必定是个高次数。215= 32768。

    2. 32768 Hz = 215即分频15次后为1Hz,周期 = 1s。

    3. 经过工程师的经验总结32768 Hz,时钟最准确。

    4. 规范和统一。

    展开全文
  • 8M晶体不起振是什么现象?最近公司做了几块基于STM32的板子,芯片是用的F103CBT6,打样焊接回来,先测试一下硬件是否能正常工作,简单写了个测试代码,看看程序下载运行,GPIO控制这些是否正常,很简单的一个程序,...

    好久没更新文章了,我还有个公众号呢?

    8M晶体不起振是什么现象?

    最近公司做了几块基于STM32的板子,芯片是用的F103CBT6,打样焊接回来,先测试一下硬件是否能正常工作,简单写了个测试代码,看看程序下载运行,GPIO控制这些是否正常,很简单的一个程序,LED每100ms翻转一次:

    #include "main.h"

    int main(void){
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        delay_init();
        led_init();

        while(1)
        {
            led_set(1, ON);
            led_set(2, ON);
            led_set(3, ON);
            led_set(4, ON);
            delay_ms(100);

            led_set(1, OFF);
            led_set(2, OFF);
            led_set(3, OFF);
            led_set(4, OFF);
            delay_ms(100);  
        }
    }

    程序下载,运行,有一些奇怪的地方,程序中是每100ms变化一次,可实际观察却是近1s闪烁一次。

    示波器一测,实际上是900ms闪烁一次。改了个其他的时间1ms,10ms等,发现都是实际设置的9倍时间,这是为什么呢?

    8M晶体为什么不起振

    示波器探头一量晶振的两个管脚,没有波形

    难道是焊接问题,我又拿了另外一块新板子,没烧程序的,同样是没有波形。

    为了排除程序配置的问题,我又找了一块正常的开发板,运行正常,延时时间也能对上,说明程序是没问题的!

    我又量了开发板上的晶振波形,两个管脚都是1v-3.3v,8M频率的正弦波,如下图所示:

    b20aa7f08544e49f10a2c7aea5c0f02d.png

    8M无源晶振波形

    于是便开启了硬件调试模式,一顿操作猛如虎:先拆了外部8M无源晶振和两颗匹配电容,使用信号发生器输出3.3v的8M方波,接到OSC_IN上,再次上电,完美运行,延时是准确的!

    可以确定是晶振部分电路的问题,一共就3个元件,两个电容和1个8M的无源晶体,晶体一般不会有什么问题,最有可能的就是匹配电容的大小不对。

    拿起万用表一量,高高的100nF!换上个39pF的电容,焊接上晶振,波形完美,程序运行正常!

    最后一查,是硬件工程师的物料BOM错了,误把这两颗关键性的电容和100nF的电容合并到一起了。

    怎么看8M晶体是否起振了

    当然,最简单的方法,就是烧录好程序,直接使用示波器测量晶振的两端。如果是焊接的全新的芯片,还没有烧写程序,直接测量晶振是没有波形的。或者是使用调试器进行全片擦除,也是量不到波形的。

    能不能从程序中读出当前晶振是否起振了呢?

    printf("当前系统主频:%d, 外部晶振状态: %d\r\n",SystemCoreClock, RCC->CR & RCC_CR_HSERDY);

    从STM32的启动流程可以看出,在执行main主函数之前,会通过SystemInit()函数完成系统时钟的配置,RCC->CR & RCC_CR_HSERDY这个值就表示当前外部晶振是否准备就绪,0为异常,1为正常。

    当外部晶振无法就绪时,会自动启用内部HSI 8M RC晶振作为系统主频,即主频只有8MHz,这也就是为什么延时时间相差9倍的原因

    static void SetSysClockTo72(void){
        __IO uint32_t StartUpCounter = 0, HSEStatus = 0;

        /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/
        /* Enable HSE */
        RCC->CR |= ((uint32_t)RCC_CR_HSEON);

        /* 如果外部晶振没有其中,RCC->CR & RCC_CR_HSERDY恒为0 */
        do
        {
            HSEStatus = RCC->CR & RCC_CR_HSERDY;
            StartUpCounter++;
        }
        while ((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));

        if ((RCC->CR & RCC_CR_HSERDY) != RESET)
        {
            HSEStatus = (uint32_t)0x01;
        }
        else /* 满足这个条件 */
        {
            HSEStatus = (uint32_t)0x00;    
        }

        /* HSEStatus=0,不满足,无法完成PLL配置 */
        if (HSEStatus == (uint32_t)0x01)
        {
            /*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz */
            RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
                                                RCC_CFGR_PLLMULL));
            RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
        }
    }

    顺手量了RS232串口的波形 :

    0d5362742f828dd1fb0f1857603613d6.png

    RS232和TTL串口波形

    上面是3.3v TTL串口信号,也就是普通的单片机IO口串口信号,下面的是MAX232转换之后的232电平的串口信号,大小正负5v,上升和下降时间比TTL电平要长一些 。

    总结

    一般来说,无源晶体的负载电容越大,其振荡越稳定,但是会增加起振时间,太大会导致完全不能起振,为了稳定波形,可以在晶振两端并联一个1M到10M的反馈电阻。

    这次遇到的问题,可总结为两点:

    • 新板子+新芯片,没烧程序,晶振没有波形是正常的

    • 新板子烧写正确配置的程序,延时时间相差9倍,是因为外部晶振无波形,主频不对

    • 外部晶振无波形是因为匹配电容100nF太大了,无法起振。

    以STM32F103CBT6,外部8M无源晶振为例,以下是我实践得出的结论:

    • 刚做回来的板子,STM32还没有下载程序,8M晶振是测不到波形的。

    • STM32芯片下载过程序,并配置正确,8M晶振会有波形,最小1v,最大3.3v,8M频率的正弦波,两个管脚都可以测到。

    • STM32芯片下载过程序,再整片完全擦除,8M晶振测不到波形。

    • STM32芯片8M无源晶振匹配电容太大,会导致晶振不能起振,无波形。

    • 一般无源晶振是正弦波,有源晶振是方波。

    推荐阅读

    • [测试]ESP8266两种工作模式数据传输测试

    • [评测]灵动半导体MM32W3蓝牙开发板开箱报告

    • [开源]手把手教你制作锂电池快充充电器

    • [开源]废旧Flash芯片不要扔—手把手教你制作U盘

    • [知识]有哪些内嵌ARM硬核的FPGA?


    • 我的博客:www.wangchaochao.top

    • 我的公众号:mcu149

    b82aafbbb410f49a4ce598e4c1ad8c9e.png

    由于微信文章不支持超链接,文中出现的软件、程序等文件下载,可以点击"
    如果觉得我的文章对你有所帮助,可以随手点“好看”分享,你的支持将是我持续更新的动力。
    展开全文
  • 像MCU可以用无源晶振是因为其内部集成有构成振荡器的电路,晶体不好集成就只好外加了。有源晶振才是真正意义上的一个振荡器,它里面包含了晶体和外围电路,只要外部提供一个电压源,就可以直接输出信号。 作者:魔...
  • 振荡电路用于实时时钟RTC,对于这种振荡电路只能用32.768KHZ 的晶体,晶体被连接在OSC3 与OSC4 之间而且为了获得稳定的频率必须外加两个带外部电阻的电容以构成振荡电路。    32.768KHZ的时钟晶振产生的振荡信号...
  • 振荡电路用于实时时钟RTC,对于这种振荡电路只能用32.768KHZ 的晶体,晶体被连接在OSC3 与OSC4 之间而且为了获得稳定的频率必须外加两个带外部电阻的电容以构成振荡电路。    32.768KHZ的时钟晶振产生的...
  • 振荡电路用于实时时钟RTC,对于这种振荡电路只能用32.768KHZ 的晶体,晶体被连接在OSC3 与OSC4 之间而且为了获得稳定的频率必须外加两个带外部电阻的电容以构成振荡电路。
  • stm32 为什么有二个晶振

    千次阅读 2019-06-20 15:10:07
    2个晶振,一个HSE,常用外部高频,PLL倍频用,常为8MHz。 另一个为外部低频晶振,也称时钟晶振,计时...如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理: 1)对于100脚或144脚的产品,OSC_IN应接地,O...
  • 晶振

    2021-01-22 12:22:20
    MCU 振荡电路晶体旁的22pF电容什么的?https://mp.weixin.qq.com/s/Oag4LS7Lz9mqZ6VDOr_wWw 振荡电路用于实时时钟RTC,对于这种振荡电路只能用32.768KHZ 的晶体,晶体被连接在OSC3 与OSC4 之间而且为了获得稳定...
  • 系列文章目录 提示:这里可以添加系列文章的所有文章...文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 // ; Reset handler Reset_Handler PROC EXPORT Reset_Handler [WEAK]
  • STM32F1外部8M晶振不起振的奇葩原因

    千次阅读 2018-12-29 22:01:40
    百度出了晶振不起振的各种原因,有说晶振不好的,有说地线没搞好的,有说匹配电容不合适的,然而这些都算不上什么,导致我的板子晶振不起振的原因说起来好奇葩,一reset信号z的接地电容两头短接了,reset不能复位...
  • 原来我也只知道实时时钟就应该用32.768KHZ的晶振但不知道为什么,今天突然想知道为什么就查了查,搞懂了,写下来,为了积累,为了分享。   1. 振荡电路用于实时时钟RTC,对于这种振荡电路只能用32.768KHZ 的...
  • 在用单片机设计电路时,需要用到晶振,晶振的大小要根据需要来确定,比如说4M,8M,11.0592M,12M,20M,甚至还有其他数值的晶振。...为什么单片机的外部晶振有多种选择,而时钟晶振都32.768K呢? ...
  • 关于晶振

    千次阅读 2018-01-30 21:37:26
    什么实时时钟的晶振32.768KHZ频率 我们都知道实时时钟就应该用32.768KHZ的晶振,但是,为何用32.768而不是用其他频率呢?  振荡电路用于实时时钟RTC,对于这种振荡电路只能用32.768KHZ 的晶体晶体被...
  • 描述一、什么是晶振了解晶振之前,我们先来看一下我们最为熟悉的51单片机,我们都知道51单片机最小系统包括供电电源、复位电路以及晶振系统。这CPU能跑起来的最基本条件。由此我们可以看到晶振在电路当中的作用,...
  • 振荡电路用于实时时钟RTC,对于这种振荡电路只能用32.768KHZ 的晶体,晶体被连接在OSC3 与OSC4 之间而且为了获得稳定的频率必须外加两个带外部电阻的电容以构...
  • 我的avr16片子外接12M晶振,能选择外部8M晶振吗?怎么设置熔丝位,对了,选择外部晶振定时不准,是什么问题
  • 什么需要时钟发生器? 电路上每个芯片都需要外部时钟输入,但是CPU/USB/硬盘接口/PS2接口对时钟频率要求/带宽要求差异很大 时钟发生器类型? 有的设计给每个芯片一个晶振作为时钟源; 有的设计用一个晶振...
  • 晶振产生振荡必须附加外部时钟电路,一般是一个放大反馈电路,只有一片晶振是不能实现震荡的。 于是就有了时钟振荡器,将外部时钟电路跟晶振放在同一个封装里面,一般都有4个引脚了,两条电源线为里面的时钟电路...
  • 莫名想起小时候电脑开机...有源指的是外部只需要供电即可响 无源指的是外部必须给一个变化的供电 ULN2003D 类似于74HC573的一个放大器 蜂鸣器的BZ接在它的OUT5上 而CPU一端接在P15 因此使用P15控制 void...
  • 至于为什么会有这么复杂的时钟配置,主要考虑到系统的性能和功耗两个方面的因素吧。单一时钟的话可能会导致性能过剩并且功耗过高。多个时钟的话可以平衡功耗和性能之间的平衡。 特此说明一下,系统复位后,默认...
  • AVR单片机外部RAM访问

    2020-08-03 05:07:07
    本文以ATMEGA64单片机为测试平台,外扩74HC573(资料上讲用AHC系列,但是我用HC系列在16M晶振下配置成最快速度访问并没有发现什么不妥,当然这个不严谨的设计)以及62256芯片。

空空如也

空空如也

1 2 3 4 5 6
收藏数 105
精华内容 42
关键字:

外部晶振是什么