MCU平台众多,一旦有人习惯了它们,他们通常不愿意切换到另一个平台。
我的问题是:如果今天人们开始将MCU用于一般用途,那么如何选择一个呢?不同平台的独特卖点是什么?
MCU平台众多,一旦有人习惯了它们,他们通常不愿意切换到另一个平台。
我的问题是:如果今天人们开始将MCU用于一般用途,那么如何选择一个呢?不同平台的独特卖点是什么?
Answers:
一年过去了,我做了一个关于选择微控制器的话题(大约花了1.5个小时)。观众是高级软件程序员和制造商。绝大多数观众没有以前的μC经验,其余的仅在Arduino上玩过。观众人数约为30。因此,这是多播,而不是一对一诊所。
演讲的关键幻灯片是:
外型尺寸
比较微控制器。列表按降序排列。
- 开发环境(工具链)
- 开发环境
- 我提到开发环境了吗?
- 支持
- 应用笔记
- 对等支持:部落知识,朋友,论坛,代码[sic]
- 特征
- 记忆
- 周边设备
- 计算能力
- 能量消耗
- 成本
ps
我应该定义我的答案限于的范围。我通过两种镜头看这个平台选择的问题。第一个是原型设计师。第二个是专业设备的开发人员,其街道价格大约为3000美元,并且每年订购数百个。业余爱好者镜头也不远。在这些情况下,与开发成本或微控制器所使用的专业设备的成本相比,微控制器的增量成本很小。
当然,大规模生产的观点截然不同。当有人为便宜的设备选择微控制器以生产大量产品(主流玩具就是一个很好的例子)时,它们将受到硬件成本的驱动。适度节省硬件成本,再乘以大批量生产(成千上万或更多),可以证明使用笨拙的开发环境和价格便宜且带有中线支持的微控制器的痛苦。
由于这个问题并没有产生我所希望的平台比较,因此我尝试通过学习文献以及其他答案来创建自己。也许这可以在将来对其他人有所帮助。
如果有任何错误或可以添加的信息,请告诉我。
关于比较的注意事项:
图片:
AVR:
Arm Cortex-M:
PSoc :(摘自Rocketmagnet的回答)
螺旋桨:(根据Rocketmagnet的回答)
USB:
以下列表的“图例”:
最便宜的设备的属性:(按价格顺序)
以太网:
您对MCU的选择在很大程度上取决于您将要从事的项目类型。您是否正在制造大容量,超便宜且简单的设备,例如闪烁的自行车灯?您是否正在开发复杂的原型机器人,该机器人必须处理众多奇怪的IO设备和传感器?
我主要负责后者。对我而言,主要问题是尝试找到具有所需外围设备的微控制器。这很困难,因为我们的要求似乎不是主流。我们想要5个PWM通道,5个正交解码器,2个非标准SPI端口和一个IO取反的UART之类的东西。
我看到的唯一可以轻松满足此类要求的MCU是PSoC和Propeller。
Propeller基本上在单个芯片中是八个32位MCU。如果您需要某种类型的外设,则只需对其中一个MCU进行编程即可执行该工作。因此,您可以拥有任何想要的东西。
PSoC有3种和5种。3种是8051内核,而5种是ARM cortex M3。芯片上还包括可重新配置的数字和模拟模块,这些模块可用于各种外设:ADC,滤波器,运算放大器,DAC,SPI,UART,正交解码器,CRC发生器等。
开发环境很棒。您具有典型IDE的常规源代码编辑功能,但也具有原理图编辑器。您实际上可以连接任何喜欢的数字电路,并通过门,触发器等将外围设备连接起来。需要5个PWM吗?容易,只需将它们放入原理图中,将其连接起来即可。如果您想要的东西没有提供,您甚至可以在Verilog中编写自己的外围设备。您的大量应用程序都可以简单地用这种硬件来实现。
真正的好处是您可以坚持使用一个芯片,因为它知道它可以解决您将来要完成的许多项目。我发现对PIC感到烦恼的是,不断地在数十种设备中寻找所需的特定外围设备。现在我没有那个问题了。
对我来说,最重要的要求是我的非Windows PC(Linux)是否很好地支持设备/ IDE。事实证明,对我而言,Atmel AVR比PIC具有更好的(开源)支持。
可以使用多个平台。为每个作业选择最佳的作业,并选择与作业相关的代码和示例。
他们中的大多数人都有很好的开发工具,arduino有visual studio,pic有很好的工具,其他人也有。因此,对我来说,这是我能多么迅速,轻松地完成工作,以及有多少开源人员从事同一件事?
微控制器是一个瞬息万变的世界,在当前的“ in”芯片上学习具有许多优势,最流行的IDE最引人注目的是获得社区的帮助。作为PIC人士,我会说Aduino可能是目前针对新手最好的IDE和开发板,您可以在基本的aduino板上添加很多东西而无需碰到烙铁。
任何将aduino用于现实生活的人都可能会很快想继续前进,但是到那时,您将学到很多基本的数字电子学和一个很好的C子集,可以轻松地使用更合适的东西。
正如有人提到您为您的项目选择芯片时,我看到一些使用ARM芯片作为简单温度传感器或AD转换器的项目,就像我看到aduinos和PIC 16被推到极限以生成太空入侵者游戏一样,FPGA如果您认真地从事电子设计,也很高兴,而且它对HDL很有帮助。.但是不幸的是,在现实世界中,没有多少项目需要使用最多的工作,即小批量,快速设计和价格受限以及这是8位uC统治的地方
由于许多已发布的答案都集中在业余爱好者的使用上,因此这里有各种针对专业开发人员的建议。
最低要求
如果MCU无法满足所有这些要求,则不应使用它。
警告标志-MCU硬件
这些是您不应该在2019年浪费时间的事情。
int
,这反过来又带来了C语言整数促销的所有潜在危险。警告标志-工具链
如果您要执行可以进行模拟和数字处理的通用任务,那么我将首选PSoC作为其IDE,调试器以及您可以做的很多事情。
我在大学中已经为项目使用过PSoC3,并且掌握起来非常简单。唯一的问题是,如果您需要一些性能芯片,则仍然需要单独购买它们。它具有足够好的端口。因此,如果您在寻找一些性能芯片以及开发套件,最好选择单独的组件。