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