使用華大半導體替代ST體驗
HC32F460KETA替代STM32F407ZGT
芯片持續(xù)缺貨漲價,讓我所在的初創(chuàng)小公司真的是處于生死的邊緣,各種芯片一直在告急,沒有供貨商,我們公司產(chǎn)品也生產(chǎn)不出來,32的芯片價格還在一直飆升,讓我們不得不退步選擇國產(chǎn)的芯片HC32F460KETA。
本人是今年剛畢業(yè)的大學生,如有寫的或者表達不周的地方,希望大家指出!
在大學時候,一直選用的32單片機,覺得用的很順,或許也是聽從網(wǎng)上一些流言蜚語,說國產(chǎn)單片機不行,讓我對國產(chǎn)的單片機產(chǎn)生一種俱畏的心里,不讓嘗試取用,今年畢業(yè)之后,來到這公司,沒辦法,領(lǐng)導要求,也得硬著頭皮上。
網(wǎng)上說完美替代,但我覺得還是不靠譜,所以把我用的經(jīng)歷寫在這。
華大HC32F460和ST STM32F407ZGT6對比如下:
▲Stm32F07ZGT6
▲HC32F460KETA
由對比圖可見,相比于Stm32F407ZGT6,華大單片機HC32F460的主頻有了提升,最大為200M。
兩者都是Cortex-M4內(nèi)核,供電的話因為都屬于ARM系列,都是適用于3.3V。
Flash容量有點少于遜色于32的容量,其實這個看是看自己代碼空間的大小,太多了也是浪費并且價格也高,畢竟公司是要求成本的,兩者的RAM大小是一樣的。
但很大劣勢就是華大的引腳有點少,一共64pin,32是114,所以要求控制引腳比較多的產(chǎn)品還是要好好考慮一下引腳的分配問題。但華大給我一個很驚艷的地方,就是它的引腳功能有一個分組表,這樣更改功能非常方便,如下圖所示:
幾乎所有的引腳可以任意映射,這實在是太方便了,對于PCB拉線來說,不用到處轉(zhuǎn)彎拉線了。
外設(shè)功能的話,都差不多,但肯定華大這款板子的資源不如st的F407。下面,記錄一下使用過程。
1、畫了一塊HC32F460的核心板,大概一個周左右板子才回來。
2、我用的是華大的官方庫,當初移植了部分原stm32的程序,但是有沖突,所以感覺網(wǎng)上說直接替換是不太現(xiàn)實的,但函數(shù)的命名方式都是標準的,可以不用看底層直接用。
3、焊接完板子之后,滿懷期待插上下載器,然而心涼了半截。
這里能找到下載器(我用的是J-link,ST-Link也是可以的),但找不到芯片,我慌了,開始翻找數(shù)據(jù)手冊。一般來說,找不到芯片可能是晶振起振的問題(以我的經(jīng)驗來說,希望大家來補充),然后看了晶振部分的電容要求。
要求晶振電容大小為2pf到25pf,板子和引腳間的寄生電容估算為10pf,我選擇的是10pf的電容,也是沒有問題的,那有沒有可能是電容的實際容值不對,我拿萬用表涼了下也是符合標準的。然后懷疑是不是下載電路那邊有問題。為了防止拔插燒錄引腳的脈沖,在兩個下載引腳分別加了3.3V的TVS管。
我試著將下載頻率降低,奇跡竟然發(fā)生了,能找到芯片了,但是只能在1M以下才能找得到,也就是說低頻可以,高頻不可以,讓我想到是電容容性的問題,果然是這樣。
我將TVS管放到了100歐姆電阻的后面,然而TVS管是有寄生電容的,用萬用表晾了一下差不多有3nf之大,這樣跟電阻就組成了一個低通濾波器,根據(jù)公式fc = 1/2pi*R*c
算出頻率是800Kz左右,符合1M以下能找到的原因,在multisim做了個仿真電路。
在1Mhz的方波頻率下,最上面那個電路的輸出波形已經(jīng)不是方波了,接近于正弦波了,這也就是下載器找不到新片的原因了,下面兩個電路均正常工作,方波都能通過去。
但我有個疑問,中間那個電路,如果電容足夠大的時候,按道理他的波形也會發(fā)生變形或者產(chǎn)生相位差,但是仿真模擬中卻沒有發(fā)生,不知道是為啥,請大佬們指點一下。
我去掉了兩個TVS管,在50MHz的情況下也能正常找到芯片了,完美。然后下載了一個標準歷程,下載成功。
決定先完善下開發(fā)環(huán)境,并且看看官網(wǎng)有沒有例程,跑個簡單的試一試。
首先,這款單片機的資料還是蠻多的,開發(fā)也確實跟32差不多,所以用過32的同學上手很快。
華大官網(wǎng):https://www.hdsc.com.cn
然后找例程,一般我們下載最新的就可以。
找到產(chǎn)品分類:
點開之后,選擇通用MCU。
找到F460的相關(guān)芯片,點擊我們的芯片F(xiàn)460KETA,會給你展示產(chǎn)品特點、技術(shù)文檔、來發(fā)工具、應(yīng)用方案等,做的很人性化。
驅(qū)動庫及樣例選擇最新的Rev1.3.0。
資料還是非常詳細的:
還有應(yīng)用筆記,感覺非常棒!
我用的是MDK5,這個版本:
打開例程庫在這個文件夾下面:
點開驅(qū)動庫和樣例:
找到gpio這個文件,并打開它。
這個是GPIO管腳的定義和初始化,很熟悉的感覺,跟32差不多。
主循環(huán)里面是反轉(zhuǎn)LED燈。
修改成我們定義的管腳,其余的地方,不做修改,編譯一下,直接下載,ok!
編譯,下載。
注意芯片類型,不要選錯了。
注意:下載時要把reset and run勾選上,不然不會自動運行。
用了一個LED閃爍來演示,LED等能夠正常的閃爍,程序現(xiàn)在能夠初步跑起來,開心。
小結(jié):
1、第一個就是要對下載電路熟悉一點,掌握相應(yīng)的模電知識,高通濾波器、低通濾波器等。
2、stm32的庫我沒有嘗試,還是使用華大官方的庫,用的還比較順心,但是華大單片機的DMA發(fā)送有的小小的不盡人意,32單片機可以直接使能DMA通道就可以完成發(fā)送,而華大的DMA發(fā)送用AOS觸發(fā)一直不成功,哪位大佬有成功麻煩教教我,跪謝!
現(xiàn)在用的DMA 發(fā)送是用串口發(fā)送完一個字節(jié)之后產(chǎn)生DMA發(fā)送中斷來實現(xiàn)的,也是可以的,至少現(xiàn)在沒有遇到什么問題。
3、單純這個測試,兩者差別不大,應(yīng)該說可以相互替代。選擇替代芯片時,官網(wǎng)有個選型手冊,參考一下,根據(jù)自己的需求來,也可以嘗試聯(lián)系一下技術(shù)尋求幫助,聽說華大的技術(shù)還是蠻熱心的,我還沒有求助過。
最后,希望國產(chǎn)芯片越做越好!
END
審核編輯 :李倩
-
單片機
+關(guān)注
關(guān)注
6039文章
44585瀏覽量
636483 -
STM32
+關(guān)注
關(guān)注
2270文章
10910瀏覽量
356599
原文標題:想用華大HC32替換STM32,這些細節(jié)一定要知道!
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論