stm32硬件学习流水帐----电源
分类:
1.工作电源 2.备份域电源 3.adc供电参考电源
工作电源2-3.6v
备份域电源用于RTC时钟模块和备份域寄存器保存
adc供电参考电源:为提高精度ADC具有单独的工作电源和参考电源基准
注意100脚以上的stm32才有ADC参考电源基准,100脚以下ADC参考电源基准内部连接到ADC供电电源上
除此外还有内部1.8,由芯片内部调节器提供.
stm32硬件学习流水帐----时钟
stm32有多个时钟源:
1.外部高速时钟HSE,可由外部输入时钟信号或者外接晶体构成振荡器构成.
2.内部高速时钟SHI,频率为8M,精度1%
3.外部低速时钟源LSE,接32768Hz晶体,为RTC提供高精度时钟
4.内部低速时钟LSI 32k Hz,为看门狗单元和自动唤醒单元提供时钟
其中HSE,HSI能直接作为系统时钟,或者通过PLL倍频提供系统工作时钟.
注意:
HSI用作PLL输入,PLL能输出的最大时钟只能为64MHz
stm32硬件学习流水帐----系统存储结构
stm32的程序存储器,数据存储器,寄存器和IO端口被组织到一个4GB线性空间.
可寻址的存储空间被分为8个512M主块.
stm32存储编码格式为小端编码格式.
嵌入式SRAM可以字,半字,字节方式访问,起始地址为0x2000000.
stm32的位段是一种别名机制,即将用户数据存储空间的某字节某位映射到0x22000000开始的别名空间.
例如0x20000030中的第2为映射为:
0x22000000+0x30*32+2 = 0x22000602
对0x22000602的写即为对0x20000030的第位读修改写
stm32的flash存储器物理上分成主块和信息块,主块16K*64bits,每个主块分成128个1KB大小的页面.
信息快大小258*64bits,每个信息块分成2页+16B,每页大小2KB
stm32硬件学习流水帐----调试接口
stm32支持jtag接口和swd串行调试接口两种调试口,
其中swd调试口只占用swdio和swclk两个口线,
相比jtag可以有更多的引脚可用,
并且可以使用较小尺寸的调试插座.
JILINK V7支持SWD接口.
stm32上电默认的是jtag接口.
当使用swd接口,多余的jtag接口IO端口需要重新映射为通用IO端口
stm32硬件学习流水帐----复位
stm32复位分为:系统复位,电源复位,备份域复位
系统复位复位除了时钟控制寄存器的复位标志和备份域寄存器以外的所有寄存器.
系统复位由NRST引脚低电平,窗口看门狗和独立看门狗以及软件复位和低功耗管理复位等原因引起.
电源复位由上电/掉电复位(POR和PDR)两种和待机模式退出引起
电源复位将复位除了备份域寄存器以外的所有寄存器.
备份域复位由软件备份域复位和电源备份域复位两种原因引起.
电源备份域复位是指VDD和Vbat都掉电的时候,其中一个突然上电引起的复位
复位向量位置为0x00000004
stm32硬件学习流水帐----主要电气特性
stm32供电电压-0.3---4.0v.
stm32的部分引脚具有5v容忍特性,其电压输入范围为vss-0.3到5.5v
其他引脚的供电电压范围是:vss-0.3v到vdd+0.3v
flash等待周期:
0-24MHz 0等待状态
24-48MHz 1等待状态
48MHz以上 2个等待状态
flash中运行代码,72MHz的时候所有外设使能时候的电流为50.3mA,所有外设禁止的时候电流为32.9mA.
VDD脚总电流IVDD最大150mA,
VSS脚总电流IVSS最大150mA,
IO引脚最大电流25mA和-25mA.
flash 擦写次数最小 1万次
flash数据/指令保存年限最小 20年
弱上拉/弱下拉等效电阻40k欧姆.
GPIOs引脚入出典型电流值为8mA.
stm32硬件学习流水帐----GPIO
stm32的GPIO可以由软件配置成:
输入浮空,输入上拉,输入下拉,
模拟输入
开漏输出,推挽输出,
开漏复用,推挽复用.
stm32复位后,IO端口处于输入浮空状态.
JTAG引脚复位以后,处于上拉或者下拉状态.
所有IO端口都具有外部中断能力,端口必须配置成输入模式,才能使用外部中断功能.
IO端口复用功能配置:
对于复用功能输入,端口可以配置成任意输入模式或者复用功能输出模式.
对于复用功能输出,端口必须配置成复用功能输出
对于双向复用功能,端口必须配置成复用功能输出
stm32的部分IO端口的复用功能可以重新映射成另外的复用功能.
stm32具有GPIO锁定机制,即锁定GPIO配置,下次复位前不能再修改.
当LSE振荡器关闭时,OSC32_IN和OSC32_OUT可以用作通用IO PC14和PC15.
当进入待机模式或者备份域由Vbat供电,PC14,PC15功能丢失,该两个IO口线设置为模拟输入功能.
OSC_IN和OSC_OUT可以重新映射为GPIO PD0,PD1.
注意PD0,PD1用于输出地时候仅能用于50MHz输出模式.
注意:PC13,PC14,PC15只能用于2MHz的输出模式,,最多只能带30pf的负载,并且同时只能使用一个引脚!