盘点STM32的国产替代者(5)
扫描二维码
随时随地手机看文章
应读者要求,嵌入式ARM将继续介绍能够替代STM32的国产产品。今日带来能够完美替代STM32的产品是雅特力科技的AT32F407系列和AT32F403。
雅特力科技AT32F407系列高效能微控制器,搭载32位ARM® Cortex®-M4内核,配合先进制程可达超高效能240MHz的运算速度。内建的单精度浮点运算单元(FPU)及数字信号处理器(DSP),搭配丰富的外设及灵活的时钟控制机制,能满足多种领域应用。完善的内存设计,最高可支持1MB闪存存储器(Flash)及224KB随机存取存储器(SRAM), 其闪存存储器执行零等待的优异表现,超越业界同级芯片水平。
AT32F407系列除集成高效能的运算效能外,也导入sLib安全库(SecurityLibrary)可支持密码保护指定范围程序区,方案商烧录核心算法到此区域,提供给下游客户做二次开发。
另外特别支持8组UART串口,2组CAN总线,还集成兼容IEEE-802.310/100Mbps以太网口控制器特别适用于物联网应用,以及USB设备应用不需外挂晶振,可同时提升终端产品的可靠度与降低成本的多重用途。
AT32F407可运行于工业级温度范围-40~105°C,并因应多样的内存使用需求,提供一系列芯片供选用,其丰富的片上资源分配、高集成及高性价比的一流市场竞争力,特别适用于工业自动化 (industrial automation),电机控制 (motorcontrol),物联网 (IoT) 及消费性电子 (consumerelectronics) 等各种成本敏感及高运算需求的设计。
最近,21ic家论坛进行了一期AT32F407系列评测活动,这款产品性能如何?多说无益,直接看几个21ic家网友的测评:
【AT-START-F407测评】开箱图
用户:zuoye986215
【AT-START-F407测评】AT32初体验
用户:6552918
受疫情影响昨天才收到开发板,之前只是听说过雅特力这个厂家,重来没用过,这回搞个开发板来体验一下,老规矩,先点个灯,先水一贴再说。
首先先下载厂家提供的开发包,看了下相关文件,文件分类很清晰规整,很好上手。
先简单看了下入门指南
我使用MDK,再安装一下支持包
找到例程模版
打开工程
设置工程配置 编译器默认为AC5,下载器默认为AT-LINK,无需任何修改
编译完信息
下载程序,程序运行正常
在更换编译器为AC6,优化等级-O1
编译完信息
可以看出,AC6编译器优化效果还是不错的
程序下载运行正常
到此,AT32第一个帖子就水到这里了,近期有空再上点干活。
【AT-START-F407测评】开箱测评、基础介绍、上电亮灯
用户:HangYongmao
历时已久的快递,今天终于收到了,先来发个开箱测评贴。
白色的板子,看起来十分的漂亮了。
开发板自带 AT-Link-EZ 调试工具,它也可拆开后单独搭配其他电路板使用,支持 IDE 在线调试、在线烧录、USB 转串口等功能。
硬件和布局
AT-START-F407是以LQFP100的AT32F407VGT7微控制器为中心来设计的。
下图展示了AT-Link-EZ和AT-START-F407板上AT32F407VGT7与其外设之间的连接(按钮、LED灯、USB、以太网RJ45、SPI闪存、以及扩展接口)。
AT32F407开发板并支持Arduino标准接口,位于开发板上黄色排针位置
支持 AT-START-F407的开发工具链
ARM Keil:MDK-ARM™ 。对于 Keil 编译系统,建议是 Keil 4.74 或 5.23 以上版本;
IAR:EWARM
AT-START-F407开发板中带有4个指示灯,LED1(红)用于3.3 V上电指示。3个用户LED灯,LED2(红),LED3(黄),和LED4(绿),用于应用指示。按键模块有一个复位按键和一个用户按键。
供电电源选择
开发板的电源可由Micro USB供电,分别位于AT-Link-EZ上的USB连接器(CN6)和AT-START-F407上的USB连接器(CN1)。
或者以一个外部7~12 V电源(VIN)通过板上5V电压调节器(U1【AMS1117-5V】)提供所需的5 V电源。
5V电源通过板上3.3V电压调节器(U2【RT9080N-08GJ5 丝印3R-Q4C】)提供微控制器及外设所需的3.3 V电源。
上电
按照下面的顺序配置AT-START-F407板,开始启动应用:
1. 检查板上跳线位置:
JP1选择GND或OFF(BOOT0为0,BOOT0在AT32F407VGT7内自带下拉电阻);
JP4选择GND(BOOT1为0);
JP8连体跳线选择右测IO端。
2. 用一根USB线(Type A转micro-B)连接AT-Link-EZ到PC,通过USB连接器CN6给板子供电。
LED1(红)恒亮,3个LED灯(LED2到LED4)开始轮流闪烁。
3. 按用户键(B2)后,3个LED灯闪烁频率改变。
【AT-START-F407测评】开箱测试
用户:Ben666
很早以前就听说过at32的大名了,但遗憾一直没用机会使用。刚好前段时间做活动便抱着试一试的心态参加了,没想到还真的成为了被选中的孩子。
拿到开发板时是非常的开心,没想到板子上的atlink是直接连到芯片上的,后面更是发现atlink还带了usb转ttl,使用起来非常方便上图。
开发板的用料还是非常不错,居然都带了磁珠,算是我目前看过的硬件最细节的一块开发板了,at果然厉害。
at32和stm32的兼容性也非常棒,只需要做少量修改即可使用,区别非常小,基本上将工程建好,把原来stm32的外设文件加入,直接编译,挨着报错修改即可。
at:
st:
目前做了少量测试后面的测评会具体讲解
目前已经封装了adc,i2c,uart及一些常见模块,后面测评中会有讲解,开发板上使用的拓展板可以在立创开源平台上搜索Ben_two即可看到,上面还有我的一些其它作品。
目前已经封装部分:
【AT-START-F407测评】板载调试器折腾记
用户:纪国圣
今天晚上收到板子,于是迫不及待的连接至电脑调试。keil安装好pack后,由于板子第一次连接电脑,所以需要通过Artery_ATLink-USART_DriverInstall.exe安装驱动。驱动安装成功后如图:
然后将AT32F403的工程改写为适用于AT32F407的工程后下载到芯片中,结果下载到一半突然断开。打开Debug选项卡发现ATLINK找不到芯片:
很疑惑为什么调试器可以被识别而芯片不能。于是乎打开ArteryICPProgrammer.exe:
一番作下来不仅可以识别芯片,还可以正常下载程序,可keil还是不能识别芯片。难道我忘了什么操作?
漫无目的的查找发现Artery AT32 MCU Pack_20210113\Pack\Pack_Keil_AT32F4xx_CH_V1.3.4文件夹下Keil4_AT32F4xx_AddOn.exe:
点击安装,发现keil识别芯片:
可惜没有兴奋多久,重新下载之前的程序,keil又不能识别芯片。尝试安装Keil4_AT32F4xx_AddOn.exe不起作用。没辙,通过ArteryICPProgrammer下载官方例程,问题又解决了。看来我用的工程有问题,之后只能重头开始新建工程开发程序。
【AT-START-F407测评】移植FreeRTOS
用户:纪国圣
本人参照文档AN0025_FreeRTOS_on_AT32_MCU_ZH_V1.0.0第二章在AT32上移植FreeRTOS的方法移植FreeRTOS。main.c部分参照官方例程Debug_FreeRTOS。
说明一下官方例程有点问题。在debug_task中通过AT32_BUTTON_Press判断是否打印调试信息。可是在AT32_BUTTON_Press函数中调用Delay_ms(10);会影响SysTick造成FreeRTOS一直运行prvCheckTasksWaitingTermination。因此将AT32_BUTTON_Press换为AT32_BUTTON_State(BUTTON_WAKEUP) == Bit_SET。
编译下载后效果如下:
【AT-START-F407测评】FFT效率测试
用户:纪国圣
抽空对240MHz运行的AT32F407VG做1024点FFT。DSP使用CMSIS DSP的arm_cortexM4lf_math.lib。无任何优化。通过TMR1对其运行时间测量,得到运行时间为589us。注意,使用优化会造成时间测量错误。
这里不得不吐槽一下,为什么在定时器配置中已经通过TMR_ClearITPendingBit(TMR1,TMR_FLAG_Update);清除中断标志位,可还是会进入一次中断。
下图为STM32F407做FFT的效率:
【AT-START-F407测评】软硬兼施用国产的测试
用户:北方西门吹雪
1、雅特力放大招,一把送出去100片板子。所以,本帖子从软件rtthread和雅特力组合来评测,但不意味着认为啥啥都用国产就是正确滴。
2、登录雅特力的官网了解有关资料,根据对照表,这次是升级版本的芯片,是对应着F407系列的比F1xx的要高级一把,晒图如下。
板载上电是流水灯,可以调整流水的速度
3、首先要从rtthread官网上下载,然后直接安装,首次启动要创建并登录账号,使用qq啥的就可以直接进去。
然后启动主页面,典型eclipse布局
从新建项目开始,加载芯片sdk,这样避免自己去到处找package
选择后,进入sdk管理器,选择雅特力F4,安装资源包
返回继续建立项目,使用UART1的PA9和PA10,使用DAP-link,这个是CMSIS-DAP的升级版,也是一个免费开源的工具,
3. 创建的代码如下,
int main(void){ int count = 1; while (count++) { LOG_D("Hello RT-Thread!"); rt_thread_mdelay(1000); } return RT_EOK;}
编译后下载成功
如约显示rtthread的启动页面,就可以开始进入rtthread的开发路程了。
关于雅特力AT32兼容性测试,论坛网友也做了一期兼容测试,测试对象为AT32F403。具体过程是这样的:(用户:muyichuan2012)
贸易战愈演愈烈,加上2020年突然袭来的疫情,公司使用的32位单片机的供货出现了不稳定因素。之前公司放风考虑国产芯片替换,果不其然,老大扔给我几片国产芯片,包括雅特力科技的AT32F403芯片,让我们测测其软件兼容性如何。
这次国产替换的目的是:1、研究备选方案,预防真正的缺货问题;2、降成本,据我了解,国产芯片要便宜不少,而且性能还提升蛮多,STC51就是先例 。
作为底层工程师,心里肯定一百个不愿意,现在的STM32F103用得好好的,几款产品验证下来,稳定性和质量都挺好。又要改代码,又要debug,又要测试……这不是又给我们增加工作量吗?胳膊拧不过大腿,还是继续搬砖吧。
AT32F403兼容性测试篇
雅特力芯片型号是AT32F403ZGT6,采购部门兄弟说,这个型号和STM32F103ZTG6是脚位兼容和软件兼容,说人话就是除了logo,其他完全一样。关于替换工作,总共分为三步:
步骤一 解焊电路板上的STM32 芯片
步骤二 焊接对应AT32
步骤三 下载原STM32的bin档
完成。
当然,我是将信将疑的,毕竟STM32f103是32位单片机,兼容难度与之前STC51那种8位单片不是一个级别的,STM32F103的referencemanual就1000多页。
我主要负责测试AT32各个外设功能是否ok,因为有些外设我们目前产品暂时没有用到,但未来升级可能用到,必须确保该单片机满足我们未来产品规划。验证这么多外设,不可能花力气去把代码都写一遍吧。冥思苦想之际,一脚踹到了久封多年的正点原子开发板,是STM32F103战舰版。幸好所有的模块都还在:
第一步 解封沉寂多年的正点原子战舰版
第二步 解焊STM32F103ZET6焊接上AT32F403ZGT6,ZGT6只是flash容量比ZET6大,其他没有区别
第三步 使用Jlink下载正点原子第一个程序“实验1跑马灯”
说明一下,接下来的测试方法都是这样直接替换方式,代码和硬件电路不做任何修改,否则就失去了兼容性测试的意义。
总结
优势:
1、兼容性出乎意外,这里打个90 分吧,打消了之前对国产32 位单片机的固有偏见,看来目前的国内IC 设计技术的确突飞猛进。
2、性能增强部分比较满意,打个80 分吧。尤其是200MHz 主频和224 Kbytes 的SRAM。这对于我们产品升级帮助很大,对于我们开发者来讲,只是为了增加SRAM 和主频就换ST 更高级型号成本太高。
3、AT32 的售后服务好,85 分。关于实验11 和15 通不过问题,他们FAE 还是挺专业资深的,很快就查到问题点。尤其是那个Chario 李伟华,李工(不过,干嘛搞个英文名,而且他们从来不叫中文名,怪怪的)。
4、AT32 的迭代更新也是蛮快的,据说新设计的AT32F403A,在原403 的基础上进一步完善,不但修了实验11 和实验15 的问题,主频更是提升到240MHz。有机会的话,可以拿来测试测试。
不足:
1、由于是新厂家,宣传太少又过于低调,导致相关资料不多,在网上不是很好找。
2、产品线少,目前只有403/413/415/403A/407 几个型号。听他们FAE 讲421,435 即将量产,
这是个好消息。下图是雅特力李工发的AT32 产品线规划,还是蛮期待的。
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!