发 帖  
原厂入驻New

[经验] 什么是嵌入式系统设计?定义电气工程领域

2020-9-4 11:23:43  86 嵌入式系统
分享
2
定义可能难以捉摸。有时我们会理解一个词,但无法真正定义它。在其他时候,在尝试定义它的过程中,我们意识到我们毕竟并不真正了解它的含义。我怀疑“嵌入式设计”一词会使我们许多人处于后一种情况。
在某种程度上,不确定性是合理的,因为没有官方机构可以建立和强制使用模糊的技术术语,例如“固件”(相对于“软件”),“可穿戴”(可以“穿戴”)。 “很大的东西”和“嵌入式设计”(这似乎意味着设计师在“嵌入”某物的同时布局PCB)。
“嵌入式系统设计”的最简单定义是嵌入式系统设计。这是一个简洁明了的定义,但如果不讨论“嵌入式系统”的含义,那也就毫无用处。

什么是嵌入式系统?


嵌入式系统的以下定义基于我的经验和一些在线研究:嵌入式系统是一种电子设备,
  • 具有执行计算任务的中央组件,
  • 专为特定和有限的功能而设计,并且
  • 被实现为电气或机械系统的组件。
该定义最令人讨厌的方面可能是术语嵌入式系统,电子设备以及电气或机械系统之间的冲突。
在我看来,在诸如此类的讨论中,“系统”应保留给集成在功能单元中的物理上较大的机械和电气组件集合。例如MRI机,加热系统和激光打印机。当我们谈论用作系统组件的单个电路板或电子模块时,应使用“设备”,例如MRI机中的梯度定时和控制模块,加热系统中的可编程恒温器,或激光打印机中的数据处理模块。
但是,术语“嵌入式系统”很有用,因为它提醒我们这些设备通常表现出系统的特性,即使它是纯电子系统,也只是一个很小的系统。它是一个系统(嵌入)在一个系统中。

我想如果将Internet(或专用网络)视为更大的系统,则可以将独立的IoT设备(例如Silicon Labs的这一设备)视为嵌入式系统。

在本文的其余部分中,我们将使用“嵌入式系统”的定义来探索在您尝试启动或巩固嵌入式系统设计事业时应优先考虑的优先事项上的概念和技术。

嵌入式系统中有什么?计算任务的核心组件

根据我们的定义,嵌入式系统是执行计算任务的中央组件。在大多数情况下,这将是微控制器,但也可能是微处理器,数字信号处理器FPGA
每个嵌入式设计人员应完全熟悉固件开发。(另一方面,FPGA技能通常是可选的。如果我不得不猜测,我会说不到5%的嵌入式系统使用FPGA作为核心组件。)


我为C-BISCUIT机器人设计的嵌入式系统的框图。

“固件开发”包括以下任务:
  • 编写代码。 ...通常用C语言编写。我认为,汇编语言的知识至关重要,因为汇编指令会告诉您处理器的工作原理。您不需要在汇编中编写代码,但是您需要了解它。
  • 配置外围设备。许多(可能是大多数)嵌入式系统将结合使用外设,例如模数转换器,可编程计数器模块,I2C接口或USB控制器。嵌入式设计人员需要彻底了解这些硬件模块:它们如何工作,通常如何实现以及如何在所需功能和配置寄存器中的位之间转换。
  • 测试代码。这并不意味着打开设备电源并等待三分钟以确认其正常工作。您需要在将设备暴露于各种操作条件的同时系统地测试所有功能。
  • 提炼代码。也许您的固件第一次总是可以完美运行,但我的固件却并非如此。初始测试主要是确定将代码带入功能状态所需的更正和调整的一种方法。
  • 调试代码。“调试”是一个模糊的术语。在这里,我专门使用它来描述查找或纠正已经或多或少功能正常的代码中的细微错误的过程。调试是一项必不可少的基本技能,很难从书籍和文章中学习。熟练程度来自广泛的个人经验和经验丰富的嵌入式设计师的观察。
  • 验证码。此时,您将尽一切努力确保代码正确执行所需的功能,并且当系统中其他地方或周围环境中发生意外情况时,不会着火。一个例子就是“猴子测试”,即您为代码提供连续的随机输入(就像猴子在玩键盘一样),并确认设备没有故障。


我在一个项目中使用EFM8微控制器使用的 SPI状态机的流程图。仔细的固件设计并不总是那么容易,但是草率编写,组织不善的代码可能会成为一大麻烦。

嵌入式系统做什么?特定和有限的功能

嵌入式设计要求我们勤于建立,理解和满足要求。也许组织中有人想要更低的噪声,更快的采样率,更长的电池寿命或额外的通讯接口。嵌入式设计师的回答是:“嗯,有需求真好。” (请注意,这通常是您只会而不是说的话,尤其是如果“某人”是您的老板时。)
嵌入式系统旨在满足特定的功能目标,工程师有责任确定真正必要的功能和特性,然后相应地设计设备。

您如何实现嵌入式系统设计?大型系统的组成部分

嵌入式设备可以作为独立单元进行测试,甚至可以作为独立单元运行,但是嵌入式设计通常从根本上受集成概念的约束。嵌入式系统的设计人员需要熟悉配电,通信接口和互连技术,因为这些是我们用来将设备成功集成到更大系统中的工具。
重要的是要记住,从事系统其他组件工作的人可能几乎对您正在设计的嵌入式设备一无所知。而且,他们可能不想要超出严格必要的知识,他们有自己的项目要担心。这是界面控制文档起作用的地方。成功的嵌入式设计的一个关键方面是开发有组织的,直观的界面,然后仔细记录这些界面,以便将您的设备有效地集成到更大的系统中。

结论
嵌入式设计是一个有趣的领域,因为它结合了令人愉悦的各种技能和任务,包括模拟设计,固件开发,PCB布局,接口设计和系统集成。如果您从事的工作是嵌入式系统,请随时在注释中对其进行描述,以便我们可以对属于此类别的设备类型有一个更完整的了解。







评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表