远程传感器的微控制器与微处理器

2022-11-16 09:14      千家网


  作者:Malcolm Dimeglio

  当你在制造低功耗的电子产品时,很容易感到不知所措。有这么多不同的组件和技术,可能很难知道从哪里开始。最近,MistyWest的一家客户希望重新设计其现场部署的物联网环境监视器,以使其包装更小、更轻、更省电,电池续航时间更长,可以更轻松地放置在偏远地点。为了实现这一点,他们面临着一个选择,是选择配备微处理器的基于Linux的单板计算机,还是使用基于微控制器的计算平台。让我们来看看微控制器和微处理器在设计成功的远程传感器时的不同之处,这样您就可以获得为未来应用选择正确解决方案所需的信息。

  微控制器套件与SBC

  微控制器是一个小型的一体化计算平台,具有板载内存、内置定时器、IO处理和其他与电气硬件交互的功能。微控制器通常用于遥控器、玩具、工业设备、汽车和植入式医疗设备等设备。您可以在Arduino等微控制器套件中找到它们。

  微处理器类似于传统的计算机CPU,它只是处理器,需要连接到外部存储器、定时器、存储器和IO外围设备才能工作。微处理器通常功能更强大,并允许通过选择精确的存储器、定时器和所需的其他功能来进行更细粒度的硬件设计。你会在消费计算设备中发现微处理器,像Raspberry Pi这样的小型廉价单板计算机(SBC)的增加使它们能够用于智能设备等新应用中。

  优缺点:微控制器与微处理器

  当谈到微控制器与微处理器时,您必须考虑计算能力、您的问题的资源密集程度以及其他几个变量。您的传感器需要简单的传感器读取(低强度)、图像处理(高强度)还是机器视觉/人工智能(非常强)?对于开发,能不能用现成的操作系统,或者重用别人的代码?您需要多少功耗或电池寿命?

  以下是每个功能的详细分类:

远程传感器的微控制器与微处理器

  计算设备之间的优势和劣势

  #1:计算能力

  一些微控制器在设计时考虑到了低功耗,并指定以降低的时钟频率运行,这意味着芯片计算速度更慢,但功耗更低。这使得微控制器适用于计算密集型应用,如传感器读取、串行通信或机械控制系统,但它们往往不具备处理计算密集型任务的处理能力,如图像处理。

  相比之下,Raspberry Pi等商用微处理器主板的计算能力通常更强,可以支持更复杂的任务,如流式视频或运行本地网站。也有带附加模块的微处理器,如Nvidia Jetson Nano,它有一个图形处理单元,用于机器视觉和人工智能等任务。

  #2:软件包、开发资源和支持

  如果你选择像Arduino或Raspberry Pi这样的成熟平台,有许多现有的开源库和社区可以帮助调试问题。但是,如果您选择一个更专业、更不常用的平台,那么在整理文档和尝试解决问题时,您可能会孤军奋战。您需要决定是否需要特定平台的专用特性,并在支持之间进行权衡。

  使用嵌入式Linux解决方案,以太网、音频和视频等常见连接的大多数基本驱动程序都已经可用、经过测试并且稳定。相比之下,您可能需要为您的特定微控制器编写驱动程序来连接外设,这可能非常耗时且具有挑战性。

远程传感器的微控制器与微处理器

  电池充电

  #3:功耗

  基于微控制器的主板通常比基于微处理器的单板机消耗更少的能量。原因之一是微控制器通常比微处理器运行在更低的时钟频率,这反过来也意味着计算能力的降低。

  #4:编码语言支持

  如果你在微控制器上运行你的代码,你可能需要用C或C++这样的低级语言来构建你的软件。在带有Linux发行版的微处理器上,您将有更多语言可供选择。这有助于更快地创建POC(概念验证)。有许多像相机、传感器等外设的库。例如,用Python这样的高级语言编写。通过选择一个可以运行这些语言的平台,你将能够利用这些开源库。但是,如果您的解决方案需要大量低级硬件操作,这可能没有帮助。

  #5:代码可移植性

  代码与硬件的集成有多紧密?如果你为一个微控制器编写一个裸机应用程序,切换到另一个平台将是一个挑战——例如,运行FreeRTOS的项目使切换变得更容易。如果您使用基于Linux的SBC和USB等协议上的外设,那么更改计算平台会更容易,因为通常有可用的库和驱动程序。根据您计划使用的工具,一些平台可能比其他平台更灵活,可以互换。

远程传感器的微控制器与微处理器

  启动时间

  #6:启动时间

  无论是裸机还是运行RTOS,运行嵌入式Linux的SBC的启动时间都比微控制器长得多。当使用SBC时,应用程序在启动时不能依赖于固定的时隙,几秒钟的启动时间是可以接受的。

  #7:成本

  一般来说,微控制器比微处理器便宜。例如,顶级的Teensy价格为26美元,旗舰Arduino板(Uno)价格为25美元,而旗舰Raspberry Pi板(Pi 4)起价为35美元,更昂贵的板如Jetson Nano可能高达130美元。这两个领域的成本相差很大,市场上有很多选择。

  做出最佳选择

  最终,SBCs和微控制器套件都是需要计算的嵌入式应用的解决方案。用例将告诉我们哪个选择是正确的。带有嵌入式Linux操作系统的SBCs虽然价格更高,但它提供了更强的计算能力,并允许快速启动您的项目,为您的应用程序编程语言提供了广泛的选项,非常活跃的在线社区,以及有利的可移植性。另一方面,微控制器更加节能,并允许完全控制和微调其内部配置,但可能需要考虑额外的功能开发时间。

  当在微控制器和微处理器之间做出正确选择时,如果需要快速原型进行概念验证,或者如果设备将用于推理、对象定位或其他要求苛刻的计算任务,SBC可能是更好的解决方案。代码的可移植性和系统的灵活性将大大简化开发和维护。

 

相关阅读

    无相关信息