基于Cortex-M的单片机介绍

  • 前言
  • 1生产厂商及其产品线
    • 1.1ARM单片机的产品线
    • 1.2命名规则
      • 作业1
  • 2习单片机的资料准备
    • 2.1STM32开发所需手册
      • 2.1.1芯片的数据手册
        • 芯片基本信息
        • 内部结构
        • 挂接结构
          • 作业2
      • 引脚数以及片内外设数量
      • 2.1.2对应系列的编程手册
      • 2.1.3开发板对应的手册
      • 2.1.4片外外设芯片手册
  • 本文重点
  • M4系列目录

前言

本文继续接着上一篇中关于Cortex-M的介绍,来记录一些关于ARM系单片机的知识。

1生产厂商及其产品线

芯片厂商在拿到ARM的授权后,会在之前的内核基础上添加自己的片内外设形成自家的单片机产品,ST(意法半导体)、GD(国产兆易创新)、NXP(恩智浦)、CW(武汉鑫源半导体)等等都是此类单片机生产厂商。还有厂家为了进一步简化电路结构还会在单片机内部添加部分运算放大器、栅极驱动以及电源管理等电路,MM(灵动微电子)Infineon(英飞凌)等等厂商都有类似的产品,例如MM32SPIN27。想要详细了解的同学可以去他们的官网查询芯片手册和产品介绍。这里着重介绍ST与GD的32为单片机。

1.1ARM单片机的产品线

在上一篇中我们知道了ARM的Cortex-M架构又细分了八个种类,在工作中最常用的是M3、M4系列,下面我们就来看看ST与GD两家厂商关于这两类内核单片机的具体产品。
首先是ST的,查询单片机以及相关资料的最好方式就是找对应公司的官网,官网上能找到绝大部分我们所需要的开发资料。
ST的中文官网链接——https://www.st.com/content/st_com/zh.html
进入官网后按照如下步骤即可进入到ST的32位单片机的产品页面。

在该界面我们可以查看我们想要看的单片机的参数

当然也可以直接在搜索框搜索例如搜索STM32F103C8T6就可以查看到关于这个单片机的数据手册等相关文件。

以此类推关于GD32的资料获取以及产品预览也可以在其官网进行搜索或者查询,兆易创新官网——https://www.gigadevice.com.cn/

通过两家的官网信息我们可以发现,两家的F1xx系列都是通用性单片机,主打一个性价比,F4xx是一个相对高端的单片机,而xxxLxx是主打低功耗的单片机、xxHxx是主打高性能可以做图像处理等复杂操作的单片机。
稍稍一对比就不难发现这两家的产品都大同小异,我们拿两家的F103C8T6来做个简单的对比
STM32F103C8T6:

GD32F103C8T6:

大致预览一下它们各自数据手册的内部结构图,可以发现,二者除了CPU主频不一样以外,其他几乎一致,截图不太清晰,为了方便大家对比,上面贴了二者数据手册的地址,可以下载下来用PDF阅读器查看。
浏览了两家产品线后,不难看出,M3系列的内核主要用在F1系列的通用性单片机上,M4系类的内核就相对高端一些,主要应用在F4系列,带有一些更高级的功能。

1.2命名规则

看完这么多产品后,是不是感觉他们的命名有些太长了,搞工科的一般都是求简,怎么简单怎么来,那么为什么关于单片机的命名要弄得如此复杂呢,答案在芯片手册中已经给出了,单片机这么长的命名,每一个字符都有其意义。

如上图关于STM32F103C8T6的命名规则介绍
首先STM代表生产厂家
STM----意法半导体
GD----兆易创新
F代表General-purpose也就是通用型单片机
103代表该芯片的具体型号
C代表引脚数(48PIN)
8代表64K的Flash(存代码的)决定代码量
T代表封装类型,是LQFP四面表贴型
6代表使用温度为-40度到85度
看明白了命名规则我们就能根据芯片命名去了解到他的一些具体参数了,这对于项目选型有很大的益处。

作业1

这里还放一个命名,大家可以根据一下提示写出对应的信息,评论区见

STM32F407VET6

2习单片机的资料准备

在弄明白主流芯片的命名规则后,对于一个项目,选型已经搞定了,接下来就是如何操作芯片实现对应功能了,也就是开发了,开发一款单片机的时候,我们需要尽可能的找到他的手册。

2.1STM32开发所需手册

2.1.1芯片的数据手册

这个是重中之重,我们以STM32F103ZET6为例,首先在上面给出的ST官网下载他的数据手册

芯片基本信息

打开数据手册,第一页告知了此芯片的内核Arm® 32-bit Cortex®-M3 CPU,主频72MHZ,内存:256 to 512 Kbytes of Flash memory

内部结构

然后是其内部结构,一般在数据手册第二章,或者在该芯片的介绍页,下图就是介绍页的内部结构示意图,其中深蓝色的部分是ARM公司提供的内核或者叫他微处理器(FPU、CPU),而浅蓝色的部分则是由ST公司自己设计的片内外设。

挂接结构

而在其数据手册还有更为详细的结构图,它描述了片内外设与微处理器的连接方式,如下图所示:

其中红色框代表的是ARM提供的内核,主频为48/72MHZ,
绿色框代表的是AHB总线,主频为48/72MHZ,它连接了APB1、APB2以及内核
橙色框代表的是APB2总线主频为48/72MHZ,它主要是挂接了GPIO模块以及TIM1等等片内外设
蓝色框代表的是APB1总线,主频为24/36MHZ,它连接了TIM2、TIM3、USART2、UART4、SPI2等等片内外设
以上这些对于我们编程具有很好地辅助作用,是本文的一个重点,希望大家看了有所收获
既然这么重要,那就再留一个作业,大家有兴趣的可以写在评论区。

作业2

STM32F407VE的结构图

引脚数以及片内外设数量

在芯片手册第二章就可以查阅到对应型号的GPIO数量、外设数量等等,这里有一点需要注意,
12-bitADC的通道有16个,而不是片内ADC模块有16个,片内ADC模块只有两个。

有关数据手册更多的信息,放到后面再进行补充,此处主要是需要掌握内部结构图,片内外设信息这些。

2.1.2对应系列的编程手册

数据手册可以使我们直观了解这款芯片的资源,片内外设的连接方式,以及其工作的必要条件;编程手册则可以让我们知道该怎么去控制这款芯片实现我们想要的功能。编程手册可以在官网搜索查询,但是是英语手册,如果需要中文手册需要自己去百度搜索。官网的地址:https://www.st.com/zh/microcontrollers-microprocessors/stm32f103/documentation.html

关于这个手册在此不做介绍,后面记录片内外设以及操作芯片时再进一步记录。

2.1.3开发板对应的手册

这个就需要找对应厂商或者是与自己对接的硬件工程师要,主要作用是搞清楚片外外设与单片机的引脚了解方式。这里借用正点原子的战舰V3原理图来展示,具体引用也留到后面记录。

2.1.4片外外设芯片手册

这个与上一个开发板对应手册一致,也是找芯片厂商以及硬件工程师寻找,具体作用就是方便后面对照手册对片外外设进行操作。

本文重点

1.单片机的命名规则;
2.数据手册的查询;
3.芯片内部结构以及外设挂接结构。

M4系列目录

1.嵌入式学习笔记——概述
2.嵌入式学习笔记——基于Cortex-M的单片机介绍
3.嵌入式学习笔记——STM32单片机开发前的准备
4.嵌入式学习笔记——STM32硬件基础知识
5.嵌入式学习笔记——认识STM32的 GPIO口
6.嵌入式学习笔记——使用寄存器编程操作GPIO
7.嵌入式学习笔记——寄存器实现控制LED小灯
8.嵌入式学习笔记——使用寄存器编程实现按键输入功能
9.嵌入式学习笔记——STM32的USART通信概述
10.嵌入式学习笔记——STM32的USART相关寄存器介绍及其配置
11.嵌入式学习笔记——STM32的USART收发字符串及串口中断
12.嵌入式学习笔记——STM32的中断控制体系
13.嵌入式学习笔记——STM32寄存器编程实现外部中断
14.嵌入式学习笔记——STM32的时钟树
15.嵌入式学习笔记——SysTick(系统滴答)
16.嵌入式学习笔记——M4的基本定时器
17.嵌入式学习笔记——通用定时器
18.嵌入式学习笔记——PWM与输入捕获(上)
19.嵌入式学习笔记——PWM与输入捕获(下)
20.嵌入式学习笔记——ADC模数转换器
21.嵌入式学习笔记——DMA
22.嵌入式学习笔记——SPI通信
23.嵌入式学习笔记——SPI通信的应用
24嵌入式学习笔记——IIC通信

嵌入式学习笔记——基于Cortex-M的单片机介绍相关推荐

  1. 嵌入式学习笔记——ADC模数转换器

    ADC模数转换器 前言 ADC介绍 ADC概述 ADC的数量 ADC的特性 ADC框图 芯片外部框图 芯片内部框图 转换部分框图 状态输出部分 条件触发框图 寄存器介绍 编程思路 模式选择 规则通道的 ...

  2. 嵌入式学习笔记——STM32的USART通信概述

    文章目录 前言 常用通信协议分类及其特征介绍 通信协议 通信协议分类 1.同步异步通信 2.全双工/半双工/单工 3.现场总线/板级总线 4. 串行/并行通信 5. 有线通信.无线通信 STM32通信 ...

  3. 嵌入式学习笔记——寄存器实现控制LED小灯

    文章目录 前言 GPIO通用输出模式 初始化LED小灯的GPIO 原理图 初始化代码 初始化的效果 功能函数封装 直接分开宏定义两个 使用条件运算符 封装函数实现简单的功能 KEIL MDK一些技巧 ...

  4. 基于STM32G431嵌入式学习笔记——七、定时器定时

    一.题目引入 上述为第13届蓝桥杯省赛节选内容,为了研究定时器的机理并独立书写计时函数,上述内容简化为以下要求: ①按下B4按键,LD1点亮5s后熄灭 ②按下B3按键,LD2以0.1秒为间隔切换亮灭状 ...

  5. cortex_m3_stm32嵌入式学习笔记(十五):待机唤醒实验(WK_UP外部中断)

    cortex_m3_stm32嵌入式学习笔记(十五):待机唤醒实验(WK_UP外部中断) https://blog.csdn.net/qq_16255321/article/details/43086 ...

  6. STM32学习笔记——基于正点原子例程编码器模式小结

    STM32学习笔记--基于正点原子例程编码器模式小结 最近一段时间学习了,STM32f4的编码器功能,经过自己探索和他人的热心帮助,对于编码器模式有了一定了解.STM32f4单片机提供编码器模式,以便 ...

  7. 嵌入式学习笔记--jlink 工具RTT使用笔记

    嵌入式学习笔记–jlink 工具RTT 使用笔记 最近有调试一个ethcat板卡的需求,板卡设计的很简洁,没有多余的调试串口,正准备飞线到单片机针脚上的时候发现了RTT 的这个工具,记录一下使用的方法 ...

  8. 嵌入式学习笔记——使用寄存器编程操作GPIO

    使用寄存器编程操作GPIO 前言 GPIO相关的寄存器 GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..I) 位操作 GPIO 端口输出类型寄存器 (GPIOx_OTYPER) ...

  9. 嵌入式学习笔记--misc

    嵌入式学习笔记–misc 一.内核自带MISC驱动简介 misc 的意思是混合.杂项的,因此 MISC 驱动也叫做杂项驱动,也就是当我们板子上的某些外设无法进行分类的时候就可以使用 MISC 驱动. ...

最新文章

  1. 高考成绩2021年怎么查询,2021高考成绩怎么查询 2021年各省市高考成绩查询时间介绍...
  2. 网络工程师成长日记417-西安如家酒店无线覆盖技术支持
  3. 内容分发网络 CDN 是如何提高网页加载时间的?
  4. 对于牛老师作业陈老师作业补充(老陈、小石头的典型用户、用例图、场景)...
  5. 微软Webcast课程下载软件iReaper正式登陆Android平台
  6. java http响应头,java – HTTP响应标头内容处理附件
  7. 【今日CV 计算机视觉论文速览 第123期】Mon, 3 Jun 2019
  8. Atitit nodejs js 获取图像分辨率 尺寸 大小 宽度 高度
  9. Java生成验证码合集(一)简单版
  10. java驱动刷机_ProductTool(炬力芯片刷机工具+驱动) v5.46 中文安装免费版
  11. c语言怎么设置命令行字体大小,C语言入门教程-命令行参数
  12. 信息学竞赛学不学计算机史,关于信息学奥赛不得不知道的事
  13. 【淘宝商家应用接口】拼多多平台流量解析,如何充分利用平台分配的流量?
  14. 面向猴子编程 GO制作水印
  15. CSGO社区服搭建记录
  16. word修改后没保存/打开了自动保存没有恢复
  17. 圆周率不用计算机怎么算,为何圆周率算了这么多年还没算完?就连超级计算机都“无可奈何”...
  18. 修复 Windows 映像
  19. 异构数据库中间件sequoia(c-jdbc)初体验(1.安装试运行)
  20. 无线传感网络就业指导

热门文章

  1. java date 没有毫秒_关于date:Java:秒和毫秒均为0时,DateTimeFormatter无法解析时间字符串吗?...
  2. JsonPath完全介绍及详细使用教程
  3. mysql多个select_mysql – 加入两个select语句
  4. docxtpl操作word文件
  5. python定义int变量_Python变量以及常用数字类型(上)
  6. 多线程_锁(八股文)
  7. 【bzoj1070】[SCOI2007]修车 网络流
  8. audio 上一首 下一首 自定义样式_请问我下面的js代码点击下一首按钮的时候怎么播放下一首...
  9. 弹幕播放器php代码,苹果CMSV10弹幕播放器 记忆功能+m3u8+MP4.zip
  10. 由于找不到MSVCR110.dll,无法继续执行代码...的解决方法