#pio #utilize #dma #cpu #driver #rp2040 #overhead

nightly hub75-pio

RP2040 的 HUB75 驱动程序。利用 PIO 和 DMA 实现零 CPU 开销。

1 个不稳定版本

0.1.0 2022年8月29日

#11#pio

MIT 许可证

26KB
486

hub75-pio-rs

一个针对 RP2040实验性 HUB75 驱动程序。结合使用可编程 I/O (PIO) 单元和 DMA 实现高刷新率、真实色彩深度,同时不牺牲质量,实现零 CPU 开销。

https://user-images.githubusercontent.com/74944/187094663-2f52e020-ccb2-4103-b69b-af8ee2185dd0.mp4

特性

  • 支持最高 64x32 像素的 LED 矩阵,扫描线比例为 1:16
  • 高刷新率(64x32 显示器上,24 位色彩深度约为 2100 Hz)
  • 不使用 CPU 来向显示器输出数据时钟 – 所有工作都由 PIO 和 DMA 控制器完成
  • 使用二进制色彩调制
  • 双缓冲
  • 实现 嵌入式图形 特性

要求

当前实现假设以下数据输出组分配到 RP2040 的连续引脚上

  • R1, G1, B1, R2, G2, B2
  • ADDRA, ADDRB, ADDRC, ADDRD

lib.rs:

hub75-pio

一个针对 RP2040实验性 HUB75 驱动程序。结合使用可编程 I/O (PIO) 单元和 DMA 实现高刷新率、真实色彩深度,同时不牺牲质量,实现零 CPU 开销。

特性

  • 支持最高 64x32 像素的 LED 矩阵,扫描线比例为 1:16
  • 高刷新率(64x32 显示器上,24 位色彩深度约为 2100 Hz)
  • 不使用 CPU 来向显示器输出数据时钟 – 所有工作都由 PIO 和 DMA 控制器完成
  • 使用二进制色彩调制
  • 双缓冲
  • 实现 嵌入式图形 特性

要求

当前实现假设以下数据输出组分配到 RP2040 的连续引脚上

  • R1, G1, B1, R2, G2, B2
  • ADDRA, ADDRB, ADDRC, ADDRD

依赖项

~12–21MB
~289K SLoC