stm32单片机可以跑操作系统吗(STM32单片机最小系统怎么画)
单片机最小系统,也就是能够使得单片机正常运行程序,最少需要连接哪些器件。
一个单片机开发板,就是“单片机 外围芯片”。一个单片机开发板,需要做哪些功能,完全是由你自己决定。你可以只做一个只有单片机的开发板,就是刚才说的最小系统板,也可以把单片机所有的功能全部做上,也可以只做一部分。
我们要做的,就是用到单片机所有引脚功能的开发板。我们先把单片机最小系统画好,就可以继续添加其它的外围器件了。
上一篇文章,我们已经把单片机画好了。相信你对STM32F103VET6已经有了一些了解。
电源引脚:
VDD是单片机的数字电源正极,VSS是数字电源负极,共有5个VDD引脚,5个VSS引脚。VDDA是单片机的模拟电源正极,负责给内部的ADC、DAC模块供电,VSSA是模拟电源负极。VREF 是参考电压输入引脚正极,VREF-是参考电压输入引脚负极。
上一段提到了ADC和DAC模块,这两种模块是数字与模拟的结合,负责数字信号和模拟信号的转换。在某些应用中,对信号的噪声要求很高,这就需要把数字信号和模拟信号分开,采取一定的措施连接,避免相互影响。所以单片机会有数字电源和模拟电源引脚。由于模拟电源需要一个很标准的电压信号。所以就有了VREF引脚。但是,作为开发板,只是用来学习单片机用的,所以对噪声要求不高,我们就只需要做一个简单的隔离措施:在VDD和VDDA之间接一个0欧姆的电阻,同理,在VSS和VSSA之间接一个0欧姆的电阻。
把VREF 与VDDA连接,把VREF-与VSSA连接。(在实际应用中,VREF 用来连接标准的电压输出,比如REF3133,可以产生标准的3.300V。前面说到,开发板是用来学习的,没有必要给VREF连接一个标准的3.3V,如果你非要连一个,我也不拦着。)
还有一个电源引脚,就是VBAT,BAT就是Battery(电池),那就好理解了,这个引脚用来连接电池的正极的。STM32带RTC功能(实时时钟),所以有VBAT引脚。
这里有一个矛盾需要解决。我们开发板上需要带一个电池,连接到VBAT引脚给RTC供电,我们也希望在不装电池的时候,用USB电源转过来的3.3V给VBAT引脚供电。如果直接连接的话,会有两种后果:1.当电池电压高于3.3V,电池就会输出电流到AMS1117,使得芯片发烫,还会很快消耗电池电量。2.如果电池电压低于3.3V,AMS1117产生的3.3V,就会给电池充电,而这种CR1220电池是不能够充电的。
所以就有了下面这种解决方案:
D1防止AMS1117产生的3.3V流向电池,D2防止电池的电流流向AMS1117。道理很简单,用的就是“二极管的单向导通性”。(不管哪个行业,高手都是那些基础非常扎实的人。)
所有的电源引脚旁边,都需要放置一个0.1uF的电容滤波,用来滤除电源的噪声杂波。
光电源就写了这么长,写的我指干掌燥的。
复位引脚
复位就是重启。STM32复位引脚是低电平复位,正常工作状态,复位引脚是高电平。
晶振引脚
STM32有两组晶振,一组用来给单片机提供主时钟,一组用来给RTC提供时钟。(实际应用中,如果不用RTC功能的话,RTC的晶振不必连接。因为STM32内部有8M的时钟产生,所以如果不用外部晶振的话,也可以不用连接。)我们开发板上,需要学习内部时钟的转换,以及还要学习RTC,所以这两组晶振,我们都需要连接。
(这是主时钟晶振,一般用8M,当然,10M,12M,16M等都可以用,不过,大家都用8M,为了程序的统一性,我们一般就是用8M。)
(这是RTC时钟晶振,需要连接32.768K的晶振,关于为什么要用32.768,大家可以去百度问问,这里就不多说了。)
BOOT引脚
STM32有两个BOOT引脚,分别是BOOT0和BOOT1,这两个引脚的高低电平,决定了单片机的启动方式和运行方式。
这里我们可以先不必了解BOOT0和1分别变高变低会怎么样,我们把BOOT0和BOOT1引脚引出来,然后在排针上可以随便配置BOOT0和BOOT1的高点电平,就可以做好开发板以后,学习这两个引脚的用法了。
到这里,最小系统就画好了。
原以为最小系统写不了多少内容,结果还是一大篇文章。这里是正在直播的《免费教你做一个牛逼的STM32开发板》。如果想看以前的文章和以后的文章,关注我的科技老顽童。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com