0

我有一个可与 50MHz SPI 接口一起使用的 DAC。它是一个具有 8 位地址的 16 位 DAC,因此我需要发送 24 位数据。我想使用 Pico 向 DAC 发送数据,以产生 1 kHz 的正弦波,采样数为 20(因此采样率不超过 20ksps)。我使用 Micropython 对 pico 进行编程,但无法获得超过 500 hz 的波。我在做什么错.....有没有办法使用 DMA 来加速这个过程?DAC还需要芯片选择,它不在机器模块中,所以我不得不使用gpio。这是否会减慢进程?

4

1 回答 1

1

除了任何其他问题,RP2040 中的 SPI 硬件实现仅提供对高达 16 位传输的 CSn 的自动控制。

对于您的情况,在 PIO 子系统中实现一个简单的、24 位固定格式、仅输出的 SPI 非常简单,并且具有只需要一个 DMA 通道来进行完全 DMA 操作的优点(与至少 2 个链接的用于完全 DMA SPI/GPIO 方法的 DMA 通道)。RP2040 数据表中的示例已经提供了大部分实现。

于 2021-07-13T16:22:01.207 回答