资讯详情

单片机最小系统着实让人着迷

单片机最小的系统真的很迷人

4029e5a7fb6b3314de2bc1463109a8aa.png

////插播:今年年初录制了一套比较系统的入门单片机教程,想让同学免费找我拿,私信我就可以了~点击我的头像黑色字体和我的地球。最近比较闲,带学生参加省级或以上比赛/////

STM32F103RCT6:

STM32F103RCT6是嵌入式微控制器的集成电路(IC),32位 Cortex-M3内核处理器,速度是72MHz,程序存储容量为256KB,程序存储器的类型是FLASH,RAM容量是48K,封装LQFP64。

STM32单片机命名规则:

STM32单片机最小系统:

所谓单片机最小系统,是由单片机正常运行、至少必要的设备组成的系统。

单片机最小系统上电后,单片机可以正常复位下载程序,除此之外没有其他功能。

在保证最小系统正确的基础上,可依次添加其他功能模块或设备,使单片机具有实际功能。

STM单片机最小系统包括复位电路和时钟电路,如图1所示。

图中复位电路采用上电复位电路,STM32单片机NRST引脚输入低电平,复位。

图1 STM32F103单片机最小系统

电源引脚:

VDD是单片机数字电源的正极,VSS总共有5个数字电源负极VDD引脚,5个VSS引脚。VDDA是单片机模拟电源的正极,负责内部ADC、DAC模块供电,VSSA是模拟电源负极。

还有一个电源引脚,就是VBAT,BAT就是Battery(电池),这个引脚用来连接电池的正极。STM32带RTC所以有功能(实时钟)VBAT引脚。

原理图上预留了一个CR1220纽扣锂电池,当主电源存在时,由系统中提供VCC3.3给VBAT供电;

主电源断电后,由CR1220纽扣电池给STM32自带的RTC模块供电,从而能够保证实时时钟模块在主电源掉电的情况下还能够正常工作。

但在这种设计中,这里有一个矛盾需要解决。VBAT引脚直接与VCC3.3和CR如果连接1220,会出现以下问题:

1.当电池电压高于3时.3V,电池将输出电流AMS117使芯片发热,并迅速消耗电池电量。

如果电池电压低于3,.3V,AMS1117产生的3.3V,会给电池充电,这样CR1220电池不能充电。

为了解决上述问题,我们将VBAT引脚电路设计如下:

D防止电池的电流流向AMS1117,D2防止AMS1117产生的3.3V流向电池。

这种设计的原因是二极管的单向导通性。

正常产品设计时,最好在每个电源引脚旁边放置0.1uF用于过滤电源噪声杂波的电容滤波。

复位引脚NRST:

复位就是重启。STM复位引脚为低电平复位,工作状态正常,复位引脚为高电平。

单片机的位置和复位的目的是将电路初始化到一个确定的状态。单片机内的单片机是将存储设备和一些存储器放入制造商的预设值。

一般来说,单片机复位电路的作用是将状态机初始化为空状态。

单片机实现上电复位的原理:

在复位引脚NRST上外电容和电阻。

当复位电平(低电平)连续两个机器周期以上时,复位是有效的。系统上电后,由于电容充电,单片机复位将保持一段时间的低电平。

刚上电,电容器两端电压为0,即低电平复位,RC电路有充电曲线(即电容器两端电压变化曲线),单片机识别外部电平有连接电压,保证rc两个机器周期以上的电路电容电压可满足单片机复位条件;

当3.3V电源加到VCC3.3时,RC电路导通,NRST与地面的电位差为电容与地面的电位差。NRST与地面的电位差只有在电容充电后才能达到3.3V,因此,芯片引脚的信号在电容充电过程中电平较低。

根据RC电路充电方程V(t)=U A*e-(t/RC),只要合理选择R跟踪,C值可以保证充电时间大于芯片复位所需的时间。我们通常选择R10K电阻,C选择0.1uF电容。

晶振引脚:

STM32有两组晶振,一组为单片机提供主时钟(5:OSC_IN,6:OSC_OUT),8.主时钟晶振MHz晶振(为方便程序内部倍频,一般选择8MHz的晶振)。

一组用来给RTC提供时钟(3:OSC32_IN,4:OSC32_OUT),RTC时钟晶振需要连接32.768K晶振,为什么要用32.768KHz,可以去百度了解一下。

在实际应用中,如果不需要,RTC功能的话,RTC晶振不需要连接。

STM时钟电路分为内时钟和外时钟两种模式。

外部时钟在OSC_IN和OSC_OUT在晶体振动之间添加一个晶体振动,单片机内部振荡器可以产生自激振动和时钟信号,在晶体振动的两侧添加20~30pF瓷片电容器起到微调时钟频率的作用,使频率更加稳定。

内部时钟是STM32内部有时钟,所以如果没有外部晶体振动,也不能连接。内部时钟采用芯片内部振荡电路,精度低,温度漂移大,不需要外部振荡器件。

BOOT引脚:

STM32有两个BOOT引脚,分别是BOOT0和BOOT1.这两个引脚的高低电平决定了单片机的启动和运行模式。

第一种(BOOT1=X,BOOT0=0)启动是最常用的用户FLASH启动。默认启动模式。

第二种(BOOT1=0,BOOT0=1)启动模式是系统存储器的启动模式。STM32中自带的BootLoader(通常说ISP程序)是在这种启动模式下,如果程序硬件错误,可以切换BOOT0=1.在此模式下重新烧写Flash可恢复正常。BootLoader芯片出厂后,没有人能修改或擦除该区域的内容,即它是一个ROM区。

第三种(BOOT1=1,BOOT0=1)启动方式是STM32内嵌的SRAM启动。该模式用于调试。

一般我都是将军BOOT0和BOOT1接地。

以上是最小系统的全部内容。当然,只有上述部分不好。一般来说,最小系统还包括以下部分:

电源电路:

因为STM32单片机一般为3.3V供电,生活中常见的是5V电源(电脑USB口、手机充电器、移动电源...),所以一般使用AMS1117-3.3V稳压电源芯片将是5V降压为3.3V,芯片的包装一般为SOT223。

下载电路:

当然,除了述部分外,还需要下载电路,STM32下载方式如下:

(1)串口下载:使用串口下载需要单片机中相应程序的支持,这样的程序放在系统存储器中,由ST通过可用的串行接口,在生产线上重新编程闪存储器。(在制造商提供的系统存储器启动模式下载BootLoader通过此,提供串口下载程序的固件BootLoader将程序下载到系统Flash中。程序烧录在FLASH)。

注:使用这种方法需要注意:BOOT0=1,即需要有外部电路支持才可以实现串口下载。

(2)JLINK或者STLINK下载

一般我们用JTAG或者SWD模式下载程序。

推荐使用SWD模式下载,SWD模

标签: ams1117稳压芯片封装

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台