单片机最小系统令人着迷,为各种创新提供了可能。
stm32f103rct6是一款优秀的嵌入式微控制器集成电路,拥有32位cortex-m3内核处理器,其速度为72mhz。其程序存储器容量为256kb,存储器类型为flash,ram容量为48kb,并拥有lqfp64封装形式。
关于stm32单片机命名规则:这一部分详细介绍了stm32系列单片机的命名规范。
所谓单片机最小系统,是为了保证单片机正常工作所必需的器件和电路的最小集合。当系统上电后,单片机能够正常复位并下载程序,除此之外不再具备其他功能。在此基础上,我们可以逐步添加其他功能模块或器件,使单片机具备实际功能。
stm32f103rct6单片机的最小系统包括复位电路和时钟电路,如图1所示。其中复位电路使用上电复位电路,当stm32单片机的nrst引脚输入低电平时,会发生复位。
电源引脚部分,vdda是模拟电源正极,负责给内部的adc、dac模块供电;vssa是模拟电源负极。还有一个vbat引脚用于连接电池正极,用于stm32的rtc(实时时钟)功能。原理图上通常会预留一个cr1220纽扣锂电池。
在设计中,需要注意vbat引脚与vcc、cr1220电池连接时的问题,为了避免电池过放电或过充电,需要设计适当的电路来保护电池和芯片。比如使用二极管d1、d2来防止电流的反向流动和电压的倒置。
复位引脚nrst的复位原理是低电平复位,正常工作时为高电平。复位电路通过外接电容和电阻来实现上电复位的功能。
stm32f103rct6单片机拥有两组晶振,一组为主时钟晶振,一般选用8mhz的晶振;另一组为rtc晶振,需要连接32.768khz的晶振。实际应用中,如果不使用rtc功能,可以不用连接rtc晶振。
stm32单片机的时钟电路有内时钟和外时钟两种模式。外时钟是通过在osc_in和osc_out之间加上晶振,由单片机内部振荡器产生自激震荡,产生时钟信号。而内时钟则是由芯片内部振荡电路产生,精度和稳定性相对较低。
boot引脚是stm32单片机的启动引脚,boot0和boot1引脚的高低电平决定了单片机的启动方式和运行方式。其中最常用的启动方式是通过用户flash启动。
在stm32微控制器的启动方式中,第三种方式是内置的sram启动模式。该模式被广泛应用于调试目的。
通常,我们会将boot0和boot1引脚接地。
构建最小系统时,仅仅具备上述部分是不够的。通常,最小系统还需要包括以下部分:
电源电路:鉴于stm32单片机一般需要3.3v的供电电压,而日常生活中常见的电源大多为5v(如电脑u口、手机充电器、移动电源等),因此通常会使用ams1117-3.3v稳压电源芯片将5v降压至3.3v。该芯片常采用sot223封装。
下载电路:在构建最小系统时,还需要一个下载电路。stm32提供了多种下载方式。
(1)串口下载:此方式需要单片机内部程序的支持。系统存储器中已经预先存储了相应的程序,这些程序由st在生产线上写入,目的是通过可用的串行接口对闪存存储器进行重新编程。在bootloader的支持下,可以通过串口将程序下载到系统的flash中。
请注意,使用此种方式需要设置boot0=1,这表示需要外部电路的支持才能实现串口下载功能。
(2)jtag或swd模式下载:通常我们使用jtag或swd模式来下载程序。推荐使用swd模式进行下载,因为它是一种更为简便高效的下载方式。
以上内容详细描述了stm32微控制器的第三种启动方式以及最小系统的构建过程中所涉及的电源电路和下载电路等相关内容,希望能够帮助您更好地理解和应用相关知识。