选择微控制器的 10 个步骤

原作者:jacobbeningo 原文地址: 10 Steps to Selecting a Microcontroller

翻译一篇文章,他山之石,可以攻玉。以下为正文:

为产品选择正确的微控制器可能是项令人怯步的任务。您不仅要思考许多技术特性,还要考虑成本和备货时间等会削弱项目的业务方面问题。在项目初期,您会有立即动手的冲动,想要在商定系统的细节之前开始选择微控制器。这当然是糟糕的想法。在对微控制器进行任何思考之前,硬件和软件工程师应当先制定出系统的高水平规格,画好框图和流程图,只有这时才有充足的信息对微控制器选择做出理性的决定。达到这一阶段时,可以遵循 10 个简单步骤,确保做出正确的选择。

1 步:制定所需硬件接口列表

利用总体硬件框图,制定一份微控制器需要支持的所有外部接口列表。需要列出的接口类型一般有两种。第一种接口是通信接口,包括 USBI2CSPI UART 等外设接口。如果应用需要 USB 或某种形式的以太网,则记下特别备注。这些接口对微控制器需要支持的程序空间大小有重大影响。第二种接口是数字输入和输出、模拟至数字输入,以及 PWM 接口等。这两种接口类型将指出微控制器需要的引脚数。图 1 显示了一个通用示例框图,其中列出了 i/o 要求。

1.jpg

2 步:检查软件架构

软件架构和要求对微控制器的选择有着重大影响。处理要求的轻重程度决定是使用 80 MHz DSP 还是 8 MHz 8051。与硬件一样,应记下所有重要的要求。例如,有没有任何算法需要浮点数学?有没有任何高频控制回路或传感器?估计各项任务需要的时间和频率。对所需的处理能力在数量级上有大致概念。所需计算能力的大小是微处理器架构和频率的最大要求之一。

3 步:选择架构

利用第 1 步和第 2 步中的信息,工程师应能够对所需的架构有个初步的想法。应用是否能通过 8 位架构实现?16 位呢?还是需要 32 ARM 核心?在应用和所需的软件算法之间,这些问题将开始汇总为一个解决方案。不要忘了可能的未来要求和功能扩展。不能仅因为 8 位微控制器能满足您现在的要求,就不去为了未来的功能或易用性而考虑 16 位微控制器。请记住,微控制器选择可以是一个迭代过程。您可能会在此步骤中选择 16 位期间,而在稍后的步骤中发现 32 ARM 部件更加适合。这一步只是让工程师确定正确的前进方向。

4 步:确定存储器需求

对任何微控制器而言,闪存和 RAM 都是两个非常重要的组成部分。确保不会出现程序空间不足,或者说可变空间肯定是最优先考虑的。选择部件时,很容易会选择具有过多功能的部件,而不是功能不足的部件。到设计的末尾时,发现需要 110% 的空间或者需要削减些功能,这并不是什么出格的事。毕竟,您总是会开头想要多一些,然后转到同一芯片家族中限制稍多一些的部件。利用应用中包含的软件架构和通信外设,工程师就能估算该应用所需的闪存和 RAM 大小。记得给功能扩展和后续版本留些空间!这可为未来省却许多麻烦。

5 步:开始寻找微控制器

现在对微控制器的特性要求有了更好的了解,可以开始搜寻工作了!一个能作为良好起点的地方是 ArrowAvnet Future Electronics 等微控制器供应商。与 FAE 谈谈您的应用和要求,很多时候他们可以推荐既尖端新颖又满足要求的新部件。只是要记住,他们可能会有在当下推广某一系列微控制器的压力!

下一个最佳地方是您已经熟悉的芯片供应商。例如,如果您过去使用过某些微芯片部件,并与供应商关系不错,那就从他们的网站开始搜索。大多数芯片供应商拥有搜索引擎,您可以输入自己的外设集、I/O 和功率要求,而后它将缩小符合条件的部件列表。从该列表,工程师就能继续选择微控制器。

6 步:检查成本和功率限制

此时,挑选过程已经得出几个潜在候选者。现在是检查功率要求和部件成本的大好时机。如果设备将通过电池供电并属于移动类型,那么确保部件具有低功耗是头等大事。如果部件不满足功耗要求,则应将它们从列表中剔除,直到选定符合条件的为止。也不要忘了检查处理器的单价。虽然许多部件的批发价已稳定在 1 美元左右,但如果部件为高度专业化或者属于高端处理器,那么其单价可能非常重要。不要忘了这一关键因素。

7 步:检查部件供货情况

确定备选部件清单后,现在可以开始查看部件的供货情况了。需要记住以下几点:部件的备货周期是多少?是否多家分销商都保有库存?或者需要 6–12 周的备货周期?您对供货有什么要求?您不希望陷入大订单困境之中,而必须等待三个月时间来履行订单。接着一个问题是部件的新旧程度以及是否在您产品的生命周期内保持供货。如果您的产品要在 10 年内供应,那么您就要寻找制造商保证在 10 年内生产的部件。

8 步:选择开发套件

在选择新的微控制器时,最美妙的阶段之一是寻找可以研究的开发套件,并了解该控制器的内部运作机制。一旦工程师确定了中意的部件后,他们应当调查有哪些开发套件可用。如果没有可用的开发套件,那么很有可能所选部件不是最佳的选择,那时应当后退几步来找到更好的部件。现在,大多数开发套件的价格在 100 美元以内。如果超过这一价格(除非它设计为用于多个处理器模块),那就显然太高。其他部件可能更为合适。

9 步:调查编译器和工具

选定开发套件基本上就落实了微控制器选择。最后要考虑的是检查可用的编译器和工具。大多数微控制器提供多种编译器、示例代码和调试工具选项。务必要准备好用于该部件的所有必要工具,这点非常重要。没有正确的工具,开发过程可能会变得冗长乏味而代价高昂。

10 步:开始实验

即便选定了微控制器,也不代表一成不变了。通常,拿到开发套件后,还需要很久才会得到第一个原型硬件。此时可以构建测试电路并与微控制器接口。选择高风险部件,让它们在开发套件上工作。您可能会发现之前认为很不错的部件存在一些未预见的问题,而不得不去选择其他微控制器。在任何情形中,早期实验将能确保您做出正确的选择,而且有必要变动时,影响也会最小!

Jacob Beningo 是一名嵌入式系统顾问和讲师,专门从事资源受限、低功耗设备的设计。他与多家公司合作,力求在降低成本和缩短上市时间的同时维持产品的质量与功能。他是热心的微博写手、技巧与诀窍达人、家酿内行,以及菠萝粉丝!若要与他联系,可发送邮件至 jacob@beningo.com,或访问他的网站 www.beningo.com