STM32最小系统硬件解析

  • 参考资料

STM32F1数据手册:STM32F103ZET6.pdf

STM32F1中文手册:STM32F1xx中文参考手册.pdf

开发板原理图:XXX STM32F1_Vxx_SCH.pdf

  • 内部资源
  1. STM32最小系统硬件解析_第1张图片资源

这是STM32F103ZET6的板载芯片。32位,高性能ARM Cortex-M3处理器,时钟高达72M,可超频,单周期乘法和硬件除法。

  1. IO

STM32F103ZET6: 144引脚  11个IO

STM32F103RCT: 64引脚  51IO大部分IO口都耐5V(模拟通道除外)

  1. 调试

SWD和JTAG,SWD     只要2根数据线

  1. 容量

STM32F103ZET6:  512K FLASH,64K SRAM,STM32F103RCT6: 256K FLASH,48K  SRAM。2.0~3.6V电源和IO电压

上电复位,掉电复位和可编程的电压监控,强大的时钟系统

  1. 时钟

4~16M的外部高速晶振,内部8MHz的高速RC振荡器,内部40KHz低速RC振荡器,看门狗时钟,内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到。外部低速32.768K的晶振,主要做RTC时钟源。

  1. 低功耗
  2. -睡眠,停止和待机三种低功耗模式

-可用电池为RTC和备份寄存器供电

  1. AD

3个12位AD【多达21个外部测量通道】-转换范围:0~3.6(电源电压)-内部通道可以用于内部温度测量-内置参考电压。

  1. 2个12位DA
  2. DMA

12个DMA通道(7+5=12; 7通道DMA1,5通道DMA2),支持外设:定时器ADC,DAC,SDIO,I2S,SPI,I2C,和USART。

  1. 定时器

-4个通用定时器-2个基本定时器-2个高级定时器-1个系统定时器-2个看门狗定时器。

  1. 通信

2个I2C接口,5个串口,3个SPI接口,1个CAN2.0,1个USB FS,1个SDIO。

  • 数据手册的使用

使用数据手册常规做法是用福昕阅读器或者其他阅读器打开PDF文档,按Ctrl+F查找对应芯片,看对应板载资源以及结构,英文看不懂的借助翻译软件翻译使用。

原理图的详细解释

  • 最小系统原理图的设计

对于STM32原理图,包括电源电路,复位电路(上电自动复位和按键手动复位),晶振电路(两个辅助电容),保护电路,下载电路。

STM32最小系统硬件解析_第2张图片

 

STM32最小系统硬件解析_第3张图片如图,这是JTAG下载电路,它并不是最小系统,但我要说的事情是JTAGA和下载共用一个下载口, JTAG 有几个信号线用来接其他外设了,但是 SWD 是完全没有接任何其他外设的,所以在使用的时候, 推荐大家一律使用 SWD 模式!!!

对于复位电路,由电阻,按键,电容三个元器件构成,电阻是做消耗用,起一个限流作用,电容主要是利用电压不能突变和隔直通交的原理,按键当然是电路的通和断,这是利用的几个重要属性,除属性以外,我们来具体分析一下究竟是怎么变化怎么复位的,这里利用到电路分析,强电里面可能是电工基础那本书。电源3.3V突然接通,在没有按按键的情况下,电容因为其极板的电压不能突变,于是乎电容两端还是会保持0V,但是上方电源是3.3V啊,于是乎RESET就会有3.3V的电压。但是一旦到了一定时间,电容两端就会充电充满,即为3.3V,即和电源等电位,至于电位是什么概念,我就不多说了,大家可以去查阅资料和百度,等电位就相当于没有电压,即为0,所以经过一段时间后RESET就会变成0V,从RESET从3.3V到0V这个时间变化极快,肉眼是难以察觉的,但是电路只要检测到高电平就会复位,所以单片机复位就完成了上电自动复位。这个地方有电容和时间公式,我这里就不献丑了,大家感兴趣自己网上找一下。如果我程序跑飞了怎么办?我还得把电源拔了,再去插电源,麻烦,于是乎设计了一个按键,在通电的情况下,按按键,GND即0V信号直接传输到RESET上,完成了复位,此时这个电阻作用一下变得高大起来,如果没有它,整个电路电流冲击是巨大的,所以电阻在这个位置很有必要。STM32最小系统硬件解析_第4张图片

注意问题:一般用户,即为开发者使用最多的是BOOT置高电平,BOOT1置低电平。通常通过插排针改变接的高低电平。STM32最小系统硬件解析_第5张图片

此图为两个晶体振荡器的图,包括晶振,两个电容,很多人知道电路该这么连,但是为什么这么连却一概不知,晶振是利用石英加电会振荡的特性产生压电效应生产而成,也有反过来利用,施加压力产生电压的,晶振把电能转化为机械能,以给芯片一个可靠度高的时序,注意可靠度高,我们的手表,手机时间,靠意念计算那是行不通的,电容电感也可以计算时间,但是目前就已知的材料,石英这种材料稳定性最高所以绝大部分的CPU都是依靠晶振提供一个基础的时序的。对于两个电容,怎么理解,先浅显的理解,不说专业概念,时序是一辆卡车,要一个人拖动它可是真的难,可是如果我放一辆小汽车,里面放上东西,然后使劲一推,加上卡车自身的一点动力,卡车就动起来了,电容就是在这里充当这个作用,我们说电容能够存储能量,就是如此,也就是这个原因,电压不足以让晶体工作,我们就给他一个助推,加一个电容,让他动起来。这就是加电容的原因,至于为什么不是电感,因为石英本身就是一个感性器件,这里我不详细说明了,电容为什么是两个,我们之所以学不懂电子技术很大一部分原因是因为公式太多,其次是公式记不住,还有一个原因,听不懂,本来挺简单的道理,翻书,什么玩意儿,哎呦我去。所以你只需要知道他是一个辅助用的电容就行了,是一个谐振电路,后面我会专门写博客来说这些难以理解的坑,说到这里,基本上STM32单片机电路就算完了。

截止7.9号,我还差一篇博客,放心,欠账我会还的,明天连续两篇。欢迎关注,连续更博客。

你可能感兴趣的:(STM32)