CSR8675芯片中的MCU、VM、固件和Kalimba DSP有什么区别?

物联网 微控制器 音频DSP csr-adk
2021-06-23 02:37:16

这个问题是关于了解CSR8675蓝牙音频芯片的内部工作原理

这四个术语在使用CSR8670/8675芯片时不断弹出

  1. VM(虚拟机)
  2. 固件
  3. MCU(微控制器单元)
  4. 卡林巴DSP

有人可以详细解释一下它们之间的区别是什么吗?我对VM和固件的区别有一些了解,我相信kalimba DSP可以被认为是一个完全独立的处理器,只是封装在同一个8675芯片中,但是MCU在哪里适合这一切?蓝牙堆栈也是 MCU 的一部分吗?

单片机和接口的块模型

8670 数据表可在此处下载

1个回答

你是对的,DSP 是 CSR8675 中的一个独立处理器。它具有程序和数据存储器。

所有图像均取自链接的数据表。

mcu DSP 周围的块图片

DSP(数字信号处理器)是一种专用处理器。它具有额外的硬件单元、并行指令执行支持,为您提供一个更好的平台,具有更好的性能来处理音频、视频和此类需要在短时间内处理大量数据的信号。查看链接了解更多详情。你的软件的音频处理部分应该在这个处理器上实现。

MCU 是一个更通用的单元,数据手册称其为“应用处理器”。它用于应用程序的更高逻辑。在 DSP 处理音频信号的同时,该 MCU 可以处理 LED 驱动、电容感应和 USB 连接等一般事务。

用于有线和无线应用的 BlueCore® CSR8670™ BGA 消费类音频平台将超低功耗 DSP 和应用处理器 与嵌入式闪存集成在一起


至于固件和VM。第 104 页为您提供了该软件的全面图。

mcu 的固件架构模型

固件是指设备的整个软件,由不同的部分组成。

  • 制造商在 MCU 上的片上软件。这可以是例如 BT 堆栈,正如您所怀疑的那样。

    内部 MCU 运行蓝牙堆栈直至 HCI。

  • 您在 MCU(在 VM 中)上的应用程序。VM 是您的应用软件可以放置在 MCU 程序存储器中的环境。

    应用软件的软件层在称为 VM 的受保护用户软件执行环境中的内部 MCU 上运行

  • DSP 应用程序,您只需在一个单独的单元上即可。

    DSP 应用程序代码从 DSP 程序存储器 RAM 运行