STM32(一)STM32简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40818798/article/details/79240374

        大家好,今天我跟大家分享一下学习STM32的一些收获,希望对初学STM32的同学有所启示。当然,本人也是一名初学者,如果有谈论不妥之处,还望您能够批评指正,不吝赐教,本人将非常感激。如果有什么问题,欢迎您到http://www.openedv.com/进行提问与讨论。最后祝您学业有成,工作顺利。

一、什么是STM32?

       意法半导体(ST)集团于1988年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司,是世界最大的半导体公司之一。 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex®-M0,M0+,M3, M4和M7内核(ST's product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex®-M0 and M0+, Cortex®-M3, Cortex®-M4 Flash microcontrollers with a great choice of peripherals. ST has also extended this range to include an ultra-low-power MCU platform)。
它具有以下三个特点

 •新的基于ARM内核的32位MCU系列   

  –标准的ARM架构     –内核为ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的Cortex-M内核

 •超前的体系结构 

   –高性能     –低电压      –低功耗     –创新的内核以及外设

 •简单易用/自由/低风险

Cortex-M3系列属于ARMv7架构

ARMv7架构定义了三大分工明确的系列:

  •      “A”系列:面向尖端的基于虚拟内存的操作系统和用户应用
  •      “R”系列:针对实时系统;
  •      “M”系列:对微控制器。

STM32F1属于Cortex-M系列中的Cortex-M3内核,采用ARMv7-M架构。STM32F4属于Cortex-M4系列采用ARMv7-ME架构。Cortex-A5/A8采用ARMv7-A架构。传统的ARM7系列采用的是ARMv4T架构。(想了解更多可参考韦东山老师的《Linux应用开发完全手册》第一章)

那么STM32与ARM有什么区别呢?

Cortex-M家族

STM32的命名规则

STM32的应用场景

STM32的应用场景还有很多,这里只是简单地列出一些。 

总的来说STM32具有如下优势

 1)极高的性能:主流的Cortex内核。
 2)丰富合理的外设,合理的功耗,合理的价格。
 3)强大的软件支持:丰富的软件包。
 4)全面丰富的技术文档。
 5)芯片型号种类多,覆盖面广。
 6)强大的用户基础:最先成功试水CM3芯片的公司,积累了大批的用户群体,为其领先做铺垫。


二、按内核架构分为不同产品

    主流产品(STM32F0、STM32F1、STM32F3)
    超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)
    高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)


三、STM32F103板载资源(以正点原子MiniSTM32F103RCT6为例)

 

1.ALIENTEK MiniSTM32 V3.0开发板板载资源如下:

 ◆CPU:STM32F103RCT6,LQFP64,FLASH:256K,SRAM:48K;
 ◆1个标准的JTAG/SWD调试下载口
 ◆1个电源指示灯(蓝色)
 ◆2个状态指示灯(DS0:红色,DS1:绿色)
 ◆1个红外接收头,配备一款小巧的红外遥控器
 ◆1个IIC接口的EEPROM芯片,24C02,容量256字节
 ◆1个SPI FLASH芯片,W25Q64,容量为8M字节(即64M bit)
 ◆1个DS18B20/DS1820温度传感器预留接口
 ◆1个标准的2.4/2.8/3.5/4.3/7寸LCD接口,支持触摸屏
 ◆1个OLED模块接口(与LCD接口部分共用)
 ◆1个USB串口接口,可用于程序下载和代码调试
 ◆1个USB SLAVE接口,用于USB通信
 ◆1个SD卡接口
 ◆1个PS/2接口,可外接鼠标、键盘
 ◆1组5V电源供应/接入口
 ◆1组3.3V电源供应/接入口
 ◆1个启动模式选择配置接口
 ◆1个2.4G无线通信接口
 ◆1个RTC后备电池座,并带电池
 ◆1个复位按钮,可用于复位MCU和LCD
 ◆3个功能按钮,其中WK_UP兼具唤醒功能
 ◆1个电源开关,控制整个板的电源
 ◆3.3V与5V电源TVS保护,有效防止烧坏芯片。
 ◆独创的一键下载功能
 ◆除晶振占用的IO口外,其余所有IO口全部引出

2.芯片资源

芯片内部资源描述(STM32F103ZET6&STM32F103RCT6)

 内核

  -32位 高性能ARMCortex-M3处理器 

  -时钟:高达72M,实际还可以超屏一点点 

  -单周期乘法和硬件除法

 IO口

     -STM32F103ZET6:  144引脚  112个IO 

     -STM32F103RCT6: 64引脚  51个IO

     -大部分IO口都耐5V(模拟通道除外)          -支持调试:SWD和JTAG,SWD只要2根数据线

 存储器容量

    -STM32F103ZET6:  512K  FLASH,64K  SRAM 

    -STM32F103RCT6: 256K  FLASH,48K  SRAM

 定时器:多达11个定时器

   -4个通用定时器    -2个基本定时器    -2个高级定时器 

   -1个系统定时器    -2个看门狗定时器

 通信接口:多达13个通信接口

    -2个I2C接口    -5个串口    -3个SPI接口    -1个CAN2.0    -1个USBFS    -1个SDIO

 时钟,复位和电源管理

  ①2.0~3.6V电源和IO电压

  ②上电复位,掉电复位和可编程的电压监控

  ③强大的时钟系统

  -4~16M的外部高速晶振 -内部8MHz的高速RC振荡器 

  -内部40KHz低速RC振荡器,看门狗时钟

  -内部锁相环(PLL,倍频),一般系统时钟都是外部或者内部高速时钟经过PLL倍频后得到

  -外部低速32.768K的晶振,主要做RTC时钟源

 3、STM32F103xC、STM32F103xD和STM32F103xE器件功能和配置

4.关于一些常见外设挂载在哪些总线之下?(APB1与APB2)

APB2下的外设:

APB1下的外设:

  • DCA
  • 电源控制接口
  • 后备寄存器
  • CAN
  • USB

  • 这里大家只要记住TIM1 和 TIM8、GPIO、ADC、SPI等是高速外设,所以挂载在APB2总线之下(APB2、APB1,2>1,所以APB2为高速时钟总线),TIM2~TIM7 挂载在APB1总线之下,就够了。
  • 其他常见的记不住的话,用到了去查《stm32中文参考手册》第28页29页就可以了。

四、STM32学习方法

 1、推荐学习网站:

 ①www.openedv.com 开源电子网,正点原子官方技术支持论坛。正点原子资料发布和售后官方平台。

 ②www.stmcu.org ST中国官方技术网站,ST官方文档发布网站。

 2、需要掌握哪些技能

        C语言是嵌入式开发的基础中的基础。

点击:了解更多关于STM32的信息

本次就简单分享这些了,下次为大家详细展示MiniSTM32F103RCT6的各项资源。谢谢您的浏览。


 

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页