STM32替代記:國產(chǎn)芯片替代很容易!附錄STM熱門料國產(chǎn)替代型號

來源: 深圳市宏德偉創(chuàng)科技有限公司 人氣:380 發(fā)表時(shí)間:2022/04/13 15:19:26
手里有幾個(gè)STM32F103RET6應(yīng)用的板子,整天被采購問詢是否能用國產(chǎn)替代,成本快摟不住了。這次又拿了HK的樣片,作為替代,嘗試一下。開始沒做任何修改,程序下載了就跑起來,讓我還抱怨了一番,感覺是不是拿錯(cuò)片子了。后面靜下心來,詳細(xì)測試了使用的各功能模塊,還是有點(diǎn)小問題的,不過非常好修改,作為應(yīng)急替代使用,應(yīng)該問題不大。所以補(bǔ)寫個(gè)序,告知下本次替代容易至極,如果有同樣需求,放心大膽的干吧!
隨之而來的悲催就是這幾天的工作就大部分的成了拍照,留念,技術(shù)內(nèi)容并不是很多,有ST使用的底子,基本上不需要強(qiáng)制查閱手冊之類的文檔,完全無壓力。


本來準(zhǔn)備好的替代步驟,技術(shù)攻堅(jiān),變成了如下的“旅游回憶錄”?!?strong>STM32國產(chǎn)替代。


1、  先把芯片換了再說,換之前,先留個(gè)ST的影像,一會就換了它。

STM32F103RET6應(yīng)用的板子





換好了,拿回辦公位,我的焊工還算可以吧,只是酒精干了,雜質(zhì)沒有清理干凈,引腳有些發(fā)白。

STM32F103RET6電路板


準(zhǔn)備就緒,后面怎么辦?網(wǎng)上說的那么的神,直接燒ST的程序,行不行?


2、  直接原ST程序直接燒寫我無語,直接燒寫原ST的程序,不做任何修改,居然能跑起來?那我還玩什么?都準(zhǔn)備好一頓操作了,結(jié)果,給我直接憋在了開始~~~~紅色電源指示,藍(lán)色閃爍程序運(yùn)行指示,是我出現(xiàn)幻覺了么?這是第一次接觸航順啊,怎么可能這么的順利。打開MDK,來確認(rèn)下眼神,確實(shí)把ST的程序,燒到了HK的片子里,直接就跑起來。本來是打算挑挑毛病的呢。。。
燒寫原ST的程序

好吧,既然事實(shí)已經(jīng)如此,那么回過頭來,看看當(dāng)初STM32里到底使用了哪些資源。


整個(gè)程序基于HAL庫,硬件初始化部分




程序是同事開發(fā)的,我當(dāng)前只是嘗試驗(yàn)證是否滿足芯片替代的條件,程序開發(fā)的過程中,兼容了一些產(chǎn)品,初始化的資源,比實(shí)際使用的多一點(diǎn),
下面驗(yàn)證下使用到的模塊是否正常
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GOIO:PC13
DMA1: 后來程序測試的過程中,發(fā)現(xiàn)并沒有使用DMA
ADC1: ADC_CHANNEL_9 , ADC_CHANNEL_10,ADC_CHANNEL_11
USART: COM1 COM4
Timer(PWM) : TIM3
SPI2:這個(gè)實(shí)際沒有用到,作為預(yù)留功能的。
DAC: DAC_CHANNEL_1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


3、  既然程序跑起來了,突然覺得沒事干了,驗(yàn)證下當(dāng)前使用的資源,工作是不是正常吧。
3.1 IO輸出(PC13)
   直接看程序運(yùn)行狀態(tài)指示,閃爍頻率正常。   還用到了其他IO,單純的IO使用,問題不大。
3.2串口
   數(shù)據(jù)收發(fā)正常
3.3 DAC輸出檢測
   電壓輸出可控,正常。(開始著急了,這也正常?都正常我去哪找毛?。浚?/span>   實(shí)測DAC輸出正常,但是在HK的應(yīng)用筆記中,找到如下注意事項(xiàng),
我想,在應(yīng)用中,還是參考下應(yīng)用筆記吧。

3.4ADC檢測
開始沒注意,一看ADC采樣有數(shù)據(jù),貌似正常,差點(diǎn)溜過去。但是,我用了9,10,11三個(gè)通道,那么,問題來了,我之前的采樣順序是10,9,11
實(shí)際測試發(fā)現(xiàn),通道順序亂了,導(dǎo)致我的采樣數(shù)據(jù)也亂了。哈哈,終于找到了毛病,可以發(fā)泄和吐槽~~~直到這里,才剛剛開始找HK的資源。
先換HK的pack,編譯嘗試一下,設(shè)置和芯片選擇如下


選M3




至此,編譯下載,問題沒有解決,不是PACK包的事。  接著在在HK的應(yīng)用筆記中,看到了對多通道ADC使用的過程中的一些描述。


那么好,按照應(yīng)用筆記試試,加延遲~結(jié)果,哎,不是我想要的結(jié)果啊,這下只能靠自己了~可別讓我丟人啊~~還有哪里呢?既然是通道順序亂了,那么ADC初始化里~


至此,更改完之后,ADC幾個(gè)通道采樣值正常了??!緩口氣,前面吹了半天,差點(diǎn)掉鏈子~但是講真,我還沒搞明白為什么,還特意的找個(gè)ST的板子驗(yàn)證了下,用ST的片子,我之前的設(shè)置沒有問題,用HK的,要改一下,哪位大神,調(diào)試過ADC,還望指點(diǎn)~這個(gè)后面,再看看HK的手冊,既然當(dāng)前adc的值正常了,這里先跳過了。


3.5沒耐性了,基本用到的模塊也都簡單驗(yàn)證了,直接裝到整機(jī)里,看看效果。
  替換原設(shè)備位置,整機(jī)檢驗(yàn),工作2h,設(shè)備狀態(tài)穩(wěn)定~~~~  暫且認(rèn)為替代成功,后面的驗(yàn)證,交給質(zhì)量部門。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.6忽悠忽悠同事,換到他的板子上試試。
由于替代比想象的容易,又扔給同事,把芯片換到他的板子上,反饋我的信息是:
  程序直接下載就能用,
  串口,定時(shí)器沒問題,
  有個(gè)i2c的器件,讀不到數(shù)據(jù)(程序中使用了硬件i2c,這個(gè)應(yīng)該不叫事,應(yīng)用筆記中有提到,實(shí)在不行IO模擬也能解決。)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4、  瀏覽航順官網(wǎng)
貌似都完事了,官網(wǎng)都沒有打開,有點(diǎn)不合適。
也禁不住那個(gè)懶惰的小精靈,在頭上叫著“是不是可以用ST去開發(fā),然后簡單修改就好了?”
但是,我要讓那個(gè)勤勞的小精靈獲勝,還是要回到官網(wǎng)去看看~~
http://www.hsxp-hk.com/companyfile/23/
在這里下載F103的PACK包,同時(shí)可以根據(jù)自己的需求,下載用戶手冊和數(shù)據(jù)手冊。

航順官網(wǎng)做的還是很工整的,資料很好找。

航順F103的PACK包
選型表,這個(gè)很多人會問,不用的時(shí)候,啥用沒有。想找一找的時(shí)候,又找不到。記得順便存一下,或者聯(lián)系技術(shù)支持聊聊天。


后面應(yīng)該會一點(diǎn)點(diǎn)的過度好航順的庫上去,畢竟用誰家的東西,就要用誰家的“靈魂”嘛。




5、  小結(jié)

或許是使用的資源有限,或許是運(yùn)氣好。替代過程,非常的容易,基本上沒有過多的查看HK的手冊和應(yīng)用筆記。程序直接下載就能跑起來,功能模塊詳細(xì)測試時(shí),發(fā)現(xiàn)adc多通道采集時(shí),通道采集順序與預(yù)期不符,也是簡單修正初始化部分,就能正常。感覺如果產(chǎn)品已經(jīng)定型,尋求芯片替代的話,真的可以考慮,硬件不用修改,軟件測試下功能模塊就好了,要求嚴(yán)格的話,測試下整機(jī)和環(huán)境適應(yīng)性,應(yīng)該問題不大。


在測試過程中,選用ST和HK的pack進(jìn)行編譯,暫時(shí)沒有發(fā)現(xiàn)不適應(yīng)的狀態(tài),不過,我這里是初步測試,應(yīng)急使用可以參照,后期替換的過程中,應(yīng)該會慢慢的轉(zhuǎn)到HK的庫上來。


——以上,轉(zhuǎn)自 21IC Gavin3389   


如需要樣品支持,可以找我司提供——航順一級代理商

航順32位MCU代理證