本帖最后由 xinlei 于 2020-1-10 18:22 编辑

      笔者申请这款开发板的本意就是想对比常用的STM32家族芯片与RISC-V内核芯片在使用上的相同与不同之处,深入了解全球第一款RISC-V内核32位通用MCU本身的特性性能以及编程体验,以便在以后的项目中在微控制器的选择上做出权衡。因此,在拿到开发板后,有必要写一篇STM32系芯片与GD系芯片特性参数对比报告,扩大今后MCU的选择范围。兆易创新以VF103来命名第一款RISC-V内核的微处理器必然是对标STM公司F103系列微处理器,为了公平起见,本片测评以STM公司的STM32F103VBT6芯片和兆易创新的GD32VF103VBT6芯片从内核、容量、时钟、电源要求、管脚兼容性、主要外设几个方面做一个简单对比。
1.内核
      STM32F103系列采用ARM公司Cortex-M3内核,核心频率最大72MHz,在零等待状态访问快闪存储器时计算性能可达1.25DMIPS/MHz,具有单周期乘法器和硬件除法器。
      GD32VF103系列采用芯来科技Bumblebee内核,核心频率最大108MHz,在零等待状态访问快闪存储器时计算性能可达153DMIPS,具有单周期乘法器和硬件除法器。
2.容量对比
      STM32F103系列提供片上16~1024KBytes FLASH存储器,6~96KBytes静态RAM存储器,STM32F103VBT6本身提供128KBytes FLASH和20KBytes SRAM。
      GD32VF103系列提供片上16~128KBytes FLASH存储器,6~32KBytes静态RAM存储器,GD32VF103VBT6本身提供128KBytes FLASH和32KBytes SRAM。
3.时钟对比
      STM32F103VBT6支持外部输入4~16MHz时钟信号,拥有8MHz和40KHz出厂校验的内部RC时钟。
      GD32VF103VBT6支持外部输入3~25MHz时钟信号,同样拥有8MHz和40KHz出厂校验的内部RC时钟。图1和图2分别为STM32F103VBT6和GD32VF103VBT6外设时钟树。
stm时钟.png
图1 STM32F103VBT6时钟树
gd时钟.png
图2 GD32VF103VBT6时钟树
4.供电和功耗模式对比
      STM32F103供电范围支持2.0~3.6V电源供电,有单独供电引脚为RTC和备份寄存器供电,支持睡眠、停止和待机模式。
      GD32VF103VBT6供电范围支持2.6~3.6V电源供电,同样有单独供电引脚为RTC和备份寄存器供电,支持睡眠、深度睡眠和待机模式。图3和图4分别为STM32F103VBT6和GD32VF103VBT6电源域。
stm电源.png
图3 STM32F103VBT6电源域
gd电源.png
图4 GD32VF103VBT6电源域
5.管脚兼容性
      STM32F103VBT6和GD32VF103VBT6脚位完全兼容,可以相互替换,图5和图6分别为STM32F103VBT6和GD32VF103VBT6脚位图。
stmPIN.png
图5 STM32F103VBT6脚位图
gdPIN.png
图6 GD32VF103VBT6脚位图
6.主要外设对比
      图7和图8为STM32F103VBT6和GD32VF103VBT6外设概览。
stmPeripheral.png
图7 STM32F103VBT6外设概览
gdPeripheral.png
图8 GD32VF103VBT6外设概览
6.1 UART/USART
      STM32F103VBT6拥有3个USART,其中USART0最高通信速率可达4.5Mbit/s,USART1、USART2最高可达2.25Mbit/s。
      GD32VF103VBT6拥有5个U(S)ART,其中USART0最高通信速率可达6.75Mbit/s。
6.2 定时器
      STM32F103VBT6拥有1个具有互补通道输出的16位高级定时器,3个16位通用定时器,1个12位向下计数独立看门狗,1个7位向下计数窗口看门狗和1个24位向下计数系统滴答定时器。
      GD32VF103VBT6拥有1个具有互补通道输出的16位高级定时器,4个16位通用定时器,2个16位基本定时器,1个12位向下计数独立看门狗,1个7位向下计数窗口看门狗和1个64位向上计数系统滴答定时器。
6.3 SPI
      STM32F103VBT6拥有2个SPI,可工作于主/从模式、全双工/半双工模式,最高通信速率可达18Mbit/s。
      GD32VF103VBT6拥有3个SPI,可工作于主/从模式、全双工/半双工模式,最高通信速率可达27Mbit/s。
6.4 IIC
      STM32F103VBT6拥有2个IIC,可工作于多主机模式和从机模式,传输支持标准和快速模式。
      GD32VF103VBT6同样拥有2个IIC,可工作于主机模式和从机模式,传输支持标准和快速模式。
6.5 ADC
      STM32F103VBT6拥有2个12位ADC,每个ADC共享16个外部输入通道,可工作于单次模式和扫描模式,支持外部触发采集。采集范围2.4~3.6V,最大采样速率1MHz。
      GD32VF103VBT6拥有2个12位ADC,每个ADC共享16个外部输入通道,可工作于单次模式和扫描模式,支持外部触发采集。采集范围2.6~3.6V,最大采样速率1MHz,可配置为12位、10位、8位或6位采样精度。
6.6 USB
      STM32F103VBT6拥有1个全速12Mbit/s USB2.0 Host/Device/OTG设备,D+引脚需经1.5KΩ电阻上拉到3.0~3.6V电平。
      GD32VF103VBT6拥有一个全速12Mbit/s USB2.0 Host/Device/OTG设备,D+引脚上拉电阻已经集成在内部全速PHY内部。
6.7 CAN
      STM32F103VBT6拥有1个CAN总线接口,而GD32VF103VBT6拥有2个CAN总线接口。
6.8 其它
      GD32VF103VBT6拥有2个12位独立DAC,并可配置为8位或12位模式;拥有16位数据宽度的外部内存控制器,支持SRAM,PSRAM,ROM和NOR-Flash以及6800、8080LCD接口。
7. 总结
  整体来说,GD32VF103相对于同一梯队的STM32产品来说,不仅核心频率更高,而且外设也更丰富,配置也更灵活,毕竟是新时代的新生儿。通过以上比较,可以看出兆易创新在全球第一款基于RISC-V内核32位通用MCU身上下的功夫以及替代ARM的决心,作为国人,也应当支持。这一篇评测主要是对两种不同内核的MCU产品有一个初步比较认识,下一篇评测则专注两种芯片具体功耗和性能比较。