GD32单片机和STM32单片机的对比分析

GD32单片机和STM32单片机的对比分析


GD32单片机和STM32单片机都是基于Arm Cortex-M3/M4内核的32位通用微控制器,广泛应用于各种嵌入式系统和物联网领域。两者之间有很多相似之处,但也有一些不同之处,本文将从以下几个方面对比分析两者的特点、优势和开发成本。

1、内核和主频

GD32单片机采用的是二代的M3/M4内核,而STM32单片机主要采用的是一代的M3/M4内核。根据ARM公司的M3内核勘误表,GD32使用的内核只有一个BUG,而STM32使用的内核有多个BUG1。这意味着GD32的内核更稳定和可靠。

GD32单片机的主频也比STM32单片机更高。使用高速外部时钟(HSE)时,GD32的主频最大可以达到108MHz,而STM32的主频最大只能达到72MHz。使用高速内部时钟(HSI)时,GD32的主频最大可以达到108MHz,而STM32的主频最大只能达到64MHz2。主频越高,意味着单片机代码运行的速度越快,适合一些需要更快计算或处理能力的应用场景。

2、供电和功耗

GD32单片机和STM32单片机在供电方面有一些差异。GD32外部供电范围是2.63.6V,而STM32外部供电范围是2.03.6V或1.65~3.6V2。这说明GD32的供电范围相对要窄一些,对电源质量要求更高。

GD32单片机和STM32单片机在功耗方面也有一些差异。GD32内核电压是1.2V,而STM32内核电压是1.8V2。这说明GD32的内核电压比STM32的内核电压要低,所以GD32在运行时的功耗更低。但是,在相同设置下,GD32在停机模式、待机模式、睡眠模式下的功耗比STM32要高2。这说明GD32在低功耗模式下的优化还有待提高。

3、Flash和RAM

Flash和RAM是单片机存储程序和数据的重要资源。GD32单片机和STM32单片机在Flash和RAM方面也有一些差异。

  • 首先,GD32单片机提供了更大容量的Flash和RAM。例如,在103系列中,GD103C8T6提供了64KB Flash和20KB RAM,而ST103C8T6只提供了64KB Flash和10KB RAM2。在105/107系列中,GD105/107提供了多达3MB Flash和256KB RAM,而ST105/107只提供了1MB Flash和96KB RAM2。

  • 其次,GD32单片机提高了Flash中程序执行的速度。在前256KB Flash中,程序执行为0等待周期2。而STM32单片机在不同系统频率下需要不同等待周期2。Flash执行速度越快,意味着程序运行效率越高。

  • 最后,GD32单片机增加了Flash擦写周期和Flash写保护功能。GD32单片机的Flash擦写周期为10,000次,而STM32单片机的Flash擦写周期为1,000次。这说明GD32的Flash寿命更长,更适合频繁更新程序的应用场景。GD32单片机的Flash写保护功能可以通过软件或硬件方式实现,而STM32单片机的Flash写保护功能只能通过硬件方式实现。这说明GD32的Flash写保护功能更灵活和方便。

4、外设和引脚

外设和引脚是单片机与外部设备通信和控制的重要接口。GD32单片机和STM32单片机在外设和引脚方面也有一些差异。

  • 首先,GD32单片机提供了更多种类和数量的外设。例如,在103系列中,GD103提供了3个USART、3个SPI、2个I2C、2个CAN、1个USB、1个SDIO、1个FSMC、3个定时器、1个RTC、1个WDT、1个IWDG、1个BKP、1个ADC、1个DAC等外设,而ST103只提供了3个USART、2个SPI、2个I2C、1个CAN、1个USB、2个定时器、1个RTC、1个WDT、1个IWDG、1个BKP、1个ADC等外设。在105/107系列中,GD105/107提供了5个USART、3个SPI、2个I2C、3个CAN、2个USB(包括OTG)、1个SDIO、1个FSMC、4个定时器、1个RTC、1个WDT、1个IWDG、1个BKP、3个ADC等外设,而ST105/107只提供了5个USART、3个SPI、2个I2C、2个CAN、1个USB(包括OTG)、1个SDIO、1个FSMC、4个定时器、1个RTC、1个WDT、1个IWDG、1个BKP、2个ADC等外设。这说明GD32的外设更丰富和强大,可以满足更多样化的应用需求。

  • 其次,GD32单片机提供了更多引脚和更高的引脚复用度。例如,在103系列中,GD103C8T6提供了48个引脚,而ST103C8T6只提供了44个引脚。在105/107系列中,GD105/107提供了144个引脚,而ST105/107只提供了100个引脚。GD32单片机的引脚还可以通过软件配置实现多达16种功能的复用,而STM32单片机的引脚只能通过硬件配置实现4种功能的复用。这说明GD32的引脚更灵活和方便,可以减少外部电路的复杂度和成本。

5、开发环境和成本

开发环境和成本是影响单片机选择和应用的重要因素。GD32单片机和STM32单片机在开发环境和成本方面也有一些差异。

  • 首先,GD32单片机和STM32单片机都可以使用Keil、IAR等常用的开发软件进行编程和调试,也都可以使用J-Link、ST-Link等常用的调试工具进行下载和仿真。两者之间在开发软件和调试工具方面没有太大差别。

  • 其次,GD32单片机和STM32单片机都有各自的官方网站和论坛,提供相关的技术文档、示例代码、驱动库、开发板等资源。两者之间在技术支持方面没有太大差别。

  • 最后,GD32单片机和STM32单片机在价格方面有一些差异。根据我从网络上搜索到的信息,GD32单片机的价格一般比STM32单片机便宜一些 。这说明GD32在成本方面有一定优势。

6、总结

综上所述,GD32单片机和STM32单片机都是优秀的32位通用微控制器,各有各的特点和优势。GD32单片机在内核稳定性、主频速度、Flash容量、Flash执行速度、Flash擦写周期、Flash写保护功能、外设种类和数量、引脚数量和复用度等方面优于STM32单片机;而STM32单片机在供电范围、低功耗模式下的功耗等方面优于GD32单片机。两者在开发环境、技术支持等方面没有太大差别,但是GD32单片机在价格方面比STM32单片机便宜一些。因此,在选择GD32或STM32时,需要根据具体的应用场景和需求进行权衡和考虑。

7、参考文献

  • https://www.cnblogs.com/chen-farsight/p/10822677.html
  • https://www.eefocus.com/mcu-dsp/436281
  • https://www.eefocus.com/mcu-dsp/436281

猜你喜欢

转载自blog.csdn.net/wujuxKkoolerter/article/details/131340691