选择一个单片机?注意这5个固件标准

文章作者:Jacob Beningo

仅仅从电气工程的角度选择一个微控制器是行不通的。

几年前,我曾写过一篇文章,从传统的电气工程角度考察了微控制器的选择过程。然而,事实是,运行在微控制器上的固件已经变得比物理电子连接和引脚更重要。在决策过程中未能识别固件可能导致成本超支、推迟产品发布,甚至导致项目彻底失败。为了选择合适的微控制器,这里有五个标准需要检查。

硬件vs软件成本

制造团队通常非常关注BOM(物料清单)成本的最小化。我们都听说过压榨美分的人强迫他们的供应商为他们节省0.002美元,或者拒绝使用高质量的低泄漏电容,因为它要多花0.0001美元。电气工程师在选择一个微控制器时,通常会面临同样的压力,使用3.32美元的微控制器而不是3.48美元的微控制器,因为从软件的角度来看,3.48美元的微控制器更适合应用程序。

选择一个更小或更便宜的微控制器可能在生产过程中节省70,000美元,但开发和维护运行它的软件的成本是多少?选择一个不提供无线堆栈、文件系统或其他复杂系统交互的便宜的微控制器,在产品的整个生命周期内,软件的成本可能是它的两倍。团队需要将制造成本作为系统总成本中的一个单一数据点来考虑,并平衡所有这些成本。在某些情况下,微控制器的选择可能更昂贵,但仍可降低总体项目成本。

生产驱动程序可用性

开发团队需要非常仔细地查看候选微控制器可用的软件驱动程序。多年来,我看到销售人员分发和描述的示例代码都是为了生产目的,但它看起来就像中学生写出来的意大利面条代码。免费示例和自由软件并不意味着软件对质量或特定目的的适用性有任何保证。另一方面,我也看到过从第一天起就发布的样例代码非常漂亮、优雅,并且可以生产。但是,继续使用前一种代码会导致更多的痛苦、成本和进度延迟,所以在做出决定之前要仔细检查可用的代码。请记住,我们正在为产品选择最好的微控制器和软件,而不仅仅是最好的微控制器。

操作系统集成

在谷歌上搜索一下就会发现,有超过100种不同的实时操作系统(RTOSes),几十家微控制器供应商,以及超过62,000种不同的微控制器可供开发人员使用。不是每个RTOS都支持每个微控制器,反之亦然。构建或移植RTOS可能不是开发团队应该做的事情。出现错误、交付延误和成本超支的机会太大了。另外,作为一个社会,我们已经有超过100个RTOSes,不需要另一个。相反,首先确定几个可以用来满足软件应用程序需求的RTOSes。然后确定哪些微控制器是本地支持的,并且由RTOS以最小的努力。

中间件集成

开发团队需要考虑使系统启动和运行所需的整个软件堆栈。这个考虑包括我们刚才提到的驱动程序和RTOS,以及需要的任何中间件或第三方应用程序代码。集成不应该相互协作的软件组件可能会很混乱、漏洞百出,并且需要比乐观的工程师想象的更多的时间来集成。开发人员需要检查为微控制器提供的实时操作系统和驱动程序与第三方组件的兼容性。很少有完美的匹配,但是一个团队越接近选择一个完全集成的解决方案(许多硅供应商正在尝试提供这种解决方案),软件开发的速度就越快,成本也就越低。

工具链集成

微控制器工具已经变得越来越复杂的每一年。开发人员过去只是得到一个驱动程序和示例代码转储,然后被迫为自己的应用程序修改代码。然而,在当今的开发环境中,驱动程序、RTOSes、中间件甚至应用程序代码都被打包在复杂的工具链管理软件中,这些工具链管理软件允许轻松地执行通信、定制甚至测试。选择以这种方式支持与工具集成固件的微控制器可以节省整个开发周期的成本。这种支持允许开发人员将重点放在应用程序上,而不是仅仅试图让软件组件相互协作。确保您检查了工具链及其功能以及其他标准。

结论

仅仅从电气工程的角度选择一个微控制器是行不通的。嵌入式系统的复杂性不再局限于硬件;它在软件里。成功的开发团队将根据所提供的工具和软件质量寻找微控制器。产品开发的目标是将产品推向市场,而不是花几个月或几年的时间从头开发代码,或者没完没了地集成不相关的组件。所以下次你需要选择一个微控制器时,先从软件开始,然后再回到硬件。您会发现总体开发体验将会容易得多,成本和进度也更容易控制。

留下你的评论