Reply by 42Bastian Schick July 28, 20052005-07-28
Peter Jakacki <peterjak@pete...> schrieb am Thu, 28 Jul 2005 13:39:54
+1000:

>
> I know I can easily do an FPGA connected to an external bus ARM plus the
> wide RAM but again this means several large chips, multilayers to run
> all those connections, etc. Nevertheless, I may have to do one along
> these lines just for some hi-res stuff. These tiny single-chippers are
> really spoiling me!

How about as simple PLD connected via SPI ?

Ah, maybe not enough RAM on a PLD ?

--
42Bastian Schick



An Engineer's Guide to the LPC2100 Series

Reply by Peter Jakacki July 28, 20052005-07-28
Thanks Jeremy, I have had a look at a few different ARMs before but I
tend to reject them for several reasons. The Sharp part has a large pin
count (not excessive) plus no internal Flash which means more chips. If
it had some internal Flash I wouldn't mind and would probably use it. If
I can do it all on-board a chip, then that is the way I prefer.

I know I can easily do an FPGA connected to an external bus ARM plus the
wide RAM but again this means several large chips, multilayers to run
all those connections, etc. Nevertheless, I may have to do one along
these lines just for some hi-res stuff. These tiny single-chippers are
really spoiling me!

*Peter*

jdarling@jdar... wrote:

>Peter,
>
>Actually I did manage to find an ARM7 with a built in TFT display that
>can be easily (Their words not mine) hacked to do VGA with an external
>memory chip. Only two problems here :)
>1) Its another chip I have to buy and learn
>2) The code doesn't leave much processing time to do anything else.
>
>Just in case anyone is curious:
>http://www.revely.com/LAB100/LAB100_VGA_App.htm




Reply by jdar...@... July 28, 20052005-07-28
Peter,

Actually I did manage to find an ARM7 with a built in TFT display that
can be easily (Their words not mine) hacked to do VGA with an external
memory chip. Only two problems here :)
1) Its another chip I have to buy and learn
2) The code doesn't leave much processing time to do anything else.

Just in case anyone is curious:
http://www.revely.com/LAB100/LAB100_VGA_App.htm

So I've pretty much given up on the single chip solution. Now I'm
looking into an FPGA/CPLD board that comes with a simple 6 bit DAC and
VRML VGA source code. I'll have to replace the DAC and update the code
for a higher color ratio (god I hope it isn't very difficult to figure
out VRML) but it looks to be the only solution to my problem.

In the end I hope to come up with a simple to use 4, 8, or 16 bit VGA
card that is quite generic and powerful. This way I can use it on my
small 8 bit micros as well as on larger projects. Who knows thou as my
level of expertiese in all these areas is quite minimal. I hope that in
the end the learning experience that I get from the whole project will
be worth it :).

Its always irritating that the big companies can beat us out, but that
doesn't mean I'm not going to try :).

Jeremy


Reply by Peter Jakacki July 27, 20052005-07-27
The old 8088's could pull it off because they had external video driver
chips. The early Macs relied upon the 68K cpu but still had plenty of
external PLDs handling the mundane timing etc.

Look, if you use an external memory bus ARM, a 512KB or more <wide>
SRAM, some logic, and a palette DAC you could display jpegs quite
nicely. Yes, it would be nice if some of the VGA support could be built
right into the ARM and then it would be a simple matter of bolting on
some RAM and away we go.

The single-chip 2138 is probably out of the question for displaying
jpegs as there are better alternatives plus the 512K memory is Flash and
not suitable for frequently updated display memory.

Don't you just hate those cheap products that can display video so
nicely? Of course if you made a million units it would make it a million
times simpler.

*Peter*

jdarling@jdar... wrote:

>I had thought of using something as a driver chip, but everything I've found is either too costly,
>over my head as far as skills go, or depricated. Course then again this may be over my head
>too :). Honestly I didn't figure that VGA could be that difficult since the old 8088's could do it
>and still have time to pull off simple graphics. Maby an FPGA as a driver would be better,
>but my lack of knowledge in this section of the world puts me at a great disadvantage.
>




Reply by alexmotin July 27, 20052005-07-27
See there CF: http://www.compactflash.org/
http://focus.ti.com/lit/an/spra803/spra803.pdf - it is very simple
instruction it s for DSP? but i think it's same for LPC --- In lpc2000@lpc2..., "Sebastien Jacquemard"
<sejacquemard@w...> wrote:
> Hi, I'm actually designing my card to connect a qvga display. I
use an epson
> controller S1D13706 with built in ram. The problem is this
controller has an
> external bus interface and you need a lpc22xx to use it (16 data
line, 16
> adress line + some control line.
> I connect also an sd card to it on the SPI bus.
> IGo to the keil web site, www.keil.com , there is an sdcard on the
new
> mcb2140 eval board, you can download the schematics.
> Search "Ingo Busker" from google. He has made sdcard port for the
LPC2106
> with FAT16. You can download the source file from his web site.
>
> Regards,
> Sebastien >
> ----- Original Message -----
> From: "achargis" <jdarling@e...>
> To: <lpc2000@lpc2...>
> Sent: Tuesday, July 26, 2005 7:48 PM
> Subject: [lpc2000] LPC2138, VGA, and SD/MMC > > Has anyone actually managed to use a standard VGA or SVGA
monitor with
> > the LPC2138? I've googled myself to death and can't find much
on the
> > processor let alone the processor and VGA.
> >
> > I've also looked at uVGA witch is a viable solution to my
problem, but
> > if it can be done in the processor itself it would be nice. I've
> > found source and schematics for hooking up other ARM7's but they
have
> > a built in TFT driver that makes this possiable.
> >
> > Also I'd like to add an SD/MMC reader to my board so I can load
> > external graphics (JPEG and BMP). Basically I'm trying to build
a
> > digital picture frame. CF Card would be more ideal, but I'm
sure that
> > its also more difficult to implement.
> >
> > I tried searching the group first, so hopefully my eyes didn't
miss
> > answers to either question. This is my first project with ARM
so I'm
> > also learning the ins and outs and oops.
> >
> > Jeremy
> >
> >
> >
> >
> >
> > Yahoo! Groups Links
> >
> >
> >
> >
> >
> >
> >



Reply by valdef78 July 27, 20052005-07-27
you can probably found several examples of output to a TV with a
simple Google search, even for 8 bits mcu. it's really easier to make
a small TV output for text screens..
if u need to display pictures it's not so simple, but a simple TV
output is easier to make than a VGA outpout.

a pong game for MSP430 from Texas Instruments :
http://focus.ti.com/lit/an/slaa177/slaa177.pdf

a Dungeon game for Atmel ATMega32 :
http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2005/gts7
/

just did a rapid search on google, there's probably some more
elaborate.. if you really need VGA, u should probably look at old VGA controllers
that where used on PC cards, but could be dificult to get one..


Reply by jdar...@... July 27, 20052005-07-27
Sorry about the overpost thing. I don't use Mail Groups very often, and
News Groups have got me spoiled
to that point :).

> Maybe you might rethink your requirements and adjust your parameters
> accordingly.

I had thought of using something as a driver chip, but everything I've
found is either too costly,
over my head as far as skills go, or depricated. Course then again this
may be over my head
too :). Honestly I didn't figure that VGA could be that difficult since
the old 8088's could do it
and still have time to pull off simple graphics. Maby an FPGA as a
driver would be better,
but my lack of knowledge in this section of the world puts me at a great
disadvantage.

Course thats where my confusion is. I figured that the display update
cycles wern't going
to be all that bad. So I would have plenty of time to read from the SPI
bus to get the next
segment of the screen. Guess I was wrong.

Do you tink its possiable to pull off full screen grapics with the 2138?
I figured it took:
2457600 bits or 307,200 bytes to store a screen. Since the 2138 has
512k bytes
I could store a full screen and still have 201,800 bytes for code. I
also figured that
I could cheat and use two of the PWM channels to handle the H-Sync and
V-Sync
signals, thus lowering the overhead again. For image switching I would
simply point
to a blank screen, load over my image buffer and then point back. It
sounds like
this won't be the case :). I'm quite new to all of this ARM stuff, only
done AVR's
in the past, and I have to admit I have probiably bitten off more then I
can chew at the
moment.

Jeremy


Reply by Peter Jakacki July 27, 20052005-07-27
Hmmmm, me thinks with all this "hanging this" and "simply this" that you
might need more than a few pointers. An external RAM defeats the purpose
of this kind of solution, although mind you I have seen someone employ a
humble PIC in this fashion for VGA purposes (slow!!!). Just how were you
thinking that you could use the I2C bus to access an external RAM???
Besides, the I2C is way too slow for any real kind of screen updating.
The ARM has to perform real-time video so I don't think that it could
wait around for slow access devices. If you want to use an external RAM
then consider using an external memory bus version of the ARM.

Flashing colours etc is neither here nor there as the primary problem is
simply generating the video stream in real-time and then finding time to
render fonts and graphics etc.

Maybe you might rethink your requirements and adjust your parameters
accordingly.

*Peter*

BTW, try cropping the quoted text to the relevant material. Regardless
of posting styles the whole aim is to reduce clutter and make reading
posts easier.

jdarling@jdar... wrote:

>I don't suppose you could give me some pointers on how exactly you
>interface the VGA monitor to the 06? 640x480 would be perfect, I think
>with a simple SRAM hanging off for "Video Memory" I could get around the
>problem of space to put things and the graphics will be loaded from the
>card so again not a problem. Simply read a block, push it to the SRAM
>and once a screen is loaded change the display pointer to the new
>screen location (double buffer it basically). I have a few 512 SRAM
>chips laying around and even thou the 2138 doesn't support external
>memory, it does have an I2C bus that I could use to access the chip.
>So I come back to would you be kind enough to post a simple examlpe
>(heck flash the screen red, then blue, then green). The DAC doesn't
>have me too confused and I've mangled together a rough one for testing
>:).
>
>Thanks,
>Jeremy
>




Reply by jdar...@... July 26, 20052005-07-26
I don't suppose you could give me some pointers on how exactly you
interface the VGA monitor to the 06? 640x480 would be perfect, I think
with a simple SRAM hanging off for "Video Memory" I could get around the
problem of space to put things and the graphics will be loaded from the
card so again not a problem. Simply read a block, push it to the SRAM
and once a screen is loaded change the display pointer to the new
screen location (double buffer it basically). I have a few 512 SRAM
chips laying around and even thou the 2138 doesn't support external
memory, it does have an I2C bus that I could use to access the chip.
So I come back to would you be kind enough to post a simple examlpe
(heck flash the screen red, then blue, then green). The DAC doesn't
have me too confused and I've mangled together a rough one for testing
:).

Thanks,
Jeremy

> -------- Original Message --------
> Subject: Re: [lpc2000] LPC2138, VGA, and SD/MMC
> From: Peter Jakacki <peterjak@pete...>
> Date: Tue, July 26, 2005 4:17 pm
> To: lpc2000@lpc2...
>
> I have done 192x480 with 640x480 VGA timing on a 2106. I am just waiting
>
> on my 2148s so I can run 640x480 with the faster port speeds. Mind you,
> there are limitiations though. At present I only run 4-bits per pixel
> and simply connect 220 ohm resistors from 3 pins straight to the RGB
> lines, the VGA input impedance brings this down to the correct level. I
> could run 8-bits into a ladder network to get 256 colors (no palette).
> The limited (for video) RAM makes it a problem too, but at least I can
> mix high and low res in software.
>
> Oh yes, I have interfaced SD cards as well and have written my FAT16 and
>
> drawing routines etc in Forth. The whole thing works so well that even
> when it's in video terminal mode I can still enter command sequences as
> Forth execution words for the more complicated drawing commands. I
> suppose it's a bit like postscript.
>
> But as Scotty says "there is only so much I can do with her captain" and
>
> the limited internal RAM rules out full resolution/hi-color graphics.
> How-ever, there are a plethora of ways to implement video but still, I
> really like the simplicity of the minimal implementation that is
> possible with the LPC2s, plus the small footprint.
>
> *Peter*
>
> achargis wrote:
>
> >Has anyone actually managed to use a standard VGA or SVGA monitor with
> >the LPC2138? I've googled myself to death and can't find much on the
> >processor let alone the processor and VGA.
> >
> >I've also looked at uVGA witch is a viable solution to my problem, but
> >if it can be done in the processor itself it would be nice. I've
> >found source and schematics for hooking up other ARM7's but they have
> >a built in TFT driver that makes this possiable.
> >
> >Also I'd like to add an SD/MMC reader to my board so I can load
> >external graphics (JPEG and BMP). Basically I'm trying to build a
> >digital picture frame. CF Card would be more ideal, but I'm sure that
> >its also more difficult to implement.
> >
> >I tried searching the group first, so hopefully my eyes didn't miss
> >answers to either question. This is my first project with ARM so I'm
> >also learning the ins and outs and oops.
> >
> >Jeremy
> >
> >
>
> SPONSORED LINKS Microcontrollers Microprocessor Intel
> microprocessors Pic microcontrollers 8085 microprocessor > YAHOO! GROUPS LINKS
> >
>




Reply by Peter Jakacki July 26, 20052005-07-26
I have done 192x480 with 640x480 VGA timing on a 2106. I am just waiting
on my 2148s so I can run 640x480 with the faster port speeds. Mind you,
there are limitiations though. At present I only run 4-bits per pixel
and simply connect 220 ohm resistors from 3 pins straight to the RGB
lines, the VGA input impedance brings this down to the correct level. I
could run 8-bits into a ladder network to get 256 colors (no palette).
The limited (for video) RAM makes it a problem too, but at least I can
mix high and low res in software.

Oh yes, I have interfaced SD cards as well and have written my FAT16 and
drawing routines etc in Forth. The whole thing works so well that even
when it's in video terminal mode I can still enter command sequences as
Forth execution words for the more complicated drawing commands. I
suppose it's a bit like postscript.

But as Scotty says "there is only so much I can do with her captain" and
the limited internal RAM rules out full resolution/hi-color graphics.
How-ever, there are a plethora of ways to implement video but still, I
really like the simplicity of the minimal implementation that is
possible with the LPC2s, plus the small footprint.

*Peter*

achargis wrote:

>Has anyone actually managed to use a standard VGA or SVGA monitor with
>the LPC2138? I've googled myself to death and can't find much on the
>processor let alone the processor and VGA.
>
>I've also looked at uVGA witch is a viable solution to my problem, but
>if it can be done in the processor itself it would be nice. I've
>found source and schematics for hooking up other ARM7's but they have
>a built in TFT driver that makes this possiable.
>
>Also I'd like to add an SD/MMC reader to my board so I can load
>external graphics (JPEG and BMP). Basically I'm trying to build a
>digital picture frame. CF Card would be more ideal, but I'm sure that
>its also more difficult to implement.
>
>I tried searching the group first, so hopefully my eyes didn't miss
>answers to either question. This is my first project with ARM so I'm
>also learning the ins and outs and oops.
>
>Jeremy