开发人员为其嵌入式系统选择微控制器的方式正在发生巨大变化。传统上,嵌入式开发人员首先关注硬件,然后考虑软件,以这种方式选择微控制器,今天将导致失败。如果要成功为他们的应用选择合适的微控制器,开发人员需要遵循几个新步骤,让我们详细看看每个步骤。
步骤 1 – 创建软件组件列表
任何开发团队在开始选择微控制器时应采取的第一步是创建软件组件列表。软件是当今产品的主要驱动因素和差异化因素,这也是开发人员需要开始的地方。检查所需的软件组件可以让开发人员了解:
需要多少软件
软件将如何交互
他们需要明智地寻找微控制器功能
他们是否可以摆脱裸机解决方案或是否需要RTOS
软件复杂度
可能出现潜在集成问题的地方
由于软件是主要因素,因此我们希望明智地确定我们需要什么软件,然后设法确定支持软件需求的硬件。
步骤 2 – 识别匹配的嵌入式软件平台
有了软件组件列表,嵌入式开发人员需要开始检查市场上可用的满足组件列表需求的可用软件框架。例如,从软件列表中,开发人员可以确定他们是否应该考虑基于Linux的解决方案,或者他们是否需要使用RTOS,一旦确定了这一点,他们就可以开始研究通往成功的最快途径。
已经集成并开箱即用的软件框架可以极大缩短上市时间并减少开发人员调试系统的时间。当开发人员尝试自己完成所有工作或尝试集成来自不同来源的堆栈时,可以保证长时间的调试会话,而这些堆栈最初从未被设计为相互协作。
步骤 3 – 检查生态系统
并非每个嵌入式软件平台都是平等的,每个平台都有其优势、劣势和所服务的目标市场,在这个阶段,重要的是开始查看软件周围的生态系统并确定它是不是:
得到很好的支持
周围有一个充满活力的社区
由多个工具链支持
包含分析软件,例如静态和动态分析仪
正在改进
有良好的业绩记录
满足预算和质量要求
在检查了这些因素之后,嵌入式开发人员将能够确定哪个平台似乎最符合他们的软件需求。
步骤 4 – 选择软件平台
一旦评估阶段开始,决定总是可以改变的,但我们需要从某个地方开始。选择似乎最能满足需求的软件平台,然后继续下一步。
步骤 5 – 列出所需的硬件接口
创建或使用现有硬件框图来定义微控制器需要支持的所有外部接口。有两种一般类型的接口需要列出,首先是通信接口,这些是外围设备,例如USB、I2C、SPI、UART、Modbus、ETC,如果应用程序需要USB或某种形式的以太网,请特别注意,这些接口极大地影响了微控制器需要支持多少程序空间;第二种接口是数字输入和输出、模拟到数字输入、PWM等。
这两种接口类型的组合将决定微控制器所需的引脚数量。有了这些列表,在网站上搜索与所选软件平台支持的这些参数相匹配的微控制器就变得轻而易举。
步骤 6 – 估计闪存和RAM要求
闪存和RAM是任何微控制器的两个非常关键的组件,并且将在很大程度上由软件列表决定。估计代码空间和RAM要求可能很困难,但一些供应商开始在其软件平台数据表中提供典型值,这可以帮助指导嵌入式开发人员至少应该寻找什么。
毫无疑问,确保不耗尽程序空间或变量空间是最重要的,选择这些特征太多的零件要比选择这些特征不够的零件容易得多。到了设计的末尾,发现你需要110%的设计或者需要删减一些功能,这是行不通的。毕竟,你总是可以从更多开始,然后再转向同一芯片系列中更受限制的部分进行生产。不要忘记为功能蠕变和下一个版本留出空间!将来会省去很多麻烦。
步骤 7 – 开始搜索软件平台支持的微控制器
现在对微控制器所需的功能有了更好的了解,可以开始搜索了!一个很好的起点是微控制器供应商,与他们讨论你的应用程序和要求,他们通常可以指导你找到最先进且符合要求的新零件。
步骤 8 – 检查并验证零件可用性
有了潜在零件列表,现在是开始检查零件可用性的好时机。要记住的一些事情是:
零件的交货时间是多少?
它们是否在多个分销商处备有库存,或者是否有6至12周的交货时间?
你对可用性有什么要求?
你不会想被一个大订单困住,要等三个月才能完成。接下来的问题是这个零件有多新,以及它是否会在你的产品生命周期中一直存在。在嵌入式开发中,如果你的产品能使用10年,那么你需要找到一个制造商保证10年后仍能生产的零件。
步骤 9 – 订购开发套件并下载所有必要的软件
选择新的微控制器的一个最好的部分是找到一个开发套件来玩和学习控制器的内部工作。一旦工程师确定了他们想要使用的器件,他们就应该研究有哪些开发套件可用。如果没有开发套件,那么所选的部分很可能不是一个好的选择,他们应该返回几个步骤,找到一个更好的部分。如今,大多数开发套件的价格不到100美元,他们唯一花费更多的时间是在板上集成更昂贵的功能,如LCD和扩展连接器。
步骤 10 – 评估软件、硬件并做出最终决定
即使选择了软件平台和微控制器,也没有什么是一成不变的,通常,开发套件早在第一个原型硬件之前就已经到货了,通过构建测试电路并将它们连接到微控制器来利用这些优势。选择高风险部件并让他们在开发套件上工作,你可能会发现,你认为可以正常工作的器件存在一些不可预见的问题,迫使你选择不同的微控制器。
尽快开始集成预先构建的软件组件,并确保它们名副其实。开发人员应该能够在几周内确定软件平台是否过于繁琐并且无法满足他们的要求,如果是这种情况,可能是时候尝试列表中的另一个平台和微控制器了。
结论
选择微控制器不再仅仅关乎硬件,做出决定的主要因素是软件。由于有如此多的设备连接到互联网或需要较短的开发周期,嵌入式开发人员需要专注于使用开箱即用的软件,花费数周或数月在系统中集成新组件的日子已经一去不复返了,能够成功利用现有软件平台的团队将获得成功,而那些停留在硬件优先时代的团队将会落后。
发表评论 取消回复