2.4控制电路
本实验中选用的控制核心是STM32系列单片机,具体型号为STM32F103R8T6。STM32F103R8T6是一款嵌入式-微控制器集成电路,是ST旗下的一款常用的增强型系列微控制器。此芯片工作电压为2.0V-3.6V,处理速度为72MHz,芯片可以存储程序的容量为256KB,存储器类型为FLASH,RAM容量为48K。芯片共有64个引脚,采用LQFP64的封装,有49个GPIO口。其中,包含16个12位ADC通道,3组USART串口。[10]
STM32作为CPU可以适用于很多场合,比如电机驱动、游戏外设和打印机等。
2.4.1晶振电路
STM32系统正常工作需要时钟,没有时钟的话系统就无法稳定工作。通过阅读芯片手册我们可以得知CPU内部有两个时钟源,我们要做的就是布置好系统的外部时钟源,此次设计中我们选用的是8M赫兹的石英晶振,封装为49S直插。硬件部分电路设计如图2-7所示:
图2-7 晶振电路设计图
图2-7的晶振可以等效成一个有两个谐振点的二端网络。然后再将其接入一个反馈电路,就可以构成正弦波振荡电路。
此外,此电路的振荡频率会比较稳定,其具体原因如下:在此电路中,两个谐振频率的相当的接近,在这种情况下,就算电路网络中的其他元件参数有较大变化,晶振电路的震荡频率不会有很大的变化。
在设计晶振电路时,除了选择晶振的频率之外,最重要的就是考虑晶振的负载电容值,取选择合适的电容接在晶振的两端。只有选择了合适的电容值,才可以使得晶振按照标称频率进行振荡。外接电容的计算原理如式2-7所示[11]:
Cf=Cd*CgCd+Cg+Cic+∆C (2-7)
其中:Cf为晶振的负载电容;
Cd Cg为接入晶振两脚上的电容;
Cic为集成电路内部电容;
∆C为PCB板上的电容。
此外,出于简单考虑,两脚上的外接电容也可以直接选择与负载电容值相等的电容,也可以得到标称振荡频率。目前使用较多的是12.5pf的外接电容,来构成整个的晶振电路。
在设计晶振电路时,还有以下几点需要注意:
- 晶振内部的石英晶体要避免碰撞,防止破损引起的晶振不起振。所以在焊接时位置尽可能靠近CPU,远离PCB板的边缘;
- 在焊接时应尽量将外接电容靠近晶振的电源;
- 在焊接时注意温度控制,防止温度过高损坏晶振;
- 信号线避免经过晶振下方,防止产生信号干扰;
- 在连接时钟信号线时,走线应该尽量短且宽。
2.4.2复位电路
在进行CPU设计的时候,复位电路也是需要我们重点关注的。复位电路设计的效果,直接影响着设计出来的整个系统在工作时的可靠性和稳定性。如果复位电路设计时出现问题,导致即使在实验室等环境下可以成功工作,在工业现场也很容易出现很多问题。
单片机在上电之后都需要复位,这样可以使得整个系统从初始状态开始工作。复位电路的主要功能就在于在系统上电或者复位的过程中,复位电路可以保证CPU处于复位状态,而不是直接进行工作。否则单片机很容易发出错误的指令,影响到我们整个系统的稳定性。
我们需要设计的是系统的手动复位电路,在查阅相关资料之后,决定采取按键复位的电路进行设计。
在设计本系统的复位电路之前,我们首先关注一下STM32系列CPU的复位电路原理。通过查阅芯片的数据手册我们可以看到其原理图如图2-8所示[10]:
图2-8 STM32复位电路原理图