0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

晶振损坏情况下的芯片运行情况

我快闭嘴 来源:精通单片机与嵌入式 作者:精通单片机与嵌入 2022-09-05 11:53 次阅读

大家对晶振在电路中的作用肯定很了解,晶振作为电路中的心脏,具有极其重要的作用,在各种电子产品设备中广泛应用,如果出现不振就会导致整个设备不能正常工作。但是,类似STM32这种MCU是有内部晶振的,默认使用外部晶振时,若外部晶振损坏,会出现什么情况?芯片自动切换到内部晶振程序继续运行还是单片机死机?今天就来验证一下晶振损坏情况下的芯片运行情况,下面做一下实验测试一下。

01找一块开发板

如下图中是STM32的一个最小系统板,在本公众号下回复【STM32】可以索取关于STM32的全部视频和例程资料

54bfd5ee-2be9-11ed-ba43-dac502259ad0.jpg

今天就用这个最小系统板进行测试验证。

02修改晶振

为了方便后面的操作,将开发板的晶振焊接的引脚裸露在外。

54eb46ac-2be9-11ed-ba43-dac502259ad0.png

在这里要特别说明一下:现在这样焊接是为了方便后面的验证,在实际产品中,一定要保证晶振焊接可靠、稳定,否则容易影响产品的稳定性

03编写程序

编写LED闪烁的程序,用LED是否闪烁以及闪烁的频率来证明芯片工作的状态。时钟初始化程序如下:
void SystemInit (void){  /* Reset the RCC clock configuration to the default reset state(for debug purpose) */  /* Set HSION bit */  RCC->CR |= (uint32_t)0x00000001;
  /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */#ifndef STM32F10X_CL  RCC->CFGR &= (uint32_t)0xF8FF0000;#else  RCC->CFGR &= (uint32_t)0xF0FF0000;#endif /* STM32F10X_CL */       /* Reset HSEON, CSSON and PLLON bits */  RCC->CR &= (uint32_t)0xFEF6FFFF;
  /* Reset HSEBYP bit */  RCC->CR &= (uint32_t)0xFFFBFFFF;
  /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */  RCC->CFGR &= (uint32_t)0xFF80FFFF;
#ifndef STM32F10X_CL  /* Disable all interrupts and clear pending bits  */  RCC->CIR = 0x009F0000;#else  /* Reset PLL2ON and PLL3ON bits */  RCC->CR &= (uint32_t)0xEBFFFFFF;
  /* Disable all interrupts and clear pending bits  */  RCC->CIR = 0x00FF0000;
  /* Reset CFGR2 register */  RCC->CFGR2 = 0x00000000;#endif /* STM32F10X_CL */      /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */  /* Configure the Flash Latency cycles and enable prefetch buffer */SetSysClock();}
引脚初始化程序如下:
GPIO_InitTypeDefGPIO_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);    GPIO_InitStructure.GPIO_Pin = PB8_LOAD_PIN;    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;    GPIO_Init(GPIOB, &GPIO_InitStructure);  
PB8_LOAD_1;
LED闪烁的程序如下:
PB8_LOAD_1;                 //PB8输出高电平DelayMs(100);               //延时PB8_LOAD_0;                 //PB8输出低电平DelayMs(100);               //延时
04将晶振引脚剪断

详情可参考下面的视频过程。 我们发现,剪断晶振的引脚后,LED的闪烁频率发生了改变,证明晶振的引脚损坏时,单片机程序仍然在运行。

特殊说明:

1、本实验仅仅验证了单片机程序是否运行,并不能代表晶振掉了后,我们设计的产品的功能仍然正常;由于系统时钟发生改变,依赖于时钟的功能模块肯定工作不正常,比如串口通信、周期定时的任务等;

2、现在验证测试的程序可能与您产品中的程序有所差异。 3、现在只是验证了晶振掉了的情况(晶振掉了后,单片机程序仍然在运行),但是若晶振出现引脚对地短路、2个引脚之间短路、晶振对电源短路等不同情况,结果可能不同。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6002

    文章

    43981

    浏览量

    620891
  • 晶振
    +关注

    关注

    32

    文章

    2478

    浏览量

    66856
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348846

原文标题:把STM32的晶振剪下来,正在运行的程序还能运行吗?单片机会死机吗?

文章出处:【微信号:精通单片机与嵌入式,微信公众号:精通单片机与嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在高速和超高速运行情况下,高速变频电机的测试至关重要

    高速变频电机是指转速超过10000r/min,一般都是几万转甚至达到十几万转,在电动汽车、分布式发电系统中具有广阔的应用前景。在高速和超高速运行情况下,电机的运行特性与常规电机有很大的不同,对高速电机进行相关测试是至关重要的。
    的头像 发表于 08-31 11:06 1.1w次阅读
    在高速和超高速<b class='flag-5'>运行情况下</b>,高速变频电机的测试至关重要

    怎么查看嵌入式Linux开发中各个线程的运行情况

    在嵌入式Linux开发中,有时候为了定位问题,需要查看某个进程的各个线程的运行情况
    发表于 09-16 14:05 1079次阅读

    CY8C4146内部集成了WCO模块,这种情况下是不是不需要再去接一个外部

    CY8C4146内部集成了WCO模块,这种情况下是不是不需要再去接一个外部
    发表于 02-21 06:44

    CY8C4025AXI-S412在什么情况下外部会自动跳转到内部?能再跳转回外部吗?

    我使用的是CY8C4025AXI-S412,请问在什么情况下外部会自动跳转到内部?能再跳转回外部
    发表于 03-06 06:04

    在不改变内部程序的情况下,只想改变外部元件,如等,怎样才能让实时时钟加快,

    在不改变内部程序的情况下,只想改变外部元件,如等,怎样才能让实时时钟加快,如用1秒的时间跳30秒?
    发表于 05-16 17:55

    主板上的

    、显卡以及其它芯片组成振荡电路是全板上最重要的时钟信号产生源 的测量及好坏判断测量方法电压法:主板加电,用万用表分别测两引脚电压。
    发表于 03-21 14:59

    怎么来判断检测的好坏

      好坏的测量不是件容易的事,所以说的检测是主板维修非常重要的一环。那么,怎么来判断检测
    发表于 10-14 15:50

    选择需要注意的五个方面

    ,频率最为重要,不能随便替换频率。一定要经过合格验证或者专业测试通过的情况下,再进行协商。如果实际电路要求的频率是4.43MHZ,在没有货源的情况下,切勿随便更换差不多的频率来使用;  三、
    发表于 07-01 14:34

    IAP15F2K61S2不接外部情况下下载程序

    IAP15F2K61S2不接外部情况下下载程序,在不勾选选择内部时钟的情况下可以下载,勾选了却下载不上,这是什么情况?有人知道吗?
    发表于 07-23 13:17

    在单片机11.05926mhz的情况下,gps模块接收频率设置为多少比较合适?

    在单片机11.05926mhz的情况下,gps模块接收频率设置为多少比较合适?
    发表于 05-18 23:14

    在线实时监控UPS电源运行情况及环境温湿度的变化情况

    一、方案背景:某机房管理员通过网络联系到我们,希望能在线实时监控机房内一台科华UPS电源运行情况及环境温湿度的变化情况,随时了解机房环境的实时温度、湿度以及UPS电源的电压、电流、温度、负载、输入
    发表于 12-28 07:32

    请问新唐单片机在外部失灵的情况下,能否自动切换到内部继续工作?

    请问新唐单片机在外部失灵的情况下,能否自动切换到内部继续工作?
    发表于 06-16 07:27

    轴承以及电机运行情况的判断方法

    判断轴承以及电机运行情况我们还可以使用视觉,听觉,触觉
    的头像 发表于 10-13 03:22 5402次阅读

    什么情况下芯片容易坏呢

    芯片是在电子学中一种将电路小型化的方式,并且时常制造在半导体晶圆表面上。相信很多小伙伴都经历过芯片坏掉的情况,那么什么情况下芯片容易坏呢?
    的头像 发表于 01-02 17:54 5742次阅读

    使用SystemView工具分析瑞萨RA6M4芯片上RT-Thread的运行情况

    使用SystemView工具分析瑞萨RA6M4芯片上RT-Thread的运行情况
    的头像 发表于 12-11 17:23 199次阅读
    使用SystemView工具分析瑞萨RA6M4<b class='flag-5'>芯片</b>上RT-Thread的<b class='flag-5'>运行情况</b>