stm32认知

作者: David_Rao | 来源:发表于2020-01-07 00:55 被阅读0次

学习资料来源自"洋桃电子"的《STM32入门100步——杜洋ARM单片机》课程,该文章经过本人整理并加入了个人见解

附上《STM32入门100步——杜洋ARM单片机》网易云课堂上的课程地址
https://study.163.com/course/courseMain.htm?courseId=1004569044

以下接口设置以STM32F103为例

内核和存储器

内核:ARM 32位的Cortex-M3 CPU

  • 最高72MHz工作频率
  • 单周期乘法和硬件除法(即乘法和除法运算能由硬件直接完成)

存储器

  • 64K或128K字节的FLASH(闪存程序存储器,外存)
  • 20K字节的SRAM(内存)
FLASh和SRAM

时钟、复位和电源管理

简谈CPU时钟:CPU在每一个方波周期之内执行一条指令

  • 51单片机供电电压是5V,而STM32供电电压为2.0~3.6V
  • 上电/断电复位(POR/PDR)、可编程电压监测器(PVD)
  • HSE外部高速晶体振荡器:外接4~16MHz晶体振荡器
  • HSI内部高速RC振荡器:内嵌经出厂调校的8MHz的RC振荡器(给ARM内核提供的系统时钟)
  • LSI内部低速RC振荡器:内嵌带校准的40kHz的RC振荡器(给RTC使用的低速时钟)
  • 产生CPU时钟的PLL(锁相回路,产生分频,把一个频率分出多个,实现倍频的功能。比如外部晶振提供4MHz时钟信号,通过PLL分频后,比如分成三份,就能得到3×4=12MHz的时钟信号输出)
  • LSE外部低速晶体振荡器:带校准功能的32kHz RTC振荡器(单片机内部实时时钟RTC的工作频率)

H代表高速(High),L代表低速(Low);E代表外部(External),I代表内部(Interior)

凡是高速的,都给系统时钟,即提供ARM内核的工作 时钟树

低功耗

ADC(模/数转换器)

  • 2个12位ADC
  • 每个ADC共用多达16个外部通道
  • 扫描模式,自动进行在选定一组模拟输入上的转换
  • 支持DMA

DMA(直接存储器访问)

它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载

  • 7通道DMA控制器
  • 支持的外设:定时器、ADC、SPI、I2C和USART
  • 管理存储器→存储器、设备→存储器、存储器→设备的数据传输

GPIO(通用输入输出接口)

  • 37个I/O口
  • 所有I/O口可以映像到16个外部中断
  • 大部分端口均可兼容5V信号
  • 除了具有模拟输入功能的端口,所有GPIO引脚都有大电流通过能力
  • I/O引脚可以通过一个特定的操作锁定,以避免意外写入I/O寄存器
  • 在APB2上的I/O脚可达18MHz的翻转速度(高低电平切换频率)

定时器

1个高级控制定时器
3个普通定时器
2个看门狗定时器
1个系统嘀嗒定时器

1个高级控制定时器(TIM1)

  • 16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器

3个普通定时器,即可3个同步运行的标准定时器(TIM2、TIM3、TIM4)

  • 16位自动加载递加/递减计数器
  • 16位预分频器
  • 4个独立通道,每个通道可用于输入捕获、输出比较、PWM、单脉冲模式

2个看门狗定时器

  • 每隔一定时间就要“叫”,CPU如果正常工作,在它要“叫”的时候就“喂狗”,不让它叫。
  • 如果CPU非正常工作,就无法"喂狗",看门狗就“叫”CPU复位运行

1个系统嘀嗒定时器

  • 24位递减计数器,自动重装
  • 实时操作系统,实现任务调度
  • 用于延时函数

I2C(双向二线制同步串行总线)

  • 2个I2C接口
  • 能够工作多主模式和从模式下
  • 支持7位或10位寻址
  • 7位从模式时支持双从地址寻址
  • 支持DMA

USART(通用同步/异步收发器)

  • 3个USART接口
  • USART是同步/异步收发器(带同步时钟线USART_CK)
  • UART是通用异步收发器(没有同步时钟线)
  • 但最常用的是异步模式,同步模式很少用,所以二者区别不大
  • USART只是一种协议方式,根据不同电平方式分为RS232和RS485等
  • 支持DMA

SPI(串行外设接口)

SPI用于板级设备间通信。优点:协议简单稳定,速度较快。

  • 2个SPI
  • 有主从两种模式
  • 可全双工和半双工
  • 最大速度18M/S
  • 用3个预分频器来设置8中频率
  • 支持SD卡的读写模式
  • 支持DMA
SCL时钟同步线,SDA数据传输线

CAN(控制器区域网络)

CAN用于汽车、工业的只能设备通信。优点:通信速度快、距离远、稳定、自动查错。

  • 没有主从的硬性设置
  • 有1个CAN总线
  • 位速度最高1M位/s
  • 11位标识符
  • 29位扩展帧
  • 3个发送邮箱
  • 2个FIFO
  • 3级14个滤波器

USB(通用串行总线)

USB接口用于做PC机的从设备如鼠标、键盘、打印机之类。

  • 1个USB接口
  • 设备控制器
  • 支持全速2.0,12M位/s
  • 有待机和唤醒功能
  • 由内部PLL倍频器提供时钟
  • 时钟必须由外部告诉晶振产生

相关文章

网友评论

    本文标题:stm32认知

    本文链接:https://www.haomeiwen.com/subject/lhrlactx.html