2.2 STM32核心板电路简介
本节将详细介绍STM32核心板的各电路模块,以便读者更好地理解后续原理图设计和PCB设计的内容。
2.2.1 通信-下载模块接口电路
工程师编写完程序后,需要通过通信-下载模块将.hex(或.bin)文件下载到STM32中。通信-下载模块向上与计算机连接,向下与STM32核心板连接,通过计算机上的STM32下载工具(如mcuisp软件),就可以将程序下载到STM32中。通信-下载模块除具备程序下载功能外,还担任着“通信员”的角色,即可以通过通信-下载模块实现计算机与STM32之间的通信。此外,通信-下载模块还为STM32核心板提供5V电压。需要注意的是,通信-下载模块既可以输出5V电压,也可以输出3.3V电压,本书中的实验均要求在5V电压环境下实现,因此,在连接通信-下载模块与STM32时,需要将通信-下载模块的电源输出开关拨到5V挡位。
STM32核心板通过一个XH-6A的底座连接到通信-下载模块,通信-下载模块再通过USB线连接到计算机的USB接口,通信-下载模块接口电路如图2-1所示。STM32核心板只要通过通信-下载模块连接到计算机,标识为PWR的红色LED就会处于点亮状态。R9电阻起到限流的作用,防止红色LED被烧坏。
图2-1 通信-下载模块接口电路
由图2-1可以看出,通信-下载模块接口电路总共有6个引脚,引脚说明如表2-1所示。
表2-1 通信-下载模块接口电路引脚说明
2.2.2 电源转换电路
图2-2所示为STM32核心板的电源转换电路,将5V输入电压转换为3.3V输出电压。通信-下载模块的5V电源与STM32核心板电路的5V电源网络相连接,二极管D1(SS210)的功能是防止STM32核心板向通信-下载模块反向供电,二极管上会产生约0.4V的正向电压差,因此,低压差线性稳压电源U2(AMS1117-3.3)的输入端(In)的电压并非为5V,而是4.6V左右。经过低压差线性稳压电源的降压,在U2的输出端(Out)产生3.3V的电压。为了调试方便,在电源转换电路上设计了3个测试点,分别是5V、3V3和GND。
图2-2 电源转换电路
2.2.3 JTAG/SWD调试接口电路
除了可以使用上述通信-下载模块下载程序,还可以使用JLINK或ST-Link进行程序下载。JLINK和ST-Link不仅可以下载程序,还可以对STM32微控制器进行在线调试。图2-3所示是STM32核心板的JTAG/SWD调试接口电路,这里采用了标准的JTAG接法,这种接法兼容SWD接口,因为SWD接口只需要4根线(SWCLK、SWDIO、VCC和GND)。需要注意的是,该接口电路为JLINK或ST-Link提供3.3V的电源,因此,不能通过JLINK或ST-Link向STM32核心板供电,而是通过STM32核心板向JLINK或ST-Link供电。
由于SWD只需要4根线,因此,在进行产品设计时,建议使用SWD接口,摒弃JTAG接口,这样就可以节省很多接口。尽管JLINK和ST-Link都可以下载程序,而且还能进行在线调试,但是无法实现STM32微控制器与计算机之间的通信。因此,在设计产品时,除了保留SWD接口,还建议保留通信-下载接口。
图2-3 JTAG/SWD调试接口电路
2.2.4 独立按键电路
STM32核心板上有3个独立按键,分别是KEY1、KEY2和KEY3,其原理图如图2-4所示。每个按键都与一个电容并联,且通过一个10kΩ电阻连接到3.3V电源网络。按键未按下时,输入到STM32微控制器的电压为高电平,按键按下时,输入到STM32微控制器的电压为低电平。Key1、Key2和Key3分别连接到STM32F103RCT6芯片的PC1、PC2和PA0引脚上。
图2-4 独立按键电路
2.2.5 OLED显示屏接口电路
本书所使用的STM32核心板,除了可以通过通信-下载模块在计算机上显示数据,还可以通过板载OLED显示屏接口电路外接一个OLED显示屏进行数据显示,图2-5所示即为OLED显示屏接口电路,该接口电路为OLED显示屏提供3.3V的电源。
图2-5 OLED显示接口电路
OLED显示屏接口电路的引脚说明如表2-2所示,其中OLED_DIN(SPI2_MOSI)、OLED_SCK(SPI2_SCK)、OLED_D/C(PC3)、OLED_RES(SPI2_MOSI)和OLED_CS(SPI2_NSS)分别连接在STM32F103RCT6的PB15、PB13、PC3、PB14和PB12引脚上。
表2-2 OLED显示屏接口电路引脚说明
说明:括号中为对应的单片机引脚名称。
2.2.6 晶振电路
STM32微控制器具有非常强大的时钟系统,除了内置高精度和低精度的时钟系统,还可以通过外接晶振,为STM32微控制器提供高精度和低精度的时钟系统。图2-6所示为外接晶振电路,其中Y1为8MHz晶振,连接时钟系统的HSE(外部高速时钟),Y2为32.768kHz晶振,连接时钟系统的LSE(外部低速时钟)。
图2-6 晶振电路
2.2.7 LED电路
除了标识为PWR的电源指示LED,STM32核心板上还有两个LED,如图2-7所示。LED1为蓝色,LED2为绿色,每个LED分别与一个330Ω电阻串联后连接到STM32F103RCT6芯片的引脚上,在LED电路中,电阻起着分压限流的作用。LED1和LED2分别连接到STM32F103RCT6芯片的PC4和PC5引脚上。
图2-7 LED电路
2.2.8 STM32微控制器电路
图2-8所示的STM32微控制器电路是STM32核心板的核心部分,由STM32滤波电路、STM32微控制器、复位电路、启动模式选择电路组成。
图2-8 STM32微控制器电路
电源网络一般都会有高频噪声和低频噪声,而大电容对低频有较好的滤波效果,小电容对高频有较好的滤波效果。STM32F103RCT6芯片有4组数字电源-地引脚,分别是VDD_1、VDD_2、VDD_3、VDD_4、VSS_1、VSS_2、VSS_3、VSS_4,还有一组模拟电源-地引脚,即VDDA、VSSA。C1、C2、C6、C7这4个电容用于滤除数字电源引脚上的高频噪声,C5用于滤除数字电源引脚上的低频噪声,C4用于滤除模拟电源引脚上的高频噪声,C3用于滤除模拟电源引脚上的低频噪声。为了达到良好的滤波效果,还需要在进行PCB布局时,尽可能将这些电容摆放在对应的电源-地回路之间,且布线越短越好。
NRST引脚通过一个10kΩ电阻连接3.3V电源网络,因此,用于复位的引脚在默认状态下是高电平,只有当复位按键按下时,NRST引脚为低电平,STM32F103RCT6芯片才进行一次系统复位。
BOOT0引脚(60号引脚)、BOOT1引脚(28号引脚)为STM32F103RCT6芯片启动模块选择接口,当BOOT0为低电平时,系统从内部Flash启动。因此,默认情况下,J6跳线不需要连接。
2.2.9 外扩引脚
STM32核心板上的STM32F103RCT6芯片总共有51个通用I/O接口,分别是PA0~15、PB0~15、PC0~15、PD0~2。其中,PC14、PC15连接外部的32.768kHz晶振,PD0、PD1连接外部的8MHz晶振,除了这4个引脚,STM32核心板通过J1、J2、J3共3组排针引出其余47个通用I/O接口。外扩引脚电路图如图2-9所示。
图2-9 外扩引脚电路原理图
读者可以通过这3组排针,自由扩展外设。此外,J1、J2、J3这3组排针分别还包括2组3.3V电源和接地(GND),这样就可以直接通过STM32核心板对外设进行供电,大大降低了系统的复杂度。因此,利用这3组排针,可以将STM32核心板的功能发挥到极致。