[技术问答]华大HC32F460与STM32F407对比

使用华大半导体替代ST体验

(HC32F460KETA替代STM32F407ZGT)

芯片持续缺货涨价,让我所在的初创小公司真的是处于生死的边缘,各种芯片一直在告急,没有供货商,我们公司产品也生产不出来,32的芯片价格还在一直飙升,让我们不得不退步选择国产的芯片HC32F460KETA。

本人是今年刚毕业的大学生,有写的或者表达不周的地方希望大家指出。

在大学时候,一直选用的32单片机,觉得用的很顺,或许也是听从网上一些流言蜚语,说国产单片机不行,让我对国产的单片机产生一种俱畏的心里,不让尝试取用,今年毕业之后,来到这公司,没办法,领导要求,也得硬着头皮上。

网上说完美替代,但我觉得还是不靠谱,所以把我用的经历写在这。

华大HC32F460和ST STM32F407ZGT6对比

                                                                                    [技术问答]华大HC32F460与STM32F407对比_第1张图片         Stm32F07ZGT6   

                                                                                        [技术问答]华大HC32F460与STM32F407对比_第2张图片           HC32F460KETA   


 

由对比图看见,相比于Stm32F407ZGT6,华大单片机HC32F460的主频有了提升,最大为200M。

两者都是Cortex-M4内核,供电的话因为都属于ARM系列,都是适用于3.3V。

Flash容量有点少于逊色于32的容量,其实这个看是看自己代码空间的大小,太多了也是浪费并且价格也高,毕竟公司是要求成本的,两者的RAM大小是一样的。

但很大劣势就是华大的引脚有点少,一共64pin,32是114,所以要求控制引脚比较多的产品还是要好好考虑一下引脚的分配问题,但是华大给我一个很惊艳的地方是他的引脚功能有一个分组表,这样更改功能非常方便,如下图:

[技术问答]华大HC32F460与STM32F407对比_第3张图片

[技术问答]华大HC32F460与STM32F407对比_第4张图片

几乎所有的引脚可以任意映射,这实在是太方便了,对于PCB拉线来说,不用到处转弯拉线了。

外设功能的话,都差不多,但肯定华大这款板子的资源不如st的F407.


 

下面记录下一下使用的过程。

1、  画了一块HC32F460的核心板,大概一个周左右板子才回来。

2、  我用的是华大的官方库,当初移植了部分原stm32的程序,但是有冲突,所以感觉网上说直接替换是不太现实的,但函数的命名方式都是标准的,可以不用看底层直接用。

3、  焊接完板子之后,满怀期待插上下载器,然而心凉了半截。

明天插图

这里能找到下载器(我用的是J-link,ST-Link也是可以的),但找不到芯片,我慌了,开始翻找数据手册,一般来说找不到芯片可能是晶振起振的问题(以我的经验来说,希望大家来补充),然后看了晶振部分的电容要求

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg

要求晶振电容大小为2pf到25pf,板子和引脚间的寄生电容估算为10pf,我选择的是10pf的电容,也是没有问题的,那有没有可能是电容的实际容值不对,我拿万用表凉了下也是符合标准的。然后怀疑是不是下载电路那边有问题。为了防止拔插烧录引脚的脉冲,在两个下载引脚分别加了3.3V的TVS管。

我试着将下载频率降低,奇迹竟然发生了,能找到芯片了,但是只能在1M以下才能找得到,也就是说低频可以,高频不可以,让我想到是电容容性的问题,果然是这样。

[技术问答]华大HC32F460与STM32F407对比_第5张图片

我将TVS管放到了100欧姆电阻的后面,然而TVS管是有寄生电容的,用万用表晾了一下差不多有3nf之大,这样跟电阻就组成了一个低通滤波器,根据公式fc = 1/2pi*R*c

[技术问答]华大HC32F460与STM32F407对比_第6张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg

算出频率是800Kz左右,符合1M以下能找到的原因。

在multisim做了个仿真电路

[技术问答]华大HC32F460与STM32F407对比_第7张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg

在1Mhz的方波频率下,最上面那个电路的输出波形已经不是方波了,接近于正弦波了,这也就是下载器找不到新片的原因了,下面两个电路均正常工作,方波都能通过去。

但我有个疑问的是,中间那个电路,如果电容足够大的时候,按道理他的波形也会发生变形或者产生相位差,但是仿真模拟中却没有发生,不知道是为啥,请大佬们指点一下。

我去掉了两个TVS管,在50MHz的情况下也能正常找到芯片了,完美。然后下载了一个标准历程,下载成功。

决定先完善下开发环境并且看看官网有没有例程,跑个简单的试一试。

3.1这款单片机的资料还是蛮多的,开发也确实跟32差不多,所以用过32的同学上手很快。

华大官网

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg

https://www.hdsc.com.cn/

然后找例程,一般我们下载最新的就可以

[技术问答]华大HC32F460与STM32F407对比_第8张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg

找到产品分类

[技术问答]华大HC32F460与STM32F407对比_第9张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg

点开之后选择通用MCU

[技术问答]华大HC32F460与STM32F407对比_第10张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image022.jpg

找到F460的相关芯片,点击我们的芯片F460KETA,会给你展示产品特点、技术文档、来发工具、应用方案等,做的很人性化。

[技术问答]华大HC32F460与STM32F407对比_第11张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.jpg

驱动库及样例选择最新的Rev1.3.0

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image026.jpg

资料还是非常详细的

[技术问答]华大HC32F460与STM32F407对比_第12张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image028.jpg

还有应用笔记,感觉非常棒。

[技术问答]华大HC32F460与STM32F407对比_第13张图片

[技术问答]华大HC32F460与STM32F407对比_第14张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image030.jpg

3.2 IDE问题

我用的是MDK5,这个版本

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.jpg

打开例程库

在这个文件夹下面

[技术问答]华大HC32F460与STM32F407对比_第15张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image034.jpg

点开驱动库和样例

[技术问答]华大HC32F460与STM32F407对比_第16张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image036.jpg

找到gpio这个文件

[技术问答]华大HC32F460与STM32F407对比_第17张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image038.jpg

找到这个打开。

这个是GPIO管脚的定义和初始化,很熟悉的感觉,跟32差不多。

[技术问答]华大HC32F460与STM32F407对比_第18张图片

[技术问答]华大HC32F460与STM32F407对比_第19张图片

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image040.jpg

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image042.jpg

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image044.jpg

主循环里面是反转LED灯。

[技术问答]华大HC32F460与STM32F407对比_第20张图片

修改成我们定义的管脚,其余的地方,不做修改,编译一下,直接下载,ok。

编译,下载。

注意芯片类型,不要选错了

[技术问答]华大HC32F460与STM32F407对比_第21张图片

注意下载时候要把reset and run,勾选上,不然不会自动运行

[技术问答]华大HC32F460与STM32F407对比_第22张图片

用了一个LED闪烁来演示,LED等能够正常的闪烁,程序现在能够初步跑起来,开心。

小结:

1、第一个就是要对下载电路熟悉一点,掌握相应的模电知识,高通滤波器、低通滤波器等。

2、stm32的库我没有尝试,还是使用华大官方的库,用的还比较顺心,但是华大单片机的DMA发送有的小小的不尽人意,32单片机可以直接使能DMA通道就可以完成发送,而华大的DMA发送用AOS触发一直不成功,哪位大佬有成功麻烦教教我,跪谢。现在用的DMA 发送是用串口发送完一个字节之后产生DMA发送中断来实现的,也是可以的,至少现在没有遇到什么问题。

3、单纯这个测试,两者差别不大,应该说可以相互替代。选择替代芯片时,官网有个选型手册,参考一下,根据自己的需求来,也可以尝试联系一下技术寻求帮助,听说华大的技术还是蛮热心的,我还没有求助过。

最后希望国产芯片越做越好。
---------------------
作者:woai32lala
链接:https://bbs.21ic.com/icview-3180822-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

你可能感兴趣的:(嵌入式基础知识,单片机,stm32,嵌入式硬件)