当前位置:首页 > 芯闻号 > 时事芯闻
[导读]随着大变局时代的开启,美国对中国科技的打压,对中国芯片的锁脖,ST芯片价格的一再高涨,直接推动了国产芯片的发展。国内很多厂家也开始推出高性能、低价格的对标ST产品。由于价格问题,我也不得不考虑更换芯片,看了一些测评,有人推荐这一款APM32的单片机,价格比ST同型号的便宜,果断下单,以下是我使用APM32F103ZET6替换STM32F103ZET6的一些分享,参考了网上各路大神的资料后作的总结。

随着大变局时代的开启,美国对中国科技的打压,对中国芯片的锁脖,ST芯片价格的一再高涨,直接推动了国产芯片的发展。国内很多厂家也开始推出高性能、低价格的对标ST产品。由于价格问题,我也不得不考虑更换芯片,看了一些测评,有人推荐这一款APM32的单片机,价格比ST同型号的便宜,果断下单,以下是我使用APM32F103ZET6替换STM32F103ZET6的一些分享,参考了网上各路大神的资料后作的总结。

1 从手册中分析资源,基础信息一模一样

1.1 引脚定义

由下图可以看出相同封装的引脚分布完全一致。

1.2 结构框图

(1)都是M3内核,总体与STM32F103ZET6架构一致

外设上做了部分增加,APM32F103相较于STM32F103增加了I2C3和I2C4模块,还增加了动态存储控制器DMC,可外接SDRAM。

(2)多了EMMC

APM32F103有一个特别的功能,它有EMMC(外部存储器控制器),因此可以外接SDRAM,这使它可以存储大量临时数据,提升读取速度。如果不想外接也有SDRAM,APM32F103也有合封型号——APM32F103VCTxS。

(3)多了个FPU

如果在处理一些浮点数据的数学运算时,比如sin运算,使用FPU可以加快运算速度;STM32F103ZET6是没有的,因此在替换过程中,如果使用FPU,且使用了APM32F103ZET6官方提供的浮点运算库,注意算法中数据处理的效率是有很大提升的。

但是APM32F103ZET6的FPU有些不好的地方是,只对库中的数学运算有明显(提升至少5倍)加速效果,其它的运算无明显加速效果。

(4)多了个USB

STM32F103ZET6的CAN和USB共用一段SRAM,因此使用USB时可以使用CAN。

1.3 存储地址映射

经过对比下面两图可以得出,基本外设地址都是一致的,对于多出的功能都占用了ST原来的保留地址,这说明APM32F103是可以完全兼容STM32F103的。

1.4 时钟树

在某些应用场景需要超频使用(官方是不保证的),当系统时钟为96MHz、120MHz下,STM32F103ZET6的USB无法配置到48MHz,因此无法使用USB。但是APM32F103ZET6通过配置分频系数,当系统时钟为96MHz、120MHz时,依然可以使用USB.

1.5 最小系统电路

电源、时钟、复位、烧录接口、Boot电路一致。

2 用STM32F103xE的Keil工程、代码烧录到APM32F103xE中,实现基本烧录功能

在调试过程中使用的板子是APM32F103ZET6的mini板,使用的Keil工程是野火的例程。

2.1 编译工具

与ST完全相同,都可以使用keil和IAR。

2.2 烧录器

兼容ST,可以使用ST-LINK,还可以使用J-LINK和APEX-LINK。

2.3 烧录接口

支持JTAG和SWD。

2.4 编译下载

随便找一个野火的STM32F103的代码例程,验证一下不修改任何配置和ST的代码是否可以直接烧录使用

打开工程后点击魔术棒,板子还是选择STM32F103VE

接下来选择自己使用的烧录器,这里我用的是J-LINK

进入setting,设置flash download,还是添加对应型号的ST芯片

以上就配置结束了,然后再将例程里LED的引脚PB0和PB1修改成APM32103的LED引脚PE6和PE5

全部修改完成了,编译下载后,两个LED交替闪烁,说明验证成功,不用修改其他配置,选择好烧录器,直接烧录ST代码是可以使用的。

2.5 脱机编程器

市场上买的量产烧录器品牌(可以百度、淘宝搜索)有:周立功、希尔特、轩微、芯园、野火等,有些烧录器添加了AMP32F103ZET6的型号,有些没有。

本人只有芯园的烧录器,选择STM32F103ZET6的型号是可以烧录APM32F103ZET6。

至于其它的烧录器能否选择STM32F103ZET6的型号烧录APM32F103ZET6呢,由于没有烧录器,因此暂时无结论,后续有机会使用时再补充。

不过AMP32F103ZET6有官方的脱机编程器。

2.6 JTAG ID不同

具体差异如下:

(1)APM32F103ZET6的信息如下:

(2)STM32F103ZET6的信息如下:

如果代码中有使用JTAG ID作为判断信息的话,在替换过程中会出问题。

3 参数与电气特性的差异

在使用过程中,我们发现APM32F103ZE和STM32F103ZE的参数和电气特性不一样,在这种情况下,我们可能会遇到一些问题,以下通过手册对比总结了一些模块的差异。

3.1 时钟

3.1.1 温度、电压的环境引起HSI的精度差异

APM32的主频标称为96MHz,STM32的主频标称为72MHz;在高低温情况下,HSI作为时钟源时,APM32的时钟精度在(-2.8~2.4)%,但STM32的时钟精度在(-2.0~2.5)%,比APM32略高。

如果使用HSI作为系统时钟,且对精度要求较高、使用场景是;如果使用场景是3.3V的工作电压,且温度为25℃时,出厂精度都是±1%。

3.1.2 HSE起振时间差异引起系统时钟配置存在差异

在使用晶振作为HSE的时钟源时,APM32F103和STM32F103的起振温度时间存在差异,STM32F103起振稳定时间比APM32F103的快。

代码中判断是否起振稳定的方式是使用软件延时等待,设置的HSE_STARTUP_TIMEOUT数值是0x500,参考代码如下:

当晶振离开MCU的晶振连接引脚较远,或者匹配电容不合理,或者使用贴片晶振而不是直插晶振时,HSE_STARTUP_TIMEOUT的等待稳定时间不足以使晶振起振,会出现无法起振的情况,导致系统时钟为HSI的8MHz。

另外一方面,代码运行的速率差异,也会影响软件延时等待的实际时间。

解决方法是调大HSE_STARTUP_TIMEOUT,例如设置HSE_STARTUP_TIMEOUT为0x5000

3.2 FLASH

3.2.1 APM32F103xE的页擦时间、片擦时间、写时间比STM32F103xE的快

通过对比两种芯片的数据手册,我发现两者的Flash的性能参数有点区别:

(1)APM32的页擦除时间是2.7~3.5ms,STM32是20~40ms,比STM32快约7倍。

(2)APM32的16bit编程时间是33.7~40.5us,STM32是40~70us,比STM32快约20%。

如果运行的代码中存在软件延时等待擦写时间,注意调整代码。

3.2.2 Flash等待周期的配置差异

手册中系统频率与访问Flash等待时间关系如下(见用户手册):

(1)STM32F103ZET6的手册

(2)APM32F103ZET6的手册

然而两家的Flash访问速度也不同,有时候不会安严格的按照手册配置,例如在自己编写代码配置系统时钟为48MHz时、Flash预取使能、等待周期设置为0时,就发现STM32F103ZET6可以正常工作,APM32F103ZET6就不能正常工作。

因此,在配置该参数时,建议还是严格按照官网提供的参数配置。

PS:我看了极海官网上的FAQ,发现有些人因为等待周期不够而出现很多错误,所以大家一定要尽量按照手册上的选择等待周期的个数!不确定够不够的,可以先设置多一个,毕竟“多多益善”嘛~

3.2.3 Flash擦写过程中关闭中断

在网上看到,APM32F103ZET6在执行擦写Flash时,最好先关闭中断,否则可能擦写Flash失败(个人没有遇到过这个问题),而STM32F103ZET6则不需要,

3.3 功耗

APM32F103较STM32F103相比,运行、睡眠、停机功耗较小,待机功耗较大,但都是在10uA以下,电池功耗基本一致。

如果是电池供电、且运行模式占用的运行时间较多,使用APM32F103ZET6的工作时间是比STM32F103ZET6的工作时间长。如果产时间在低功耗模式运行,工作时长则反之。

3.4 GPIO

3.4.1 GPIO配置为浮空输入的抗干扰能力

众所周知,在使用GPIO时,应配置相应的GPIO工作模式(见用户手册)。

但是在用作EXTI或是USART_Rx时,GPIO被配置为浮空输入模式后,发现无法读取稳定电平,这是怎么一回事呢?

原来,APM32F103的GPIO在用作浮空输入或复用推挽输出时,容易受到外界影响,导致读取或输出异常,此时有两个解决方案:

①换一种工作模式,通过软件修改成上拉输入或推挽输出;

②电压容易受到干扰,那就外接一个上拉电阻,让电平变稳定。

3.5 USBD与CAN共用

这是一个很惊喜的发现——APM32F103可以同时使用USBD和CAN!但是如果要实现这个目的,需要把CAN重新映射到复用引脚,此时是USBD2与CAN共用。

是的没错,APM32F103有两个USBD,但是由于两个USBD公用引脚、地址、寄存器、时钟,所以相当于只有一个USBD,只有在需要同时使用USBD和CAN时,才启用USBD2。

这里有两个使用的注意点:

① 在USBD2的基地址偏移0x1000处写0x0000 0001

② PA11和PA12引脚给USBD2使用,CAN使用其他引脚

3.6 运行代码的速度有差异

相信有不少人都会用for或while循环做延时,但是在实际运用时,发现软件延时在时间的精度上会有误差。

由此可见,APM和STM的芯片在代码的执行速度上有差异,大家千万别把用在STM的延时循环直接套在APM上!可能会因为启动时间不够长而导致系统时钟频率不对(别问我怎么知道的,血的教训[狗头])。

当然,用定时器或者直接用时钟周期做精准定时的话,那就no problem了~

3.7 Boot0引脚接地问题

正常情况下,从主存储区(用户Flash,地址为0x0800 0000)启动,Boot0是必现接GND的。但是在查阅网上资料时,发现STM32F103ZET6的Boot0不接GND也能稳定从主存储区启动,APM32F103ZET6无法稳定从主存储区启动,有时候可以、有时候不能。

在实际应用中,如果是从主存储区启动,还是安安心心的按照官方的推荐将GND通过10kΩ电阻下拉到GND。

4 总结

以上是在mini板上编写了简单的测试代码,且在网上搜集、整理了资料进行分析,STM32F103ZET6有的功能、APM32F103ZET6也有,而且APM32F103ZET6额外比STM32F103ZET6多了些功能。

初步判断在不需要修改硬件、少量修改软件(看具体使用了哪些模块、哪些应用场景)的情况下,可以使用APM32F103ZET6是可以替换STM32F103ZET6,

另外,APM32F103ZET6在价格、供货上也有优势,国产真的太香了,兄弟们还犹豫什么快下手!!!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

自2019年受到美国打压后,三星Display和LG Display都不得不停止向华为供应OLED显示器。华为拥有大量的自有设备,任何一块应用在智能设备上的屏幕,无论是 LCD 还是 OLED,都需要驱动芯片(大屏幕可能...

关键字: 华为 OLED显示驱动芯片 芯片

9月8日,美格智能携手紫光展锐发布了新一代超小尺寸的5G R16国产化模组SRM810,该模组基于全球首款5G R16 Ready基带芯片——V516平台,在尺寸、性价比、性能等各方面具有许多可圈可点之处,可广泛应用于D...

关键字: 美格智能 5G R16模组 芯片

北京2022年9月22日 /美通社/ -- 近日,上海天数智芯半导体有限公司(以下简称"天数智芯")的云端训练通用GPU芯片天垓100与浪潮AIStation智能业务生产创新平台完成兼容性适...

关键字: AI STATION 芯片 GPU

近日,Silicon Labs “2022年Works With开发者大会” 大中华区媒体交流活动如期举办。活动内容除了Silicon Labs的新产品宣传,还有业内人士分享对物联网行业及相关市场的思考,同时也针对到场媒...

关键字: 芯片 半导体企业 IoT应用

前不久,华为创始人任正非的讲话提到,“活下来,把寒气传递给每个人”,变成热点话题。随即而来的,便是隔日A股市场的暴跌,仿佛凛冬将至。然而,在暴跌之后,许多上市公司也纷纷公布了半年报,其中也不乏有着亮眼业绩的公司。通过统计...

关键字: IoT 芯片

美国AMD半导体公司专门为计算机、通信和消费电子行业设计和制造各种创新的微处理器(CPU、GPU、主板芯片组、电视卡芯片等),以及提供闪存和低功率处理器解决方案,公司成立于1969年。

关键字: 半导体 芯片 设备

日前,安兔兔官方发布了8月安卓次旗舰手机性能排行榜Top10,前9名手机均搭载联发科天玑8000系列芯片,分别为realem GT Neo3、vivo S15 Pro、Redmi Note11T Pro+、一加Ace 竞...

关键字: 联发科8100 芯片 市场格局

曾经,一芯难求,一天一个价,一路狂涨;如今,有芯片价格只有最高时的十分之一,部分芯片价格近期“雪崩”,搅得芯片业一阵唏嘘。

关键字: 芯片 华为 半导体

今年的iPhone 14系列,新增了卫星通信功能,主要终于紧急场景,计划11月在美国和加拿大地区率先开通。在硬件上,该功能的实现其实得益于高通的x65基带,当然,苹果为此也自研了部分RF射频天线,最终让卫星连接成为可能。

关键字: iPhone 14 高通卫星 芯片

从事计算机和或电子行业相关领域工作的朋友,一般都听说过单片机和嵌入式。但是要问单片机和嵌入式两者之间有什么联系,大多数人都不能很好的解释清楚。想要弄清楚嵌入式和单片机有什么联系,首先就要弄明白什么是嵌入式,什么是单片机。...

关键字: 嵌入式 单片机

编辑精选

技术子站

关闭