Filter
清除
Role
Software
Content Type
Region
嵌入式人工智能 如何嵌入式AI在2020年及以后发展 1 min Blog Electrical Engineers Electrical Engineers Electrical Engineers AI、机器学习、物联网、边缘计算……在嵌入式硬件和软件社区中的热词列表很长,但这些词汇因为在开发者之外变得更加普遍而脱颖而出。过去大约10年里,通用嵌入式计算的进步令人印象深刻,已经达到了我可以将我公司的区块链节点放在我口袋里的地步。通用计算确实已经走了很长的路,改变了现代生活。 那么嵌入式AI呢?如果你看看嵌入式AI计算平台的进步,它确实落后于通用嵌入式计算。在最近过去,嵌入式AI并不是真正的嵌入式,并且严重依赖于云计算。一类新的ASIC即将改变嵌入式AI的动态,硬件设计师应该准备好围绕这些新组件构建系统。以下是嵌入式AI世界即将出现的内容,以及新的嵌入式系统如何利用这些变化。 从云到边缘 嵌入式AI的梦想是在边缘以专用硬件进行高效能计算。这些设备上的AI模型需要能够在设备级别或在云中进行训练,然后需要将训练好的模型传回边缘。回顾最近过去以及AI景观的演变,我们已经看到了从云到边缘的计算能力缓慢卸载。 这在很大程度上得益于更便宜、更强大的嵌入式计算平台。像树莓派或BeagleBone这样的板子足够强大,可以在设备级别使用预训练模型提供数值预测或简单分类(例如,图像、文本或音频)。然而,在这些平台上进行设备级别的训练需要大量的时间,因此训练最好在云中进行。新的AI特定硬件平台正试图填补这一空白,并已成功加速计算并启用更高级的任务。一个例子是结合 对象检测、面部识别和视频数据的图像分类,这使得在安全和汽车等领域的应用成为可能。 嵌入式AI从云到边缘的进展。 谷歌和英伟达最近在发布专门用于嵌入式AI应用的硬件平台方面有些许竞争。谷歌的TensorFlow处理单元(TPU)作为Coral硬件平台的一部分发布;这个平台专门用于在设备上运行TensorFlow模型。这使它更接近一个真正的特定应用嵌入式AI平台。 NVIDIA的Jetson平台虽然仍然类似于通用计算平台,因为它使用GPU,但固件专为设备上的AI计算而优化。目前,NVIDIA提供了四种专为AI设计的选项,可用于嵌入式应用。这些NVIDIA产品仍然消耗相对较大的功率并产生极端的热量,因为它们是基于传统GPU架构构建的,这限制了它们在较小的IoT产品中的用途。 嵌入式AI瓶颈:关注专为AI设计的IC 嵌入式AI的瓶颈不是处理瓶颈,而是尺寸和热量瓶颈。通用处理能力是存在的,GPU/TPU产品已被降级为通用嵌入式AI。想想亚马逊的Alexa;你不需要一个特定应用的处理器来执行嵌入式AI任务,因为设备需要执行许多其他功能。此外,它从墙壁插座获得持续的电力,并设计为持续连接到互联网。这类嵌入式系统要执行的任务范围足够广泛,不需要专用的IC。 在高度特定的应用和功能中的新型IoT产品需要新东西:一个专为AI设计的IC。当我提到“专为AI设计的IC”时,我不是指GPU或TPU。相反,我指的是具有专用硬件架构的IC,用于以较低的功耗运行特定类型的AI模型,且几乎没有或没有外设。 无晶圆厂IC初创公司正在加大力度填补这一空白,提供可以在其他产品中实施的新IP,或提供高度特定应用的嵌入式AI能力的独立IC。我正在合作的一家公司即将发布这样的 产品,以针对5G-IoT、机器人、工业4.0以及其他预计将由嵌入式AI主导的领域。 如果你正在构建新的IoT产品、机器人、汽车产品或其他需要嵌入式AI能力的系统,请注意具有以下一些特性的新型专为AI设计的IC: 设备上的训练:这方面的嵌入式AI仍然依赖于云计算能力,但最好的专为AI设计的IC将允许设备上的训练,例如,在监督学习应用中。 高速接口:显然,任何专为AI设计的IC都需要与板上的其他组件接口,并且它将使用一些高速接口。I2C和SPI是理想的接口,尽管我预计其他高速接口将被用来连接计算机外设。 针对特定AI模型的优化:AI/ML模型涉及重复的矩阵计算和优化步骤,硬件架构将被设计为执行不同AI/ML模型中涉及的算法。 低功耗:将AI计算的功耗降低到亚毫瓦级别对于持续的设备上训练、分类和预测在数据密集型AI应用中至关重要。一个优化的架构可以帮助设计师克服热量瓶颈,这也允许新产品的整体尺寸被减小。 全方位视角:回归数据中心 阅读文章
FPGA与MCU:您应该使用哪种处理器? 1 min Guide Books 我最近为一位客户组装了一个高功率电压转换器,在整个设计过程中,我一直试图避免使用MCU。一旦客户想要在电路板上添加调光功能,我不得不添加一个带有100,000次循环EEPROM的小组件。对我来说,这并不是什么大问题,因为在每块电路板上花费$0.33来添加这个功能是一件简单的事情,同时也允许系统以后重新配置。这让我思考了一个有趣的问题:什么时候应该选择FPGA而不是MCU? 我合作的设计师们生活和呼吸着Arm、STM、TI和Nordic的MCU模块/SoCs,这主要得益于制造商通过SDKs的支持。那么FPGA呢?你可以期待同样级别的支持吗,你应该选择FPGA作为嵌入式组件吗?这类问题的答案并不总是那么简单。以下是你在选择FPGA与MCU时应该考虑的事项,以及你在哪里可以为你的电路板找到新组件。 FPGA与MCU的能力 我记得当我第一次开始认真从事电子设计工作,并开始阅读不同组件的首字母缩写汤时,起初很难看出一些数字处理器之间的区别,但理解每个组件在不同应用中的限制对我有很大帮助。你可以编程进这些处理器的限制也对于理解何时选择每种类型的组件至关重要。 我将立即讨论这些方面,但我有时仍然会收到来自年轻设计师的偶尔问题:FPGA和MCU是什么?它们都提供计算能力,所以它们一定是完美的替代品,对吗?这取决于你需要执行的应用。 为了了解FPGA与MCU组件之间的区别,将它们与ASICs进行比较会有所帮助。ASIC中的“A”告诉你该组件是为更大系统中的特定应用而设计的。示例包括: 数字信号处理芯片 VCO集成电路 RF收发器 以太网控制器 列表还在继续。任何ASIC都会为一系列狭窄的任务提供非常具体、有时是可编程的功能。ASIC中的集成级别也因芯片而异。微控制器在某种程度上也是可编程的,尽管可以执行的任务比ASIC的固件中内置的任务范围更广。MCU旨在适应性强,可以执行你能够使用制造商的SDK编程到设备中的任何任务。 FPGA的乐趣和复杂性在于其可定制性。我喜欢将FPGA视为可定制的ASIC。如果这个悖论让你感到困扰,只需知道在设计ASIC时,你可以将FPGA作为原型设计的一部分。这是因为FPGA上的所有逻辑块都是可配置的(它们基本上是SRAM单元)。你从头开始构建固件,并且可以定义任务在设备上的硬件级别如何执行。这是你无法通过MCU或ASIC做到的。 FPGA vs. MCU vs. ASICs:特定与通用的光谱。 那么SoCs/SiPs/SoMs呢? SoCs的有趣之处在于它们在计算能力上可以从特定到通用。组件制造商会将“SoC”、“SoM”或“SiP”这样的术语附加到新的集成电路上,只要这些任务过去需要多个分离的集成电路来执行。这些组件高度集成,并且它们可以在特定与通用的光谱上任何位置。 MPUs:更加通用 阅读文章