Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
projects:q3kled [2015/12/23 16:43] – q3k | projects:q3kled [2016/01/13 08:26] – q3k |
---|
[[people:q3k:start|q3k]]'s project to create a Zynq-based RGB LED Matrix driver. | [[people:q3k:start|q3k]]'s project to create a Zynq-based RGB LED Matrix driver. |
| |
===== Status ===== | [[https://youtu.be/gnT0wj1DyD0|Video of a 128x128 panel it action at 32c3]]. |
| |
| ===== Overview ===== |
| |
| This project targets the [[projects:zturn-hackers|MYiR ZTurn board]] with a custom buffer interface board (to be released). The programmable logic exposes a 65-kbyte block RAM to Linux running on the PS via a full-speed AXI slave. The logic also loads data from the BRAM, gamma corrects it and outputs it to the RGB panel interface. |
| |
| ===== Current Status ===== |
| |
It works! | It works! |
| |
| Issues: |
| * <del>Vertical glitches</del> Fixed by switching buffers to 5V |
| * <del>Low framerate</del> Fixed by switching buffers to 5V and increasing pixel clock |
| * Horizontal ghosting |
| * No double buffering in hardware |
| * No vsync / interrupts |
| * No runtime configuration |
| * Kernel framebuffer access from userspace (FBDev/DirectFB) locks up whole system |
| * Gamma correction is poor, needs and actual ICC color profile correction |
| * Hardcoded parameters in kernel/mpv driver |
| |
| {{https://owncloud.hackerspace.pl/index.php/apps/files_sharing/ajax/publicpreview.php?x=1278&y=1358&a=true&file=IMG_20151222_185742.jpg&t=vcbwcUxqmTVcCfh&scalingup=0&.png?600}} |
| {{https://owncloud.hackerspace.pl/index.php/apps/files_sharing/ajax/publicpreview.php?x=1278&y=1358&a=true&file=IMG_20151222_212052.jpg&t=naEYL6o4nBA6RJR&scalingup=0&.png?600}} |
| |
| |
===== Components ===== | ===== Components ===== |
| |
* [[https://github.com/q3k/ledvideo|AXI4 Stream IP Core]] | * [[https://github.com/q3k/ledvideo|AXI4 slave IP Core]] |
* [[https://github.com/q3k/q3kled|Linux Kernel framebuffer driver]] | * [[https://github.com/q3k/q3kled|Linux Kernel framebuffer driver]] |
* [[https://github.com/q3k/mpv|mpv fork with direct LED output (bypassing kernel)]] | * [[https://github.com/q3k/mpv|mpv fork with direct LED output (bypassing kernel)]] |