STM32介绍

  • 什么是 STM32
    • CMSIS构架
    • 时钟
    • STM32诞生的背景
  • STM32 能做什么
  • STM32选型
    • 容量大小
    • STM32分类
    • STM32 命名方法
    • 选择合适的MCU
      • 如何分配原理图 IO
      • 如何寻找 IO的功能说明
      • 开始分配原理图 IO
  • PCB哪里打样

什么是 STM32

STM32,从字面上来理解,ST 是意法半导体,M 是Microelectronics 的缩写,32 表示32 位,合起来理解,STM32 就是指 ST 公司开发的 32 位微控制器。STM32 是以32位为一个单位,同时能处理32位。比如51单片机就是一个同时处理8位的单片机。STM32中外设以4个位确定一个引脚功能。 在如今的 32 位控制器当中,STM32 可以说是最璀璨的新星,大受工程师和市场的青睐,无芯能出其右。

CMSIS构架


时钟

51单片机所有的时间基准都是以唯一的晶振为主。STM32每个引脚使用都需要开启相应的时钟功能。
以控制外设时钟的APB2 外设时钟使能寄存器(RCC_APB2ENR)为例介绍:

STM32诞生的背景

51 是嵌入式学习中一款入门级的精典 MCU,因其结构简单,易于教学,且可以通过串口编程而不需要额外的仿真器,所以在教学时被大量采用,至今很多大学在嵌入式教学中用的还是 51。51 诞生于 70 年代,属于传统的 8 位单片机,如今,久经岁月的洗礼,既有其辉煌又有其不足。现在的市场产品竞争越来越激烈,对成本极其敏感,相应地对 MCU的 性能要求也更苛刻:更多功能,更低功耗,易用界面和多任务。面对这些要求,51 现有的 资源就显得得抓襟见肘。所以无论是高校教学还是市场需求,都急需一款新的 MCU 来为这个领域注入新的活力。基于这样的市场需求, ARM 公司推出了其全新的基于 ARMv7 架构的 32 位 Cortex-M3微控制器内核。紧随其后,ST(意法半导体)公司就推出了基于 Cortex-M3 内核的 MCU—STM32。目前Arduino 和树莓派发展迅速,但都没有成为主流,而STM32 凭借其产品线的多样化、极高的性价比、简单易用的库开发方 式,迅速在众多 Cortex-M3 MCU 中脱颖而出,成为最闪亮的一颗新星。

STM32 能做什么

每个单片机都有其独特的优势,所有其使用方向也大体不同。STM32 属于一个微控制器,自带了各种常用通信接口,比如 USART、I2C、SPI 等,可接非常多的传感器,可以控制很多的设备。现实生活中,我们接触到的很多电器产品都有 STM32 的身影,比如智能手环,微型四轴飞行器,平衡车、移动 POST 机,智能电饭锅,3D 打印机等等。下面我们以最近最为火爆的两个产品来讲解下,一个是手环,一个是飞行器。

STM32选型

容量大小

小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和
STM32F103xx微控制器。
●  中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx
和STM32F103xx微控制器。
●  大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx
微控制器。
●  互联型产品是STM32F105xx和STM32F107xx微控制器。

STM32分类

STM32 有很多系列,可以满足市场的各种需求,从内核上分有 Cortex-M0、M3、M4和 M7 这几种,每个内核又大概分为主流、高性能和低功耗。
单纯从学习的角度出发,可以选择F1和F4,F1代表了基础型,基于Cortex-M3内核,主频为 72MHZ,F4 代表了高性能,基于 Cortex-M4 内核,主频 180M。之于 F1,F4(429 系列以上)除了内核不同和主频的提升外,升级的明显特色就是带了 LCD 控制器和摄像头接口,支持 SDRAM,这个区别在项目选型上会被优先考虑。但是从大学教学和用户初学来说,还是首选 F1 系列,目前在市场上资料最多,产品占有量最多的就是 F1 系列的 STM32。

  1. Cortex-M0
    STM32-F0 入门级
    STM32-L0 低功耗
  2. Cortex-M3
    STM32-F1 基础型频 ,主频 72M
    STM32-F2 高性能
    STM32-L1 低功耗
  3. Cortex-M4
    STM32-F3 混和信号
    STM32-F4 高性能频 ,主频 180M
    STM32-L4 低功耗
  4. Cortex-M7
    STM32-F7 高性能
  5. 8 超级版 6502
    STM8S 标准系列
    STM8AF 标准系列的汽车应用
    STM8AL 低功耗的汽车应用
    STM8L 低功耗

STM32 命名方法

这里我们以 STM32F103VET6来讲解下 STM32的命名方法。

  1. 家族
    STM32 表示 32bit的 MCU
  2. 产品类型
    F表示基础型
  3. 具体特性
    基础型
  4. 引脚数目
    V 表示 100pin,其他常用的为 C 表示 48,R 表示 64,Z 表示 144,Z 表示144,B表示 208,N 表示 216
  5. FLASH 大小
    E表示 512KB,其他常用的为 C表示 256,E 表示 512,I表示 2048
  6. 封装
    T表示 QFP 封装,这个是最常用的封装
  7. 温度
    6 表示温度等级为 A :-40~85°

选择合适的MCU

了解了 STM32 的分类和命名方法之后,就可以根据项目的具体需求先大概选择哪类内核的 MCU,普通应用,不需要接大屏幕的一般选择 Cortex-M3 内核的 F1 系列,如果要追求高性能,需要大量的数据运算,且需要外接 RGB大屏幕的则选择 Cortex-M4内核的 F429系列。
明确了大方向之后,接下来就是细分选型,先确定引脚,引脚多的功能就多,价格也贵,具体得根据实际项目中需要使用到什么功能,够用就好。确定好了引脚数目之后再选择 FLASH 大小,相同引脚数的 MCU 会有不同的 FLASH 大小可供选择,这个也是根据实际需要选择,程序大的就选择大点的 FLASH。

如何分配原理图 IO

在画原理图之前,一般的做法是先把引脚分类好,然后才开始画原理图。
引脚分类

  1. 电源
    (VBAT)、(VDD VSS)、(VDDA VSSA)、(VREF+ VREF-)等
  2. 晶振
    IO 主晶振 IO,RTC晶振 IO
  3. 下载 IO
    用于 JTAG 下载的 IO:JTMS、JTCK、JTDI、JTDO、NJTRST
  4. BOOT IO
    BOOT0、BOOT1,用于设置系统的启动方式
  5. 复位 IO
    NRST,用于外部复位
    上面 5 部分 IO 组成的系统我们也叫做最小系统
  6. GPIO
    专用器件接到专用的总线,比如 I2C,SPI,SDIO,FSMC,DCMI 这些总线的器件需要接到专用的 IO。
    普通的元器件接到 GPIO,比如蜂鸣器,LED,按键等元器件用普通的GPIO即如果还有剩下的 IO,可根据项目需要引出或者不引出。

如何寻找 IO的功能说明

要想根据功能来分配 IO,那就得先知道每个 IO 的功能说明,这个我们可以从官方的数据手册里面找到。在学习的时候,有两个官方资料我们会经常用到,一个是参考手册(英文叫 Reference manual),另外一个是数据手册(英文叫 Data Sheet)。
一、参考手册

  1. 片上外设的功能说明和寄存器描述
    对片上每一个外设的功能和使用做了详细的说明,包
    含寄存器的详细描述。编程的时候需要反复查询这个
    手册。

二、数据手册

  1. 功能概览
    主要讲这个芯片有哪些功能,属于概括性的介绍。芯
    片选型的时候首先看这个部分。
  2. 引脚说明
    详细描述每一个引脚的功能,设计原理图的时候和写程序的时候需要参考这部分。
  3. 内存映射
    讲解该芯片的内存映射,列举每个总线的地址和包含有哪些外设。
  4. 封装特性
    讲解芯片的封装,包含每个引脚的长度宽度等,我们画 PCB 封装的时候需要参考这部分的参数。
    一句话概括:数据手册主要用于芯片选型和设计原理图时参考,参考手册主要用于在编 程 的 时 候 查 阅 。 官 方 的 这 两 个 文 档 可 以 从 官 方 网 址 里 面 下 载:
    http://www.stmcu.org/document/list/index/category-150

    例如:
    FT : 兼容 5V
    TTa : 只支持 3V3,且直接到 ADC
    B : BOOT引脚
    RST : 复位引脚,内部带弱上拉

开始分配原理图 IO

比如使用的MCU型号是STM32F103VET6,封装为LQFP100,我们在数据手册中找到这个封装的引脚定义,然后根据引脚序号,一个一个复制出来,整理成 excel表。分配好之后就开始
画原理图。

PCB哪里打样

设计好原理图,画好 PCB之后,需要把板子做出来,进行软硬件联调。首先得 PCB打样,这里我推荐一家我经常打样的厂家,深圳嘉立创(JLC),行业标杆,良心价格,网址:
http://www.sz-jlc.com。
一块 10CM*10CM 以内的板子,三天做好,50 块就可以搞定,还包邮,不想自己焊接电阻电容二三极管什么的,嘉立
创还可以帮你把 PCB 样板上的阻容贴好给你,打样贴片一条龙。

STM32 (零)--------STM32介绍相关推荐

  1. STM32 ST-LINK Utility介绍、下载、安装、使用方法

    推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang 该文章相关教 ...

  2. 8 . STM32固件库介绍

    STM32固件库介绍 前面为大家简单介绍了如何使用寄存器点亮开发板上LED,这种开发方式显然是不适合大众,对于STM32 这样庞大的芯片,内部寄存器实在太多,如果操作的外设比较多,那么就需要花很多时间 ...

  3. 第4章 初识STM32—零死角玩转STM32-F429系列

    第4章     初识STM32 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ...

  4. 【STM32】STM32标准库与HAL库对照学习教程一--使用寄存器操控LED闪烁详讲

    [STM32]STM32标准库与HAL库对照学习教程一--使用寄存器操控LED闪烁详讲 前言 本教程文章是我在学习STM32标准库和HAL库后写的,想通过标准库与HAL库的对照学习加强我对STM32的 ...

  5. 【STM32】STM32系列教程汇总(暂时暂停更新...)

    00. 目录 文章目录 00. 目录 01. STM32平台简介 02. STM32开发环境 03. STM32初级教程 04. STM32中级教程 05. STM32高级教程 06. FreeRTO ...

  6. 【STM32】STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲

    [STM32]STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲 一.前言 二.时钟是什么 三.时钟树 1.时钟树图 2.时钟树讲解 左边部分 中间部分 右边部分 特殊部分 四.初始化 ...

  7. 零信任-Cisco思科零信任介绍(10)

    ​目录 ​思科零信任介绍 思科零信任所涉及产品 思科零信任架构拓扑介绍 ​思科零信任框架VS零信任安全框架 思科零信任架构的应用场景 思科零信任解决方案的优势 思科零信任的未来发展展望 思科零信任介绍 ...

  8. 【STM32】STM32和PC串口的NRF24L01通信测试

    使用NRF24L01实现STM32之间.PC之间以及STM32和PC之间的通信 前言 硬件实现 软件实现 测试结果 结论 1. 前言 小弟最近看了一些中近距离(200m以内)的无线通信方法,像Zigb ...

  9. 零信任-Akamai零信任介绍(6)

    ​Akamai零信任介绍 Akamai是一家专注于分布式网络服务的公司,它提供了一系列的互联网内容和应用加速服务.关于Akamai的零信任,它指的是Akamai的安全架构中不存在任何一个环节是可以被单 ...

最新文章

  1. 将字符串转换为日期时间
  2. 页面滚动事件和利用JS实现回到顶部效果
  3. 如何防止同一账号多次登录
  4. ▲教你如何轻易的做linux计划任务▲——小菜一碟
  5. 2020 ICPC亚洲区域赛(沈阳)F-Kobolds and Catacombs(思维+模拟)
  6. 您的Apache Camel应用程序现在包括现成的文档
  7. 众智日照分析软件_飞时达CAD日照分析计算软件FastSUN V14.0.1发布升级
  8. [css] CSS content属性特殊字符有哪些?
  9. call() , apply() ,bind()的用法
  10. 笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!
  11. 校内网脱胎“人人”能成大器
  12. LCIS最长公共上升子序列
  13. iOS开发警告The image set name xxx is used by multiple image sets.
  14. Mysql之事务与视图
  15. 程序员跳槽时,如何高效地准备面试?
  16. 生活中的经济学(总结于半小时漫画书经济学 生活常识篇)
  17. 生活随记 - 开门放水
  18. 给大学后端小白的一些忠告
  19. 《JAVA高并发编程详解》-七种单例模式
  20. 基于MVC个人信息管理系统

热门文章

  1. realsense d435i 跑 vins-fusion
  2. Layui简介、layui例子
  3. P3019 [JZOJ]序列和
  4. xcodebuild构建时报错unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code 1
  5. 微信支付官方SDK V3 .NET版的坑
  6. Objective-C 类和对象
  7. python类似微信未读信息图片脚本
  8. C#的COM接口定义细则
  9. spring AOP注解实现
  10. iOS事件机制,以及不同手势使用touchesBegan等表现形式