一、最小系统的组成
1.供电电路
可以起到升降压,滤波,稳流,限流,限压,防短接等多种功能,确保供电时的电流电压干净稳定.
2.外部晶振
时钟是单片机的心脏,外部晶振给单片机提供外部时钟.STM32的内部时钟采用的是RC震荡电路,而外部电路可以用采用石英晶振起振获得外部时钟,石英起振比RC震荡电路的精度要高的多。
3.BOOT选择
单片机上电时可以选择启动模式,不同的启动模式对应不同的启动区域,具体如下
(BOOT0,BOOT1分别对应单片机上的两个脚)
i.使用JTAG\SWD以及正常运行时我们采用第一种方式(x,0)
ii.系统存储器中预置了bootloader,能够进行ISP下载,也就是我们常用的串口烧录
iii.第三种方式常用于调试,写入程序进SRAM后可以直接进行调试,这样子调试很方便很快,但SRAM重新上电后数据会被清空,也就是说写入的程序只能用一次.
4.复位电路
复位电路在特定条件下给单片机的复位脚发送复位信号(一般是拉低使能)
二、最小系统实例
1.STM32F103C8T6最小系统
三、各部分组成简析
1.供电电路设计
我们常用的给单片机供电的来源一般是USB或者3.7v锂电池,USB电压是5v,3.7v的锂电池放电电压范围是2.5v~4.2v,而STM32需要的供电电压是3.3v,那么我们需要设计降压,稳压电路来获得3.3v的电压.最小系统中常采用AMS1117-3.3v正向降压稳压器作为处理电源的主要元件,
其中C1,C2是输入电容,防止断电后出现电压倒置.C3,C4是滤波电容,抑制自激震荡和稳定输出电压.
2.外部晶振原理
单片机的PC14,PC15接外部低速时钟,采用32.768KHZ的晶振(石英表内部的晶振也是这个频率的,至于为什么不是十进制整数,这和进制换算有关系),PD0,PD1接外部高速时钟,用8MHZ的晶振.在用不到外部时钟的情况下,这四个脚可以做正常的IO口使用.在使用三脚晶振和四脚晶振时,可以只接脚的输入部分.
在单片机内部的外部时钟脚输入和输出之间是存在一个增益很大的非门的(皮尔斯振荡器),R10是一个反馈电阻,用于保证非门工作在线性工作区,这样晶振更容易起振.旁边的两颗电容是匹配电容,32.768KHZ的一般为12.5PF,8M的选20-30PF,不同单片机推荐的匹配电容可能并不一致,具体看手册中的电气属性那一节.
3.BOOT设计
这里是使用了拨码器对BOOT0和BOOT1进行手动选择高低电平.
其他还有很多接法,比如使用跳线帽,按钮等.
由于BOOT0=1,BOOT1=1这种启动方式不常用,在用按钮方式选择高低电平的情况下,画电路时一般把BOOT1接地,BOOT0在默认置0,按钮按下时BOOT0置1.
4.复位电路设计
复位电路这里很好理解,按钮按下时单片机的脚低电平使能,触发复位.