本文总结了STM32最小系统设计的关键要点:1.电源设计需确保所有电源引脚(VCC/GND/VDDA/VSSA/Vref)正确连接,每组VDD-GND就近放置104滤波电容;2.Boot引脚必须外接电阻不可悬空;3.ADC工作电压范围(2.4-3.6V)窄于MCU工作电压(2.0-3.6V);4.时钟系统默认使用内部HSI,外部晶振需软件配置;5.GPIO建议采用灌电流驱动LED,低功耗模式下配置为上拉输出;6.FSMC与I2C1存在硬件冲突。文末提供了ST官方及主流开发板的原理图参考资源链接。
STM32的基本系统主要涉及下面几个部分:
1、电源
1)、无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA、VSSA、Vref(如果封装有该引脚)都必需要连接,不可悬空;
2)、对于每组对应的VDD和GND都应至少放置一个104的陶瓷电容用于滤波,并接该电容应放置尽量靠近MCU;
2、复位、启动选择
1)、Boot引脚与JTAG无关。其仅是用于MCU启动后,判断执行代码的起始地址;
2)、在电路设计上可能Boot引脚不会使用,但要求一定要外部连接电阻到地或电源,切不可悬空;
3、调试接口
4、ADC
1)、ADC是有工作电压的,且与MCU的工作电压不完全相同。MCU工作电压可以到2.0V~3.6V,但ADC模块工作的电压在2.4V~3.6V。设计电路时需要注意。
5、时钟
1)、STM32上电默认是使用内部高速RC时钟(HSI)启动运行,如果做外部时钟(HSE)切换,外部时钟是不会运行的。因此,判断最小系统是否工作用示波器检查OSC是否有时钟信号,是错误的方法;
2)、RTC时钟要求使用的32.768振荡器的寄生电容是6pF,这个电容区别于振荡器外部接的负载电容;
5、GPIO
1)、IO推动LED时,建议尽量考虑使用灌电流的方式。
2)、在Stop等低功耗模式下,为了更省电,通常情况下建议GPIO配置为带上拉的输出模式,输出电平由外部电路决定;
6、FSMC
1)、对应100pin或144pin,FSMC的功能与I2C是存在冲突的,如果FSMC时钟打开,I2C 1的硬件模式无法工作。这在STM32F10xxx的勘误表中是有描述的。
ST官方推荐的几大主流开发板的原理图,在画电路的时候可以做为参考依据:
1、IAR http://www.iar.com
1)、STM32F103RBT6
点击此处下载 ourdev_606049.pdf(文件大小:208K) (原文件名:IAR_STM32_SK_revB.pdf)
2)、STM32F103ZET6
点击此处下载 ourdev_606050.pdf(文件大小:1.07M) (原文件名:IAR_STM32F103ZE_SK.pdf)
2、MDK http://www.keil.com
1)、STM32F103RBT6
点击此处下载 ourdev_606046.pdf(文件大小:370K) (原文件名:MCBSTM32 v1.1.pdf)
2)、STM32F103ZET6
点击此处下载 ourdev_606047.pdf(文件大小:343K) (原文件名:MCBSTM32E BaseBoard v1.93.pdf)
点击此处下载 ourdev_606048.pdf(文件大小:105K) (原文件名:MCBSTM32E DisplayBoard v2.0.pdf)
3、Raisonance http://www.raisonance.com/
1)、STM32F103RBT6
点击此处下载 <a name=baidusnap0>ourdev_606044.PDF(文件大小:64K) (原文件名:STM32-Primer schematics v1.2.PDF)
2)、STM32F103VET6
点击此处下载 ourdev_606045.PDF(文件大小:359K) (原文件名:STM32-Primer2 schematics v1.2.PDF)
4、ST官方的板
1)、STM3210E-LK
2)、STM3210B-EVAL
点击此处下载 ourdev_527343.pdf(文件大小:154K) (原文件名:MB672.pdf)
3)、STM3210E-EVAL
点击此处下载 ourdev_527341.pdf(文件大小:154K) (原文件名:MB672.pdf)
3)、STM3210C-EVAL
点击此处下载 ourdev_527342.pdf(文件大小:172K) (原文件名:MB784.pdf)