手(shou)里有幾個STM32F103RET6應用的板子,整(zheng)天被采購問詢是否(fou)能用國產替代(dai),成本快摟不住了。這(zhe)次又拿了HK的樣片,作為替(ti)代(dai),嘗(chang)試一下。開始(shi)沒做任何修改,程序下載了(le)就(jiu)跑(pao)起來,讓我還抱(bao)怨了(le)一番,感(gan)覺是(shi)不(bu)是(shi)拿錯片子了(le)。后面靜下心來,詳(xiang)細(xi)測試(shi)了使用(yong)的各功能模塊,還是有點小問題的,不(bu)過非常好(hao)修改,作為應(ying)急替(ti)代使(shi)用,應(ying)該問題不(bu)大(da)。所以(yi)補(bu)寫(xie)個序,告知下本次替(ti)代容易至極(ji),如果有同樣需求,放心(xin)大膽的(de)干吧(ba)!
隨之(zhi)而來的悲催(cui)就是這幾天(tian)的工作(zuo)就大(da)部分的成了拍(pai)照,留念,技術(shu)內(nei)容并(bing)不是很多,有ST使用的底子,基本上不需要(yao)強制(zhi)查(cha)閱手冊之(zhi)類的文(wen)檔,完全無壓力。
本來準備好的替代步驟,技術攻堅,變成了如下的“旅游回憶錄”。——STM32國產替代。
1、 先(xian)把芯片換了再(zai)說,換之前,先留個ST的(de)影像,一(yi)會就(jiu)換了它。
換好了(le),拿回(hui)辦公位,我的(de)焊工還算(suan)可(ke)以(yi)吧,只是酒精(jing)干了(le),雜質沒有清理干凈,引腳有些(xie)發白。
準備就緒,后面(mian)怎(zen)么辦(ban)?網(wang)上說的(de)那(nei)么的(de)神,直接(jie)燒(shao)ST的(de)程序,行(xing)(xing)不(bu)行(xing)(xing)?
2、 直接原ST程序直接燒寫我無語,直(zhi)接燒寫(xie)原ST的程序,不(bu)做任(ren)何修改,居然能跑起來(lai)?那我還(huan)玩什么?都準備好(hao)一頓操作了,結果,給我直接憋(bie)在(zai)了開始(shi)~~~~紅色電源指示,藍色閃爍程序(xu)運行指示,是我(wo)出現(xian)幻覺了么(me)?這是第一次接(jie)觸航順啊,怎么可能這么的順利。打開MDK,來確認下眼(yan)神(shen),確實把ST的程序,燒到了HK的片子(zi)里,直接就(jiu)跑起來(lai)。本(ben)來是打算挑(tiao)挑(tiao)毛病的呢(ni)。。。
好吧,既然事實已(yi)經如此,那么回過頭來,看看當初STM32里到(dao)底使用(yong)了哪些(xie)資源。
整(zheng)個程序基于(yu)HAL庫(ku),硬件初(chu)始化部分(fen)
程(cheng)序是同(tong)事(shi)開發的,我當(dang)前只是嘗試(shi)驗證是否滿足芯片(pian)替代的條件,程(cheng)(cheng)序開發的(de)過程(cheng)(cheng)中,兼容了一些產品,初始化的(de)資源,比實(shi)際使用的(de)多一點,
下面(mian)驗證下使用到的(de)模塊是否正常
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GOIO:PC13
DMA1: 后(hou)來程序測試的過程中,發(fa)現并沒有(you)使用DMA
ADC1: ADC_CHANNEL_9 , ADC_CHANNEL_10,ADC_CHANNEL_11
USART: COM1 COM4
Timer(PWM) : TIM3
SPI2:這個實際沒有用到,作為(wei)預留功能的。
DAC: DAC_CHANNEL_1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3、 既然程序跑起來(lai)了,突然覺得沒事干了,驗證下當前使用的資源,工作是(shi)不是(shi)正常吧。
3.1 IO輸(shu)出(PC13)
直接(jie)看(kan)程序運行狀態指示,閃爍頻率正常(chang)。 還(huan)用到了其他IO,單純的IO使用,問題不(bu)大。
3.2串口
數據(ju)收發正常
3.3 DAC輸出檢測(ce)
電壓輸出可(ke)控,正(zheng)(zheng)常。(開始(shi)著急了,這也正(zheng)(zheng)常?都正(zheng)(zheng)常我去(qu)哪找(zhao)毛病?) 實測DAC輸出正(zheng)常,但是在HK的應用(yong)筆記中,找到(dao)如下注意事(shi)項,
我想,在應(ying)用中,還是參考下應(ying)用筆記吧。
3.4ADC檢測
開始沒注意,一看ADC采樣有數據,貌似(si)正常,差點溜(liu)過去。但(dan)是,我用了(le)9,10,11三個通道,那(nei)么,問(wen)題來了,我之前的采(cai)樣順序(xu)是10,9,11
實際測試(shi)發現,通道順序亂了,導致我的采樣數據(ju)也(ye)亂了。哈(ha)哈(ha),終(zhong)于找到了(le)毛病,可以發泄和吐槽~~~直到(dao)這里,才(cai)剛剛開始(shi)找HK的資源。
先換(huan)HK的pack,編(bian)譯嘗試一下(xia),設置和芯片(pian)選擇如下(xia)
選M3
至此,編譯下(xia)載,問題沒有(you)解決,不(bu)是PACK包的事。 接著在在HK的(de)應用筆記中,看到了對(dui)多通道ADC使用的(de)過程中的(de)一些描(miao)述。
那么好,按(an)照(zhao)應用(yong)筆記(ji)試試,加(jia)延遲~結果,哎,不(bu)是(shi)我想要(yao)的結果啊(a),這下只能靠自己了~可別讓我丟人啊(a)~~還有哪里呢?既(ji)然是通道順序亂了,那么(me)ADC初始化里~
至此,更改完之后,ADC幾(ji)個通道采樣值正常了!!緩口氣,前(qian)面吹了半天,差點掉鏈子~但是講真,我還沒搞明白為什么,還(huan)特意的(de)找個ST的(de)板子驗(yan)證了下,用ST的(de)片子,我之(zhi)前的(de)設置(zhi)沒有問(wen)題,用HK的(de),要改一下,哪(na)位大神(shen),調試過ADC,還望指點~這個后面,再看(kan)看(kan)HK的手冊,既然(ran)當前adc的值(zhi)正常了,這里先跳過(guo)了。
3.5沒耐(nai)性(xing)了,基本(ben)用到的模塊也都簡單驗證了,直接裝到整機里,看(kan)看(kan)效果。
替換原設備位(wei)置,整機檢驗,工(gong)作2h,設備狀態穩定~~~~ 暫且(qie)認為(wei)替代成功,后面的驗證,交給質量部(bu)門。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.6忽悠忽悠同事,換到他的板子上試試。
由于(yu)替(ti)代比(bi)想象(xiang)的容易,又(you)扔(reng)給同事,把(ba)芯片換到他(ta)的板子上,反饋(kui)我的信(xin)息是:
程序直接下載就能用,
串口(kou),定(ding)時器沒(mei)問題,
有個i2c的器件,讀不到(dao)數據(程序中(zhong)(zhong)使用了硬(ying)件i2c,這(zhe)個應該不叫事,應用筆記中(zhong)(zhong)有提到(dao),實在不行IO模擬也能解決。)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4、 瀏覽(lan)航順(shun)官網
貌似都(dou)完事(shi)了(le),官網都(dou)沒有打(da)開,有點不(bu)合適。
也禁不(bu)住那個懶(lan)惰的小精靈,在頭上叫(jiao)著“是不(bu)是可(ke)以用ST去開發,然后簡單修改就好(hao)了?”
但是,我要(yao)讓那個勤勞的小精靈獲勝,還是要(yao)回到官網(wang)去看(kan)看(kan)~~
//www.hsxp-hk.com/companyfile/23/
在這里下載(zai)F103的PACK包,同時(shi)可以根據(ju)自己的需求(qiu),下載(zai)用戶(hu)手冊(ce)和數據(ju)手冊(ce)。
航順官網做的還是很工整的,資料很好(hao)找。
選型(xing)表(biao),這個很多人會問(wen),不(bu)用的(de)時候,啥用沒有。想找(zhao)一(yi)找(zhao)的(de)時候,又找(zhao)不(bu)到。記得順便存一(yi)下,或者聯系技術支(zhi)持聊聊天(tian)。
后(hou)面應該(gai)會(hui)一點點的(de)過度好航順的(de)庫上(shang)去,畢竟用誰(shui)(shui)家的(de)東西,就(jiu)要用誰(shui)(shui)家的(de)“靈(ling)魂”嘛。
5、 小結
或許(xu)是(shi)使用的(de)資源有限,或許(xu)是(shi)運氣好。替代過程(cheng),非常的(de)(de)容易,基本上(shang)沒有過多的(de)(de)查(cha)看HK的(de)(de)手(shou)冊和(he)應用筆記(ji)。程序直接下(xia)載(zai)就(jiu)能跑起來(lai),功能模塊詳細(xi)測試時,發(fa)現adc多通道(dao)采(cai)集時,通道(dao)采(cai)集順序與預期不符,也是簡單修正初始化部分(fen),就能正常。感(gan)覺如果產品已(yi)經(jing)定型,尋求芯片替代的話,真的可以考慮,硬件不用(yong)修改,軟(ruan)件測試(shi)下功能模塊就好了,要求嚴格(ge)的話,測試下整機(ji)和環境適應性(xing),應該問題不大。
在測試過程中(zhong),選(xuan)用ST和HK的pack進行編譯,暫時沒有發現不適應(ying)的狀態,不(bu)過,我這(zhe)里是初步測試,應急使用可以(yi)參照,后期替換(huan)的(de)過程中,應該會慢慢的(de)轉到(dao)HK的(de)庫上來。
——以上,轉自 21IC Gavin3389
如需要樣品支持,可以找我司提供——航順一級代理商:
