如何找出微处理器是否足够强大


9

每个人都知道很容易为rasbperry pi甚至PC上的嵌入式设备开发概念验证,尽管要归结到为您的产品选择微处理器时,很难确保您的选择将使您的概念能够正常工作最佳。

我目前有一个成功的媒体流项目可以在树莓派上工作,尽管pi对于最终设备来说是很大而又庞大的。还说明了终端设备是定制的。我很难找到对我可以使用的处理器的信心。

找出处理器是否足以运行我的应用程序的好方法是什么?

基本上我的要求是:

  • USB主机或嵌入式TCP / IP堆栈用于WiFi操作
  • I2S / PCM媒体协议
  • I2C用于外围设备配置

寻找具有这些特性的芯片非常简单。老实说,这再简单不过了。问题在于能够从处理和操作角度判断芯片是否足够快。

我已经看过LPC4337了很多,尽管开发环境给我带来了很多麻烦,但我仍然觉得它很合适,因此我仍然四处寻找,这使我从德州仪器(TI)转到了CC3200。 ,尽管该控制器仅以80 MHz的频率运行,但我不确定这对于实时媒体流是否足够强大。

有哪些步骤可确保处理器对我的应用程序足够?就像我如何知道80 MHz处理器是否足够好,还是我需要204 MHz甚至更高的数量?


1
我认为您还需要提供电源要求。
kolosy 2014年

这不能解决您的问题,但是您可以考虑使用新的PIC32MZ系列单片机,它们具有两倍的闪存(2MB)和三倍的RAM(512K),以及USB 2.0主机,I²S和五个I²C模块的价格与LPC4337相同。IDE(MPLAB X)和编译器可以免费试用,但是在试用期过后,您需要购买优化的编译器(未优化的GCC编译器仍然免费)。Microchip具有用于USB和TCP / IP堆栈的免版税库。
tcrosley 2014年

2
我认为有些人可能遗漏了问题的重点。我不是在寻找零件的建议。确保芯片上有足够的空间或适当的外围设备很简单。我的主要目的是寻找处理参数和步骤,以确保选择足够强大的处理器。就像它的速度一样。
Funkyguy 2014年

如果您不能从规格中分辨出您需要什么,可以订购样品和原型吗?
罗杰·罗兰

@RogerRowland我可以,尽管那是一个非常漫长的过程。确实有某种方法可以找到程序的最低规格
Funkyguy 2014年

Answers:


5

这取决于您要有多自信。我从事航天工业,通常通过所谓的“ CPU,RAM,ROM预算”来实现。预算(无论是耗费力量还是其他费用)正在将您的流程分解为可管理的项目,您可以对这些项目进行量化和汇总,以求得整体需求。然后,您将根据项目的成熟度采用安全系数,并随着时间的推移而降低,以考虑需求的增长。早期,它严重依赖经验,然后随着技术的选择不断完善。

  • ROM比较容易。您知道堆栈/库/驱动程序大致占用ROM内存的数量:由作者指定,也可以编译而无需上载。尽管由于编译器的优化,但是每次更改代码时,该数字都会发生很大变化。
  • RAM要复杂得多。专门的集成开发环境中的一些工具为您提供了运行时估计,我可以看到如何做到这一点,但是我不知道任何通用工具-例如,由GCC提供的工具(有人知道吗?)。令人遗憾的是,听起来确实要计算代码中最大或分配最多的元素(考虑变量生命周期)。
  • CPU更为复杂,因为根据体系结构(CISC或RISC),MIPS(每秒数百万条指令,与CPU时钟频率成正比)可能具有代表性,也可能没有代表性。因为如果您手边有代码,则可以将最关键的部分分解为说明,然后根据时间要求计算所需的MIPS。任何非禁用的中断都应该被认为是在那时被触发的-墨菲定律及所有其他一切。

一旦有了线程(除非将线程手动分配给内核)和操作系统,以上内容就很难准确确定调度程序何时启动。对于简单的微控制器代码,它应该是可管理的,但是对于您的应用而言,这值得吗?

这只是我的参与:即使我设计集成系统,我也不负责那些特殊的预算(这是我的投入),实际上,我很想了解专家对此的看法。

附录:对于实时系统,通常更容易通过最大采样时间来评估系统对任务的适当性,该最大采样时间取决于整个工作流程中信息传输的延迟/延迟以及每个过程所花费的最大时间任务样本。


avrdude可以估算出全局变量占用了多少内存,但是您必须使用空运行选项来运行它,因为从根本上说,它是一个上传工具。
felixphew 2014年

1
估计IMO的最难的部分是堆栈和堆的使用情况。我们当前在PIC32上运行的嵌入式系统(专有OS)通常运行着25个以上的任务,其中许多任务处于活动状态时需要几K堆或更多。您将获得其中的几种,再加上大量的堆栈使用,您很快就会快用完RAM。我
大约

有趣,谢谢。您是估计代码(代码分析或特定工具)分配的RAM量,还是在运行时进行测量?在我看来,MIPS的估算有点困难,因为与RAM的使用不同,无法通过分析代码而不将其分解为指令来估算MIPS(可能,不容易)。线程使任务变得异常困难,但是听起来CPU分析仍然需要更多步骤-总体而言,这没什么问题。你怎么看?
米斯特先生(MisterMystère),2014年

2

我将把您的问题简化为“如何找出微处理器是否足够 ”?
您需要确定需要最快执行时间的流程/过程。如果您的处理器可以在给定的时间内或更短的时间内执行所需的指令,那么它足够快。
让我们看一个例子:最快的要求是处理掉电中断。这需要10,000条指令在10毫秒内执行。您将需要一个至少具有1个MIP的CPU。要将其转换为“ MHz”,您需要知道每条指令的时钟周期数(cci)。假设它是10 cci,则您的CPU需要以10 MHz或更快的速度运行。


0

如果您希望降低BOM成本,那么有时深圳的制造商可能会提供一些令人惊讶的报价。一个例子:Allwinner A10比Raspberry Pi具有更多的计算能力和连接选项,但是如果在您的设计中使用它可能会更便宜。如果您希望以与Pi相同的价格购买,则Allwinner A31s的功能要强大6-8倍。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.