#STM32
核心要素
作为一块核心板或者说最小核心板,它应该具备尽可能小的体积,尽可能多的引脚引出,提供基础电源(5V)下载接口,Boot按键,复位按键以及最基本的外围电路。
引脚用排针引出,当我们需要连接外设的时候利用杜邦线连接外设进行调试。
本期我们这块自制的STM32H563ZI核心板的各个部分。
#Power
电源和滤波
电源使用6Pin-
TypeC提供,利用AMS1117-3.3V进行降压稳压,由于核心板本身所需要的电流极低,因此AMS1117-3.3V的输出电流足够核心板使用。
之后利用电容对其滤波,采用经典的100nF瓷片电容和10uF电解电容滤波,作为去耦电容,它们保证了系统上电瞬间所需要的 ** 较大电荷 ** 。
不过这里是可以优化的,6pin TypeC本身并没有通讯功能,这里其实可以换成16pin TypeC利用USB和STM32通讯,这样子可以做到 **
既可以节省TTL转USB芯片也可以实现核心板的通讯功能 ** 。
#Clock
系统心脏:晶振
晶振作为单片机的心脏,为单片机提供稳定的时钟信号,这里我们选择用一块外部高速晶振和一颗32.768KHZ低速晶振(可选)为单片机提供时钟信号。
高速晶振由两个18pF电容接地,并联一个1M电阻(这里的电容、电阻实际参数需要根据选用的晶振频率来调整)。
#Yin
IO引出及下载口
我们引出所有的IO(其中SWCLK和SWDIO作为下载口并且留有一个引脚作为板载LED使用)。下载口最少需要使用2线Debug即SWCLK和SWDIO给Jlink或者STlink下载使用。
而且大家需要注意的是,这里的IO引出是有顺序的, 并不是随意排列 的。
可以看到,它们几乎是交错排序的,这样子做的好处是:当我们进行PCB布局的时候,这样子的排列可以很好的利用空间,降低飞线难度提升系统板的稳定性和美观。
#PCBlayout
PCB布局
PCB布局方面没什么好说的,我布局的时候主打一个对称(芯片围城)自己的硬件水平不是特别厉害。因此PCBLayout如有,纰漏之处,敬请指正。
#TEST
测试
电路中我们留有PB12作为板载LED灯,我们利用CubeMX创建工程,将PB12设置为Output模式。
在程序中进行测试。
while (1) { /* USER CODE END WHILE */
/* USER CODE BEGIN 3 */ HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_12); HAL_Delay(500); }