FEZ Project + LCD

Thanks GUS for all your time and help.
Im contact esskabel for help with TTL->LVDS and if their module will work with my LCD panel and AT91SAM9261S processor…
In attachment is one preview how will gauge background look. Im put all 6 backgrounds into one file and resize it to lower resolution…
1.) normal screen
2.) normal with left menu
3.) normal with right menu
4.) race screen
5.) race with left menu
6.) race with right menu

In 4 boxes in screens left and right from rpm gauge (and also which will be visible on screens with menu) will be:
Left Top: Water temperature
Left Bottom: Fuel level
Right Top: Boost pressure
Right Bottom: Im not decide what maybe Engine load or current fuel consumption

On center will be digital speed and under line will be odometer and board computer data(trip data or range to low fuel)…

Take a look here http://cache.national.com/ds/DS/DS90C363.pdf

There are many options out there, it is a matter of how much experience you have and how much time you are willing to put into it.

If it is up to me, I would want a VGA or HDMI output. This way, I can connect any TV and any monitor of any size.

Thanks for datasheet.
Looks very similar to Texas Instruments SN75LVDS83 which is used on ADA-LVDS-TX-TWIN (From http://en.esskabel.de) which is simple board which convert TTL to LVDS.
For demo board is not important if I use already builded boards or part of it in final product I will make own PCB design which will use ChipworkX module…
For now GUS I will ask you or some other user who have better electrical skills than me if can check schematic which I will do in eagle how to connect DS90C363 with ChipworkX Development System and my LCD panel… I will upload shematic in next days…
I have some skils bot didn’t make any schematic and PCB for cca. 5 years. In school we are learn how to use Eagle and also make some basic boards… Time is not problem because I don’t have any time-line If it will be completed in one year or will have some alpha version this winter this will be great :slight_smile: First I will learn graphics and other things on stock ChipworkX Development System LCD to research this platform… I read a lot of documentations, threads, examples of .NETMF :slight_smile:
Thanks for all your time and help.

I have few questions. Im make Shematic in Eagle but on SV5 connector I have few pins unused(PA7, PA8, +5V)
GND pin on SV5 will be connected to converter board GND. +5V pin is as I know output right? Which I don’t need because DS90C363 operate on 3.3V.
Another question is must I connect all GND pins(5, 11, 17, 24, 46) on DS90C363 together and to GND?
Same for VCC pins(2, 8, 21)?
Here is Eagle file if someone have time to check if first part is ok(ChipworkX Dev → Converter). Converter ->LVDS part I will add when I will have datasheet of LCD panel(Looks like sharp need a lot of time to send it if they will send it)…
Link:
[url]http://www.carpc.si/zacasno/GaugeClusterProject/TTL_to_LVDS.rar[/url]

GUS I have one question. I have ChipworkX Development System v1.5. Is there any problem if I on SV5 put pins and solder it?Why are not pins soldered by default? Also I have Hitachi TX26D11VM1CAA panel, which is 800x256 resolution(CMOS 18bit) and have 40pin connector:
The 40 pin header on the LCD is:
1 VSS - GND
2 VSS - GND
3 DCLK - Dot Clock
4 VSS - GND
5 VSS - GND
6 Ic (Not used)
7 R0 - Red
8 R1 - Red
9 R2 - Red
10 VSS - GND
11 R3 - Red
12 R4 - Red
13 R5 - Red
14 VSS - GND
15 G0 - Green
16 G1 - Green
17 G2 - Green
18 VSS - GND
19 G3 - Green
20 G4 - Green
21 G5 - Green
22 VSS - GND
23 B0 - Blue
24 B1 - Blue
25 B2 - Blue
26 VSS - GND
27 B3 - Blue
28 B4 - Blue
29 B5 - Blue
30 VSS - GND
31 IC (Not Used)
32 VSS - GND
33 NC (Not Used)
34 VSS - GND
35 DTMG - Display Timing
36 NC (Not Used)
37 VDD - 3.3v
38 VDD - 3.3v
39 VDD - 3.3v
40 VDD - 3.3v

colors pins I conect 1:1 so there is not problem. All GND’s together and to GND pin. 3.3v power also is not problem. Dot Clock(PIN3) I connect to SV5 CLK pin right? What about Display Timing(PIN35)? On which pin on SV5 I must connect it?
Thanks for all your time and help.

Timing info comes from your display datasheet. This is related to the display itself and so it is beyond this forum’s support. If you need, you can contact GHI directly and they will do all the work for you for a fee.

You can solder headers if you like

Hi GUS,
Yesterday Im try connect LCD but found one thing. On ChipworkX DevSys I can’t find RED5 and BLUE5 pins. Where I can connect it? I have 6 wires of each color(6xred, 6xgreen, 6xblue) but on DevSys pinout pdf I can find only 5xred, 6xgreen, 5xblue…

Connect Red0 and Green0 from the LCD to ground.
Thus connect:
LCD’s Red0 to Ground
LCD’s Red1 to Chipworks Red0
LCD’s Red2 to Chipworks Red1
LCD’s Red3 to Chipworks Red2
LCD’s Red4 to Chipworks Red3
LCD’s Red5 to Chipworks Red4

Or connect LCD Red0 AND LCD Red1 to Chipworks Red0
Thus:
LCD’s Red0 to Chipworks Red0
LCD’s Red1 to Chipworks Red0
LCD’s Red2 to Chipworks Red1
LCD’s Red3 to Chipworks Red2
LCD’s Red4 to Chipworks Red3
LCD’s Red5 to Chipworks Red4

Same for Blue.

I have problem which I think is also related to GHI&Firmware…
Im try connect Hitachi TX26D11VM1CAA panel, which is 800x256 resolution:
LCD’s Red0 to Ground
LCD’s Red1 to Chipworks Red0
LCD’s Red2 to Chipworks Red1
LCD’s Red3 to Chipworks Red2
LCD’s Red4 to Chipworks Red3
LCD’s Red5 to Chipworks Red4

LCD’s Green0 to Ground
LCD’s Green1 to Chipworks Green0
LCD’s Green2 to Chipworks Green1
LCD’s Green3 to Chipworks Green2
LCD’s Green4 to Chipworks Green3
LCD’s Green5 to Chipworks Green4

LCD’s Blue0 to Ground
LCD’s Blue1 to Chipworks Blue0
LCD’s Blue2 to Chipworks Blue1
LCD’s Blue3 to Chipworks Blue2
LCD’s Blue4 to Chipworks Blue3
LCD’s Blue5 to Chipworks Blue4

but didn’t work because it need some DTMG signal which I from chipworks can’t get(or I don’t know how), so Im decide that I will try use other LCD panel which I have at home: Sharp LQ123K1LG03
but Im see that here is one problem with firmware/library which crash when I try use width bigger than 1000!!!
Code which I use for LCD configuration:


static bool SetLCDConfiguration()
        {
            Configuration.LCD.Configurations lcdConfig = new Configuration.LCD.Configurations();
            lcdConfig.Width = 1024;
            lcdConfig.Height = 480;

            // Only use if needed, see documentation.
            lcdConfig.PriorityEnable = true;

            lcdConfig.OutputEnableIsFixed = false;
            lcdConfig.OutputEnablePolarity = true;
            lcdConfig.PixelPolarity = false;
            lcdConfig.HorizontalSyncPolarity = false;
            lcdConfig.VerticalSyncPolarity = false;

            // For EMX
            //lcdConfig.HorizontalSyncPulseWidth = 150;

            // On ChipworkX, there is a limited range for the HorizontalSyncPulseWidth. Set it to 60 instead.
            lcdConfig.HorizontalSyncPulseWidth = 60;

            lcdConfig.HorizontalBackPorch = 150;
            lcdConfig.HorizontalFrontPorch = 150;
            lcdConfig.VerticalSyncPulseWidth = 2;
            lcdConfig.VerticalBackPorch = 2;
            lcdConfig.VerticalFrontPorch = 2;
            lcdConfig.PixelClockDivider = 5;

            // Set config
            if (Configuration.LCD.Set(lcdConfig))
            {
                return true;
            }
            else
            {
                return false;
            }
        }

I need 1280x480 resolution. Custom heap size is configured to 4MB.
Is maybe something wrong in my code?

The maximum currently supported is 800x600 as there isn’t much memory to do larger screens. At 800x600, you will use 1MB per one image.

CPU on chipworkx support resolution up to 2048 x 2048.
When Im ask if 1280x480 will work on cobra you are say that I will be soon out of memory then Im say that I must look for device which have more RAM Im mention Topaz i.MX25 and also ask if ChipworkX will run 1280x480 resolution(use cca. 2,4MB per image) you are not say that you have locked firmware to max resolution 1000 x XXX(if I set weight 1001 app. crash when try set config)…
Is possible remove firmware limit? If we at bigger resolution get out of memory is not your’s problem(Atmel CPU have capability to run it)…
So now Im again on start of project(With spended too much money for all parts)…

If someone can help me connect Hitachi TX26D11VM1CAA panel(800x256) will be better for me but if FW support 1280x480 Is easier for me to connect with LVDS->TTL converter(I don’t need any special knowledge how to connect LCD’s, set timings…)…

So lets try find solution for my project…
Im search on WEB for Hitachi TX26D11VM1CAA panel datasheet and didn’t find it or all what Im find has been fake(1024x768 instead 800x256) then Im find datasheet for TX26D89VM2BAA LINK:
TX26D89VM2BAA
Which looks similar to my LCD panel. Also PIN out looks same as one other guy write it on google groups when he has try connect it to “Beagle board” LINK:
http://groups.google.com/group/beagleboard/browse_thread/thread/5c0a68da4143c42c/0aa9717cff98a901?pli=1

so how Im try connect it:
LCD’s VSS (All VSS=GND pins together) to Chipworks Ground
LCD’s DCLK to Chipworks LCD Clock(SV5 pin5)
LCD’s VDD to Chipworks 3,3V(SV6 pin 3V3)

LCD’s Red0 to Ground
LCD’s Red1 to Chipworks Red0
LCD’s Red2 to Chipworks Red1
LCD’s Red3 to Chipworks Red2
LCD’s Red4 to Chipworks Red3
LCD’s Red5 to Chipworks Red4

LCD’s Green0 to Ground
LCD’s Green1 to Chipworks Green0
LCD’s Green2 to Chipworks Green1
LCD’s Green3 to Chipworks Green2
LCD’s Green4 to Chipworks Green3
LCD’s Green5 to Chipworks Green4

LCD’s Blue0 to Ground
LCD’s Blue1 to Chipworks Blue0
LCD’s Blue2 to Chipworks Blue1
LCD’s Blue3 to Chipworks Blue2
LCD’s Blue4 to Chipworks Blue3
LCD’s Blue5 to Chipworks Blue4

LCD’s DTMG Im try connect to Chipworks CLK, H-Sync, V-Sync(Seperate and not all together)

For BOLDed things Im not shure if Im connect right. Can someone check datasheet and tell me what Im do wrong and also if I must in my lcd config function change something or is enought if I change first lines to:


lcdConfig.Width = 800;
lcdConfig.Height = 256;

Thanks for any help.

First (stupid) question: is your backlight connected to an inverter and working?

Yes backlight is connected to inverter and working normaly.
I also see some strange colors in first horizontal line.
If I remember right if I don’t connect DTMG I see white horizontal line which go from up to down(like vertical sync).
I will try record video tomorrow because today Im already disconnect it because Im try connect other LCD(Sharp LQ123K1LG03) and figure out that LCD config width is locked to 1000…

You can set the back and front porch so you display pixels up to 480000 pixels. This will put black borders on the side. 1000x480 = exactly same as 800x600 so you only lose 100 pixels on each side.

I didn’t know this but then I have been told that, internally, the video buffer is set to 800x600x2 = 960000.

I am sure if you get the display to work and can share some pictures then I can bug the guys to bump up the video buffer size.

Hi,
Im record quick video with phone…
1.)Video 1:
http://www.carpc.si/zacasno/GaugeClusterProject/LCD1.mp4
Connections:
LCD’s VSS (All VSS=GND pins together) to Chipworks Ground
LCD’s DCLK to Chipworks LCD Clock(SV5 pin5)
LCD’s VDD to Chipworks 3,3V(SV6 pin 3V3)

LCD’s Red0 to Ground
LCD’s Red1 to Chipworks Red0
LCD’s Red2 to Chipworks Red1
LCD’s Red3 to Chipworks Red2
LCD’s Red4 to Chipworks Red3
LCD’s Red5 to Chipworks Red4

LCD’s Green0 to Ground
LCD’s Green1 to Chipworks Green0
LCD’s Green2 to Chipworks Green1
LCD’s Green3 to Chipworks Green2
LCD’s Green4 to Chipworks Green3
LCD’s Green5 to Chipworks Green4

LCD’s Blue0 to Ground
LCD’s Blue1 to Chipworks Blue0
LCD’s Blue2 to Chipworks Blue1
LCD’s Blue3 to Chipworks Blue2
LCD’s Blue4 to Chipworks Blue3
LCD’s Blue5 to Chipworks Blue4

LCD’s DTMG to Chipworks V-Sync

2.)Video 2:
http://www.carpc.si/zacasno/GaugeClusterProject/LCD2.mp4
Connections:
LCD’s VSS (All VSS=GND pins together) to Chipworks Ground
LCD’s DCLK to Chipworks LCD Clock(SV5 pin5)
LCD’s VDD to Chipworks 3,3V(SV6 pin 3V3)

LCD’s Red0 to Ground
LCD’s Red1 to Chipworks Red0
LCD’s Red2 to Chipworks Red1
LCD’s Red3 to Chipworks Red2
LCD’s Red4 to Chipworks Red3
LCD’s Red5 to Chipworks Red4

LCD’s Green0 to Ground
LCD’s Green1 to Chipworks Green0
LCD’s Green2 to Chipworks Green1
LCD’s Green3 to Chipworks Green2
LCD’s Green4 to Chipworks Green3
LCD’s Green5 to Chipworks Green4

LCD’s Blue0 to Ground
LCD’s Blue1 to Chipworks Blue0
LCD’s Blue2 to Chipworks Blue1
LCD’s Blue3 to Chipworks Blue2
LCD’s Blue4 to Chipworks Blue3
LCD’s Blue5 to Chipworks Blue4

LCD’s DTMG to Chipworks H-Sync

Hi GUS,
I have questions.
1.)You are say that internally video buffer is set to 800x600x2 = 960000. And running 1000x480 will get me same buffer and I will lose 140pixels on each side…
I think that for my application will be resolution 1280x375 more useable than 1000x480. I didn’t try if “SDK” allow me setup this resolution because when Im get max 1000 weight I had 480 height and didn’t try lower height.
Do you maybe know if “SDK” allow me using any resolution which provide me 960000=2xWEIGHTxHEIGHT ???
2.)Another thing I think that 960000 buffer is max for EMX but for ChipworkX is a lot of powerfull than EMX can be this buffer increased in next FW&SDK release?

Now I waiting 2 connectors to connect 1280x480 LCD panel and try different resolutions under current buffer limit, because looks like I can’t use 800x256 LCD…

Thanks again for all your time and help.

It is all about what most of our customers need. We do not have anyone using more than 640x480 so we made tha buffer larger, 800x600.

The larger the buffer the more wasted memory for those who do not care for higher resolutions.

Also, even on chipworkx with 64mb of ram, your resolution will work but be too much. Do you really need more than 1000 pixels!

Is maybe possible make configurable buffer size? For example:


Configuration.LCD.Configurations lcdConfig = new Configuration.LCD.Configurations();
lcdConfig.BufferSize = 960000;

In this case everyone can set buffer size which need and also if use small screen can lower it and get more free memory for other things…
If I use 1000480 I lose cca- 60-65mm of screen width on which I can put few icons and also whole gauge design is “width oriented”.
If I use 1280
375 I lose cca. 20-25mm of screen height which is more acceptable with same buffer size as 1000*480…

The best solution will be configurable internal buffer size but if this can’t be done also using 1280*375 will be acceptable…