玩转STM32(10)CPU的脉搏

发布者:幸福梦想最新更新时间:2022-05-17 关键字:STM32  CPU  脉搏 手机看文章 扫描二维码
随时随地手机看文章

前面学习了怎么样下载程序到开发板, 并且可以运行起来,看到LED灯轮回地亮灭。你也许很好奇为什么LED会轮流地亮灭,像拥有生命一样,具有周期性地工作。要解决这个问题,我们得学习CPU的脉搏,那么什么是CPU的脉搏呢?其实CPU就是一堆泥沙和一些金属组成的,本身是不具备这种生命的特性,那么它周期性地工作的秘密又是什么呢?其实CPU之所以有这种特性,是因为它靠一个振荡电路来实现,这个振荡电路就是CPU的心脏,如果没有它是不可能产生任何的跳动。


在这个振荡电路里,你也许听过石英晶振这个名称,为什么要使用它呢?物理学家在研究物质的属性时,发现石英有一个特性,当把石英放在一个电场里,石英会变长,当电场去掉后,又可以恢复原来的长度。在这个过程里,可以把电能转换为机械能,恢复过程时把机械能转换为电能。如果外面定时地给这个石英一个电场,那么这个石英就会以这个频率来变长,过一段时间又撤掉这个电场,石英又产生一个反方向的电场。如果添加这个电场与石英产生的电场一致,那么就会导致电场最高,如果相反,就是最低。通过电路产生的电场频率与石英本身频率一致时,就会产生最高的振幅,这样就达到压电谐振。因此,通过切换不同的石英就可以达到不同的频率。


当然,也有别的电路来产生振荡的频率,比如使用RC电路或LC电路,但是为什么要采用石英晶振呢?原因是由它的物理特性来决定的,因为它对温度的变化而导致频率的变化是最小的。在CPU内部,现在很多芯片都内置一个RC振荡器,比如在对频率要求不严格的场合,就可以使用这个晶振,例如在玩具应用时,检测快与慢就是不严格的,可以使用这样的晶振。大多数情况下,我们还是使用严格要求的晶振,比如在高铁里或者实时性要求很严格的产品。如果对时间有严格要求,比如一天86400秒里,要求万分之一的精度,就要使用好的晶振了,否则时间就会偏差很大,因此常常在电路里还会有一个32.768K的晶振,这个晶振为什么又是32.768K呢?是因为时间频率为1Hz,要产生这个频率,必须是一个计算机二进制能整数表示的频率。因为2的15次方,就是等于32768。于是CPU里的电路把这个频率进行分频,经过15次分频之后,就变成1Hz了,这样每一个跳动就是一秒钟。


CPU有了上面介绍的晶振电路,就可以有脉搏跳动的来源,就可以周期地执行任务了。如果电路里晶振振荡不起来,CPU就是死的,什么也不会输出,所以在焊接CPU之后,往往第一步检查的就是CPU是否有振荡信号。如果振荡频率有偏差也会导致失速或超速。如果频率不准,当采用这个频率来通讯时,就会导致出错。因为两个通讯端频率对应不上,理解就会出现偏差。


在我的开发板里采用下面的原理图表示晶振输入:

这里采用了25MHz频率的晶振。


https://blog.csdn.net/caimouse/article/details/51749579

关键字:STM32  CPU  脉搏 引用地址:玩转STM32(10)CPU的脉搏

上一篇:玩转STM32(15)确定栈的位置和大小
下一篇:玩转STM32(12)代码存储空间的选择

推荐阅读最新更新时间:2024-11-10 12:00

膜拜苹果!A7 CPU架构终极揭秘
    研究苹果的硬件总是一件很痛苦的事情,因为苹果在这方面从来都是极为封闭,绝少公开底层资料,因此绝大多数时候只能靠猜。 A7是苹果也是业内第一款64位架构的移动处理器,但是在iPhone 5S首发的时候,我们对它几乎一无所知。当时猜测它只是上代A6 Swift架构的简单改进版,解决了内存延迟等问题而已,但结果大错特错,严重低估了苹果。 iPad Air发布的时候,资料多了一些,首次知道其架构代号为Cyclone,还知道了架构方面的一些信息: 就目前看来,峰值发射宽度达到了六!也就是相当于A6、Krait的两倍,混合不同指令的时候更是能有三倍。 浮点、整数的共同发射局限也基本不存在了,
[手机便携]
Linux环境开发STM32,从环境到调试
首先简单地描述一下软硬件开发环境。 宿主机: 操作系统:CentOS7 x86_64 ( grome桌面版 ) IDE:Eclipse Luna JLink驱动:JLink_Linux_V434a 工具链:GNU-ARM-Toolchains-4.9-2014q4 GDB:arm-linux-gdb V7.8.1 硬件平台: CPU:STM32F103C8T6 JLink:V8 USB转串口:Silicon Labs CP2101 环境的搭配都是比较简单的,编译工具链都比较容易装。这里就不再介绍了。下面就只附上工具链的下载链接。 https://launchpad.net/gcc
[单片机]
Linux环境开发<font color='red'>STM32</font>,从环境到调试
STM32 usb_prop.c文件分析与usb_core.h一些数据定义分析
usb_prop.c文件可以说是一个蛮重要的文件,因为USB的许多处理函数都在这里定义。在无论是在USB的建立阶段、数据阶段还是状态阶段的一些处理都在这个文件,USB标准函数请求的函数也在这个文件里。 usb_prop.c一开始就是一连串的结构体,如下: DEVICE Device_Table = { EP_NUM, //被使用的端点数 1 //可以使用的端点数 }; DEVICE_PROP Device_Property = //注册一些CustomHID函数 { CustomHID_init, //CustomHID的初始化函数 CustomHID_Reset, //CustomH
[单片机]
Stm32 基于蓝牙的串口通信 详细篇
1. HC-05蓝牙 1.1蓝牙模块使用介绍 蓝牙HC05是主从一体的蓝牙串口模块,简单的说,当蓝牙设备与蓝牙设备配对连接成功后,我们可以忽视蓝牙内部的通信协议,直接将将蓝牙当做串口用。当建立连接,两设备共同使用一通道也就是同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收通道中的数据。 1.2蓝牙模块使用注意 hc-05支持从4800bps~1382400bps间的标准波特率,使用时波特率一定要匹配,vcc接3.3 或者 5V GND 接GND TX接单片机上的RX RX接TX。 2.Stm32F1串口通信 2.1串口通信介绍 STM32F103ZET6 最多可提供 5 路串口, 2.2串口通信算法思路
[单片机]
<font color='red'>Stm32</font> 基于蓝牙的串口通信 详细篇
STM32实现串口下载
要想了解一键下载电路的工作过程,首先要了解STM32的几种启动模式。 STM32的几种启动模式如下表所示: 从表中可知,我们想用串口下载代码,就要配置BOOT0为1,BOOT1为0,但是如果想让STM32一复位就运行代码,就要配置BOOT0为0,BOOT1配置为什么都可以,为了解决这个问题,我们可以设计一个电路,通过串口转USB芯片CH340G的DTR#和RTS#引脚的信号来控制一键下载电路,从而间接控制STM32的RESET和BOOT0引脚的信号,来达到通过串口一键下载和运行的效果,省去了购买仿真器的费用,下载程序也变得简单方便,一键下载电路如下图所示: 串口下载软件选用的是MCUISP,通过串口的DTR和RTS信号来自动配
[单片机]
<font color='red'>STM32</font>实现串口下载
英特尔与联发科合作,Intel笔记本电脑将支持5G网络
近日,英特尔宣布推出5G 5000解决方案,是其首个具有全球运营商认证的 5G M.2 解决方案。英特尔与联发科合作,为下一代 PC 体验提供 5G 调制解调器解决方案的产品定义、开发、认证和支持,并与广和通合作提供 5G M.2 解决方案(FM350-GL™)。英特尔近期还宣布了两项英特尔5G 5000 解决方案生态系统合作,包括与中国移动、惠普和联发科合作、以及与 DoCoMo 和惠普合作,将为用户带来新一代全互联 PC。 Mercury Research 2020年第四季度全球CPU市场份额的调研 据Mercury Research发布的数据显示,英特尔无论桌面PC还是笔记本芯片市场,均有着超过80%的市场份
[嵌入式]
英特尔与联发科合作,Intel笔记本电脑将支持5G网络
STM32的uart1、uart2、uart3重定向函数(标准库版)
标准库 //uart1 int fputc(int ch,FILE *f) { while(USART_GetFlagStatus(USART1,USART_FLAG_TC) != SET); USART_SendData(USART1,(unsigned char)ch); while(USART_GetFlagStatus(USART1,USART_FLAG_TC) != SET); return (ch); } //uart2 int fputc(int ch,FILE *f) { while(USART_GetFlagStatus(USART2,USART_FLAG
[单片机]
Intel CPU难兄难弟:NVIDIA打脸为显卡推送spectre补丁
自新年以来,Intel等CPU的Meltdown和Spectre漏洞已经引起了极为广泛的恐慌。祸不单行,用户们可能得面对又一波担忧了,因为安全漏洞已经不仅仅只影响CPU。在最新的显卡驱动里,NVIDIA已经在为这次的漏洞推送补丁了。 据ZDNet报道,NVIDIA称他们的显卡不受Meltdown漏洞影响(该漏洞只针对Intel的CPU),但会受到范围更广、造成问题更严重的Spectre影响。对此,NVIDIA发布了安全公告,称会提供一个“初步的安全更新,以减少受影响的范围”,并将会继续更新跟进。 这些更新不仅会推送给消费级的GeForce显卡,还会推送到重量级的产品上,例如Quadro系列和Tesla系列。 Gefor
[半导体设计/制造]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved