GD32和STM32都是常見的32位單片機(jī)系列。STM32是意法半導(dǎo)體(STMicroelectronics)公司推出的產(chǎn)品線,而GD32則是國(guó)內(nèi)公司長(zhǎng)盛電子推出的產(chǎn)品線。
從技術(shù)上來看,GD32和STM32有一些區(qū)別。GD32本質(zhì)上是基于STM32設(shè)計(jì)的,并在原有的基礎(chǔ)上進(jìn)行改進(jìn)和優(yōu)化。其中一些區(qū)別包括:
【資料圖】
區(qū)別在性能內(nèi)核上:GD32采用二代的M3內(nèi)核,STM32主要采用一代M3內(nèi)核,下圖是ARM公司的M3內(nèi)核勘誤表,GD使用的內(nèi)核只有752419這一個(gè)BUG。
區(qū)別在性能上: GD32的處理器速度比STM32更快。它采用全新的Cortex-M3內(nèi)核,并支持高達(dá)108MHz的時(shí)鐘速度。這使得GD32在處理一些計(jì)算復(fù)雜的應(yīng)用程序時(shí)性能更佳。同時(shí),GD32還具有更多的Flash和RAM,支持更高的擴(kuò)展能力。
區(qū)別在價(jià)格上: 由于GD32是由國(guó)內(nèi)公司生產(chǎn)的產(chǎn)品,因此其價(jià)格相對(duì)STM32更便宜。這也使得GD32在中國(guó)市場(chǎng)上更具有競(jìng)爭(zhēng)力。
區(qū)別在軟件支持上: STM32是由國(guó)際半導(dǎo)體公司推出的產(chǎn)品線,因此其軟件支持更加完善。STM32目前擁有很多成熟的開發(fā)板和開發(fā)工具,以及豐富的軟件文檔和社區(qū)支持。GD32雖然不如STM32成熟,但也在不斷提升和完善。
區(qū)別在生態(tài)上: STM32在市場(chǎng)上已經(jīng)存在了幾十年,并且擁有良好的生態(tài)系統(tǒng)。因此,開發(fā)者可以輕松地獲取各種文檔、例程、開發(fā)工具等。但是,GD32仍在發(fā)展階段,生態(tài)系統(tǒng)不如STM32完善。
區(qū)別在串口上:GD32在連續(xù)發(fā)送數(shù)據(jù)的時(shí)候每?jī)蓚€(gè)字節(jié)之間會(huì)有一個(gè)Bit的Idle,而STM32沒有,如下圖。
GD32的串口在發(fā)送的時(shí)候停止位只有1/2兩種停止位模式。STM32有0.5/1/1.5/2四種停止位模式。
GD32和STM32 USART的這兩個(gè)差異對(duì)通信基本沒有影響,只是GD32的通信時(shí)間會(huì)加長(zhǎng)一點(diǎn)。
區(qū)別在功耗上:從下面的表可以看出GD32的產(chǎn)品在相同主頻情況下,GD32的運(yùn)行功耗比STM32小,但是在相同的設(shè)置下GD32的停機(jī)模式、待機(jī)模式、睡眠模式比STM32還是要高的
區(qū)別在ADC上: GD32的輸入阻抗和采樣時(shí)間的設(shè)置和STM32有一定差異,相同配置 GD32采樣的輸入阻抗相對(duì)來說要小。具體情況見下表這是跑在72M的主頻下,ADC的采樣時(shí)鐘為14M的輸入阻抗和采樣周期的關(guān)系:
總之,在很多方面,GD32和STM32都很相似。兩個(gè)產(chǎn)品線基于Arm Cortex內(nèi)核,具有類似的架構(gòu)和寄存器集合。但是,在一些方面,如性能、價(jià)格和軟件支持上,它們之間還是存在差異的。由于GD32使用了STM32的基礎(chǔ),因此如果您已經(jīng)熟悉STM32,那么學(xué)習(xí)GD32也會(huì)更容易些。