Ideas for doing Embedded FPGA design Projects – Color LED Panel
Wherever you need a large number of I/Os in your design, FPGAs can be a suitable option.
The idea here is to build Color LED Panels controlled by FPGAs.
The LED Panel itself should be built with high-powr color LEDS.
The controller can be implemented on the FPGA. The controller should provide suitable interfaces to the user. For example, the set of photos which the user wants to show on the LED Panel screen should be stored as image files on the SD card connect to the FPGA. Your embedded design on the FPGA will read the SD card, will extract the data of each image and will send them with proper timings to the LED panel.
Your FPGA design, might contains one MicroBlaze core (in case you are using the Spartan-3/6) or one ARM core (in case you are using the ZYNQ). The OS running on the CPU and the set of added libraries should provide functions such as those used for reading different standard image/video file formats and extracting per-pixel color data from them.
Furthermore in your design, you need to implement a kind of frame-buffer. An allocated region on the memory which always holds the frame which is going to be shown on the LED Panel. Updating the LED Panel contents will happen through updating this frame-buffer memory. Thus you need to implement a kind of simple graphics card on your board, or well, you can use one of the already available ones.
As I described in my other post, if you want to be really successful in your design, you should obey the design rules.
Your system should be based on one of the standard bus interfaces: the AXI, PLB or WishBone.
I personally always prefer AXI since the other two are either too old or have serious limitations.
Thus it is preferred that all of the components tha you design in your system be able to talk AXI directly. This also allows you to use the vast ensemble of already developed and ready-to-use IP blocks from the FPGA provider (either ther Xilinx or Altera).
Thus your project contains the following steps:
- Build a color LED panel, featuring a Matrix of M*N LEDS. The LEDs also required LED Driver chips, so that LED panel should contain LED Driver chips integrated.
- Take your FPGA board, make suitable connection between the FPGA and LED Panel.
- Develop a simple AXI frame-buffer, responsible for sending the current frame’s pixel data into the LED Panel at each screen update cycle. (e.g. 60 times / seconds )
- Add the peripherals to the system : SD Card, UART, Network.
- Perform practical tests.
باسلام و احترام خدمت شما استاد گرامی
درباره چگونگی ساخت پردازشگر گرافیکی لطفا
منو راهنمایی کنید از زحمات بی دریغ شما متشکرم
Look here
http://opencores.org/project,theia_gpu
This is an example GPU.
Dear Dr. Sadri
Thank you for sharing the idea…
As the frame buffer should be accessed almost simultaneously by write and read module, and suppose that the internal BRAM of FPGA is not sufficient to make a dual-port ram for this purpose, is there any off-chip solution to implement a dual-port memory for this type of projects? (suppose the and screen resolution and refresh rates are big enough so that time-sharing of a single port ram would not works!)
regards.