如何使用树莓派Pico与带SPI的DAC产生1 kHz的正弦波,每周期20 k采样



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

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

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

最新更新