LCD's on LPC's

Started by micro_minded May 18, 2010
I am new to the ARM lineup and hail from the PIC and AVR world. I have a project that I would like to do but am unsure which LPC to choose and how to properly connect my hardware.

I am trying to design a automatic tracking system for mid range telescopes. My idea is to have a 7in touch screen (800x480) that I can use to display my menus and maybe an xml dump of wiki for the selected view so you can read up on what your pointing at maybe. The LPC will handle the calculations required to run the two motors to position the telescope, these are not the nicest numbers in the world and from a previous project I saw the guy needed 6 digit floats to make it accurate. (I'm unsure of the calculations as this is still idea stage)

So what LPC has a TFT controller onboard?
I have only found the LPC2478 so far.

Also I know you can run uCLinux on these chips but to do so I would defiantly want to add external ram. It should be as simple as having an address bus, data bus, and chip select then writing a device driver for Linux to use it right? If someone knows an example of this could you pass me a link?

Thanks!

An Engineer's Guide to the LPC2100 Series

better is to use external tft controller.
----- Original Message -----
From: micro_minded
To: l...
Sent: Tuesday, May 18, 2010 6:52 AM
Subject: [lpc2000] LCD's on LPC's

I am new to the ARM lineup and hail from the PIC and AVR world. I have a project that I would like to do but am unsure which LPC to choose and how to properly connect my hardware.

I am trying to design a automatic tracking system for mid range telescopes. My idea is to have a 7in touch screen (800x480) that I can use to display my menus and maybe an xml dump of wiki for the selected view so you can read up on what your pointing at maybe. The LPC will handle the calculations required to run the two motors to position the telescope, these are not the nicest numbers in the world and from a previous project I saw the guy needed 6 digit floats to make it accurate. (I'm unsure of the calculations as this is still idea stage)

So what LPC has a TFT controller onboard?
I have only found the LPC2478 so far.

Also I know you can run uCLinux on these chips but to do so I would defiantly want to add external ram. It should be as simple as having an address bus, data bus, and chip select then writing a device driver for Linux to use it right? If someone knows an example of this could you pass me a link?

Thanks!
----Original Message----
From: l...
[mailto:l...] On Behalf Of micro_minded
Sent: 18 May 2010 02:22 To: l...
Subject: [lpc2000] LCD's on LPC's

> I am new to the ARM lineup and hail from the PIC and AVR
> world. I have a project that I would like to do but am
> unsure which LPC to choose and how to properly connect my
> hardware.
>
> I am trying to design a automatic tracking system for mid
> range telescopes. My idea is to have a 7in touch screen
> (800x480) that I can use to display my menus and maybe an
> xml dump of wiki for the selected view so you can read up
> on what your pointing at maybe. The LPC will handle the
> calculations required to run the two motors to position
> the telescope, these are not the nicest numbers in the
> world and from a previous project I saw the guy needed 6
> digit floats to make it accurate. (I'm unsure of the
> calculations as this is still idea stage)
>
> So what LPC has a TFT controller onboard?
> I have only found the LPC2478 so far.
>
> Also I know you can run uCLinux on these chips but to do
> so I would defiantly want to add external ram. It should
> be as simple as having an address bus, data bus, and chip
> select then writing a device driver for Linux to use it
> right? If someone knows an example of this could you pass
> me a link?
LPC2478 is the only one with an onboard LCD controller.
However you can also get TFT screens with a built in controller and SPI or memory map interface, so you don't necessarily need it on the LPC.
The advantage of the LPC2478 is that the screen buffer is in system RAM so you don't have to copy lots of data over to the LCD controller.
The disadvantage is that it is continuously accessing the system RAM to refresh the screen which ties up the internal bus and can cause screen flicker if you do a long memcpy.

A good way to start off is to get a demo board, I started off with an LPC2478 demo board from Embedded Artists. This has a TFT touchscreen (only QVGA though), RAM and FLASH. It comes with uCLinux preloaded but you can wipe it and go OS-less if you prefer. Once you've got your application going with that, you can copy the relevant bits of the circuit into your own design. They provide quite a bit of code to get you going, it's a good way over that initial steep learning curve (I came to ARM from the world of 8-bit AVR too).

--
Tim Mitchell

I'd like to add my 20c:

Tim Mitchell wrote:
> LPC2478 is the only one with an onboard LCD controller.

There is also the LPC3000 which might of course be an overkill and is OT in
this list.

> ...
> The disadvantage [of internal LCDC] is that it is continuously accessing the system RAM to
> refresh the screen which ties up the internal bus and can cause screen
> flicker if you do a long memcpy.

That can indeed take a huge toll. But if you can keep the application in the
internal memories (and use external RAM only for frame buffer) and/or use 32bit
external RAM and/or keep color depth down then you might be allright.

> A good way to start off is to get a demo board, I started off with an
> LPC2478 demo board from Embedded Artists. This has a TFT touchscreen
> (only QVGA though), RAM and FLASH. It comes with uCLinux preloaded but
> you can wipe it and go OS-less if you prefer.

Yes, trying to bring up uCLinux by yourself, without a working demo, will hurt
- learned hard way.

--

Timo

>> ...
>> The disadvantage [of internal LCDC] is that it is continuously accessing the system RAM to
>> refresh the screen which ties up the internal bus and can cause screen
>> flicker if you do a long memcpy.
>>
> That can indeed take a huge toll. But if you can keep the application in the
> internal memories (and use external RAM only for frame buffer) and/or use 32bit
> external RAM and/or keep color depth down then you might be allright.
>
>

Using a 7" with 800x480 pixels (needing a 24 MHz pixel clock) with the
LPC2478 is not really a problem even if you have the external SDRAM with
16 bit only. Executing out of the external SDRAM should be avoided as
the bandwidth used for frame refreshing uses about 65% bandwidth on the
bus. Executing from the internal flash is pretty fine, so I can't see a
serious problem to use the LPC2478 for your project.

The only thing you should keep in mind is to setup the AHBCFG1 configure
register accordingly (see discussions in this forum) to avoid flicker.
Besides that interrupts might have unexpected high latency due to the
frame refresh done via DMA.

We do use the LPC2478 with a 7" TFT and have USB, serial port, I2C, SPI
port (ethernet coming soon) and SD card in use.

Hope that helps.
Herbert
--

demmel products
Radnitzkygasse 43
A-1100 Vienna / Austria / Europe
Voice: +43-1-6894700-0
Fax: +43-1-6894700-40
Email: d...@demmel.com
WWW: http://www.demmel.com
----Original Message----
From: l...
[mailto:l...] On Behalf Of
t...@gmail.com Sent: 18 May 2010 09:32 To:
l... Subject: Re: [lpc2000] LCD's on
LPC's

> > The disadvantage [of internal LCDC] is that it is
> > continuously accessing the system RAM to refresh the
> > screen which ties up the internal bus and can cause
> > screen
> > flicker if you do a long memcpy.
>
> That can indeed take a huge toll. But if you can keep the
> application in the
> internal memories (and use external RAM only for frame
> buffer) and/or use 32bit
> external RAM and/or keep color depth down then you might
> be allright.

It still uses the internal bus to transfer the screen buffer data from external RAM. ( I found this out the hard way!)

It's not a big problem, just something to be aware of. The flickering problem only shows up when the pixel clock is very fast (>10MHz) but you might need it that fast for 800x600.
--
Tim Mitchell

Maybe something like this http://murphy.pri.ee/GPC/PC090008.JPG.
in http://murphy.pri.ee/GPC you can find more information.
I2C,SPI, USART and 8 bit bus connection.
See schematic(rev5.33.pdf) for more information.
Only restriction, no PCB source. I can send you updated gerber files, free to use.
I may send you assembled board with USB bootloader in it, if interested then email me directly, price=part cost+ 10% assembling + any taxes(toll, shipping etc ). If you want PCB source or custom-made solution with assembled prototype , it can be arranged, contact aivar.saar(at)triode.ee
--- In l..., "micro_minded" wrote:
>
> I am new to the ARM lineup and hail from the PIC and AVR world. I have a project that I would like to do but am unsure which LPC to choose and how to properly connect my hardware.
>
> I am trying to design a automatic tracking system for mid range telescopes. My idea is to have a 7in touch screen (800x480) that I can use to display my menus and maybe an xml dump of wiki for the selected view so you can read up on what your pointing at maybe. The LPC will handle the calculations required to run the two motors to position the telescope, these are not the nicest numbers in the world and from a previous project I saw the guy needed 6 digit floats to make it accurate. (I'm unsure of the calculations as this is still idea stage)
>
> So what LPC has a TFT controller onboard?
> I have only found the LPC2478 so far.
>
> Also I know you can run uCLinux on these chips but to do so I would defiantly want to add external ram. It should be as simple as having an address bus, data bus, and chip select then writing a device driver for Linux to use it right? If someone knows an example of this could you pass me a link?
>
> Thanks!
>

I have looked for external control IC's but can only find ready made products that cost around $100 which kills the selling point of my project. I know of chips such as HX8655 chips but they are gate & source drivers (http://www.thaieasyelec.net/index.php//Display-Module/TFT-with-TP/4-3-inch-WQVGA-Color-TFT-Touch-Screen/p_10.html) and It looks like in order to use them you need to custom build a board that can access the LCD's direct raw/col pin outs. Have not found any chips that do px_clk, hsync, vsync besides controllers on board micros.

I did consider using an FPGA for clock generation, timing and have it raw dump addresses to external DDR RAM but thats a whole other project to itself...

My screen will require a minimum of 24MHz dot clock and 9Mb RAM for single buffering 6Mb if I only use it in 16bit mode. I imagine the little LPC would spend nearly all of its time updating the screen.

--- In l..., "Indermohan Singh" wrote:
>
> better is to use external tft controller.
> ----- Original Message -----
> From: micro_minded
> To: l...
> Sent: Tuesday, May 18, 2010 6:52 AM
> Subject: [lpc2000] LCD's on LPC's
>
> I am new to the ARM lineup and hail from the PIC and AVR world. I have a project that I would like to do but am unsure which LPC to choose and how to properly connect my hardware.
>
> I am trying to design a automatic tracking system for mid range telescopes. My idea is to have a 7in touch screen (800x480) that I can use to display my menus and maybe an xml dump of wiki for the selected view so you can read up on what your pointing at maybe. The LPC will handle the calculations required to run the two motors to position the telescope, these are not the nicest numbers in the world and from a previous project I saw the guy needed 6 digit floats to make it accurate. (I'm unsure of the calculations as this is still idea stage)
>
> So what LPC has a TFT controller onboard?
> I have only found the LPC2478 so far.
>
> Also I know you can run uCLinux on these chips but to do so I would defiantly want to add external ram. It should be as simple as having an address bus, data bus, and chip select then writing a device driver for Linux to use it right? If someone knows an example of this could you pass me a link?
>
> Thanks!
>

You don't need a custom board for that screen, you could use their own
board, I've got one of these with a 4.3" screen. I found a few minor
gremlins which will be fixed in the next board revision (buzzer sounds
whilst programming) and LCD brightness is not the best (again this will
be changed to variable resistor). Support is pretty good as well, and
there is some software available to get you started which uses the TFT
and SDRAM, SD Card

http://www.thaieasyelec.net/index.php//ARM/Bluescreen-SUN-LPC2478-with-4
-3/7-inch-TFT-TouchTouch-Screen/p_52.html

________________________________

From: l... [mailto:l...] On Behalf
Of micro_minded
Sent: 18 May 2010 13:56
To: l...
Subject: [lpc2000] Re: LCD's on LPC's

I have looked for external control IC's but can only find ready made
products that cost around $100 which kills the selling point of my
project. I know of chips such as HX8655 chips but they are gate & source
drivers
(http://www.thaieasyelec.net/index.php//Display-Module/TFT-with-TP/4-3-i
nch-WQVGA-Color-TFT-Touch-Screen/p_10.html) and It looks like in order
to use them you need to custom build a board that can access the LCD's
direct raw/col pin outs. Have not found any chips that do px_clk, hsync,
vsync besides controllers on board micros.

I did consider using an FPGA for clock generation, timing and have it
raw dump addresses to external DDR RAM but thats a whole other project
to itself...

My screen will require a minimum of 24MHz dot clock and 9Mb RAM for
single buffering 6Mb if I only use it in 16bit mode. I imagine the
little LPC would spend nearly all of its time updating the screen.

--- In l... ,
"Indermohan Singh" wrote:
>
> better is to use external tft controller.
> ----- Original Message -----
> From: micro_minded
> To: l...
> Sent: Tuesday, May 18, 2010 6:52 AM
> Subject: [lpc2000] LCD's on LPC's
>
> I am new to the ARM lineup and hail from the PIC and AVR world. I have
a project that I would like to do but am unsure which LPC to choose and
how to properly connect my hardware.
>
> I am trying to design a automatic tracking system for mid range
telescopes. My idea is to have a 7in touch screen (800x480) that I can
use to display my menus and maybe an xml dump of wiki for the selected
view so you can read up on what your pointing at maybe. The LPC will
handle the calculations required to run the two motors to position the
telescope, these are not the nicest numbers in the world and from a
previous project I saw the guy needed 6 digit floats to make it
accurate. (I'm unsure of the calculations as this is still idea stage)
>
> So what LPC has a TFT controller onboard?
> I have only found the LPC2478 so far.
>
> Also I know you can run uCLinux on these chips but to do so I would
defiantly want to add external ram. It should be as simple as having an
address bus, data bus, and chip select then writing a device driver for
Linux to use it right? If someone knows an example of this could you
pass me a link?
>
> Thanks!
>
micro_minded,
We do not use the ARM7s for VGA displays, there really is not enough horsepower to drive the display. We use Freescale's iMX25 for that kind of work. It is ARM9 core running at 400MHz. There is a company called Karo that sells a SOM for $80, it has 128M of Flash, 64M of RAM and LCD controller. They sell it with a Linux and WindowsCE OSes. We use the WinCE version, Microsoft makes user interfaces easy. If we need super real time performance, we will add a little ARM7 on the side to do that work. However, for 99% of our designs, WinCE is real time enough.

My two cents,
Michael Freeman
Principal Design Engineer
Update Systems, Inc.

--- In l..., "micro_minded" wrote:
>
> I am new to the ARM lineup and hail from the PIC and AVR world. I have a project that I would like to do but am unsure which LPC to choose and how to properly connect my hardware.
>
> I am trying to design a automatic tracking system for mid range telescopes. My idea is to have a 7in touch screen (800x480) that I can use to display my menus and maybe an xml dump of wiki for the selected view so you can read up on what your pointing at maybe. The LPC will handle the calculations required to run the two motors to position the telescope, these are not the nicest numbers in the world and from a previous project I saw the guy needed 6 digit floats to make it accurate. (I'm unsure of the calculations as this is still idea stage)
>
> So what LPC has a TFT controller onboard?
> I have only found the LPC2478 so far.
>
> Also I know you can run uCLinux on these chips but to do so I would defiantly want to add external ram. It should be as simple as having an address bus, data bus, and chip select then writing a device driver for Linux to use it right? If someone knows an example of this could you pass me a link?
>
> Thanks!
>