ST(意法半導(dǎo)體)的STM32單片機(jī)作為當(dāng)前市場使用范圍最廣的芯片之一,在國內(nèi)幾乎占有50%的市場,會使用STM32單片機(jī)也基本成為電子工程師的標(biāo)配職業(yè)技能,然而2018年下半年的供貨緊張,以及中興事件,使用國產(chǎn)芯片替代進(jìn)口芯片已經(jīng)迫在眉睫,而且國內(nèi)一些企業(yè)已經(jīng)很早就開始制造替代產(chǎn)品。
首先我們將以北京兆易創(chuàng)新為例,詳細(xì)介紹相關(guān)替代所需要注意的事項(xiàng)。北京兆易創(chuàng)新-GD32系列 GD32作為中國32位通用MCU領(lǐng)域的主流之選,以累計超過2億顆的出貨數(shù)量、超過1萬的用戶數(shù)量、20個系列300余款產(chǎn)品型號選擇的廣闊應(yīng)用覆蓋率穩(wěn)居市場前列。GD32使用的是Cortex-M3內(nèi)核,型號做到了與STM32相同型號的全兼容,方便替換,主頻頻率更高。GD32F103是GD早期的產(chǎn)品,GD32E103和GD32F303是對GD32F103的升級和優(yōu)化,所以4者是兼容的,雖然內(nèi)核不同,但是通用外設(shè)幾乎很少涉及到內(nèi)核部分,在時間急迫的情況下可以使用ST的庫開發(fā)。
一、相同點(diǎn)
1)外圍引腳PIN TO PIN兼容,每個引腳上的復(fù)用功能也完全相同。
2)芯片內(nèi)部寄存器、外部IP寄存器地址和邏輯地址完全相同,但是有些寄存器默認(rèn)值不同,有些外設(shè)模塊的設(shè)計時序上和STM32有差異,這點(diǎn)差異主要體現(xiàn)在軟件上修改,詳情見下文。
3)編譯工具:完全相同例如:KEIL 、IAR
4)型號命名方式完全相同,所以替代只需找尾綴相同的型號即可,例如:STM32F103C8T6 與 GD32E103C8T6。
5)仿真工具:JLINK GDLINK
二、外圍硬件區(qū)別
三、硬件替換需要注意的地方是芯片內(nèi)核,外部電壓和FLASH存儲等方面
上面的介紹中,我們可以看出,GD32F30/E103系列和STM32F103系列是兼容的,但也需要一些注意的地方。
1)BOOT0必須接10K下拉或接GND,ST可懸空,這點(diǎn)很重要。
2)RC復(fù)位電路必須要有,否則MCU可能不能正常工作,ST的有時候可以不要。
3)有時候發(fā)現(xiàn)用仿真器連接不上。因?yàn)镚D的swd接口驅(qū)動能力比ST弱,可以有如下幾種方式解決:
a、線盡可能短一些;
b、降低SWD通訊速率;
c、SWDIO接10k上拉,SWCLK接10k下拉。
4)使用電池供電等,注意GD的工作電壓,例如跌落到2.0V~2.6V區(qū)間,ST還能工作,GD可能無法啟動或工作異常。
四、使用ST標(biāo)準(zhǔn)庫開發(fā)需要修改的地方
1)GD對時序要求嚴(yán)格,配置外設(shè)需要先打開時鐘,在進(jìn)行外設(shè)配置,否則可能導(dǎo)致外設(shè)無法配置成功;ST的可以先配置在開時鐘。
2)修改外部晶振起振超時時間,不用外部晶振可跳過這步。
原因:GD與ST的啟動時間存在差異,為了讓GD MCU更準(zhǔn)確復(fù)位。
3)GD32F10X flash取值零等待,而ST需要2個等待周期,因此,一些精確延時或者模擬IIC或SPI的代碼可能需要修改。
原因:GD32采用專利技術(shù)提高了相同工作頻率下的代碼執(zhí)行速度。4)在代碼中設(shè)置讀保護(hù),如果使用外部工具讀保護(hù)比如JFLASH或脫機(jī)燒錄器設(shè)置,可跳過此步驟。
在寫完KEY序列后,需要讀該位確認(rèn)key已生效,修改幾個函數(shù)即可。
經(jīng)過以上修改,在不使用USB和網(wǎng)絡(luò)能復(fù)雜協(xié)議的代碼,就可以使用ST的代碼操作了。
第二款可替代的為雅特力的AT32F403A/F407/ F413/ F415/F421系列,可批量替換STM32的F030、F303、F103、F107、F072、F401和F411等系列,其產(chǎn)品硬件引腳與STM32 P2P兼容,軟件高度兼容,由于內(nèi)核、SRAM、外設(shè)等性能相比STM32大幅度提升,AT32可一顆取代多顆STM32,另外還獨(dú)有安全性&二次開發(fā)功能: security Lib,更寬的工作溫度:-40~105度。
第三款可替代的為上海靈動微電子-MM32系列 MM32系列基于ARM Cortex-M0及Cortex-M3 內(nèi)核,產(chǎn)品包括:針對通用高性能市場的MM32F系列,針對超低功耗及安全應(yīng)用的MM32L系列,具有多種無線連接功能的MM32W系列,電機(jī)驅(qū)動及控制專用的MM32SPIN系列,以及OTP型的MM32P系列等,同樣的管腳、型號等與ST全兼容,替換成本非常低。
第四款可替代的為華大半導(dǎo)體-HC32系列 有國企背景的HC32系列基于ARM Cortex-M0+及Cortex-M4內(nèi)核,產(chǎn)品包括超低功耗應(yīng)用的HC32L系列和針對電機(jī)應(yīng)用市場的HC32M系列,針對通用市場的高性價比HC32F系列,與ST同型號產(chǎn)品管腳兼容,可以直接替換。
第五款可替代的為中科芯的32位MCU產(chǎn)品可批量替換STM32的F103、F030、F031和F051等系列。基于ARM架構(gòu)覆蓋Cortex-M0、M3、M4內(nèi)核八大系列產(chǎn)品,硬件引腳與STM32 P2P兼容,軟件采用寄存器級兼容設(shè)計,對于已經(jīng)使用ST系列MCU開發(fā)完成的程序,HEX文件可直接燒錄到中科芯對應(yīng)型號的MCU中即可運(yùn)行,無需過多改動。
第六款可替代的為中微股份的高性能低功耗高集成全領(lǐng)域的MCU,可批量替換STM32F030/031系列、STM32G030/031系列和STM32L031/051系列。
第七款可替代的為航順已量產(chǎn)基于ARM Cortex-M0及Cortex-M3 內(nèi)核的MCU產(chǎn)品包括:通用高性能市場的HK32F103家族,HK32F030/031/03X家族,存儲器EEPROM家族。2019年即將推出的超低功耗7nA及安全應(yīng)用的HK32L家族以及具有多種無線連接功能的HK32W/B家族,以滿足客戶多元化需求。
經(jīng)過國產(chǎn)廠家的長期公關(guān)研究和努力,目前國產(chǎn)芯片使用已經(jīng)實(shí)現(xiàn)從0到1的突破,未來相信國產(chǎn)芯片的前景和環(huán)境會越來越好。