嵌入式系统倾向于共享多种品质。它们的硬件配置和软件设计之间有许多相似之处。
每台计算机都必须有处理器才能正常运行,包括嵌入式系统中的处理器。开发人员可以选择使用微处理器或微控制器。
一个基本的微处理器需要独立的集成电路,用于设备的内存和任何必要的外围设备。然而,微控制器的内存和外围设备包含在芯片的结构中。开发人员可以选择最适合他们需求的选项。
微处理器专注于提供设备所需的处理能力,并提供更好的处理速度。然而,微处理器需要更多的支持电路才能充分发挥作用,并且拥有几个不同的部分意味着出现问题的可能性更大。微控制器允许减小设备的尺寸、功率使用和价格。
每个嵌入式系统都是为特定目的而创建的。每一个都有优化,使其能够满足他们需要执行的功能的性能要求。您的设备可能有一个嵌入式系统,用于连接到互联网,另一个用于警报功能。
所有嵌入式系统都具有共同的特性,同时还拥有独特的输入、输出、电源需求、内存要求、应用程序和依赖于设备的操作系统。它们都是独一无二的,是为一项特定任务而创建的,没有其他功能。
计算机和手机都包含一个用户界面,它为用户提供了一种与他们的设备进行交互的方式。用户界面可以包括扬声器、耳机、键盘、计算机鼠标等。
这是一个双向系统,允许用户接收信息并将信息发送回计算机。一些嵌入式系统使用用户界面运行,但大多数在构建时没有用户界面。他们通常没有理由与用户交互,并且严重依赖来自传感器的数据。
例如,控制汽车机油监控系统的计算机将使用传感器来关注油位,并根据传感器提供的信息输出自动响应。驱动程序无法通过用户界面与该系统交互,尽管当嵌入式系统发现问题时它们会收到指示。
没有用户界面的嵌入式系统可以在没有任何用户输入的情况下长时间正常工作。嵌入式软件在发出前必须进行彻底的调试。开发人员可以使用协议分析器等软件开发工具来快速查找和修复存在的任何错误。
嵌入式系统倾向于利用 RTOS,即实时操作系统,以确保系统内的应用程序能够快速处理数据。十分之一秒用于衡量系统处理中的任何延迟,最微小的延迟都可能导致系统故障。
开发人员必须确保系统始终能够在设定的时间内处理数据。创建实时操作系统时有两种常见的设计,事件驱动和分时。
事件驱动的操作系统只有在优先级高于当前任务时才会切换到不同的任务。操作系统根据功能的重要性级别来管理这些功能。
分时操作系统使用时钟中断定期更改功能。这些任务没有分配优先级。嵌入式软件经常在任务之间切换,以确保完成每一项任务。
嵌入式软件开发是在考虑特定目的或应用的情况下进行的。用户很可能无法在设备创建后将外部应用程序安装到设备上。因此,运行嵌入式系统所需的任何应用程序都是内置的。
嵌入式系统被认为是硬件和软件产品。硬件经过独特设计,可满足应用程序和嵌入式软件的特定性能要求。
软件开发人员必须围绕严格的资源限制为嵌入式系统设计计算机。它们通常需要体积小,组件尽可能少,这为计算机创造了有限的资源。
嵌入式工程师必须将内存塞进一个非常小的包中。处理或内存的任何增加也会增加成本。
便携式设备的嵌入式系统通常会耗尽电池电量。这些功率限制会影响嵌入式系统的设计选择。
这些设备在使用时不能消耗太多电力。如果这样做,用户将不得不经常更换电池或为设备充电。因此,低功耗的高效设计可降低运营成本。