在嵌入式系统设计方面,从头开始构建系统或使用单板计算机有什么好处?本文探讨了各种选择并进行了权衡。
嵌入式系统无处不在。我们每天一刻都在使用它们,而常常不知道或不在乎什么使我们的设备或装置运行。
作为消费者,我们在智能手机,洗衣机,健身手环中找到了他们,并且在我们的汽车中有数百人。从用户的角度来看,我们深深地迷恋的对象希望能够可靠地工作-如果它们是电池供电的,则一次充电可持续使用几天。它们还普遍存在于工业自动化系统中,并广泛用于运输以及医疗保健和医疗应用。
对于负责开发这些系统的嵌入式开发人员和电子工程团队,他们可以采用许多不同的方法,每种方法各有优点,具体取决于最终系统的要求,可用预算和上市时间。
从零开始的嵌入式系统开发对于大多数开发人员来说,从头开始开发嵌入式系统可能是事实上的方法,尽管态度正在发生变化,我们将在本文中对此进行进一步研究。
图1.嵌入式系统开发过程。(来源:Arnold S. Berger –嵌入式系统设计)
这种开发方法的初始阶段主要集中在定义和记录项目概念和规范以及对硬件和软件设计的初始概述。图1突出显示了开发嵌入式系统的关键阶段。这些文档将共同构成硬件和软件设计的更详细方面。
设计注意事项包括:产品需要显示器吗?是否需要安全的短程无线连接?是否有任何产品功能要求硬件具有确定的抢先行为?这些示例问题的答案将在物理产品尺寸,功耗,所需的计算资源和外围连接功能方面极大地影响整体设计。这些属性还将决定成本,详细信息将在物料清单(BOM)中进行详细说明,该清单涵盖每个组件,包括外壳,印刷电路板以及任何提供的电缆和电源适配器。
图2说明了示例嵌入式系统功能设计。
图2.电池供电的壁挂式加热控制器的框图。
设计规范一经签署,便可以开始原型开发工作,该过程涉及并行进行的硬件和软件设计。项目进度表将突出显示重要的里程碑和测试阶段。从零开始进行嵌入式开发使设计团队在产品的结构上具有极大的灵活性,这也意味着嵌入式硬件设计的各个方面都需要与操作软件仔细集成。
低级驱动程序和电路板支持程序包只是在可以工作的原型进行测试之前,需要重新创建的许多事物中的一部分。如果产品需要无线连接,并且团队选择了分立方法而不是使用预先认证的无线模块,则需要花费更多的时间和预算来适应法律上要求的严格无线类型批准流程。
每个嵌入式系统设计都是不同的,因此估计开发时间和预算将取决于系统功能和复杂性。对于中端规格的设计而言,在50,000至100,000美元之间的开发预算和6至12个月的时间范围可能是切合实际的,而在此期间的前三至四个月中,要使可用的硬件原型成为可能。通过测试和进一步的设计审查,可能需要两年的时间才能将设计投入批量生产。不可收回的费用(NRE)将占项目总成本的很大一部分。预计最终嵌入式硬件的BOM成本大约为每块板15至35美元。
平台方法许多产品制造商提供具有不同功能的产品系列,其中一些是早期产品的迭代。对于他们而言,开发一个可在其整个产品组合中使用的标准平台是一种可行的替代方案,而不是为每个新产品从头开始进行新设计。选择特定的微控制器或微处理器产品系列,这些产品在一系列处理器速度,内存和外围设备选件上都兼容引脚和软件,从而提供了最大的灵活性。
工程团队将需要考虑长期维护设计的因素,并最终考虑重新设计平台的架构,以适应新的处理器技术,用户界面方法的变化和新的网络协议栈。
使用单板计算机快速跟踪设计从头开始并采用平台方法带来的许多好处的另一种方法正在迅速发展。使用单板计算机(SBC)的概念并不新鲜;实际上,几十年来,单板机已用于各种工业自动化设备,自动提款机,自动柜员机和许多其他自助服务终端类型的设备中。吸引人之处在于,工程团队可以立即开始着手开发可信任平台上的产品,从而节省了大量的开发时间和NRE成本。
多年来,已经开发了许多板格式,其中许多根源于PC主板的外形尺寸,其中最受欢迎的是pico-ITX,PC / 104和EPIC(工业计算嵌入式平台)。Eurotech CPU-301是一个示例板,价格约为188美元,请参见图3,该板上装有飞思卡尔i.MX6 CPU和4GB RAM。尽管该板卡的基本规格使其看上去与PC相同,但看起来却更近一些,您会注意到,许多此类板卡具有更广泛的网络协议,例如CAN和串行接口,例如RS232 / 485/422。
图3. Eurotech CPU-301-16-01单板计算机。(来源:Eurotech)
此外,它们中的一些可适应高达+ 85°C的扩展工作温度范围,而另一些则采用了保形涂层,可用于高湿度和其他苛刻的环境条件。
对于习惯于使用资源丰富的环境并使用企业级软件开发环境的开发人员而言,这些SBC仍然是理想的平台,可作为产品设计的基础。这些“工业SBC”也更有可能具有一些较小的嵌入式SBC同行所没有的一些关键功能,我们将在下面进行讨论。
冗余处理器和软件分区对于安全性至关重要的应用程序是必不可少的,任何负责实时控制的应用程序都需要高度确定性的操作系统。此外,工业SBC往往会尝试和测试传统上由可编程逻辑控制器(PLC)提供的对传统网络协议和I / O的支持。与新的替代产品相比,这些功能也使它们具有更高的价格标签。
嵌入式单板电脑在过去的20年中,微处理器和微控制器技术取得了显着进步,设计人员现在可以选择许多现成的嵌入式板。首先,与同行业的同类产品相比,它们更紧凑并且功耗更低,而成本却只有其一小部分。
一个例子就是售价65美元的BeagleBone Black,这是一种紧凑的3.5英寸外形尺寸板,具有ti Sitara ARM Cortex-A8微处理器和4GB ddr3闪存,并具有大量GPIO和串行外围设备。该开发板附带了一个开源Linux发行版,该发行版提供了对硬件域的高度控制。另一个由Linux驱动的甚至更小的主板是ArduinoYún,它还包括802.11 2.4GHz无线连接。
图4. BeagleBone Black单板计算机。(来源:BeagleBone)
那么,为什么这样的电路板是替代采用完全设计方法的可行选择呢?据估计,现在已经运送了超过500,000块BeagleBone Black板,因此有很多社区支持可用。布局和BOM文件的整个设计包都是开源的,可以下载,这使工程管理人员在查看潜在的制造风险并建立第二个采购合作伙伴时充满信心。
想象一下,使用这些板之一作为下一个产品设计的基础可以节省的时间,更不用说节省NRE成本了。一切都有很好的文档记录,并提供许多编程语言选项,例如Python,C / C ++,Node-RED和Java。
使用这种方法,开发人员可以将时间和精力集中在最短的时间内满足设计要求,并尽快将产品推向市场。此外,无需费心学习和从头开始设计硬件的工具,开发过程将变得更加高效,专注于产品功能和差异化,从而使其对目标受众更具吸引力。围绕板子的硬件集成成为重中之重,因此可以快速,轻松地添加显示器,外围设备和控件。
|