1. 程式人生 > 其它 >國產晶片替代ST很容易:記航順HK32F103RET6替代STM32F103RET6

國產晶片替代ST很容易:記航順HK32F103RET6替代STM32F103RET6

產晶片替代ST很容易
記航順HK32F103RET6替代STM32F103RET6

序:
手裡有幾個STM32F103RET6應用的板子,整天被採購問詢是否能用國產替代,成本快摟不住了。
這次又拿了HK的樣片,作為替代,嘗試一下。
開始沒做任何修改,程式下載了就跑起來,讓我還抱怨了一番,感覺是不是拿錯片子了。
後面靜下心來,詳細測試了使用的各功能模組,
還是有點小問題的,不過非常好修改,作為應急替代使用,應該問題不大。
所以
補寫個序,告知下本次替代容易至極,如果有同樣需求,放心大膽的幹吧!
隨之而來的悲催就是
這幾天的工作就大部分的成了拍照,留念,技術內容並不是很多,
有ST使用的底子,基本上不需要強制查閱手冊之類的文件,完全無壓力。

本來準備好的替代步驟,技術攻堅,變成了如下的“旅遊回憶錄”。

1、  先把晶片換了再說
換之前,先留個ST的影像,一會就換了它。


換好了,拿回辦公位,
我的焊工還算可以吧,
只是酒精幹了,雜質沒有清理乾淨,引腳有些發白。


準備就緒,後面怎麼辦?
網上說的那麼的神,直接燒ST的程式,行不行?

2、  直接原ST程式直接燒寫
我無語,直接燒寫原ST的程式,不做任何修改,居然能跑起來?
那我還玩什麼?
都準備好一頓操作了,結果,給我直接憋在了開始~~~~
紅色電源指示
藍色閃爍程式執行指示

 

是我出現幻覺了麼?
這是第一次接觸航順啊,怎麼可能這麼的順利。
開啟MDK,來確認下眼神,
確實把ST的程式,燒到了HK的片子裡,直接就跑起來。
本來是打算挑挑毛病的呢。。。

好吧,既然事實已經如此,那麼回過頭來,看看當初STM32裡到底使用了哪些資源。

整個程式基於HAL庫
硬體初始化部分


程式是同事開發的,
我當前只是嘗試驗證是否滿足晶片替代的條件,
程式開發的過程中,相容了一些產品,初始化的資源,比實際使用的多一點,
下面驗證下使用到的模組是否正常
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GOIO:PC13
DMA1: 後來程式測試的過程中,發現並沒有使用DMA
ADC1: ADC_CHANNEL_9 , ADC_CHANNEL_10,ADC_CHANNEL_11
USART: COM1 COM4
Timer(PWM) : TIM3
SPI2:這個實際沒有用到,作為預留功能的。
DAC: DAC_CHANNEL_1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3、  既然程式跑起來了,突然覺得沒事幹了,驗證下當前使用的資源,工作是不是正常吧。
3.1 IO輸出(PC13)
   直接看程式執行狀態指示,閃爍頻率正常。
   還用到了其他IO,單純的IO使用,問題不大。
3.2串列埠
   資料收發正常
3.3 DAC輸出檢測
   電壓輸出可控,正常。(開始著急了,這也正常?都正常我去哪找毛病?)
   實測DAC輸出正常,但是在HK的應用筆記中,找到如下注意事項,
我想,在應用中,還是參考下應用筆記吧。

3.4ADC檢測
開始沒注意,一看ADC取樣有資料,貌似正常,差點溜過去。
但是,我用了9,10,11三個通道,
那麼,問題來了,
我之前的取樣順序是10,9,11
實際測試發現,通道順序亂了,導致我的取樣資料也亂了。
哈哈,終於找到了毛病,可以發洩和吐槽~~~
直到這裡,才剛剛開始找HK的資源。
先換HK的pack,編譯嘗試一下,設定和晶片選擇如下

選M3


至此,編譯下載,問題沒有解決,不是PACK包的事。

  接著在在HK的應用筆記中,看到了對多通道ADC使用的過程中的一些描述。

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

至此,更改完之後,ADC幾個通道取樣值正常了!!
緩口氣,前面吹了半天,差點掉鏈子~
但是講真,我還沒搞明白為什麼,
還特意的找個ST的板子驗證了下,用ST的片子,我之前的設定沒有問題,
用HK的,要改一下,
哪位大神,除錯過ADC,還望指點~
這個後面,再看看HK的手冊,既然當前adc的值正常了,這裡先跳過了。

3.5沒耐性了,基本用到的模組也都簡單驗證了,直接裝到整機裡,看看效果。
  替換原裝置位置,整機檢驗,工作2h,裝置狀態穩定~~~~
  暫且認為替代成功,後面的驗證,交給質量部門。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.6忽悠忽悠同事,換到他的板子上試試。
由於替代比想象的容易
又扔給同事,把晶片換到他的板子上,
反饋我的資訊是:
  程式直接下載就能用,
  串列埠,定時器沒問題,
  有個i2c的器件,讀不到資料(程式中使用了硬體i2c,這個應該不叫事,應用筆記中有提到,實在不行IO模擬也能解決。)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4、  瀏覽航順官網
貌似都完事了,官網都沒有開啟,有點不合適。
也禁不住那個懶惰的小精靈,在頭上叫著“是不是可以用ST去開發,然後簡單修改就好了?”
但是,我要讓那個勤勞的小精靈獲勝,還是要回到官網去看看~~
http://www.hsxp-hk.com/companyfile/23/
在這裡下載F103的PACK包,同時可以根據自己的需求,下載使用者手冊和資料手冊。

航順官網做的還是很工整的,資料很好找。

選型表,這個很多人會問,不用的時候,啥用沒有。想找一找的時候,又找不到。記得順便存一下,或者聯絡技術支援聊聊天。

後面應該會一點點的過度好航順的庫上去,畢竟用誰家的東西,就要用誰家的“靈魂”嘛。


5、  小結
或許是使用的資源有限,或許是運氣好。
替代過程,非常的容易,基本上沒有過多的檢視HK的手冊和應用筆記。
程式直接下載就能跑起來,
功能模組詳細測試時,發現adc多通道採集時,通道採集順序與預期不符,也是簡單修正初始化部分,就能正常。
感覺如果產品已經定型,尋求晶片替代的話,真的可以考慮,
硬體不用修改,軟體測試下功能模組就好了,
要求嚴格的話,測試下整機和環境適應性,應該問題不大。
在測試過程中,
選用ST和HK的pack進行編譯,暫時沒有發現不適應的狀態,
不過,我這裡是初步測試,應急使用可以參照,後期替換的過程中,應該會慢慢的轉到HK的庫上來。

後面附上,我下載的HK的應用筆記,供參考。
---------------------
作者:Gavin3389
連結:https://bbs.21ic.com/icview-3159272-1-1.html
來源:21ic.com
此文章已獲得原創/原創獎標籤,著作權歸21ic所有,任何人未經允許禁止轉載。