[Noisebridge-discuss] Big LED Screen - potential upgrade?
nils at shkoo.com
nils at shkoo.com
Fri Apr 10 04:49:14 UTC 2009
Hi,
As I said on Tuesday, the LED screen basic functionality works pretty OK
using two arduinos and now it's just left to make applications that use
it. However, we probably won't get up to faster than 5 frames per second
or so, and that's only with really simple patterns. We'll only be able to
do two colors at 1 bits per pixel, red and black. (Though we might be
able to do 2 bpp if I swap out the atmel mega168 chips with the new atmel
mega328, which would be pretty easy since they're pin and software
compatible). Plus, we won't have enough memory to store very much so
we'll be stuck with patterns and maybe text; no non-trivial images.
I'm thinking about redoing it and going "balls to the wall" and making it
able to do full motion video (albeit in shades of red) and networking by
putting in a real processor such as an ARM. How cool would it be to be
able to log into our sign over SSH?
Basically, the hard part is that we need to be able to output 2 serial
channels at between about 1.5Mhz and 3.3Mhz. The catch is that we have to
emit clock signals as well as data signals. SPI will work for this, as
will the USART on some of the atmel devices can run their USART in SPI
mode.
I'd much prefer to use DMA since we're going to spend so much of our time
doing this, and we'll waste a lot of processing power if we have to output
byte-by-byte.
We also need to be able to have at least 4 general I/O pins (2 input and 2
output) but I think that's less tough to come by.
Many of the atmel ARM-based chips (like AT91SAM9260) look like they have 2
SPI controllers, and some of them connect their SPI interfaces to the
Peripheral DMA Controller. Unfortunately their USARTs insist on adding a
stop bit to each byte, which is bad for us and means we can't use them.
(Plus, it's tough to find boards which export the USART clock pins), so I
think we're stuck using the SPI ports.
http://www.sparkfun.com/commerce/product_info.php?products_id=9047 looks
like it might be appropriate board. However, it only makes pins to one of
its SPI ports accessible. I'd much prefer to have two different SPI
devices, one for each half of the sign, but we might be able to make it
work with one. Unfortunately that means we have to shift out at least at
3Mhz to keep up with the refresh rate (which is timed for 1.5Mhz
displaying only half of the board). The shift registers only support up
to 3.3Mhz data rate, so that's cutting it much closer than I'd like.
I guess we could add some TDM logic or something external to the ARM
board, but yuck. Or we could try to rework the board and solder a wire
onto that pin on the surface mount chip, but yuck also.
I guess if it doesn't work we can always cut the refresh rate in 2 and
swap between displaying on the two sides. (Display side 1, blank side 1,
display side 2, blank side 2), but I'd rather not do that either.
Does anyone have any input relating to this stuff or ideas of good boards
to use? Does anyone want 99 of those sparkfun SAM9-L9260 boards so we can
get the bulk discount? :)
If this doesn't work out I guess we can just do the basic stuff and it
would still be cool, but not *as* cool. :) I think Steen is working on
making a font to use for display, and I bet we can still do that with the
current hardware.
-nils
As a side note, it looks like the "arduino mega" is not actually
appropriately outfitted to be able to run the sign. According to
http://arduino.cc/en/uploads/Main/arduino-mega-schematic.pdf it does not
make the clock pins for the USARTs available. The pins we would need are
at least two of the following: PE2(XCK0), PD5(XCK1), PH2(XCK2), or
PJ2(XCK3). I guess we can always do some rework and try to solder on
wires to the tiny pins on the surface mount chip, but yuck.
More information about the Noisebridge-discuss
mailing list