USB Hardware Stacked onto FPGA BOard |
Hardware
Hardware is based on the PIC32MZ2048EFM Board which i have published earlier Schematic and
Here is the The project Details
SPI Limitation
Max SPI frequency PIC32MZ2048 can do is 50Mhz , and frequency of 50Mhz is achievable but because of limitations of the DMA there is certain delay between spi bytes , which limit MAX spi transfer rate .
Firmware
Firmware run USB HS, With Right now only one single Interrupt end points USB data is also some what limited. I had initially tried with USB bulk endpoint but because of surprising ~100ms time delay between usb bulk packets made me switch to interrupt endpoint which has low but guaranteed bandwidth. Low bandwidth with USB interrupt transfer cases limit on max frame rate.
With USB Bulk endpoint , USB Bandwidth was not limitation. I may try to improve bandwidth by moving to isochronous or fix issue with bulk endpoint.
Source of firmware can be find the same repo with other MIPI DSI Bridge project files
https://github.com/circuitvalley/mipi_dsi_bridge_fpga
QT5 Application
|
|
Drawing is also supported with adjustable pen width color |
Qt5 application uses libusb to communicate with the PIC32MZ. Application can take images from a folder and transmit them over USB with a timer or manually.
Application can also take screenshot of the scree to make it work as if like USB display. Max frame rate support is 60 FPS but right now limited to around 20 FPS by USB interrupt transfer. Improvement are possible once moved to bulk or isochronous endpoint.
YouTube video
Source of firmware can be find the same repo with other MIPI DSI Bridge project files
https://github.com/circuitvalley/mipi_dsi_bridge_fpga
No comments:
Post a Comment