LCDInfo.com

http://www.lcdinfo.com
It is currently Tue Mar 19, 2024 9:56

All times are UTC + 2 hours




Post new topic Reply to topic  [ 70 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
 Post subject:
PostPosted: Thu Jan 25, 2007 14:12 
Offline

Joined: Thu Jan 25, 2007 12:13
Posts: 1
SE T68i LCD part no: RNH94254/2 R5A

Noob here, how to identify which controller for this lcd? thanks~


Top
 Profile  
 
 Post subject: Any sources?
PostPosted: Sat Mar 03, 2007 22:00 
Offline

Joined: Sat Mar 03, 2007 21:54
Posts: 20
reset wrote:
thx for dump Bingo! its working for me :lol:

Could you post the code (at least the startup sequence)?
I have found the Hitachi HD66760 datasheet, but a sample code will be welcome.
Thank you.

Cex.


Top
 Profile  
 
 Post subject: Hitachi and Arima
PostPosted: Sat Mar 03, 2007 22:06 
Offline

Joined: Sat Mar 03, 2007 21:54
Posts: 20
prescott86 wrote:
SE T68i LCD part no: RNH94254/2 R5A

Noob here, how to identify which controller for this lcd? thanks~


Hello,
as far as I know the display module is manufactured by Arima (model MC16F01A)(You can find the datasheet in this link: http://homepages.nildram.co.uk/~displaz ... 16F01A.pdf)and the controller is the HD66760 from Hitachi (you can find the datasheet at www.alldatasheet.com). The supply is 2.8V and the interface is I2C.

Hope this helps.

Cex.


Top
 Profile  
 
 Post subject: I got it !!!
PostPosted: Mon Mar 12, 2007 12:58 
Offline

Joined: Sat Mar 03, 2007 21:54
Posts: 20
Hello everybody,

As no one answered my posts, I decided to further investigate by myself.

-One: First of all I decided to investigate about the driver chip. It seems that there are 3 types of controller, but I wanted to know, so I took a broken R2A LCD I got and cut the chip off the LCd and put in nitric acid to get the silicon chip. Then I put under the microscope. It revealed to be a S-4595B, which I suspect is the most usual type.
Since the other LCD I have is the same revision, and the silicon chip dimensions are EXACTLY the same I assumed it is the same chip.

-Two: I conected the LCD to my PC LPT port using the schematic provided by RIFER (http://rifer.narod.ru/i2cldc.html), just changing some components to provide 3V logic and supply to the LCD.
Making some changes to the RIFER provided sources I could check that the LCD sends ACK to address 72, which confirms it is a S-4595.

-Three: As "reset" said that he managed to make the display work and he based on "Bingo600" dump I studied the dump in detail:

+ 1st: I removed the hex part and S2 header to have clear text, which then I arrenged to be read clearly, as follows:

version=200109110;interface=i2c1;
{name=S-4595;type=01;address=72;resolution=65 50;colours=08 03 03 02;offset=1B 00;offset_pd=1B 00;
pd_rectangle=03 0000 0004 0065 001C 0000 001C 0065 0034 0000 0034 0065 004C;
pnp_detect=%a 00 00;
init=%a 03 01 02 00 00 46 01 00 06 01 07 1B 08 7F 09 00 0A 4F 0E 4F 0F 10 10 02 11 17 12 25 13 01 15
00 16 1C 17 00 18 00 19 00 1A 00 1B 50 1C 50 1D 26 1E 26 1F 00 20 00 34 27 35 73 36 04 37 31 38
06 39 2C 3A 24 40 08 41 00 42 07 43 08 44 09 45 0A 46 0B 47 0D 48 10 49 00 4A 05 4B 07 4C 08 4D
09 4E 0A 4F 0C 50 10 51 00 52 07 53 09 54 10 55 00 56 06 57 07 58 08 59 09 5A 0A 5B 0B 5C 10 5D
00 5E 06 5F 07 60 08 61 09 62 0A 63 0B 64 10 65 00 66 07 67 09 68 10 78 01 00 42 04 1B 05 00 %w118;
reinit=;reinit_pd=;power_on=%a 38 02 00 52;
power_off=%a 00 42 38 0A 39 00 %w78 %a 00 46 %w17C;
normal_pd=%a 00 42 38 0A 01 08 16 %pd_startrow %w32 %a 38 06 %w96;
pd_normal=%a 00 42 38 0A 01 00 %wC8;
set_scanrow_pos=%a 04 %x 05 %y;
scanrow=%a 8C;
set_vlcd=%a 39 %vlcd;
set_vlcd_pd=%a 3A %vlcd_pd;}


{name=HD66760;type=02;address=74 76;resolution=68 50;colours=08 03 03 02;offset=00 00;offset_pd=00 00;
pd_rectangle=03 0000 0004 0065 001C 0000 001C 0065 0034 0000 0034 0065 004C;
pnp_detect=%a 00 00;
init=%a 00 03 %a1 1A 34 %w96 %a 00 01 %a1 02 09 %a 00 02 %a1 00 46 %a 00 04 %a1 05 4E %a 00 14 %a1 4F 00;
reinit=;reinit_pd=;power_on=%a 00 07 %a1 00 03;
power_off=%a 00 07 %a1 00 00 %a 00 03 %a1 00 00;
normal_pd=%a 00 07 %a1 00 00 %a 00 03 %a1 19 04 %w0A %a 00 01 %a1 02 02 %a 00 04 %a1 03 5D %a 00 14 %a1 %pd_stoprow %pd_startrow;
pd_normal=%a 00 07 %a1 00 00 %a 00 03 %a1 1A 34 %w0A %a 00 01 %a1 02 09 %a 00 04 %a1 05 50 %a 00 14 %a1 4F 00;
set_scanrow_pos=%a 00 21 %a1 %y %x/2;
scanrow=%a 00 22 %a1;
set_vlcd=%a 00 04 %a1 05 %vlcd;
set_vlcd_pd=%a 00 04 %a1 03 %vlcd_pd;}


{name=S-43200A;type=03;address=70;resolution=65 50;colours=08 03 03 02;offset=00 00;offset_pd=00 00;
pd_rectangle=03 0000 0004 0065 001C 0000 001C 0065 0034 0000 0034 0065 004C;
pnp_detect=%a 00 00;
init=%a 03 01 02 00 00 06 01 00 0E 4F 0F 10 10 02 11 17 12 25 13 01 15 00 16 1C 34 2F 35 73 36 04 37 31
38 06 39 2C 3A 24 40 08 41 00 42 07 43 08 44 09 45 0A 46 0B 47 0D 48 10 49 00 4A 05 4B 07 4C 08 4D
09 4E 0A 4F 0C 50 10 51 00 52 07 53 09 54 10 55 00 56 06 57 07 58 08 59 09 5A 0A 5B 0B 5C 10 5D 00
5E 06 5F 07 60 08 61 09 62 0A 63 0B 64 10 65 00 66 07 67 09 68 10 00 02 04 00 05 00 %w118;
reinit=;reinit_pd=;power_on=%a 38 02 00 12;
power_off=%a 00 02 38 0A 39 00 %w78 %a 00 06 %w17C;
normal_pd=%a 00 02 38 0A 01 08 16 %pd_startrow %w32 %a 38 06 %w96;
pd_normal=%a 00 02 38 0A 01 00 %wC8;
set_scanrow_pos=%a 04 %x 05 %y;
scanrow=%a 8C;
set_vlcd=%a 39 %vlcd;
set_vlcd_pd=%a 3A %vlcd_pd;}


+ 2nd: We do not have the S-4595 datasheet, but we have the Hitachi one. Looking at the dum we can dedece that this type of display uses two I2C addresses 74 and 76. If we take a look at the datasheet, then we can see that both address match the two types of writting (to the register pointer, and to the register itself).
Taking this into account we can deduce from the DUMP that "%a" means 74h and "%a1" means 76h. I also deduced that "%w" means wait, so to initialise the HITACHI display we must send the following string to I2C:

74 00 03 76 1A 34 "wait 96h milliseconds" 74 00 01 76 02 09 74 00 02 76 00 46 74 00 04 76 05 4E 74 00 14 76 4F 00

+ 3th: Following the same scheme, for the S-4595 the initialisation string MUST be the one following "init=" string, just changing "%a" for 72 (note that the init string is much longer than Hitachi one and it comprises several rows, until the final wait "%w118).

I tried it. I sent "init" string followed by "power_on" string... AND IT WORKED !!!
I can see garbage in the display.
To send data you must used the "scanrow" string followed by data (72 8C xx xx xx...)

I will try to post some code sample and photos later.

To find out which controller your LCD has you shall send the "pnp_detect" string and see if you got and I2C ack.

+4th: Regarding commands:

"pd_rectangle" I think that it defines the rectangle for power down mode (the big clock), but don't know how to use it.
"pnp_detect" I think is used to detect the type of controller.
"init" is the init string to send after reset
"reinit=;reinit_PD=;power_on=" brings the LCD on after init/power_down
"power_off" to power off the LCD
"normal_pd" I think changes from normal mode to power_down, but have not tested yet.
"pd_normal" I think is the opposite of previous command although not tested.
"set_scanrow_pos" this set the pointer to data displayed. NOTE that this type of controller has an offset. initial point is not 0,0, but 1B,0 (if you look at initialisation sequence the last four bytes are 04 1B 05 00 which is the same you have to do in this command. Also note from that sequence that once you send the address (72) you can send several commands by sending REGISTER/VALUE sets of two bytes. This works for all the registers.
"scanrow" is used to send DATA. Is enough with sending the adddress and register once (72 8C), and then you can send all the data bytes in a row without sending again 72 or 8C. Data begings to be displayed from the current pointer (set with "init" or "set_scanrow_pos")
"set_vlcd" set the contrast. This is very important if you want to see something. It is set by default to 2C in "init" command. Values to far from that one will make that you can't see images on LCD.
"set_vlcd_pd" I think is the contract during power down mode, but have not tested yet.


As I told, I will try to post modified schematic, photos and test program when I have time.
I will also try to develop a library for PIC or AVR and post for all the users.

I been a long time after using this display for my projects because I think it will do better with a low cost microcontroller that Nokia 6100 (for example) as it has lower resolution and color depth, as so it required less processing.

I also owned a T68i mobile phone and it was quite bad for photos, but the menus were very nice.

Regards,
Cex.

Hope this helps to anyone. Please if you found this information helpful post a reply so I can know that it was useful to somebody. Thanks.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Apr 07, 2007 20:13 
Offline

Joined: Sat Apr 07, 2007 20:11
Posts: 5
Hi.

Any updates on a schematic and / or modified VB code for this as I am not having much sucess so far.

Thanks!


Top
 Profile  
 
 Post subject: Sample
PostPosted: Sun Apr 08, 2007 13:27 
Offline

Joined: Sat Mar 03, 2007 21:54
Posts: 20
Hello,

I have now a dirty sample program based on Rifer code for T28 display.
The ZIP file is around 60K including sources for VB and PDF schematic, and is posted on next post.

Here is a photo of my prototype.

Image

Regards.

Cex.


Last edited by cex on Sun Apr 08, 2007 16:02, edited 1 time in total.

Top
 Profile  
 
 Post subject: Sample code
PostPosted: Sun Apr 08, 2007 13:56 
Offline

Joined: Sat Mar 03, 2007 21:54
Posts: 20
Finally found a free file hosting:

http://www.woofiles.com/dl-22446-6GwmEhOK-T68LCD.zip

Hope you all find it useful.

I think all files (except dlls of VB) are included, but if you find some missing file, then let me know.

Take into account that depending on your target VCC value, you may need to change the contrast value (see comment on init string on sources).

Regards.

Cex.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 12, 2007 3:11 
Offline

Joined: Sat Apr 07, 2007 20:11
Posts: 5
Thanks for the info, much appreciated.

Been looking at this for a couple of days now and still no life in the LCD

Thinking that I may have blown it by putting 5v through it :-(

I have bought 2 x T68 lcd off ebay and 1 x Nokia 3310 lcd so those should be with me by the end of the week...

Will see if I have any luck with the new screens now I have regulated the volts properly to 3v now..

p.s I can see the data pulsing on the SDA and SCL via some LEDS I attached so I think it is definately a problem with the screen I have got now. However it is a very early T68 LCD (one of the first in the UK) so maybe the controller is different?


Top
 Profile  
 
 Post subject: Check for ACK
PostPosted: Thu Apr 12, 2007 9:39 
Offline

Joined: Sat Mar 03, 2007 21:54
Posts: 20
Hello,

I'm glad you find it useful.

I do not test the ACK in the SW, but I think it will be easy to modify the code for checking (so you can see if the controller is working and respondin to the 0x71 address).

To check for another controller you would have to change the address from 72 to 70 (or whatever), and the init string (from previous post).

Anyway, I have 5 displays from R1A to R5A and all of them use this controller.

I will try to add the ACK check (if I find some spare time) and post the new test program.

Also check for the correct pinout at connector (pins for leds, 6, 7 and 8 have thicker PCB traces).

Regards,
Cex.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Apr 14, 2007 3:45 
Offline

Joined: Sat Apr 07, 2007 20:11
Posts: 5
ok, i have the new lcds, i tried one of them (R5A) and still cannot get it to work.

I am sourcing the input voltage for the LM317 from a USB port. Is this enough current to power the circuit? I have exactly 3v from the LM317.

The screen LEDs work fine but I cannot get the LCD to initialise or display anything.

I have tried playing around with the ACK but cannot get a change to 1 with the code. Do you have any code to test the ACK as mentioned in the last post?

p.s I got the Nokia 3310 LCD working fine with the RIFER cicuit in LCDHype.

Thanks in advance for your help.


Top
 Profile  
 
 Post subject: New release
PostPosted: Sat Apr 14, 2007 13:05 
Offline

Joined: Sat Mar 03, 2007 21:54
Posts: 20
Hello,

I have added a button to test the 3 known address (0x70, 0x72 and 0x74).
I also realised that there is an error on the schematic posted (the pin 14 of LPT must be connected to the other pin of the schottky diode in order to be able to read the ACK (sorry for that).
Please note that diodes must be Schottky (I'm using BAT85).

Here is the link:

http://www.woofiles.com/dl-25557-MMYSLQyP-T68LCD11.zip

Sorry for the mistake, hope this time you can test it properly.

Now I am using a R3A display, but will try later with R5A to check for differences.

Regards,
Cex.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Apr 14, 2007 18:28 
Offline

Joined: Sat Apr 07, 2007 20:11
Posts: 5
Thanks for that.. the LCD is now working!!

The ACK revealed that my LCD is S-43200A (address &H70) which is why it had failed before.

Maybe the LCD contollers are different geographically?

I adjusted the code for this controller and it all works fine now.
one point to add is that the offset of &H1B does not apply to this LCD, I changed it to &H0 and it shows the image correctly.

I also put the INIT string into an array as follows (to make it easier):

initstring = "70 03 01 02 00 00 06 01 00 0E 4F 0F 10 10 02 11 17 12 25 13 01 15 00 16 1C 34 2F 35 73 36 04 37 31 38 06 39 2C 3A 24 40 08 41 00 42 07 43 08 44 09 45 0A 46 0B 47 0D 48 10 49 00 4A 05 4B 07 4C 08 4D 09 4E 0A 4F 0C 50 10 51 00 52 07 53 09 54 10 55 00 56 06 57 07 58 08 59 09 5A 0A 5B 0B 5C 10 5D 00 5E 06 5F 07 60 08 61 09 62 0A 63 0B 64 10 65 00 66 07 67 09 68 10 00 02 04 00 05 00"
initarr = Split(initstring, " ")
Timer1.Enabled = False
Timer2.Enabled = False
StartEE
For i = 0 To UBound(initarr)
mynum = CStr("&H" & initarr(i))
WriteByte (CInt(mynum))
Next i
StopEE

Thanks for all your help, I will do some more tests and report any other things I find.


Top
 Profile  
 
 Post subject: R5A is at 0x70
PostPosted: Sat Apr 14, 2007 20:37 
Offline

Joined: Sat Mar 03, 2007 21:54
Posts: 20
Hello,

I tested my R5A LCD and it also respond at 0x70.
I thought I have tested before and was 0x72, but surely I did it wrong.

Regarding the code, I'm not a Visual Basic programmer, so you will surely can improve it a lot.

I will try to put all the commands for the 3 types inside and use an autodetect function. Will post the code if I have some time to finish it.

I'm glad you finally put your LCD to work.

Best Regards,
Cex.


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 09, 2007 23:41 
Offline

Joined: Sat Apr 07, 2007 20:11
Posts: 5
Hi

Haven't looked at this for a while as I have been busy with other work.

I have translated all of the code to Delphi 6 and it is around 10 times quicker writing to the screen now!

black and white text etc is workimg fine, but I am having trouble with graphics.

My problem is knowing what colour palette the LCD uses.

I can save an 8bit RAW image from photoshop, but the colours are all shifted when i transfer it to the screen.

I loaded the RAW image that was supplied in your demo code into photoshop, but it loaded as a monochrome image.

Am I missing something? How can I know what palette the screen uses? and/or what software is used to create the RAW image that was used with the demo code.

Thanks for your help!


Top
 Profile  
 
 Post subject: Converting pics
PostPosted: Sun May 13, 2007 20:06 
Offline

Joined: Sat Mar 03, 2007 21:54
Posts: 20
Hello,

I used Paint Shop Pro 8 to create the RAW file from the gif file created by Sony Ericsson My Pictures (this adjusts the image to the T68 palette, so you can see on screen how it will look like in the T68 screen).

Anyway you can get the Photoshop pallete and further explanation on this link:

http://www.esato.com/board/viewtopic.php?topic=2386&forum=16

Hope this helps.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 70 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

All times are UTC + 2 hours


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group