Large outdoor RGB displays - FPGA or other micro used??

Anything about FPGA boards, like how to assemble SMD components, find low-voltage regulators, FPGA configuration...

Large outdoor RGB displays - FPGA or other micro used??

Postby gilmoret » Wed Feb 04, 2009 1:23 pm

I am an electrical engineer and I know almost nothing about FPGAs and pretty much C programming in general other than what was told to me in college 10+ years back. However, I have spent the last 3-4 years designing mainly smaller (e.g. 8x8 to 64x64) LED Displays and other projects with Parallax micro-controllers such as the Basic Stamp 2 (BS2) using its PBASIC language, and SX28 and SX48 micro-controllers using the SX/B language (BASIC like).

I recently got some AVR based micro-controllers - Arduino Duemilanove and a Sanguino to experiment with and learn to use. I have gotten them to work with a few of the example programs so I know the beginers basics.

I was hopeing to use these Arduino's for LED Matrix displays for very large industrial sized indoor/outdoor (possibly RGB with PWM) displays.

However, I don't think any of these have the horsepower or language capability with PWM control for SPI that I would need for this project.

I am looking at an FPGA approach to see if this project has to be done with FPGAs or can micro-controllers fit the bill.


I'm questioning if these Arduino boards and Parallax SX chips can handle what is needed for controlling large displays or do I need to go with an FPGA design. Has anyone done this before with success? I am also looking at using a MikroElectronika BigAVR2 board with their BASIC with an ATmega2560 if the Arduino doesn't have the horsepower for this.

The Parallax SX chips have the speed at up to 50 MHz or possibly 75 MHz but was lacking the correct PWM for these a display of this magnitude. The displays I have are SPI based with PWM of which nothing had been done with Parallax chips using both SPI and PWM from what I could find.

Am I going in the correct direction for a project like this? Hopefully I don't if I have to go the way of FPGAs but just want some honest answers to know if the AVR chipsets can handle what I am trying to accomplish adequitely or if I need to go in another direction before too much time and money is invested if I need to go with FPGAs.

Thanks to all for your time and honest answers.
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Wed Feb 04, 2009 2:01 pm

I have some 16x8 RGB modules that are either single color (Red) or RRGB. They are SPI based with no PWM control lines on them yet, they are used in large displays with PWM characteristics for the 16M colors (RRGB) and 256 shades (single color) from what I see in the datasheets.

24 of these (16x8 pixel modules) make up a cabinet and many cabinets make up a large outdoor sign. A single PC (computer) card (with ethernet) control board is used which I am trying to develop an interface to replace this with my own software and micro-controller board. 1000's of LEDs need to be controlled with PWM shading for color control.
The 16x8 modules already have the LED SPI driving software on them. All one needs to do is interface to the SPI lines on each module as well as the RRGB lines for data. I have been able to use a Parallax SX28 and send data out to display a smiley face already. However, I don't know about doing PWM effectively if at all with SPI.

Here is another forum with posts and information about my project. There are also datasheets and files attached for you to see.

http://www.electro-tech-online.com/show ... post657708
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Wed Feb 04, 2009 3:29 pm

I like the Youtube video - Very nice! My display will be something of this magnitude.

So you used 16 Parallax Propeller chips. Did you use LED modules already manufactured (e.g. from China) or make them by hand? You stated you used a PWM LED driver being the Texas Instruments TLC5490. However, my 16x8 RGB modules only have SPI signals on them like what you would see on a 74HC595 so I question how PWM might be done on these modules using SPI.
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Wed Feb 04, 2009 3:59 pm

Thank you for your reply.

A question that keeps coming back to me is that the Datasheet says that these 16x8 RRGB modules have 16 million color capability but the LED drivers MBI5024 do not have PWM capability built into them. So it must be possible to have PWM capability with these SPI LED drivers (MBI5024) on the 16x8 LED modules somehow. Why would the manufacture of these 16x8 LED modules even develop them to only have a single color of Red, green and blue unless there was a way to have PWM for 256 shades of red, 256 shades of green and 256 shades of blue LEDs. It does not make sense that this is possible for a manufacture to only design them for 1 shade of red, 1 shade of green and 1 shade of blue.

I hope you understand what I am saying.
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Wed Feb 04, 2009 6:26 pm

Thank you for your analysis of the situation.

There are (32) MBI5024 LED driver chips already mounted to the 16x8 pixel module on the printed circuit board. I can't just take them off and not use them.

I do have a few A6281 samples that I have worked with. It is very similar to 74HC595 SPI chips. But these do not have a PWM signal line on them like the TLC5490 has so how would this be usefull? The A6281 is similar to the MBI5024 except that the MBI5024 has 16 outputs and the A6281 has only 8 outputs for LEDs.

So from what I am hearing you say, we can not use the 16x8 modules for PWM because the MBI5024 LED driver chips do not have a PWM control line. Also you stated that using an FPGA will not be pratical and too expensive for PWM control on the MBI5024 SPI pins.

Also you stated that the high speed data transfer from a video source through a PC to a micro-controller to the RGB LEDs is most difficult problem where using an FPGA would be a benefit.

Thanks for your insight to this.
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Wed Feb 04, 2009 7:16 pm

The 16x8 modules have a printed circuit board on the backside already with the MBI5024 LED drivers already soldered in from the manufacturer. I can not change this design.

I got the Allegro part you mentioned backwards. You stated an Allegro A6281 and my part is an Allegro A6821 (which is similar to a 74HC595). Your part (A6281) does have PWM control so you are correct on that.

The 16x8 modules are DI-P20F1 (or also called Absen-OF20V-A1) and here is the datasheet.

http://www.dicolor.cn/led_display_panel ... module.pdf

Look specifically on page 2 under "Grey Scale". It states 256 greys for each color 16,777,216.

This alone indicates that it must be PWM capable "somehow"

Here is what they look like fully assembled (The website is slow to load):

http://www.szabsen.com/Products/20084/absen_P_287.html

But they state it is a "FULL COLOR" which must mean it is certainly more than 2^8 colors (as you stated before).

SO with all of this data backing me up, how can the Absen modules provide PWM for 16 million colors "FULL COLOR" with no PWM signal line:

http://www.mblock.com.cn/products_mbi5024.html
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Wed Feb 04, 2009 7:56 pm

I have already provided a link to the datasheet for the 16x8 module which uses the MBI5024 chips. On the bottom of page 1, the only connections are listed. I have conected to this module and made simple displays on them but don't see how "FULL COLOR" PWM is possible.

Here is the link again (see page 1 at the botom) for the module connections:

http://www.china-led-sign.com/led_displ ... module.pdf

I'm sorry if I am asking too much - It's just that no one has been able to help me figure out how this is possible and if I can do this with a micro-controller or must use an FPGA.

Thanks.
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Wed Feb 04, 2009 8:41 pm

OK.

The datasheet link I sent was of the 16x8 module which uses (32) MBI5024 LED drivers which do not have a PWM signal. But all that I do have to work with is the pin connections on the back of the 16x8 module - none of which are for PWM.

I think I sent a link before for the MBI5024 datasheet itself but it is in Chinese and I did not see any reference to PWM as it still only provides the SPI connections that are on the back of the 16x8 module anyway.

So the PWM mystery goes unanswered.

So this 16x8 module is impossible for PWM control then. If I were to redesign my own 16x8 module using the TLC5490 chips or the A6281, then can you recommend an FPGA that I should look at to accomplish this? Keep in mind that I have never used FPGAs and would want a development kit or something to learn from also.

Thanks again!
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Thu Feb 05, 2009 1:43 pm

I have a little better news today. I decided to simply email one Chinese company that sells this 16x8 module. Unfortunately, the only contact is an email for their Marketing director. However, he did provide some usefull information about this.

From his broken English writing, he stated that the following:

As you know, PWM is one way of driving method, but we are not using this method here. What we are using is the static status same current, and our driving method is MBI5024, I send you one specification of MBI5026, which is same serial of the MBI5024.

I then started to use Google to get a better search phrase for "static status same current" and came up with "SPI constant current static LED driver"

This provided some insight that there was another method besides PWM.

Also it appears that the MBI5026 is close enough to the Chinese only version of the MBI5024 datasheet. Here is a link to the MBI5026:

http://www.datasheetcatalog.com/datashe ... 5026.shtml

From reading through it, it appears that controlling the forward voltage (Vf). This is done through Vds that it has a range of 0.4v to 1.0v which keeps the current constant. On the first page it mentions Vf and on page 12 it goes into more detail.

So I need to find a way to only send a changing voltage to a particular pin. This still sounds like a PWM method (e.g. Analog voltage). However, how does one do this via SPI to a particular LED output?

Comments, Ideas are welcome.
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Thu Feb 05, 2009 2:38 pm

Yes. I have already been able to display a pattern on a couple of cascaded 16x8 displays for red, green and blue LEDs. I used a smiley face picture. 1/2 was on each display (lower half on the first and the upper half of the smiley face pattern was on the upper display). In theory, I guess by cascading two of them, I was able to create 2 * 16x8 or 1 16x16 display in RGB.

However, getting back to your point of "high bright". Yes. But I do not know how to do PWM over SPI or in this case, Static Constant Current over SPI.
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Thu Feb 05, 2009 4:27 pm

The data is being READ in from DATA statements and is in a loop so it is constantly being pushed out over and over.

What you are saying sounds like Duty Cycling which is ok if you want the entire display dimmed but I want to have control of individual LEDs so that a group of RGB LEDs can have a range of 16 million colors (256 shades of each one).
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Postby gilmoret » Fri Feb 06, 2009 1:08 pm

I have emailed again the display company contact person and I am only getting general non technical answers that I already know from their datasheet.

I also emailed the MBLOCK company which manufacturers the MBI5024 and MBI5026 with my questions about how this works using static constant current to a specific LED output. I doubt I will see much of a reply but lets wait to see.

I do not have to have my program in a loop and can do what ever you think needs to be done.

Let me know if you can help or not with this.

Thank you.
gilmoret
 
Posts: 14
Joined: Wed Feb 04, 2009 1:11 pm

Next

Return to General boards