最小系统,是一个片上系统(SOC)能够稳定运行的最小单元,无论多么复杂的嵌入式系统,都可以认为是由最小系统和扩展功能组成。最小系统是嵌入式系统硬件设计中复用率最高、也是最基本的功能单元。

最近做了一个触摸检测模块,使用了STM32F103C8T6,对其最小系统做个简单总结,算是个记录吧。

1、电源模块,3.3V电源,需要用稳压器件,有时要用感容网络产生stm32所使用的模拟电源

2、时钟模块,有源或者无源晶振,可以使用最高25MHz的有源晶振或者4-16MHz的无源晶振,常用的是外部8M无源晶振,负载电容可选22pf

3、复位电路,RC复位或者独立IC复位,stm32的复位引脚内置有40k的电阻,可以外接0.1uf电容到地实现复位,并且可以增加复位按钮。当然复位电路大家都习惯用个外部上拉,虽然这不是必须地,但如果能保证复位时间也完全没问题。

4、Boot选择,stm32有boot0和boot1两个引脚,用于配置系统启动方式,可以从片上闪存、系统存储器或者片内SRAM启动。从系统存储器启动可以使用固化的bootloader实现程序从USART1加载。从片内SRAM启动,这个目前还没研究过,不过很感兴趣。

5、程序下载和调试接口,可以使用jtag接口实现下载调试功能,在空间受限的情况下,也可以使用USART1来加载程序。