博客專欄

        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

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 米林县| 望都县| 诸暨市| 惠东县| 青田县| 壶关县| 临清市| 页游| 新乡县| 静乐县| 苍梧县| 紫云| 饶河县| 莒南县| 玉树县| 木兰县| 郸城县| 广宁县| 威信县| 山东省| 鄂温| 丘北县| 巨野县| 泰来县| 龙井市| 伊金霍洛旗| 枞阳县| 阿尔山市| 沙雅县| 嘉鱼县| 三河市| 太康县| 库尔勒市| 楚雄市| 大庆市| 中江县| 皋兰县| 黎城县| 兴城市| 开平市| 疏附县|