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