MM32F103替换STM32F103外部晶振不起振
MM32F103与STM32F103外部晶振电路不一样
问题简单描述:
MM32F103与STM32F103晶振电路差别
问题详细描述:
使用MM32F103替换STM32F103,直接P2P贴片之后,出现运行不正常,最后发现是时钟电路的差别。
问题具体分析:
1. 在STM32F103的板子上换了灵动的MM32F103,查看对比数据手册,两颗芯片基本P2P兼容,电源引脚和时钟引脚等位置一致,直接在板子上替换,替换之后运行出现异常;
2. 后面检查发现,跑内部时钟完全没有问题,问题在于外部时钟不稳定,于是去查,最后发现是因为MM32的时钟电路部分,MM32内部没有集成反馈电阻,需要外加反馈电阻,而ST的则完全不需要。
解决方案:
只能修改电路,增加这个反馈电路。因为内部时钟精度差,在高低温下温漂很大,不能满足应用要求,所以只能改电路来满足。
总结和建议:
MM32和STM32的时钟电路不能完全兼容,不加会出现外部时钟输入不稳定的情况。
单片机入门:最小系统 晶振 复位电路与电源详细讲解
学单片机走过许多弯路,挖过许多坑,浪费了很多时间,做过实际产品后回顾过去的学习经历,发现很多坑其实是可以避免的,单片机的入门应该可以更轻松一点,写写我的一些学习经历,希望对刚入门甚至还没有入门的新手有所帮助,心愿足矣,水平有限,求老手轻拍……
单片机的学习,模电数电是最基本的,也是最重要的,构成单片机最小系统的三个要素,是电源,晶振和复位电路,话说这是之前的STC89C52单片机了,现在的STC15系列,晶振和复位电路都内置了,但是电源还是要有的,我们就以这2者做对比来学习,看看有何不一样的地方。
电源
通过查看单片机的型号可知,STC89C52RC的供电电压范围在3.3V-5.5V之间,STC15W1K16PWM这款芯片的供电电压范围在2.4V-5.5V之间,他们都可以用5V供电,后者可以用3.3V来供电,STC89C52RC这块片之所以还没有退役,还是因为学习者大多以他作为学习入门,在实际项目中,我只见到过一次,某天,老板从库房里拿出2管STC89C52,大概几十片,问我还能不能用上,我只呵呵了一下。
言归正传,我们既然确定用5V来供电,那么电源是如何产生呢?我们知道可以用变压器来搞定,比如在TB上搜220V转12V变压器12W,就搜到了,变压器直接输出的是交流电12V,我们没法用啊,于是还需要整流,滤波,稳压等等,整流需要二极管,这里我们选择桥式整流,选择4只1N4007,规格1A 1000V就好了,这个1A指的是最大整流电流,这个1000V指的是最高反向工作电压,这样经过桥式整流之后,输出的电压是脉动的直流电压,已经有正负极性了,但是我们还是不能用,交流成分实在是太大,因此还需要加一个容量稍大些的电解电容,
比如1000UF/35V,电容的耐压值得选取应该大于1.1*1.414*12,电网电压也是波动的,预留出10%就好了,根据电容容量计算公式,计算出容量在1000UF-2000UF是合适的,12W的变压器,我们只要输出500MA的电流就够了,这样的设计是完全满足我们的需要的。电路图如下:
图中的C1,C3容量较大,作用是用于滤波,C2是消除自激震荡,高频干扰,C4也是消除噪声等高频干扰,三端稳压芯片用的是LM7805,非常常见的电路了,后面加了一个TVS,这个在实际项目产品中是必须要加的,瞬态抑制二极管,如果电压高于5V,会瞬间动作,保护后级电路,带CA的是没有方向的,直接插上就可使用,后面用了个LED红色的小灯,我们知道小灯就是一个二极管,不过发光二极管和普通的二极管的压降是不一样,像这种红色的,一般压降在1.8-2.0V可以正常工作,电流在4-20MA,如果超出这个数值,基本就烧坏了,R1是限流电阻,限制LED的电流,我选择5MA的工作电流,5/0.005 = 1K欧姆,就是这么来的,这样,电源部分就搞明白了,我们获取了5V的电源。
晶振
晶振,顾名思义,晶体振荡器,这就好比人的心脏啊,提供整齐划一的节拍,如果这个东西不准,或者不起振,单片机玩不转的,在STC89C52上,是必须要加晶振电路的,如图所示这样:
2个20PF的电容是帮助晶振起振的,维持信号稳定,Y1是无源晶振,啥叫无源呢?指的是没有震荡源,也就是说他自己单独玩不转的,需要内部的RC电路配合,产生一个十分稳定的时钟信号源,跟无源相对就是有源晶振了,这个价格相对来说贵一些,一般4个引脚,VCC,GND,OUT,NC,NC是直接悬空的,当给有源晶振供电以后,在其OUT端,会产生一个方波信号,直接接在XTAL1上就好,XTAL2可以悬空不接,当然这里是指STC89C52,我记得之前用STM32F103RCT6这款芯片做产品电磁兼容测试,因为有源晶振辐射超标,再加上电路布局不合理,过不了电磁兼容,没有办法,只好把晶振搞掉了,但是就算晶振换下来了,这个引脚还是可以造成干扰的,于是就配置成普通IO,然后接电阻下拉接地才过了,这都是经验教训啊。
常用复位电路
复位电路,是用来在单片机执行异常的时候,可以让他从头开始执行程序,STC89C52RC这款芯片是高电平复位,低电平正常工作,电路图如下所示:
来解析下这个电路图,先来看STC89C52RC,我们知道电容的特性是通交隔直,电容是个储能元件,储存的是电场的能量,在没有电到上电的瞬间,电容肯定要充电的,这个时候电容就短路成一根导线了,RST端就被拉到了5V,执行复位指令,当电容充满电后,会断开连接,RST引脚会被10K电阻下拉到低电平,所以电路开始正常的工作,之所以接上按键以及100R的电阻,是可以手动复位,当按键按下的时候,RC并联,我们知道,电阻是消耗电能的,会瞬间把电容里面的电能释放掉,具体的时间计算,可以看电路基础第4版,127页,一阶电路的零输入响应,计算比较麻烦,有一个时间参数,T = RC(念TAO,不会打),单位是秒,T的大小反映了一阶电路过渡过程的进展速度。我们只要知道电容会瞬间释放就好了,手动复位之后,电容又开始了充电断开正常工作的过程,就是这样。
51单片机和STM32不同,STM32是低电平复位,高电平正常工作,这儿原理是一样的。
好了,单片机学习最基础的部分,已经了解了,接下来,就可以动手干点别的事情了……希望此篇文章对刚入门的你有所帮助。
相关问答
stm32f103vc晶振电路原理?
晶振在电气上可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率为串联谐振,较高的频率...
STM32串口波特率怎么设置?使用库直接设置吗?像51那样寄存器的设置?
多少,然后计算参数来实现你需要的波特率...如果你仔细研究USART_Init()函数,你会发现,这程序在配置波特率时会读取RCC有关的寄存器来计算当前CPU实际的工作频...
stm32周边电路包含哪些,晶体振荡电路采用了什么样的电路设计?
stm32周边电路包括:唤醒电路、复位电路、启动配置、高速晶振电路、A/D参考电路、后备电源、AD输入PC滤波、低速晶振电路。晶体振荡电路采用了高速晶振电路、...
proteus8.6使用教程?
3,修改工程名字和工程路径。4,单击next直到finished并完成建立工程。5,在键盘上按字母P或者找到工作区的P按钮,跳出搜索元器件界面,输入STM32F103R6,RES...4,...
proteus8使用入门教程?
proteus8的使用入门教程如下:1、打开Proteus8.6软件。2、点击菜单栏file——找到NewProject——鼠标左键单击。3、修改工程名字和工程路径——单击next直...
STM32CubeMX软件怎么使用?
STM32CubeMX是ST推出的基于硬件抽象层(HAL)编程工具,将工程师从ARM繁杂的寄存器配置工作解放出来,不再需要关注底层硬件,只专注于需要的软件功能开发即可,...ST...
Proteus怎样点亮LED?
...3、修改工程名字和工程路径。4、单击next直到finished并完成建立工程。5、在键盘上按字母P或者找到工作区的P按钮,跳出搜索元器件界面,找到对应的器件,...
stm32tft时钟频率设置?
看你使用的MCU最高主频是否能跑到216MHz.确定你使用的外部晶振频率,如果未使用外部晶振,使用内部晶振也可以。时钟信号进来后一般都会进行除频,将频率降到...
pg麻将胡了(官方)下载网站
当单片机的复位引脚上出现两个周期以上的复位电平时,单片机复位,程序要从头开始执行。2)晶振电路晶振电路也叫做时钟电路,时钟电路为单片机系统提...
STM32是什么啊,是32位的单片机吗-185****1270的回答-懂得
stm32是一种32位的单片机。单片机是嵌入式系统中最常用的核心部件,stm32本质上也是一种单片机。从事嵌入式方面工作,如果有一定的基础,可以从STM32...