芯片持續(xù)缺貨漲價(jià),在初創(chuàng)小公司真的是處于生死的邊緣,各種芯片一直在告急,沒有供貨商,公司產(chǎn)品也生產(chǎn)不出來,32的芯片價(jià)格飆升,讓企業(yè)不得選擇國產(chǎn)的芯片HC32F460KETA國產(chǎn)芯片華大HC32替換STM32。
華大HC32F460和ST STM32F407ZGT6對比
Stm32F07ZGT6
HC32F460KETA
由對比圖看見,相比于Stm32F407ZGT6,華大單片機(jī)HC32F460的主頻有了提升,最大為200M。
兩者都是Cortex-M4內(nèi)核,供電的話因?yàn)槎紝儆贏RM系列,都是適用于3.3V。
Flash容量有點(diǎn)少于遜色于32的容量,其實(shí)這個看是看自己代碼空間的大小,太多了也是浪費(fèi)并且價(jià)格也高,畢竟公司是要求成本的,兩者的RAM大小是一樣的。
但很大劣勢就是華大的引腳有點(diǎn)少,一共64pin,32是114,所以要求控制引腳比較多的產(chǎn)品還是要好好考慮一下引腳的分配問題,但是華大給我一個很驚艷的地方是他的引腳功能有一個分組表,這樣更改功能非常方便,如下圖:
幾乎所有的引腳可以任意映射,這實(shí)在是太方便了,對于PCB拉線來說,不用到處轉(zhuǎn)彎拉線了。
外設(shè)功能的話,都差不多,但肯定華大這款板子的資源不如st的F407.下面記錄下一下使用的過程。
1、 畫了一塊HC32F460的核心板,大概一個周左右板子才回來。
2、 我用的是華大的官方庫,當(dāng)初移植了部分原stm32的程序,但是有沖突,所以感覺網(wǎng)上說直接替換是不太現(xiàn)實(shí)的,但函數(shù)的命名方式都是標(biāo)準(zhǔn)的,可以不用看底層直接用。
3、 焊接完板子之后,滿懷期待插上下載器,然而心涼了半截。明天插圖
這里能找到下載器(我用的是J-link,ST-Link也是可以的),但找不到芯片,我慌了,開始翻找數(shù)據(jù)手冊,一般來說找不到芯片可能是晶振起振的問題(以我的經(jīng)驗(yàn)來說,希望大家來補(bǔ)充),然后看了晶振部分的電容要求
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
要求晶振電容大小為2pf到25pf,板子和引腳間的寄生電容估算為10pf,我選擇的是10pf的電容,也是沒有問題的,那有沒有可能是電容的實(shí)際容值不對,我拿萬用表涼了下也是符合標(biāo)準(zhǔn)的。然后懷疑是不是下載電路那邊有問題。為了防止拔插燒錄引腳的脈沖,在兩個下載引腳分別加了3.3V的TVS管。
我試著將下載頻率降低,奇跡竟然發(fā)生了,能找到芯片了,但是只能在1M以下才能找得到,也就是說低頻可以,高頻不可以,讓我想到是電容容性的問題,果然是這樣。
將TVS管放到了100歐姆電阻的后面,然而TVS管是有寄生電容的,用萬用表晾了一下差不多有3nf之大,這樣跟電阻就組成了一個低通濾波器,根據(jù)公式fc = 1/2pi*R*c
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg
算出頻率是800Kz左右,符合1M以下能找到的原因,在multisim做了個仿真電路。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg
在1Mhz的方波頻率下,最上面那個電路的輸出波形已經(jīng)不是方波了,接近于正弦波了,這也就是下載器找不到新片的原因了,下面兩個電路均正常工作,方波都能通過去。
但我有個疑問的是,中間那個電路,如果電容足夠大的時候,按道理他的波形也會發(fā)生變形或者產(chǎn)生相位差,但是仿真模擬中卻沒有發(fā)生,不知道是為啥,請大佬們指點(diǎn)一下。
我去掉了兩個TVS管,在50MHz的情況下也能正常找到芯片了,完美。然后下載了一個標(biāo)準(zhǔn)歷程,下載成功。
總結(jié):
1、第一個就是要對下載電路熟悉一點(diǎn),掌握相應(yīng)的模電知識,高通濾波器、低通濾波器等。
2、stm32的庫我沒有嘗試,還是使用華大官方的庫,用的還比較順心,但是華大單片機(jī)的DMA發(fā)送有的小小的不盡人意,32單片機(jī)可以直接使能DMA通道就可以完成發(fā)送,而華大的DMA發(fā)送用AOS觸發(fā)一直不成功,哪位大佬有成功麻煩教教我,跪謝?,F(xiàn)在用的DMA 發(fā)送是用串口發(fā)送完一個字節(jié)之后產(chǎn)生DMA發(fā)送中斷來實(shí)現(xiàn)的,也是可以的,至少現(xiàn)在沒有遇到什么問題。
3、單純這個測試,兩者差別不大,應(yīng)該說可以相互替代。選擇替代芯片時,官網(wǎng)有個選型手冊,參考一下,根據(jù)自己的需求來,也可以嘗試聯(lián)系一下技術(shù)尋求幫助,聽說華大的技術(shù)還是蠻熱心的,我還沒有求助過。