【STM32 】芯片命名、内核、产品系列

一、半导体公司介绍

STM32是STMicroelectronics(意法半导体)公司的一系列32位微控制器,基于ARM Cortex-M内核,具有高性能、低功耗、丰富的外设和易于开发的特点,适用于工业、医疗、物联网等多种领域的应用。

意法半导体(ST)集团于1987年成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司。意法半导体是世界最大的半导体公司之一。

在这里插入图片描述
半导体行业与我们生存的方方面面息息相关,来看看全球知名的半导体公司的情况。

排名(2022 )仅供参考。

排名公司国家主要领域代表产品
1三星韩国存储器,逻辑芯片,显示器,手机芯片DRAM,NAND Flash,OLED,Exynos
2英特尔美国CPU,GPU,存储器,通信芯片Core,Xeon,Optane,Ice Lake
3高通美国手机芯片,无线通信芯片,物联网芯片Snapdragon,X60 5G调制解调器,QCA6390 Wi-Fi 6
4SK海力士韩国存储器,逻辑芯片DRAM,NAND Flash,Z-NAND
5美光美国存储器,存储解决方案DRAM,NAND Flash,3D XPoint
6博通美国无线通信芯片,有线基础设施芯片,工业芯片BCM4389 Wi-Fi 6E芯片组,BCM56990 Tomahawk 4交换机芯片
7AMD美国CPU,GPU,游戏机芯片组Ryzen,Radeon,EPYC
8台积电台湾(中国)纯代工厂商N5、N7、N10等先进制程
9苹果美国手机芯片,平板电脑芯片,笔记本电脑芯片等自研芯片A15 Bionic, M1 Pro, M1 Max
10联发科台湾(中国)手机芯片,物联网芯片,智能电视芯片等多元化产品线Dimensity, Helio, MT8695
11STMicroelectronics (ST)意大利/法国/瑞士/美国/新加坡等多国籍公司模拟和混合信号集成电路 (AMS IC)、微控制器 (MCU)、传感器、汽车和工业电子等领域的半导体产品和解决方案。STM32 MCU, VL53L0X ToF传感器, L99UDL01 LED驱动器
12英伟达 (NVIDIA)美国GPU, AI加速器, 自动驾驶平台等领域的半导体产品和解决方案。GeForce RTX, Jetson Nano, Drive AGX
13NXP Semiconductors (NXP)荷兰/美国/新加坡等多国籍公司汽车、安全、射频、模拟和数字处理等领域的半导体产品和解决方案。S32K MCU, i.MX RT系列跨界处理器, MR3003雷达收发器
14Analog Devices (ADI)美国/爱尔兰等多国籍公司模拟、混合信号和数字信号处理 (DSP) 集成电路 (IC) 等领域的半导体产品和解决方案。ADSP-2156x SHARC+ DSP, AD9081 MxFE转换器, ADuM4137隔离式栅极驱动器
15瑞萨电子 (Renesas)日本微控制器、模拟、功率和SoC等领域的半导体产品和解决方案。RX MCU, RZ/A2M MPU, ISL81601双向四开关降压-升压控制器

国内:

  • 按照营收排名,前十大半导体公司分别是:豪威科技、安世半导体、长江存储、紫光展锐、兆易创新、海思半导体、士兰微、歌尔股份、紫光国芯、中芯微电子
  • 按照市值排名,前十大半导体公司分别是:闻泰科技、京东方、中芯国际、立讯精密、歌尔股份、比亚迪、大华股份、隆基股份、中颖电子、韦尔股份
  • 按照利润排名,前十大半导体公司分别是:中芯国际、韦尔股份、长电科技、闻泰科技、圣邦股份、中颖电子、帝奥微、华峰测控、臻镭科技、卓胜微

二、STM32 芯片

2.1 芯片命名

通常,命名符合下列规则:

STM23位处理器 产品类型 内核 产品线 引脚数 Flash容量 封装 温度范围
在这里插入图片描述

2.2 Cortex-M内核

Cortex-M是一种处理器内核,而不是芯片。

它是由ARM公司设计的,用于微控制器和嵌入式应用。不同的芯片制造商可以基于Cortex-M内核开发自己的芯片,例如STM32、LPC、Kinetis等。Cortex-M内核有多个版本,如Cortex-M0、Cortex-M3、Cortex-M4等,它们有不同的性能和特点。

内核架构主频特点
Cortex-M0ARMv6-M最高50MHz最小、最低功耗的Cortex-M处理器,不支持乘法指令和中断向量表偏移¹
Cortex-M0+ARMv6-M最高100MHz在Cortex-M0的基础上增加了单周期IO端口、更快的中断响应和低功耗模式¹
Cortex-M1ARMv6-M最高125MHz专为FPGA设计的Cortex-M处理器,支持可选的乘法指令和中断向量表偏移¹
Cortex-M3ARMv7-M最高200MHz高性能、高效率的Cortex-M处理器,支持Thumb-2指令集、乘法指令、中断向量表偏移、嵌套矢量中断控制器等¹²
Cortex-M4ARMv7E-M最高240MHz在Cortex-M3的基础上增加了单精度浮点运算单元和数字信号处理扩展¹²
Cortex-M7ARMv7E-M最高400MHz在Cortex-M4的基础上增加了双精度浮点运算单元、六级流水线、分支预测和缓存等¹²
Cortex-M23ARMv8-M Baseline最高100MHz基于ARMv8-M架构的最低功耗的Cortex-M处理器,支持可信执行环境和安全扩展¹³
Cortex-M33ARMv8-M Mainline最高200MHz基于ARMv8-M架构的高性能、高效率的Cortex-M处理器,支持可信执行环境、安全扩展、浮点运算单元和数字信号处理扩展¹³
Cortex-M35PARMv8-M Mainline最高200MHz在Cortex-M33的基础上增加了物理防篡改特性,提供更高的安全性¹³
Cortex-M55ARMv8.1-M Mainline with Helium Technology (MVE)最高500MHz基于ARMv8.1架构的最先进的Cortex-M处理器,支持Helium技术(M-Profile矢量扩展),提供更强大的机器学习和数字信号处理能力¹⁴

注意,这只是内核理论参数,具体参数取决于芯片制造商。


补充:

  • 芯片的架构 (Architecture) 是指芯片的设计和功能的抽象描述,它包括了芯片的结构、指令集、微架构等方面。
  • 芯片的结构 (Structure) 是指芯片内部的组成部分,例如运算器、控制器、存储器等,以及它们之间的连接方式。
  • 芯片的指令集 (Instruction Set) 是指芯片能够执行的基本操作的集合,它定义了芯片与软件之间的接口。
  • 芯片的微架构 (Microarchitecture) 是指芯片实现指令集的具体方式,它涉及到芯片内部的电路、逻辑、流水线等细节。
  • 芯片的内核 (Kernel) 是指芯片中负责执行指令集的核心部分,它通常包括一个或多个处理器 (Core),以及一些缓存、寄存器等辅助组件。
  • 具体芯片 (Chip) 是指根据某种架构设计并制造出来的实物,它除了包括内核外,还可能包括一些外设、存储器、输入输出模块等其他功能。

举个例子,STM32是一种单片机 (Microcontroller),它是一种具体芯片,它有一个Cortex-M3内核,这个内核是由ARM公司设计并授权给ST公司使用的,它支持ARM指令集,也就是说它能够执行ARM定义的基本操作。Cortex-M3内核有一个特定的微架构,它决定了它如何实现ARM指令集。STM32除了Cortex-M3内核外,还有一些外设、存储器等其他功能,这些都属于STM32的架构。

2.3 STM32 系列

STM32芯片是一种基于ARM Cortex-M内核的32位微控制器,由意法半导体公司开发和生产。STM32芯片具有高性能、低功耗、丰富的外设和易于开发的特点,广泛应用于嵌入式领域,如智能车、工业控制、物联网、人机交互等。

STM32芯片有多个系列,根据内核类型和性能等级可以分为以下几类:

  • STM32C0系列:入门级的32位微控制器,采用Cortex-M0+内核,适用于成本敏感型应用。
  • STM32F0系列:基础型的32位微控制器,采用Cortex-M0或M0+内核,适用于通用应用。
  • STM32G0系列:优化型的32位微控制器,采用Cortex-M0+内核,提供了更高的性能和更多的功能。
  • STM32L0系列:超低功耗型的32位微控制器,采用Cortex-M0+内核,适用于电池供电或节能型应用。
  • STM32F1系列:中低端的32位微控制器,采用Cortex-M3内核,提供了较高的性能和较多的外设。
  • STM32F2系列:高性能型的32位微控制器,采用Cortex-M3内核,提供了更高的性能和更多的功能。
  • STM32F3系列:混合信号型的32位微控制器,采用Cortex-M4内核,提供了数字信号处理和模拟外设。
  • STM32F4系列:高性能型的32位微控制器,采用Cortex-M4内核,提供了数字信号处理和浮点运算。
  • STM32F7系列:高性能型的32位微控制器,采用Cortex-M7内核,提供了最高的性能和最多的功能。
  • STM32L1系列:超低功耗型的32位微控制器,采用Cortex-M3内核,适用于电池供电或节能型应用。
  • STM32L4系列:超低功耗型的32位微控制器,采用Cortex-M4内核,提供了数字信号处理和浮点运算。
  • STM32L5系列:新一代安全超低功耗型的32位微控制器,采用Cortex-M33内核,提供了安全功能和图形加速。
  • STM32U5系列:新一代安全高性能超低功耗型的32位微控制器,采用Cortex-M33内核,提供了安全功能和图形加速。
  • STM32H7系列:最高性能型的32位微控制器,采用Cortex-M7内核或双核(M7+M4)架构,提供了最高的性能和最多的功能。
  • STM32WB系列:双核无线型的32位微控制器,采用双核(M4+M0+)架构,提供了蓝牙5.0和802.15.4无线连接。
  • STM32WL系列:超低功耗无线型的32位微控制器,采用Cortex-M4内核,提供了LoRa和其他子1GHz无线连接。
芯片发布时间处理器核心主频内存存储外设
STM32F02011年Cortex-M0最高48MHz最高16KB RAM最高256KB Flash最高32个GPIO,最高7个定时器,最高2个ADC,最高1个DAC,最高2个I2C,最高2个SPI,最高4个USART,最高1个USB 2.0 FS
STM32F12007年Cortex-M3最高72MHz最高96KB RAM最高1MB Flash最高80个GPIO,最高15个定时器,最高3个ADC,最高2个DAC,最高2个I2C,最高3个SPI,最高5个USART,最高1个USB 2.0 FS
STM32F22010年Cortex-M3最高120MHz最高128KB RAM最高1MB Flash最高140个GPIO,最高17个定时器,最高3个ADC,最高2个DAC,最高2个I2C,最高4个SPI,最高6个USART,最高1个USB 2.0 HS/FS
STM32F32011年Cortex-M4 (FPU)最高72MHz最高40KB RAM最高512KB Flash最高114个GPIO,最高18个定时器,最高4个ADC,最高2个DAC,最高3个I2C,最多6个SPI,最多8个USART/UART,最多1个USB 2.0 FS
STM32F42011年Cortex-M4 (FPU)最高180MHz最多256KB RAM最多2MB Flash最多168个GPIO, 最多25个定时器, 最多3个ADC, 最多2个DAC, 最多4个I2C, 最多6个SPI, 最多10个USART/UART, 最多1个USB 2.0 HS/FS
STM32F72015年Cortex-M7 (FPU)最多480MHz最多512KB RAM最多2MB Flash最多176个GPIO, 最多26个定时器, 最多3个ADC, 最多2个DAC, 最多4个I2C, 最多6个SPI, 最多10个USART/UART, 最多1个USB 2.0 HS/FS
STM32H72016年Cortex-M7 (FPU)或Cortex-M4 (FPU)或双核(M7+M4)M7:最多550MHz; M4:最多240MHz; 双核: M7:480MHz; M4:240MHzM7:128KB或512KB或1MB RAM; M4:128KB或240KB RAM; 双核: M7:128KB或512KB或1MB RAM; M4:128KB或240KB RAM; 共享:128KB或512KB RAMM7:128KB或256KB或512KB或1MB或2MB Flash; M4:128KB或256KB或512KB Flash; 双核: M7:128KB或256KB或512KB或1MB或2MB Flash; M4:128KB或256KB或512KB Flash; 共享:64MB PSRAM 或64MB HyperRAM 或128MB HyperRAM 或256MB HyperRAM 或512MB HyperRAM 或1GB HyperRAM 或64MB SDRAM 或128MB SDRAM 或256MB SDRAM 或512MB SDRAM 或1GB SDRAM 或64MB Octo-SPI NOR Flash 或128MB Octo-SPI NOR Flash 或256MB Octo-SPI NOR Flash 或512MB Octo-SPI NOR Flash 或1GB Octo-SPI NOR Flash 或64MB Quad-SPI NOR Flash 或128MB Quad-SPI NOR Flash 或256MB Quad-SPI NOR Flash 或512MB Quad-SPI NOR Flash 或1GB Quad-SPI NOR FlashM7:最多176个GPIO, 最多35个定时器, 最多3个ADC, 最多2个DAC, 最多4个I2C, 最多6个SPI, 最多8个USART/UART, 最多1个USB 2.0 HS/FS; M4:最多114个GPIO, 最多18个定时器, 最多4个ADC, 最多2个DAC, 最多3个I2C, 最多6个SPI, 最多8个USART/UART, 最多1个USB 2.0 FS; 双核:最高176个GPIO,最高35个定时器,最高3个ADC,最高2个DAC,最高4个I2C,最高6个SPI,最高8个USART/UART,最高1个USB 2.0 HS/FS
STM32L02015年Cortex-M0+最高32MHz最高20KB RAM最高192KB Flash最高51个GPIO,最高16个定时器,最高2个ADC,最高1个DAC,最高2个I2C,最高3个SPI,最高5个USART/UART,最高1个USB 2.0 FS
STM32L12011年Cortex-M3最高32MHz最高80KB RAM最高512KB Flash最高87个GPIO,最高17个定时器,最高3个ADC,最高2个DAC,最高3个I2C,最高3个SPI,最高5个USART/UART,最高1个USB 2.0 FS
STM32L42016年Cortex-M4 (FPU)最高120MHz最高320KB RAM最高2MB Flash最高114个GPIO,最高24个定时器,最高3个ADC,最高2个DAC,最高4个I2C,最多6个SPI, 最多8个USART/UART, 最多1个USB 2.0 FS
STM32L52019年Cortex-M33 (FPU)最高110MHz最高256KB RAM最高512KB Flash最多114 GPIOs, 最多26 timers, 最多3 ADCs, 最多2 DACs, 最多4 I2Cs, 最多6 SPIs, 最多8 USARTs/UARTs, 最多1 USB 2.0 FS


~

### STM32驱动N10型激光雷达的配置与代码实现 #### 背景介绍 在开发复合机器人时,激光雷达作为重要的传感器之一,用于环境感知和导航功能。N10型激光雷达因其高性价比和易用性被广泛应用于小型移动机器人项目中[^1]。 #### 硬件连接说明 STM32微控制器通过串口通信接口与N10型激光雷达相连。通常情况下,需要将STM32的USART模块配置为特定波特率(如115200bps),并确保TX/RX引脚正确连接至激光雷达的数据端子。此外,还需要注意电源电压匹配问题,因为某些型号的N10激光雷达工作电压范围较窄。 #### 初始化设置 为了使能STM32对N10激光雷达的支持,在固件初始化阶段需完成如下操作: - 配置USART外设参数; - 设置定时器中断以定期读取数据流; - 编写解析函数处理接收到的距离测量值。 以下是基于HAL库的一个简单示例程序框架: ```c #include "stm32f4xx_hal.h" UART_HandleTypeDef huart1; void UART_Init(void){ __HAL_RCC_USART1_CLK_ENABLE(); huart1.Instance = USART1; huart1.Init.BaudRate = 115200; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; HAL_UART_Init(&huart1); } uint8_t buffer[1024]; int main(){ UART_Init(); while(1){ if(HAL_UART_Receive(&huart1, (uint8_t *)buffer, sizeof(buffer), HAL_MAX_DELAY)==HAL_OK){ ProcessLaserData(buffer); // 自定义数据处理函数 } } } ``` 上述代码片段展示了如何利用STM32的标准外设驱动来建立基本通讯链路。实际应用过程中还需加入错误检测机制以及更复杂的协议栈支持以便准确获取扫描角度及对应距离信息。 #### 数据解析逻辑 由于不同厂商生产的N10系列产品可能存在细微差异,因此建议查阅具体产品的技术手册了解其特有的帧结构定义。一般而言,每组完整的测距结果由若干字节组成,其中包括起始标志位、有效载荷区(含角度坐标与径向长度)、校验码等内容。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

感谢地心引力

有用的话请我喝杯咖啡吧????

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值