tag 标签: stm32芯片

相关博文
  • 热度 6
    2023-8-4 17:32
    336 次阅读|
    0 个评论
    STM32芯片由内核和片上外设两部分组成。STM32F103采用Cortex-M3内核,该内核由ARM公司设计。芯片生产厂商ST则负责在内核之外设计部件并生产整个芯片。这些内核之外的部件被称为核外外设或片上外设,如GPIO、USART(串口)、I2C、SPI等。 ​ 芯片内核与外设之间通过各种总线连接,其中驱动单元有四个,被动单元也有四个。可以将驱动单元理解成内核部分,被动单元理解成外设。 ICode总线 ICode总线是专门用于取指令的总线,其中的“I”代表“Instruction”(指令)。在编写程序后,经过编译,程序将转化为一条条指令并存储在FLASH中。内核通过ICode总线读取这些指令,进而执行程序。 DCode总线 DCode总线用于取数,其中的“D”代表“Data”(数据)。在编写程序时,数据分为常量和变量两种。常量是不变的,使用C语言中的const关键字进行修饰,并存储在内部FLASH中。变量是可变的,无论是全局变量还是局部变量,都存储在内部的SRAM中。 System总线 我们通常所说的寄存器编程,即读写寄存器的操作,都是通过System总线来完成的。System总线主要用于访问外设的寄存器。 DMA总线 DMA总线也主要用于传输数据,这些数据可以来自某个外设的数据寄存器,也可以来自SRAM或内部FLASH。 由于数据既可以被DCode总线访问,也可以被DMA总线访问,因此为了避免访问冲突,取数时需要经过一个总线矩阵进行仲裁,以决定由哪个总线进行取数。 内部的闪存存储器Flash 内部的闪存存储器即为FLASH,它用于存储编写好的程序。内核通过ICode总线来获取存储器中的指令。 内部的SRAM 内部的SRAM,也被称为内存,是程序中变量、堆栈等开销的存储基础。内核通过DCode总线来访问SRAM。 FSMC FSMC的英文全称是Flexible static memory controller(灵活的静态的存储器控制器)。通过FSMC,可以扩展内部存储器,如外部的SRAM、NAND-FLASH和NORFLASH。但是,FSMC只能扩展静态的内存,而不能扩展动态的内存,因此不能用于扩展SDRAM。 AHB 从AHB总线延伸出的两条APB2和APB1总线是常见的总线,它们连接了GPIO、串口、I2C、SPI等外设。学习STM32的重点在于学会对这些外设进行编程,以便驱动外部的各种设备。
  • 热度 9
    2023-6-5 18:16
    811 次阅读|
    0 个评论
    如何根据实际需求进行STM32系列单片机选型
    随着科技的飞速发展,单片机在各行业应用中扮演着越来越重要的角色。STM32系列单片机无疑是市场上广受欢迎的微控制器之一,凭借其丰富的产品线及卓越性能,赢得了大量用户的青睐。那么,如何根据实际需求进行STM32系列单片机选型呢?颖特新将为您提供详细的选型指导,助您打造理想的微控制器系统。 一、了解STM32系列单片机产品线 STM32系列单片机基于ARM Cortex-M内核,按性能划分为四个系列:STM32F0 (入门级)、STM32F1 (基本级)、STM32F2 (高性能) 和 STM32F4 (高性能 + DSP)。每个系列都有多个子系列,涵盖了不同的性能、外设和封装特点。因此,在选型过程中,首先要了解STM32的各个系列及其特点。 STM32F0系列:面向入门级应用,以低成本和低功耗为主要特点;包括Cortex-M0、Cortex-M0+等内核,适用于基本的控制任务。 STM32F1系列:面向基本级应用,提供了更多外设和功能选择;包括Cortex-M3内核,可以满足一般性能需求。 STM32F2系列:高性能等级,具有更多的存储器和先进外设;包括Cortex-M3内核,可应对复杂控制场景。 STM32F4系列:最高性能等级,搭载浮点运算单元和DSP指令集;包括Cortex-M4内核,适合多媒体处理、数值计算等高性能应用。 二、确定性能需求 在选型时,首先要分析项目的性能需求。根据应用场景确定所需的处理能力(如CPU频率)、存储空间(RAM/Flash)与外设。对于低性能需求,可选择STM32F0/F1系列;若需要高性能、浮点运算或DSP能力,则可考虑STM32F2/F4系列。 三、关注电源与功耗 针对不同应用场景,电源和功耗需求会有显著差异。例如,可穿戴设备、物联网传感器等需要低功耗特性来延长电池寿命;而工业自动化、机器人应用则需要稳定的电源系统。确保所选单片机安全工作电压范围与实际应用场景匹配,同时核查其静态/动态功耗特性。 四、考虑外设需求 确保所选单片机支持项目所需的外设接口与通信协议。例如,对于需要多种传感器的应用,选择具有足够GPIO引脚和模拟输入的型号;而涉及远程控制或数据采集的系统,则需要具备串行通信(如UART、I2C、SPI)功能。此外,根据需要评估其他外设(如定时器、PWM输出、RTC等)。 五、封装与尺寸选择 根据项目的空间要求选择合适的封装类型和尺寸。STM32系列提供了丰富的封装选项,如QFN、LQFP、BGA等。对于空间受限的应用场景,小型封装(如QFN)可能更受青睐;而对于需要较多引脚的项目,大型封装(如LQFP、BGA)可能更合适。在选型时,请确保所选单片机封装与PCB设计和制造要求相匹配。 六、软件开发环境与生态 一个完善的软件开发环境和丰富的生态系统将有助于提高开发效率和项目成功率。STM32系列单片机支持多种编程语言(如C/C++),并提供了广泛的库函数、示例代码和开发工具。此外,STM32还拥有活跃的开发者社区和技术支持,这些资源将有助于项目的顺利进行。 七、预算与成本 在满足性能与功能需求的前提下,考虑预算与成本因素也是选型过程中至关重要的一环。请关注不同型号单片机的价格差异,并在可接受范围内选择具有最佳性价比的产品。同时,别忽略其他相关费用,例如硬件开发、软件许可等。 总结 通过以上七个方面的综合分析,您可以更加明智地进行STM32系列单片机选型。在此基础上,还需要考虑生产批量、采购渠道等因素,以确保项目的稳定运行和长期可靠性。 STM32系列单片机凭借其卓越性能、丰富的外设选项和广泛的应用场景,在全球范围内受到众多开发者与工程师的关注与喜爱。通过这篇详尽的选型指南,您将能够更加深入地了解STM32系列产品并作出明智的决策,为您的项目插上翅膀,实现创新和突破。