<bdo id="bgpqy"></bdo><bdo id="bgpqy"></bdo>
    <bdo id="bgpqy"><optgroup id="bgpqy"></optgroup></bdo>

  1. <bdo id="bgpqy"></bdo>

      <bdo id="bgpqy"></bdo>
      <track id="bgpqy"></track>

      博客專欄

      EEPW首頁 > 博客 > 「必看干貨」淺談GD32與STM32之間的區別

      「必看干貨」淺談GD32與STM32之間的區別

      發布人:智能物聯研習社時間:2021-09-26來源:工程師
      一.硬件設計
      以我們常用的STM32與gd32單片機為例,做一下對比。

      比較GD32E230C8(M0),GD32F103C8(M3),GD32F303CG(M4),STM32F103C8(M3),STM32F303C8T6(M4)硬件管腳的區別。
      從上圖中可以看出:

      GD32E230C8(M0)與STM32G030C8(M0)管腳不兼容;
      GD32F103C8(M3)與STM32F103C8(M3)管腳兼容;
      GD32F303CG(M4)與STM32F303C8T6(M4)管腳兼容。
      GD32E230C8(M0),GD32F103C8(M3),GD32F303CG(M4)有兩個引腳(35腳和36腳)硬件電氣不兼容,可以加電阻,用于切換,實現PCB板兼容。

      下表是GD32E230C8單片機35和36管腳定義:

      下表是GD32F103C8(M3)單片機35和36管腳定義:



      *可以看出這兩個管腳不兼容,若想實現PCB管腳兼容,可以加電阻。

      下圖是GD32E230C8單片機原理圖:


      從上圖可以看出,在35和36腳加了3個電阻,2個上拉電阻和1個下拉電阻。

      當使用GD32E230C8T6單片機時,35腳和36腳默認是普通IO口,可以按照上圖所示連接電阻。
      當使用GD32F103C8單片機時,35腳和36腳是電源口,此時可以把R6換成0歐姆的電阻,R7不焊接,R8焊接0歐姆的電阻。
      二.設計中的不同點

      1.工作電壓不同:STM32的工作電壓在2.0~ 3.6V或1.65~3.6V,GD32F的工作電壓在 2.6~3.6V,工作范圍相對要窄。

      電壓范圍不同: GD32F: 2.6-3.6V STM32F: 2.0-3.6V(外部電壓) GD32F: 1.2V(內核電壓)STM32F: 1.8V(內核電壓)

      GD32的內核電壓比STM32的內核電壓要低,所以GD32的芯片在運行的時候運行功耗更低。

      2.GD32F303/F103主頻比STM32F103主頻要高,GD32F10 系列主頻: 108MHZ , STM32F10 系列主頻 :72MHZ 。

      3.啟動時間:GD32 啟動時間相同,由于 GD32 運行稍快,需要延長上電時間 ,配置(2ms) 。

      4.GD32提高了相同工作頻率下的代碼執行速度,所以GD32的_NOP()時間比STM32更加短,所以不使用定時器做延時時要注意修改。

      5.GD32的flash擦除時間要比STM32更長。

      Flash 擦除時間: GD32 是 60ms/page,STM32 30ms/page

      6.功耗上GD32的靜態功耗要相對高一點

      功耗區別(以128k以下容量的作為參考)

      a: 睡眠模式 Sleep:GD32F: 12.4mA STM32F10X: 7.5mA

      b:深度睡眠模式 Deep Sleep: GD32F: 1.4mA STM32F10X: 24uA

      c:待機模式 Stand By: GD32F: 10.5uA STM32F10X: 3.4uA

      d:運行功耗: GD32F: 32.4mA/72M STM32F10X: 52mA/72M

      7.GD32的BOOT0必須接10K下拉或接GND,ST可懸空。

      BOOT0 管腳: Flash 程序運行時,BOOT0 在 STM32 上可懸空,GD32 必須外部下拉(從 Flash 運行,BOOT0 必須下拉地)。

      8.RC復位電路必須要有,否則MCU可能不能正常工作,STM32有時候可以不要。

      9.GD32的SWD接口驅動能力比STM32弱,可以有如下幾種方式解決:

      a:線盡可能短一些;

      b:降低SWD通訊速率;

      c: SWDIO接10k上拉,SWCLK接10k下拉。

      10.GD32對時序要求嚴格,配置外設需要先打開時鐘,否則可能導致外設無法配置成功;STM32的可以先配置再開時鐘。

      11.修改外部晶振起振超時時間,不用外部晶振可跳過這步。

      原因:GD32與STM32的啟動時間存在差異,為了讓GD32 MCU更準確復位(不修改可能無法復位)。

      12.串口通信不同點: GD32在連續發送數據的時候每兩個字節之間會有一個Bit的Idle,而STM32沒有。

      GD32的串口在發送的時候停止位只有1/2兩種停止位模式。STM32有0.5/1/1.5/2四種停止位模式。

      13.ADC不同點: GD32的輸入阻抗和采樣時間的設置和STM32有一定差異,相同配置GD32采樣的輸入阻抗相對來說要小。

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

      理論不及實踐,推薦一個平臺,大家可以DIY智能硬件

      一.硬件設計
      以我們常用的STM32與gd32單片機為例,做一下對比。

      比較GD32E230C8(M0),GD32F103C8(M3),GD32F303CG(M4),STM32F103C8(M3),STM32F303C8T6(M4)硬件管腳的區別。
      從上圖中可以看出:

      GD32E230C8(M0)與STM32G030C8(M0)管腳不兼容;
      GD32F103C8(M3)與STM32F103C8(M3)管腳兼容;
      GD32F303CG(M4)與STM32F303C8T6(M4)管腳兼容。
      GD32E230C8(M0),GD32F103C8(M3),GD32F303CG(M4)有兩個引腳(35腳和36腳)硬件電氣不兼容,可以加電阻,用于切換,實現PCB板兼容。

      下表是GD32E230C8單片機35和36管腳定義:

      下表是GD32F103C8(M3)單片機35和36管腳定義:



      *可以看出這兩個管腳不兼容,若想實現PCB管腳兼容,可以加電阻。

      下圖是GD32E230C8單片機原理圖:


      從上圖可以看出,在35和36腳加了3個電阻,2個上拉電阻和1個下拉電阻。

      當使用GD32E230C8T6單片機時,35腳和36腳默認是普通IO口,可以按照上圖所示連接電阻。
      當使用GD32F103C8單片機時,35腳和36腳是電源口,此時可以把R6換成0歐姆的電阻,R7不焊接,R8焊接0歐姆的電阻。
      二.設計中的不同點

      1.工作電壓不同:STM32的工作電壓在2.0~ 3.6V或1.65~3.6V,GD32F的工作電壓在 2.6~3.6V,工作范圍相對要窄。

      電壓范圍不同: GD32F: 2.6-3.6V STM32F: 2.0-3.6V(外部電壓) GD32F: 1.2V(內核電壓)STM32F: 1.8V(內核電壓)

      GD32的內核電壓比STM32的內核電壓要低,所以GD32的芯片在運行的時候運行功耗更低。

      2.GD32F303/F103主頻比STM32F103主頻要高,GD32F10 系列主頻: 108MHZ , STM32F10 系列主頻 :72MHZ 。

      3.啟動時間:GD32 啟動時間相同,由于 GD32 運行稍快,需要延長上電時間 ,配置(2ms) 。

      4.GD32提高了相同工作頻率下的代碼執行速度,所以GD32的_NOP()時間比STM32更加短,所以不使用定時器做延時時要注意修改。

      5.GD32的flash擦除時間要比STM32更長。

      Flash 擦除時間: GD32 是 60ms/page,STM32 30ms/page

      6.功耗上GD32的靜態功耗要相對高一點

      功耗區別(以128k以下容量的作為參考)

      a: 睡眠模式 Sleep:GD32F: 12.4mA STM32F10X: 7.5mA

      b:深度睡眠模式 Deep Sleep: GD32F: 1.4mA STM32F10X: 24uA

      c:待機模式 Stand By: GD32F: 10.5uA STM32F10X: 3.4uA

      d:運行功耗: GD32F: 32.4mA/72M STM32F10X: 52mA/72M

      7.GD32的BOOT0必須接10K下拉或接GND,ST可懸空。

      BOOT0 管腳: Flash 程序運行時,BOOT0 在 STM32 上可懸空,GD32 必須外部下拉(從 Flash 運行,BOOT0 必須下拉地)。

      8.RC復位電路必須要有,否則MCU可能不能正常工作,STM32有時候可以不要。

      9.GD32的SWD接口驅動能力比STM32弱,可以有如下幾種方式解決:

      a:線盡可能短一些;

      b:降低SWD通訊速率;

      c: SWDIO接10k上拉,SWCLK接10k下拉。

      10.GD32對時序要求嚴格,配置外設需要先打開時鐘,否則可能導致外設無法配置成功;STM32的可以先配置再開時鐘。

      11.修改外部晶振起振超時時間,不用外部晶振可跳過這步。

      原因:GD32與STM32的啟動時間存在差異,為了讓GD32 MCU更準確復位(不修改可能無法復位)。

      12.串口通信不同點: GD32在連續發送數據的時候每兩個字節之間會有一個Bit的Idle,而STM32沒有。

      GD32的串口在發送的時候停止位只有1/2兩種停止位模式。STM32有0.5/1/1.5/2四種停止位模式。

      13.ADC不同點: GD32的輸入阻抗和采樣時間的設置和STM32有一定差異,相同配置GD32采樣的輸入阻抗相對來說要小。

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

      理論不及實踐,推薦一個平臺,大家可以DIY智能硬件

       https://auth.tuya.com/?_source=7c8653b7bd61bf9239a1a6c12e52124d  


      *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



      關鍵詞: 嵌入式 工程師 STM32

      相關推薦

      技術專區

      關閉
      人人操人人

        <bdo id="bgpqy"></bdo><bdo id="bgpqy"></bdo>
        <bdo id="bgpqy"><optgroup id="bgpqy"></optgroup></bdo>

      1. <bdo id="bgpqy"></bdo>

          <bdo id="bgpqy"></bdo>
          <track id="bgpqy"></track>