STM32

STM32是STMicroelectronics(意法半导体)推出的一系列基于ARM Cortex-M内核的32位微控制器(MCU)产品。这些微控制器提供了广泛的产品系列,覆盖了多种不同的性能和功能需求,适用于各种应用领域,包括工业控制、汽车电子、消费类电子、医疗设备等。

STM32系列微控制器以其高性能、低功耗、丰富的外设接口和灵活的开发工具而闻名。它们通常具有丰富的存储器、多种通信接口(如UART、SPI、I2C、CAN等)、模拟数字转换器(ADC)、定时器、PWM输出等功能,以满足不同应用场景下的需求。

STM32微控制器通常使用标准的ARM Cortex-M内核,包括Cortex-M0、M0+、M3、M4和M7等,这些内核具有不同的性能和功耗特性,可根据具体应用的需求进行选择。此外,STM32系列还提供了多种封装和引脚配置,以满足不同尺寸和集成度的要求。

STMicroelectronics为STM32系列提供了丰富的开发工具和支持资源,包括基于ARM开发环境的集成开发环境(IDE)、调试器、评估板和参考设计等。这些工具和资源有助于开发人员快速开发和部署他们的应用,并提供了全面的技术支持和文档资料,帮助用户充分发挥STM32微控制器的性能和功能优势。

ST开辟边缘AI专区,请点击访问 https://stm32ai.st.com/zh/ 

嵌入式AI无疑将是下一个“科技风口”。

随着企业的业务部署场景和数据产生正在向端侧、边缘侧“迁移”,嵌入式AI也迎来了快速发展的机遇期——将推理过程移到深度边缘计算会带来诸多优势,比如系统响应能力、用户隐私保护、降低连接成本和功耗。

作为该趋势的主要推动者,意法半导体已经在AI方面投入大量资源,旨在帮助开发人员在基于微控制器/微处理器(STM32系列)和传感器(MEMS、ToF…)的嵌入式系统上快速部署AI应用。

ST提供了一整套工具,在STM32 MCU、MPU和智能传感器上实现边缘AI,通过简单、快速、低成本的方式为许多解决方案带来智能化,例如:预测性维护、物联网产品、智能楼宇、资产跟踪、人数统计等等。

应用案例

通过嵌入式AI,轻松增强应用,开启全新应用可能性,解锁AI应用普惠之道。ST提供了丰富的应用案例,涵盖智慧城市、智能家居、娱乐、玩具、智能楼宇、交通运输、智能办公、工业、家电等各个领域。用户可以探索这些具有启发性的真实示例,利用ST的资源打造自己的应用。

1.png

▲ 点击图片,了解详情

产品与解决方案

意法半导体为用户提供多种面向STM32和智能传感器的AI解决方案,多种微型机器学习解决方案,用于将AI嵌入到微控制器、微处理器和智能传感器上。无论在机器学习上的专业水平如何,ST提供的广泛产品都能让用户找到适合的工具,满足任何边缘AI项目需求。

2.png

▲ 点击图片,了解详情

NanoEdge AI Studio是一款简单易用的桌面工具,可增添新的数据处理功能以增强产品。任何涉及异常值/异常检测、分类或使用回归技术预测未来状态的应用案例,都可以利用机器学习的强大功能。NEAI Studio可在数分钟内创建针对任何STM32进行了优化的定制库,用以分析信号,提升产品智能性。

利用NanoEdge AI Studio,用户可以轻松为嵌入式器件生成机器学习库,其中包含数以百万计的预构建模型。这意味着无需收集和记录大而复杂的数据集。用户的模型也可以在自己器件上进行自我训练。

STM32Cube.AI是一款免费工具,可帮助优化STM32项目中经过训练的AI模型的性能和内存占用。它支持TensorFlow™ Lite、Keras和ONNX格式。如果用户具备AI知识,STM32Cube.AI将自动优化经过训练的人工神经网络,并为STM32微控制器生成对应的C代码。

STM32Cube.AI开发者云平台

STM32Cube.AI开发者云平台是STM32Cube.AI的在线版本。它可用来创建、优化和生成适用于STM32微控制器的人工智能,以及进行基准测试。无需安装任何软件,也无需评估板。利用ST Board Farm,甚至能通过多个评估板远程测试算法的实际性能。

该工具有PC版,也可通过STM32Cube.AI开发者云直接在线使用。这款在线平台提供基准测试服务,可以远程评估一系列STM32板件上的AI性能。此外,还可以访问STM32 Model Zoo,其中汇集了大量经过优化的AI模型以及一些应用示例、训练脚本等。

对于使用STM32 MPU的开发人员而言,X-LINUX-AI是一个库和运行系统的集合,可简化基于OpenSTLinux的项目中经训练的AI模型的集成。ST针对使用OpenSTLinux的开发人员开发了一个完整的框架,让用户轻松集成AI模型。

ST提供多种微控制器、微处理器和智能传感器,用以开发优化了功耗、尺寸和成本的边缘AI应用。

3.png

▲ 点击图片,了解详情

丰富的资源

用户可以在此寻找了解嵌入式机器学习所需的一切资源,查找各解决方案有用内容的链接:NanoEdge AI Studio、STM32Cube.AI和X-LINUX-AI;查找集成具体示例的功能包,轻松启动项目。

4.png▲ 点击图片,了解详情

准备好了吗?速速登陆STM32 AI解决方案专区,找到最适合的工具,通过AI升级你的产品,让我们一起开启AI应用创新的崭新旅程!

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 58

关于STM32的启动流程,网上有的资料在讨论几种boot模式,有的在回答启动文件的内容,在查阅了很多资料后,本文给出一个比较全面的总结和回答。

1. 根据boot引脚决定三种启动模式

1.png

复位后,在 SYSCLK 的第四个上升沿锁存 BOOT 引脚的值。BOOT0 为专用引脚,而 BOOT1 则与 GPIO 引脚共用。一旦完成对 BOOT1 的采样,相应 GPIO 引脚即进入空闲状态,可用于其它用途。BOOT0与BOOT1引脚的不同值指向了三种启动方式:

1)从主Flash启动。主Flash指的是STM32的内置Flash。选择该启动模式后,内置Flash的起始地址将被重映射到0x00000000地址,代码将在该处开始执行。一般我们使用JTAG或者SWD模式下载调试程序时,就是下载到这里面,重启后也直接从这启动。

2从系统存储器启动。系统储存器指的是STM32的内置ROM,选择该启动模式后,内置ROM的起始地址将被重映射到0x00000000地址,代码在此处开始运行。ROM中有一段出厂预置的代码,这段代码起到一个桥的作用,允许外部通过UART/CAN或USB等将代码写入STM32的内置Flash中。这段代码也被称为ISP(In System Programing)代码,这种烧录代码的方式也被称为ISP烧录。关于ISP、ICP和IAP之间的区别将在后续章节中介绍。

3从嵌入式SRAM中启动。显然,该方法是在STM32的内置SRAM中启动,选择该启动模式后,内置SRAM的起始地址将被重映射到0x00000000地址,代码在此处开始运行。这种模式由于烧录程序过程中不需要擦写Flash,因此速度较快,适合调试,但是掉电丢失。

总结:上面的每一种启动方式我都描述了“xxx的起始地址被重映射到了0x00000000地址,从而代码从xxx开始启动”,如下图是STM32F4xx中文参考手册中的图,可以看到类似的表述。同时,在下图中也展示了STM32F4xx中统一编址下,各内存的地址分配,注意一点,即使相应的内存被映射到了0x00000000起始的地址,通过其原来地址依然是可以访问的。

2.png

2. 启动后bootloader做了什么?

根据BOOT引脚确定了启动方式后,处理器进行的第二大步就是开始从0x00000000地址处开始执行代码,而该处存放的代码正是bootloader。

bootloader,也可以叫启动文件,无论性能高下,结构简繁,价格贵贱,每一种微控制器(处理器)都必须有启动文件,启动文件的作用便是负责执行微控制器从“复位”到“开始执行main函数”中间这段时间(称为启动过程)所必须进行的工作。最为常见的51,AVR或MSP430等微控制器当然也有对应启动文件,但开发环境往往自动完整地提供了这个启动文件,不需要开发人员再行干预启动过程,只需要从main函数开始进行应用程序的设计即可。同样,STM32微控制器,无论是keiluvision4还是IAR EWARM开发环境,ST公司都提供了现成的直接可用的启动文件。

网上有很多资料分析了STM32的启动文件的内容,在此我只进行简单的表述。启动文件中首先会定义堆栈,定义中断/异常向量表,而其中只实现了复位的异常处理函数Reset_Handler,该函数内容如下(STM32F4XX,IAR编译器),可以看到其主要执行了SystemInit和__iar_program_start两个函数,其主要功能除了初始化时钟,FPU等,还会执行一个重要功能,那就是内存的搬移、初始化操作。 这是我想重点介绍的内容,同时也会回答一个疑问,就是如果从Flash启动的话,代码究竟是运行在哪儿的?在我之前接触ARM9、CortexA系列的时候,一般都是把代码搬到内部的SRAM或者外部DDR中执行的,STM32是如何呢?答案下一小节揭晓。

3.png

3. bootloader中对内存的搬移和初始化

本节针对程序在内置Flash中启动的情况进行分析。

4.png

我们知道烧录的镜像文件中包含只读代码段.text,已初始化数据段.data和未初始化的或者初始化为0的数据段.bss。代码段由于是只读的,所以是可以一直放在Flash中,CPU通过总线去读取代码执行就OK,但是.data段和.bss段由于会涉及读写为了,为了更高的读写效率是要一定搬到RAM中执行的,因此bootloader会执行很重要的一步,就是会在RAM中初始化.data和.bss段,搬移或清空相应内存区域。

因此我们知道,当启动方式选择的是从内置Flash启动的时候,代码依旧是在Flash中执行,而数据则会被拷贝到内部SRAM中,该过程是由bootloader完成的。bootloader在完成这些流程之后,就会将代码交给main函数开始执行用户代码。

  • 现在让我们思考一个问题,PC机在运行程序的时候将程序从外存(硬盘)中,调入到RAM中运行,CPU从RAM中读取程序和数据;而单片机的程序则是固化在Flash中,CPU运行时直接从Flash中读取程序,从RAM中读取数据,那么PC机能从Flash之类的存储介质中直接读代码执行吗?

  • 答案是不行。因为x86构架的CPU是基于冯.诺依曼体系的,即数据和程序存储在一起,而且PC机的RAM资源相当丰富,从几十M到几百M甚至是几个G,客观上能够承受大量的程序数据。但是单片机的构架大多是哈弗体系的,即程序和数据分开存储,而且单片的片内RAM资源是相当有限的,内部的RAM过大会带来成本的大幅度提高。

4. ISP、IAP、ICP三种烧录方式

虽然这个小节稍稍偏题,但是由于上面在3中启动方式中介绍过了ISP烧录,因此一并在此介绍剩下的两种烧录方式。

本小节摘自 https://blog.csdn.net/zhuimeng_ruili/article/details/119709888

1)ICP(In Circuit Programing)。在电路编程,可通过CPU的Debug Access Port 烧录代码,比如ARM Cortex的Debug Interface主要是SWD(Serial Wire Debug)或JTAG(Joint Test Action Group);

2)ISP(In System Programing)。在系统编程,可借助MCU厂商预置的Bootloader 实现通过板载UART或USB接口烧录代码。

3)IAP(In Applicating Programing)。在应用编程,由开发者实现Bootloader功能,比如STM32存储映射Code分区中的Flash本是存储用户应用程序的区间(上电从此处执行用户代码),开发者可以将自己实现的Bootloader存放到Flash区间,MCU上电启动先执行用户的Bootloader代码,该代码可为用户应用程序的下载、校验、增量/补丁更新、升级、恢复等提供支持,如果用户代码提供了网络访问功能,IAP 还能通过无线网络下载更新代码,实现OTA空中升级功能。

4)IAP和ISP 的区别。

a、ISP程序一般是芯片厂家提供的。IAP一般是用户自己编写的

b、ISP一般支持的烧录方式有限,只有串口等。IAP就比较灵活,可以灵活的使用各种通信协议烧录

c、isp一般需要芯片进行一些硬件上的操作才行,IAP全部工作由程序完成,不需要去现场

d、isp一般只需要按格式将升级文件通过串口发送就可以。IAP的话控制相对麻烦,如果是OTA的话还需要编写后台的。

e、注意,这里介绍的bootloader功能显然跟之前介绍的启动文件bootloader有所区别,其目的是为了能接受外部镜像进行烧录,而不是为了运行普通用户程序。

来源:嵌入式电子

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 86

什么是串口通讯?

串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的一种通讯方式。尽管串行通讯的比按字节传输的并行通信慢,但是串口可以在仅仅使用两根线的情况下就能实现数据的传输。

典型的串口通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,所以端口能够在一根线上发送数据同时在另一根线上接收数据。串口通信最重要的参数是波特率、数据位、停止位和奇偶的校验。对于两个需要进行串口通信的端口,这些参数必须匹配,这也是能够实现串口通讯的前提。如下是串行通讯示数据传输意图。

1.png

串口通讯的通讯协议

最初数据是模拟信号输出简单过程量,后来仪表接口出现了RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能,这就促生了RS485。

我们知道串口通信的数据传输都是0和1,在单总线、I2C、UART中都是通过一根线的高低电平来判断逻辑1或者逻辑0,但这种信号线的GND再与其他设备形成共地模式的通信,这种共地模式传输容易产生干扰,并且抗干扰性能也比较弱。所以差分通信、支持多机通信、抗干扰强的RS485就被广泛的使用了。

RS485通信最大特点就是传输速度可以达到10Mb/s以上,传输距离可以达到3000米左右。大家需要注意的是虽然485最大速度和最大传输距离都很大,但是传输的速度是会随距离的增加而变慢的,所以两者是不可以兼得的。

串口通讯的物理层

串口通讯的物理层有很多标准,例如上面提到的,我们主要讲解RS-232标准,RS-232标准主要规定了信号的用途、通讯接口以及信号的电平标准。

2.png

在上面的通讯方式中,两个通讯设备的"DB9接口"之间通过串口信号线建立起连接,串口信号线中使用"RS-232标准"传输数据信号。由于RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个"电平转换芯片"转换成控制器能识别的"TTL校准"的电平信号,才能实现通讯。

下图为DB9标准串口通讯接口:

3.png

DB9引脚说明:

4.png

上表中的是计算机端的DB9公头标准接法,由于两个通讯设备之间的收发信号(RXD与TXD)应交叉相连,所以调制调解器端的DB9母头的收发信号接法一般与公头的相反,两个设备之间连接时,只要使用"直通型"的串口线连接起来即可。

5.png

串口线中的RTS、CTS、DSR、DTR及DCD信号,使用逻辑 1表示信号有效,逻辑0表示信号无效。例如,当计算机端控制DTR信号线表示为逻辑1时,它是为了告知远端的调制调解器,本机已准备好接收数据,0则表示还没准备就绪。

波特率

波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示。

6.png

比如波特率为9600bps;代表的就是每秒中传输9600bit,也就是相当于每一秒中划分成了9600等份。

因此,那么每1bit的时间就是1/9600秒=104.1666...us。约0.1ms。既然是9600等份,即每1bit紧接着下一个比特,不存在额外的间隔。两台设备要想实现串口通讯,这收发端设置的波特率必须相同,否则是没办法实现通讯的:动图演示常用通信协议原理。

收发波特率一致可以实现通讯:

7.gif

收发波特率不一致,导致RX端不能正常接收:

8.gif

串口通讯的数据结构

9.png

起始位:起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,接收方可用起始位使自己的接收时钟与发送方的数据同步。

数据位:数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定。传输数据时先传送字符的低位,后传送字符的高位。

奇偶校验位:奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。

停止位:停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。

空闲位:空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示线路处于空闲状态,必须由高电平来填充。

单双工通讯

单工: 数据传输只支持数据在一个方向上传输;

半双工: 允许数据在两个方向上传输,但某一时刻只允许数据在一个方向上传输,实际上是一种切换方向的单工通信,不需要独立的接收端和发送端,两者可合并为一个端口;

全双工: 允许数据同时在两个方向上传输,因此全双工通信是两个单工方式的结合,需要独立的接收端和发送端。

10.png

STM32中的串口通讯

STM32串口通信接口有两种,分别是:UART(通用异步收发器)、USART(通用同步异步收发器),对于大容量STM32F10x系列芯片,分别由3个USART和两个UART。

11.png

TXD:数据发送引脚;

RXD:数据输入引脚

对于两芯片的间的连接,两个芯片GND共地,同时TXD和RXD交叉连接,这样两个芯片间可进行TTL电平通信。

但如果对于芯片和PC机相连,除了共地条件外,不能使用如上的直接交叉连接,虽然两者都有TXD和RXD引脚,但通常PC机使用的是RS232接口(9针),通常是TXC和RXD经过电平转换得到,故如果要使芯片与PC机的RS232接口直接通信,需要将芯片的输入输出端口也电平转换为RS232类型,再交叉连接。

二者的电平标准不同:

  • 单片机的点评标准(TTL电平):+5V表示1,0V表示0;

  • RS232电平标准:+15/+13V表示0,-15/-13表示1。

12.png

因此单片机与PC机进行串口通信应该遵循:在单片机串口与上位机给出的RS232口之间,通过电平转换电路实现TTL电平与RS232电平间的转换。如果使用USB转串口也可以实现串口通讯,USB转串口电路图如下所示。

13.png

STM32中串口通讯已经给大家建好了相应的库函数,大家在使用和配置串口的时候直接进行调用库函数和配置就行了

请大家参照一下代码:

1、初始化结构体代码

typedef struct 
{ 
    uint32_t USART_BaudRate; // 波特率 
    uint16_t USART_WordLength; // 字长 
    uint16_t USART_StopBits; // 停止位 
    uint16_t USART_Parity; // 校验位 
    uint16_t USART_Mode; // USART 模式 
    uint16_t USART_HardwareFlowControl; // 硬件流控制 
} USART_InitTypeDef;

2、NVIC配置中断优先级

NVIC_Configuration(void)
{  
    NVIC_InitTypeDef NVIC_InitStructure;
  
  /* 嵌套向量中断控制器组选择 */  
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  
  /* 配置USART为中断源 */  
  NVIC_InitStructure.NVIC_IRQChannel = DEBUG_USART_IRQ;  
  /* 抢断优先级*/  
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; 
  /* 子优先级 */  
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;  
  /* 使能中断 */  
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  
  /* 初始化配置NVIC */  
  NVIC_Init(&NVIC_InitStructure);
}

3、USART配置函数

void DEBUG_USART_Config(void)
{ 
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;
    /* 第一步:初始化GPIO */
    // 打开串口GPIO的时钟 
    DEBUG_USART_GPIO_APBxClkCmd(DEBUG_USART_GPIO_CLK, ENABLE);
    // 将USART Tx的GPIO配置为推挽复用模式 
    GPIO_InitStructure.GPIO_Pin = DEBUG_USART_TX_GPIO_PIN; 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
    GPIO_Init(DEBUG_USART_TX_GPIO_PORT, &GPIO_InitStructure);
    
    // 将USART Rx的GPIO配置为浮空输入模式 
    GPIO_InitStructure.GPIO_Pin = DEBUG_USART_RX_GPIO_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; 
    GPIO_Init(DEBUG_USART_RX_GPIO_PORT, &GPIO_InitStructure); 
    
    /* 第二步:配置串口的初始化结构体 */
    // 打开串口外设的时钟 
    DEBUG_USART_APBxClkCmd(DEBUG_USART_CLK, ENABLE);
    // 配置串口的工作参数
    // 配置波特率 
    USART_InitStructure.USART_BaudRate = DEBUG_USART_BAUDRATE;
    // 配置 针数据字长 
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    // 配置停止位 
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    // 配置校验位 
    USART_InitStructure.USART_Parity = USART_Parity_No ;
    // 配置硬件流控制 
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    // 配置工作模式,收发一起 
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
    // 完成串口的初始化配置
     USART_Init(DEBUG_USARTx, &USART_InitStructure);
    
    /*--------------------------------------------------------*/
    // 串口中断优先级配置 
    NVIC_Configuration();
    
    // 使能串口接收中断 
    USART_ITConfig(DEBUG_USARTx, USART_IT_RXNE, ENABLE);
    /*--------------------------------------------------------*/
    
    /* 第三步:使能串口 */
    // 使能串口 
    USART_Cmd(DEBUG_USARTx, ENABLE); 
}

来源:STM32嵌入式开发

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 62

01 、前言 

STM32:意法半导体在 2007 年 6 月 11 日发布的产品,32位单片机。

GD32:兆易创新 2013 年发布的产品,在芯片开发、配置、命名上基本模仿 STM32,甚至 GPIO 和 STM32 都是 pin to pin 的,封装不改焊上去直接用。有时候 STM32 的源码不修改,重新编译烧写到 GD32 上就可以跑。当然也有很多不同,比如串口驱动、USB 、库文件等。

ESP32:乐鑫公司 2017 年开发的产品,和 STM32、GD32 不同,ESP32 主要面向物联网领域,支持功能很多,但引出 GPIO pin 脚很少,因此大多数 GPIO 都有很多复用功能。出厂就集成蓝牙、WiFi 等物联网必备功能,板子也很小,适合物联网。

02 、GD32 和 STM32 的区别

GD32 是国产单片机,据说开发人员来自ST公司,GD32 也是以 STM32 作为模板做出来的。所以 GD32 和 STM32 有很多地方都是一样的,不过 GD32 毕竟是不同的产品,不可能所有东西都沿用 STM32,有些自主开发的东西还是有区别的。不同的地方如下:

1内核

GD32 采用二代的 M3 内核,STM32 主要采用一代 M3 内核,下图是 ARM 公司的 M3 内核勘误表,GD 使用的内核只有 752419 这一个 BUG。

1.png

2主频

使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M

使用HSI(高速内部时钟):GD32的主频最大108M,STM32的主频最大64M

主频大意味着单片机代码运行的速度会更快,项目中如果需要进行刷屏,开方运算,电机控制等操作,GD 是一个不错的选择。

3供电

外部供电:GD32 外部供电范围是 2.6~3.6V,STM32 外部供电范围是2.0~ 3.6V或1.65~ 3.6V。GD 的供电范围比 STM32 相对要窄一点。

内核电压:GD32 内核电压是 1.2V,STM32 内核电压是 1.8V。GD 的内核电压比 STM32 的内核电压要低,所以 GD 的芯片在运行的时候运行功耗更低。

4Flash差异

GD32 的 Flash 是自主研发的,和 STM32 的不一样。

GD Flash 执行速度:GD32 Flash 中程序执行为 0 等待周期。

STM32 Flash 执行速度:ST 系统频率不访问 flash 等待时间关系:0 等待周期,当 0<SYSCLK<24MHz,1 等待周期,当 24MHz<SYSCLK≤48MHz,2 等待周期,当 48MHz<SYSCLK≤72MHz。

Flash 擦除时间:GD 擦除的时间要久一点,官方给出的数据是这样的:GD32F103/101 系列 Flash 128KB 及以下的型号, Page Erase 典型值 100ms, 实际测量 60ms 左右。对应的 ST 产品 Page Erase 典型值 20~40ms。

5功耗

从下面的表可以看出 GD 的产品在相同主频情况下,GD 的运行功耗比 STM32小,但是在相同的设置下 GD 的停机模式、待机模式、睡眠模式比 STM32 还是要高的。

2.png

6串口

GD 在连续发送数据的时候每两个字节之间会有一个 Bit 的 Idle,而 STM32 没有,如下图:

3.png

GD 的串口在发送的时候停止位只有 1/2 两种停止位模式。STM32 有 0.5/1/1.5/2 四种停止位模式。

GD 和 STM32 USART 的这两个差异对通信基本没有影响,只是 GD 的通信时间会加长一点。

7ADC 差异

GD 的输入阻抗和采样时间的设置和 ST 有一定差异,相同配置 GD 采样的输入阻抗相对来说要小。具体情况见下表这是跑在 72M 的主频下,ADC 的采样时钟为 14M 的输入阻抗和采样周期的关系:

4.png

8FSMC

STM32 只有 100Pin 以上的大容量(256K及以上)才有 FSMC,GD32 所有的 100Pin 或 100Pin 以上的都有 FSMC。

9103 系列 RAM&FLASH 大小差别

GD103 系列和 ST103 系列的 ram 和 flash 对比如下图:

5.png

10105&107系列STM32和GD的差别

GD的105/107的选择比ST的多很多,具体见下表:

6.png

11)抗干扰能力

GD 的抗干扰能力不如 STM32,还需要一定打磨。

04、ESP32 和 STM32

ESP32 是乐鑫公司推出的一款采用两个哈佛结构 Xtensa LX6 CPU 构成的拥有双核系统的芯片。所有的片上存储器、片外存储器以及外设都分布在两个 CPU 的数据总线和/或指令总线上。

相比于 STM32 的一个大家族,ESP32 虽然也代表一个系列,但目前来说,这个系列的成员还是比较少的,我们看下:

7.png

资源如下:

8.png

9.png

10.png

功能框图如下:

11.png

模块(非芯片)的引脚分布如下:

12.png

ESP32 这个模块的 IO 并不多,估计也就 30 个左右(芯片有34个,但是模块中外接 FLASH 用掉了一些)。但是你会发现它有几个特点:

1、集成了非常多的外设接口,SPI、IIC、IIS、AD、DA、PWM、IR、UART、CAN等等。IO 数量有限,所以基本上每个 IO 都有多个功能。

2、片内flash和ram很大,flash有448KB,ram有520KB。而模块上直接挂了一个4MB的flash。

3、速度快!虽然外接晶体的频率只有40MHZ,但通过内部主频可以支持80MHZ、160MHZ、240MHZ,运算能力高达600MIPS。

4、有wifi和蓝牙!当前两者不能同时使用。

STM32 和 ESP32 基本是有各自不同的定位。ESP32 偏向体积小巧、速度超快、功能强大,通过 wifi 接入网络,专门为物联网而生;而 STM32 偏向管脚丰富、功能全面,虽然没有 wifi 和蓝牙,速度也没有 ESP32 快,但是可以通过网口接入网络,可以控制更多的外设,为消费电子和工业控制而生。

05、总结

STM32 和 GD32 是同质化产品,区别一个是国外,一个是国产,最近流行国产化替代,所以 GD32 还是很有发展前景的。

物联网也是一个好方向,因此 ESP32 也是很有前景的。

来源:电子工程师笔记

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 61

在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。

这说明STM32出现了硬件错误。

1.png

硬件错误中断

STM32出现硬件错误可能有以下原因:

  1. 数组越界操作;

  2. 内存溢出,访问越界;

  3. 堆栈溢出,程序跑飞;

  4. 中断处理错误;

遇到这种情况,可以通过以下2种方式来定位到出错代码段。

方法1:

在硬件中断函数HardFault_Handler里的while(1)处打调试断点,程序执行到断点处时点击STOP停止仿真。

2.png

示例

1.2 在Keil菜单栏点击View——Registers Window,在寄存器查看窗口查找R14(LR)的值。

如果R14(LR) = 0xFFFFFFE9,继续查看MSP(主堆栈指针)的值;如果R14(LR) = 0xFFFFFFFD,继续查看PSP(进程栈指针)的值;

我的程序R14(LR) = 0xFFFFFFF9,接下来以此为例。

3.png

寄存器信息

1.3 在Keil菜单栏点击“View”——“Memory Windows”——“Memory1”;

在“Address”地址栏中输入MSP的值:0x20001288,然后在对应的行里找到地址。

地址一般以0x08开头的32位数。本例中,地址为0x08003CB9。

4.png

内存信息

1.4 在Keil菜单栏点击View——Disassembly Window,在Disassembly窗口中右击,在下拉菜单中选择Show Disassemblyat Address...。

在弹出框Show Code atAdress的地址框中输入地址0x08003CB9进行搜索,然后就会找到相对应的代码。这里的代码就是进入循环中断之前的情况。

仔细查看附近区域的相关代码来排查错误具体原因。

5.jpg

方法2:

2.1在硬件中断函数HardFault_Handler里的while(1)处打调试断点,程序执行到断点处时点击“STOP”停止仿真。

6.jpg

CallStack

2.2 在Keil菜单栏点击View——Call Stack Window弹出Call Stack + Locals对话框。

然后在对话框中右键选择Show Caller Code,就会跳转到出错之前的函数处,仔细查看这部分函数被调用或者数组内存使用情况。

来源:小麦大叔

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 207

摘要

STM32高效图形界面设计解决方案TouchGFX支持快速界面开发,从智能手表、智能家居到工业应用的人机交互界面,均可支持;STM32数字电源生态可帮助开发者简化数字电源开发,以STM32F3、G4和H7系列为硬件基础,为开发人员提供了一个可扩展的路径,通过数字电源例程库X-CUBE-DPOWER(SDK)和数字电源设计平台eDesignSuite 为无论是初学者还是数字电源专家提供完整的交钥匙解决方案;在电机控制领域,无刷直流和永磁同步电机零速、无传感矢量控制是痛点,我们为开发者带来STM32 ZeST®(Zero Speed Full Torque,零速全扭矩)解决方案,不需要额外的组件,不仅降低BOM成本,还提高了PCB的可靠性。

本文为2023 STM32峰会垂直应用篇重点内容。

STM32 高效图形界面设计解决方案

2018年之前,可穿戴市场的GUI设计主要采用MPU,但对于智能手表这类应用,因功耗大,电池续航时间成为产品痛点,通常只有1-2天。之后,我们推出了基于MCU的解决方案,采用TouchGFX这一高效图形界面设计软件,将智能手表的续航时间延长至15-30天,开启了长续航时间的智能手表时代。

1.png

作为智能手表平台的主要供应商,我们能够在这个市场取得成功,是因为我们在低功耗和高性能之间取得平衡,TouchGX是我们的高效图形界面设计解决方案,GUI工具集帮助客户高效地完成设计工作。

2.png

STM32高效GUI方案,可帮助设计人员数秒内完成从创意到实施。该方案包括:

  • 卓越的图形STM32硬件组合

  • 先进的STM32软件套件,包括TouchGFX GUI库-全部免费

  • 广泛的生态系统 - 全面的文档、视频、教程、完整的源代码演示和代码示例、活跃的论坛和本地支持,以及第三方工具和服务。

  • 所有这些都使您能够快速、轻松地开发自己的UI产品,并在市场上取得巨大成功。

数字电源大脑STM32,助力能源数字化

在开发实时数字电源应用程序时,开发者面临诸多挑战,需要内核性能强劲、模拟外设丰富、先进的高分辨率、PWM定时器和生态系统相结合的微控制器。以STM32 F3、G4和H7系列以及ST的电源器件组合为基础,我们构建了一个特定的数字电源生态系统,以帮助开发者加速设计开发。

3.png

STM32数字电源生态系统为开发人员提供了一种可扩展的方式。面向初学者和设计专家,我们均可提供完整的交钥匙解决方案,通过eDesign Suite软件工具的数字电源工作台进行定制。X-CUBE-DPower固件包是数字电源开发平台的新组件,为不同的拓扑嵌入了不同的固件示例,可以通过STM32CubeMx进行自定义。这些固件示例基于 “PID控制”的标准控制方法,或者基于零极点补偿(2P2Z, 3P3Z) 环路控制。

eDesignSuite是我们的数字电源设计平台一站式解决方案,支持全图形化人机界面设计大功率电源方案,支持多种拓扑结构,可大幅降低数字电源转换器设计过程中硬件和软件的开发难度,缩短开发周期。

STM32 ZeST ® —— 电机控制零速全力矩控制算法

电机控制领域,当以FOC模式(磁场定向控制)控制永磁同步电机和无刷直流电机(PMSM/BLDC)时,传感器用于确定转子的位置,以正确控制电机。

FOC模式是目前有效的控制方法。被称为“观测器”的专用算法可以取代传感器来控制电机:这是无传感器模式。这些观测器算法在高速下工作得很好,但在电机以低速或极低速运行时效果不好。如何在零速、无传感场景下,控制永磁同步电机和无刷直流电机(PMSM/BLDC)电机?目前没有通用解决方案! 

4.png

ST通过为您带来STM32 ZeST®(ZeST = Zero Speed Full Torque)零速全力矩控制算法解决了无刷直流和永磁同步电机零速、无传感矢量控制的痛点。

  • 首先,HSO模块(高速观测器),用于在无传感器模式下控制电机

  • 新的STM32 ZeST® 算法为任何类型的无刷直流/永磁同步电机提供零速全转矩的解决方案。STM32 ZeST® 和HSO是纯软件算法,这意味着不需要额外的组件!

  • 电机的电阻和电感在运行时进行估算,实现更有效的电机控制。

STM32 ZeST® 和HSO软件算法基于STM32电机控制软件开发套件(X-CUBE-MCSDK),不仅降低了BOM成本,提高了PCB的可靠性。推荐阅读

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 178

导读

STM32助力开发者释放创造力,推出STM32开发者优先计划,软件下载量和硬件发货量均大幅提升,通过国内社交平台和ST中国大学计划获得电子行业从业人员对STM32的认可;在官网为MCU和MPU用户设立STM32 开发者社区;不断迭代STM32Cube软件工具,增加软件开发新功能,优化用户体验,帮助用户实现快速移植;即将推出的STM32MP2新品不仅拥有满足严苛要求的工业级品质,还拥有卓越的边缘计算能力,STM32Cube所有软件均可支持STM32MP2的开发。

本文为2023 STM32峰会STM32Cube篇重点内容。

STM32Cube全方位助力并加速产品开发

1.png

STM32Cube是一个全面的开发者框架,它提供了所有必要的模块来简化和加速嵌入式开发。STM32Cube结合了:

  • 硬件开发套件,提供原型设计参考板;

  • 嵌入式软件开发包,提供优化和稳定的驱动程序、中间件和示例;

  • 开发工具,简化了MCU的配置、应用开发和监控;

  • 提供广泛的开发资源,包括技术文档、应用说明和培训资料。

意法半导体及合作伙伴提供180多种STM32Cube扩展包极大拓展了框架范畴,包括:

  • 面向特定功能的STM32Cube扩展包,例如STM32Cube.AI、电机控制SDK或云连接包;

  • 包含实际应用参考方案的功能包,如人脸识别或MEMS传感。

  • 该框架与STM32产品矩阵一致,提供全球支持渠道


2.png

3.png

每年,数十万独立开发人员使用STM32Cube软件包。2022年与2021年相比,使用STM32Cube工具的活跃软件开发人员增长了20%以上;CubeAI工具包的下载量翻番,STM32CubeMX内部的人工智能项目数量也翻了一倍;2022年50万个硬件开发套件发货,开发人员借此快速创建原型产品并验证。

中英文技术文档的下载量也大幅提升,在社交媒体的视频课程也达到可观的观看量。ST中国大学计划,目前覆盖国内500多所高校,2000多名教师在实验室、课程和研究项目中使用STM32,全国有超过200万学生学习使用STM32。

近期推出的STM32开发者优先计划将为STM32开发者进一步的便利。

STM32开发者社区助力开发人员设计之旅的每一步

4.png

在st.com官网上线的STM32 MCU和MPU 开发者社区,开发者可以快速方便地访问STM32Cube,提供友好的开发环境帮助开发人员设计之旅的每一步,更直接、更便利地获取产品、软硬件工具、嵌入式软件、开发者资源。

5.png

STM32Cube新增功能

STM32 finder是一个非常方便的芯片选型、开发板选择及例程选择工具。

STM32CubeMX有一个独特的新功能,可根据用户所选择的芯片,提供对应的CAD模型,也就是芯片原理图和PCB图库。这使得STM32CubeMX也成为硬件工程师的得力助手。LPBAM配置工具,可帮助客户轻松使用在低功耗状态下批量传输数据的功能。

我们在为新产品引入了新的Cube软件包的同时,也在不断添加新的功能扩展包,完全独立又相互兼容的功能模块将真正地帮助客户自由地搭建自己的系统。

 STM32CubeProgrammer不仅是一个flash编程工具,它附带的STM32TrustedPackageCreator也是我们安全产品的重要部分,可以帮助客户对STM32进行多种信息安全配置。

STLink-V3Power这款工具,可以在调试代码的同时,实时测量系统功耗。在调试和电源监控方面,这是当之无愧的创新典范。

我们的设计思路是将STM32CUBEMX和STM32芯片功能深度集成,更方便,更彻底地释放芯片的性能。这些新的模块,外部存储器管理工具,STM32H5的启动方式选择工具等等都会秉承这个思想来实现。

我们也会根据客户的反馈不断优化工具操作步骤,还将继续提供更多的软件包和扩展包,以及更多的文档资源来丰富我们的生态系统。

STM32MP2 新品发布

STM32 MPU产品是为STM32 MCU开发人员带来新的微处理器解决方案,MCU方案可以无缝地迁移到MPU中。STM32MP1是我们推出的第一次微处理器产品,今天,我们推出全新的高差异化64位MPU产品STM32MP2。

6.png

STM32MP2系列是一款工业级MPU,专为高安全性的工业4.0应用而定制,支持高达125°C的温度。该系列的首条产品子线STM32MP25提供了支持具有多个有线和无线接口的连接功能。其中包括带集成2端口交换机的高达3端口千兆以太网,以及对时间敏感网络(TSN)的支持,这是一个真正的游戏规则改变者。

MP25采用STM32MP13的高级安全功能,符合SESIP 3级认证要求。这意味着STM32MP25可以处理安全性能要求高的物联网应用,例如支付。

7.png

STM32MP25是ST的首款带有边缘AI硬件加速器的MPU,配备了一个神经处理引擎,可提供多达1.35个TOPS。与MPU的摄像头接口相结合,NPU加速器可实现高级边缘计算应用程序,例如,用于机器视觉或预测性维护的应用程序。

STM32MP25产品线将于今年年底提供样片,2024年第二季度量产。

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 24

摘要

随着物联网中连接对象的激增,开发人员面临多种安全挑战及来自市场或各个政府的合规及认证需求。ST利用我们自身在安全领域的独特能力和安全资产,向开发者提供简化的安全开发流程,包括可扩展的解决方案、可用的认证及持续的安全解决方案支持。STM32Trust是我们提出的一揽子安全框架,含 12 项必要的安全功能,如安全启动、安全更新、机密隔离或代码的敏感部分、加密等;我们还通过与SESIP和PSA合作,简化应用认证。意法半导体与SESIP和PSA合作,将这些安全功能作为安全保障的关键基础。新推出的高性能产品系列STM32H5提供可扩展的安全、连接性能,开发者可以通过STM32H5独有的Secure Manager安全管理器,实现开箱即用的认证服务。

本文为2023 STM32峰会信息安全篇重点内容。

STM32Trust & STSecure (含STSafe)

如今,随着物联网 (IoT) 中连接对象的激增,开发人员面临着多种安全挑战,这些挑战的数量和复杂性都在迅速增加。复杂的法规和众多的认证计划渐渐落实到位,这些计划也逐步交予由市场或政府强制执行。

1.jpg

开发者将面临以下挑战:

  • 这些措施的快速发展和不明确的计划执法路线图;

  • 随着需求的发展,安全解决方案对可扩展性的需求;

  • 使用不同MCU开发框架和RTOS系统的设备的激增,这些设备没注重安全性问题;

  • 缺乏信息安全专业知识 

意法半导体提供简化的信息安全开发流程。结合在信息安全领域的独特能力和安全资产,我们提供可扩展的解决方案、可用的认证,以及通过持续维护所提供的信息安全方案来支持我们的客户。

2.png

STM32Trust是我们提出的安全框架,现在已经可用。它专注于为开发人员提供 12 项必要的安全功能,例如安全启动、安全更新、机密隔离或代码的敏感部分、加密,以便开发人员能够达到所需的目标安全保证。它是通过硬件、软件、服务和STM32完善的生态系统来完成。 

我们的信息安全工具提供可扩展的方式嵌入这些安全功能;ST与SESIP和PSA合作,芯片通过SESIP认证可简化了嵌入式应用的认证流程。

我们的信息安全解决方案将为开发者提供可扩展性: 

  • 带有安全硬件的产品,可保护客户的固件

  • 具有加密、隔离和机密保护的产品,运行开源软件,如TF-M实施方案

  • 扩展片上系统(SOC)软件服务

STM32Trust与STSafe相结合,将STM32安全功能增强到高安全级别。

STM32H5 安全管理器提供可扩展的嵌入式安全

3.png

意法半导体开发、认证和维护的可信执行环境交钥匙解决方案,我们称之为Secure Manager安全管理器。 

通过预先配置的数字身份,它允许无缝进行云或服务器注册,消除了OEM在不受信任的生产环境中配置机密的麻烦。

未来,远程配置将变得越来越重要,因为类似Matter的标准要求在设备生命周期的各个阶段配置证书。 借助安全管理器,现在可以利用这些身份和原生信任根实施额外的远程配置。更为重要的是,与我们的工具和生态系统相关联的安全管理器具备超强隔离特性,这样就能满足日益增多的多方软件 IP 保护需求,尤其边缘 AI 的需求。

首款支持安全管理器的STM32产品是近期发布的STM32H5系列。

STM32H5 关键特性 (more than security)

4.png

STM32H5基于性能强劲的Arm® Cortex®-M33 内核,主频高达250MHz的高性能系列产品,CoreMark跑分高达1023分。STM32H5拥有可扩展的安全性,经验丰富的开发者可利用与安全相关的硬件IP构建应用程序,而经验较少的用户可选择安全管理器的开箱即用认证服务。

STM32H5适用于智能家居、工厂自动化、消费设备和物联网等广泛领域。以工厂自动化应用为例,STM32H5为工业4.0做好了准备:

  • STM32H5是STM32中首个支持安全管理器安全服务的产品,通过SESIP和PSA 3级目标认证。 

  • STM32H5满足工业应用所需的功能安全性关键需求,其硬件安全功能可支持强大的功能安全要求,X-Cube_STL 软件包将很快发布。 

  • STM32H5的外设接口丰富,是连接设备的绝佳选择。

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 27

摘要

无线连接已经无处不在,我们期望顺应行业趋势,“云化”STM32应用,预计未来5年实现无线应用规模翻番的市场目标。STM32WBA是刚刚上市的新一代2.4GHz产品系列,基于BLE5.3高安全低功耗蓝牙SoC,目标SESIP 3认证;STM32WL3是基于Cortex-M0+内核、支持多协议Sub-Ghz无线SoC,将于2023年第四季度开始量产;ST60是集成完整60GHz射频收发器的非接触式紧凑型解决方案,目标通过Xcode认证;在有线连接方面,STM32MP1x支持主流的工业控制总线协议EtherCAT。

本文为2023 STM32峰会连接篇重点内容。

“云化”STM32应用

1.png

无线连接已经无处不在,全面“云化“的趋势催生了很多新需求,我们期望顺应行业趋势,“云化”STM32应用,预计未来5年实现无线应用规模翻番的市场目标。

那凭借什么完成这个目标?原因有四:

首先,STM32Cube生态系统允许开发者快速将“有线”STM32应用无缝迁移到我们的“无线”STM32应用;

第二,STM32无线连接产品具有高级别的安全特性,与通用STM32安全产品相一致;

第三,我们与原生云服务商合作,提供便捷稳定的连云功能;

最后,凭借我们的供应链保障,为我们的客户提供稳定供应和高效交货。

STM32WBA系列是我们新一代的2.4GHz平台,第一颗产品是STM32WBA52。

2.png

STM32WBA是基于Arm® Cortex®-M33 内核、目标SESIP 3级认证、支持低功耗蓝牙5.3应用的32位无线SoC,可为无线物联网设备提供以下性能优势:

  • 基于Bluetooth®低功耗5.3技术,高数据速率,确保快速可靠的数据传输

  • 高输出功率+10 dBm,扩大了远端通信范围,具备远距离通信能力

  • 低功耗通讯功能,通过设备通信扩展广播来延长电池寿命

  • 基于Arm® Cortex®-M33 内核,主频100MHz,CoreMark评分达到407,确保高效的应用处理能力 

  • 基于SESIP3设备功能保护您的IP并加强隐私保护

  • 传承STM32U5的超低功耗性能(LP-DMA、唤醒时间短)

  • 久经考验的STM32Cube生态系统缩短产品上市时间

  • 高集成度SoC,减少BOM成本,简化无线应用开发 

工业应用场景下的无线连接

Sub-G的应用非常广泛也极为分散,有很多通信协议,每个国家还有自己的射频法规。因此一款能够简化用户设计方案,支持多种协议,并且可以灵活配置的统一平台就显得尤为重要。

3.png

STM32WL3系列是可以满足上述要求的全新Sub-Ghz SoC,将于今年第四季度投入量产。

STM32WL3是一款集成了两个射频单元的应用处理器,支持多种调制和射频唤醒。它还具有丰富外设:如LC传感器、LCD段码驱动器等。STM32WL3基于Cortex-M0+内核,可以简化用户设计方案,可在实现支持多种协议模式的同时,提供更长距离传输和更长电池寿命。

表计是STM32WL3的典型应用。首先,STM32WL3具备20dbm的输出功率,可以扩展通信范围,减少网关的数量,从而降低基础设施的成本。其次,计量产品一般需要一节电池工作在10年以上,这对产品的功耗是很大的挑战。为了实现如此长的电池寿命需求,STM32WL3集成了一个全新的传感外围设备:LC传感器控制器,这种传感器在水表中可以用来读取水的流量;而这一功能是在低功率状态下实现的,因此具备超低的运行电流。第三,STM32WL3内部集成的LCD驱动器可以帮助节省计量应用的总BOM成本。

综上,STM32WL3是改造机械水表增加无线连接的完美方案。

为了给智能家居应用提供充分的通用性,STM32WL3的多调制射频设计带有IQ接口,可以支持如Sigfox、W-BUS、Mioty和Wi-Sun等多种协议;内部集成的LCD驱动器可以优化热成本分配器的BOM成本;在智能城市和智能农业应用场景中,STM32WL3提供长距离的连接,它的双电源输出可以达到+20dbm,还具有低至-132dbm的出色灵敏度。

STM32WL3中还包含一个超低功耗的射频设计,在接收模式下仅消耗4.2µA。这个射频设计可以使MCU处于低功耗状态,在收到无线数据包时才将其唤醒。这一性能非常适用于资产追踪类应用,在进入一个应用时唤醒一个设备。

4.png

ST60是我们研发的一种高速率、低功耗、短距离的无线方案,工作频率为60Ghz,在两个设备之间提供低延迟、无握手的非接触连接。

ST60可用于多个不同的应用:在工厂自动化场景下,可以大幅提高装配线吞吐量;还可以用于需要频繁连接和卸载的设备间,实现快速数据共享;在严重暴露的恶劣环境或机械压力下的工业系统中,ST60通过非接触式数据链路,可实现更强的可靠性,应对不同的环境和操作条件;在工业安全领域,ST60非电化的超低功率射频链路为消防安全和石油天然气等本安型应用提供了天然的免疫力;对于追求小型化的个人电子产品,如智能手机和可穿戴设备,ST60可以取代所有用于内部的板对板通信和外部的设备对设备通信的连接器,帮助终端用户开发出防水、防尘和无连接器的应用产品。

有线连接:STM32MP1x支持EtherCAT主站

5.png

EhterCAT作为一种主流的工业控制总线协议,在工业控制应用中被广泛的采用。

ST在MP1也推出了EtherCAT的主栈解决方案,这个方案是基于STM32MP1的Linux实时性的扩展包,X-Linux-RT来实现的。有了这个扩展包的支持,这样标准的OpenSTLinux就具备了高实时性,从而使其支持具有实时性需求的工业应用,最典型的应用就是运动控制器和可编程逻辑控制器。

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 51

摘要

ST在边缘人工智能领域投入已超过10年,不仅拥有STM32Cube.AI和NanoEdge™ AI Studio软件工具;还与NVIDIA合作,整合NIVIDIA TAO和STM32Cube.AI工具,让开发者STM32微控制器上无缝训练和实现神经网络模型。

本文为2023 STM32峰会连接篇重点内容。

ST 为什么要积极投入边缘人工智能及我们所提供的服务 (Cube.AI, NEAI)

人工智能无处不在,但实现的方式和涉及到的软硬件实现是不同的。随着嵌入式应用需求的深入和迭代,边缘人工智能正成为热议话题,它将提供越来越多的产品价值,也或将成为改变AI未来游戏规则的驱动力。

1.png

在这场人工智能浪潮中,很多数人的观念还停留在人工智能是由云服务器中的大型数据中心驱动,但在边缘侧、在应用设备终端涌现出一种非常不同且令人振奋的分化 —— 边缘人工智能,它由芯片来驱动。这是STM32擅长的领域,它将在边缘人工智能的实现和落地发挥关键作用。

显而易见,在边缘侧设备中运行人工智能模型有很多优势:设备响应速度快、超低延时;降低数据传输量;更有效地保护隐私、增强信息安全;降低边缘侧设备的运行功耗;还可以降低推理成本以实现其他新的功能操作。

2.png

我们花了10年时间研发投入边缘人工智能的硬件和软件栈开发。为了在可预见的未来,当嵌入式人工智能普及时,可以向STM32用户提供完成的产品组合。不仅包括硬件、加速引擎,还有极为重要的软件工具,保证开发者能够在MCU和MPU上优化和运行AI模型。

从“Orlando”芯片的问世,到广受欢迎的“STM32Cube.AI”工具的诞生,使开发者在MCU上优化AI模型成为可能;再到对”Cartesiam“的收购,让我们拥有了NanoEdge AI Studio这一工具,可以提供一个易于实施的TinyML解决方案,解决预测性维护等工业应用问题;近来,我们又专注STM32N6的研发,这是第一个带有神经网络硬件处理单元的微控制器。

STM32Cube.AI是一款用来评估、转换、优化和部署已训练好的神经网络模型的工具,适合主流的人工智能框架,可为开发者提供评估和调整算法的能力。

NanoEdge™ AI Studio(NanoEdgeAIStudio)是一种新型机器学习(ML)技术,它进一步降低了边缘人工智能开发的门槛。NanoEdge™ AI Studio可以开发人员基于少量数据,通过创建、清理、优化数据集等步骤创建适配的ML库。NanoEdge具有异常检测与设备学习的能力,也提供分类和回归库。

STM32 x NVIDIA TAO,让边缘AI走向“破茧时刻“

3.png

在最近的GTC活动中,英伟达发布了TAO工具包。NVIDIA TAO是一个加速AI算法开发和优化的开发环境,TAO工具包提供了一个低代码的人工智能框架,以加速视觉模型的开发,从新手到专家级数据科学家都能快速上手使用。

TAO 5.0版本有很多令人惊叹的功能和变化:

  • 它首次开放源代码,允许定制和完全控制,并允许将模型部署到STM32平台!

  • TAO 5.0提供了更多的深度学习任务,包括分类/检测/分割/字符识别和最常见的神经网络框架;

  • TAO面向人员、交通、字符识别相关任务提供了30多个高质量的预训练模型,用户可以将其部署到STM32平台。TAO 5.0有Mask Auto Labeling功能,会自动创建掩码标签。

  • TAO还添加了AutoML功能,它可以自动训练模型,使其达到最佳精度,我们的研究数据表明准确度提高了20%。

NVIDIA与意法半导体的合作的关键是整合NIVIDIA TAO和STM32Cube.AI工具,让开发者有可能在资源有限的STM32微控制器上无缝地训练和实现神经网络模型,以达到适配的性能和精度!

4.png

Luis WU 讲解在STM32H7上,结合TAO对代码的优化,实现人物识别的视频片段。

与英伟达的合作将拓展ST的边缘人工智能生态系统,也确立了ST成为基于MCU的边缘人工智能领导者的愿景。

STM32 AI解决方案灵感就在stm32ai.st.com

stm32ai.st.com现已官网开放上线中文版,网站集成了大量应用案例,如预测性维护、物联网产品、智能楼宇、资产跟踪、人数统计等,供开发者参考。同时,还介绍了适用于边缘AI开发的STM32产品及开发工具,以及丰富的资源,帮助开发者轻松启动项目。

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 84

页面

订阅 RSS - STM32