欢迎光临散文网 会员登陆 & 注册

MCU 的选型与IO 性能评估

2022-10-05 17:35 作者:二木山人  | 我要投稿

针对一款飞控的mcu进行选型,需要综合考虑多重问题,比如在之前的选择中,曾经对比、评测过 esp32、联盛德W806、树莓派Pico、合宙105 、gd32f407等多种mcu,这些mcu的频率、flash大小、内存架构、外设架构、外设情况等,具体如下表

mcu 选型表

以上表格并未做完数据,但是重点需要考虑的因素有:

1、系统计算能力,主频在140mhz 以上(对比f405)

2、系统内存在 128kb 以上,flash在 512kb 及以上,如果是spi集成外部flash,执行效率会下降2-3倍,需要在主频上找

3、外设丰富程度,SPI 总线数量在2个以上(1 IMU 1OSD+blackbox),支持至少6路PWM输出,定时器数量额是主要考虑对象,在所有的选择里面,外设的丰富程度、速度、数量是首要选择部分。

4、资料丰富性: 相关用户手册、DATASHEET    是否清晰、完备,是移植工作重要考虑因素,如果资料不易获得,甚至需要签保密协议才可以获取,这种的芯片坑太多了,而且后期遇到硬件问题,必须找厂家支撑的时候基本是不可能支撑你这个人用户的。 比如合宙的air105就属于这种情况, 基本无法获取c开发库的任何资料,即便是比较合适也只能放弃。

5、价格:必须得比当前的F405 价格低,而GD32系列因为可以平替对应的STM32,甚至代码都不需要做大的调整,确实是比较适合用来做替代的但是在淘宝上的售价和stm32 相差无几而且开发板价格爆贵, 这种确实也不太适合选择作为移植的对象。


经过综合对比、选择,最后雅特力的AT32F403A   AT32F435/7  这三款芯片是比较适合选择作为移植的对象,具体情况是 :

主频:240Mhz、288Mhz ,内存128KB-512Kb可调, 确实在所有一众国产芯片中拔得头筹, 即便是 at32 也存在flash 读写效率低的问题,但是通过较大的可调内存,通过调小内存将代码全部 load 到内存ZW(零等待区,CPU取指不需要等待, flash区需要等待 2-4个cpu 周期)方式,可以取得较好的执行效率

外设丰富程度:外设的数量、速度基本满足bf的需求 : 无论是spi、i2c、定时器还是adc都绰绰有余,当然at32 也存在短板,比如 spi的频率最高只有36Mhz 虽然在读取w25q128 黑匣子flash 导出飞行记录的时候速度会慢一些,但是对于OSD和 IMU 的通信已经绰绰有余。

资料丰富程度: at32 的相关开发资料相当丰富, 虽然赶不上stm32 的准确、清晰易懂,但是在一众国产芯片里也算是例程充足、文档完整了。当然at32 也存在一些文档上的bug和瑕疵,但是官方更新的相当快。


价格:at32 的价格在15-22块之间,而且淘宝上可以直接买到。 方便后期DIY 用户直接购买。


最后,是选择 403a  还是选择 最新的435/7 ?

既然是移植,就没必要使用性能第二的403a、虽然403a 价格便宜很多,差不多10块钱1片,但是本次移植不为商业利益,更是一种自己的学习挑战,所以选择了最新的at32 f437 作为移植目标。


目前已经支持的 AT32F435 、at32f437 vmt7  at32f437vgt7


MCU 的选型与IO 性能评估的评论 (共 条)

分享到微博请遵守国家法律