【问题标题】:How do I know when I need a dedicated DSP chip?我如何知道何时需要专用 DSP 芯片?
【发布时间】:2014-06-16 14:38:24
【问题描述】:

在设计嵌入式系统时,我一般如何判断标准微控制器所需的浮点处理何时过多?

如果有人好奇,我正在设计的系统是卡尔曼滤波器和一些电机控制。但是,我正在为一般情况寻找一种工程方法。

【问题讨论】:

  • 你构建它,看看会发生什么?或者你分析你的设计,看看它的处理要求是否低于你的控制器可以提供的。由于您根本没有提供有关您系统的详细信息,因此我们无法为您提供真正的帮助。
  • 通常你会对你正在使用的算法做一些基本的分析(每个样本有多少算术运算等),然后插入一些数字,比如采样率等。你也可以单独考虑是否需要任何DSP 的特殊功能,例如模寻址、位反转寻址、定点、内置 I/O 等

标签: signal-processing microcontroller


【解决方案1】:

找出给定处理器是否可以解决您的问题的一般情况是估计每秒必须运行的浮点运算数量,然后将其与处理器可以执行的操作进行比较。

这种理想情况会受到内存访问时间、I/O 中断等的影响。在实践中,您必须运行它(尽管您不想听到)。

对于卡尔曼滤波器情况: 1. 了解采样率、状态变量的大小和测量变量。 2.卡尔曼滤波器的复杂度主要由矩阵求逆和多次矩阵乘法决定。 (O(d^3),d:状态变量的大小,或信息过滤器(逆问题):O(z^3),z:测量向量的大小)在线或书籍中您会找到详细分析卡尔曼滤波器所需的操作。 3.找出算法中运行了哪些实际操作,并添加算法每个部分所需的操作数。

对于一般的微控制器或 DSP,分析基本相同,只是有些东西在 DSP 上是免费的。

【讨论】:

  • IAR 的 EWARM 有一个模拟器,您可以在其中编译和运行代码。然后您可以运行函数分析器来为您提供指令总数。它是用于估算 ARM 的 CPU 需求的好资源。
猜你喜欢
  • 1970-01-01
  • 2020-07-13
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
  • 1970-01-01
相关资源
最近更新 更多