Hjälp med reverse engineering av LCD protokoll?

Lysdioder, Optiska sensorer, Fiberoptik, Displayer, Lasrar, Optiska kopplare
nifelheim
Den första
Inlägg: 2482
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Hjälp med reverse engineering av LCD protokoll?

Inlägg av nifelheim »

Har en timräknare där displayen givit upp.
Jag skulle vilja läsa ut vad som borde stå på den.
Jag tog isär den och trodde att det skulle finnas några randiga gummilister som glappade.
Etersom det bara är 7 st 7segments siffror tänkte jag mäta segment för segment,
så enkelt var det ju inte :(
LPH3930-1.JPG
Dom sex ledarna är 5 volt, 2st jord, och en via ett motstånd till 5volt.
Kvar blev data och klocka.
bitmönster.jpg

Det verkar vara 9 bitar data?
Den sista biten är inte alltid låg.

Ska jag chansa på att den sista är ACK och bara stryka den, eller? (I2C?)

Displayen är märkt: LPH3930-1 Q7430444
"Q" är lite kladdig ser mera ut som en bakvänd nia.
Google har inte givit mig något användbart, så nu vänder jag mig hit :)

Har någon sett någon liknande display, som man kan hitta datablad till,
eller har några ideer om hur jag skall komma vidare?
Tacksam för alla förslag på tänkbara protokoll.


Avkodad som 8 bitar I2C gav

Kod: Markera allt

Time [s],Event
"0,0014375",Stop
"0,0114100",Start
"0,0115050",Setup write to 0x70. +No ACK
"0,0119075",Wrote 0xCA to 0x70. +No ACK
"0,0123585",Wrote 0xE0 to 0x70. +No ACK
"0,0128100",Wrote 0xF6 to 0x70. +No ACK
"0,0131290",Wrote 0x80 to 0x70. +No ACK
"0,0134910",Wrote 0x78 to 0x70. +No ACK
"0,0140150",Wrote 0x00 to 0x70. +No ACK
"0,0144665",Wrote 0x00 to 0x70. +No ACK
"0,0149175",Wrote 0xFF to 0x70. +No ACK
"0,0153775",Wrote 0xFD to 0x70. +No ACK
"0,0158290",Wrote 0x00 to 0x70. +No ACK
"0,0163820",Wrote 0xE9 to 0x70. +No ACK
"0,0168335",Wrote 0xF8 to 0x70. +No ACK
"0,0172845",Wrote 0x88 to 0x70. +No ACK
"0,0176035",Wrote 0x00 to 0x70. +No ACK
"0,0179830",Wrote 0x00 to 0x70. +No ACK
"0,0184405",Stop
"0,0188460",Start
"0,0189410",Setup write to 0x70. +No ACK
"0,0193520",Wrote 0xCA to 0x70. +No ACK
"0,0198035",Wrote 0xE0 to 0x70. +No ACK
"0,0201225",Wrote 0xF6 to 0x70. +No ACK
"0,0204870",Wrote 0x80 to 0x70. +No ACK
"0,0209380",Wrote 0x7A to 0x70. +No ACK
"0,0214620",Wrote 0x00 to 0x70. +No ACK
"0,0219135",Wrote 0x00 to 0x70. +No ACK
"0,0223645",Wrote 0xFF to 0x70. +No ACK
"0,0228160",Wrote 0xFD to 0x70. +No ACK
"0,0231350",Wrote 0x00 to 0x70. +No ACK
"0,0236080",Wrote 0xE9 to 0x70. +No ACK
"0,0239855",Wrote 0xF8 to 0x70. +No ACK
"0,0244365",Wrote 0x88 to 0x70. +No ACK
"0,0248880",Wrote 0x00 to 0x70. +No ACK
"0,0253390",Wrote 0x00 to 0x70. +No ACK
"0,0257875",Stop
"0,0334940",Start
"0,0335890",Setup write to 0xAE. +ACK
"0,0339435",Wrote 0x84 to 0xAE. +ACK
"0,0343875",Start
"0,0345130",Setup read from 0xAF. +ACK
"0,0349895",Read 0x33 from 0xAF. +ACK
"0,0355220",Read 0x29 from 0xAF. +ACK
"0,0360460",Read 0x01 from 0xAF. +ACK
"0,0365615",Read 0x00 from 0xAF. +No ACK
"0,0370845",Stop
"0,0408415",Start
"0,0409360",Setup write to 0xAE. +ACK
"0,0413225",Wrote 0x7D to 0xAE. +ACK
"0,0416340",Start
"0,0418940",Setup read from 0xAF. +ACK
"0,0423705",Read 0x28 from 0xAF. +ACK
"0,0428945",Read 0x0A from 0xAF. +ACK
"0,0434270",Read 0x14 from 0xAF. +ACK
"0,0439530",Read 0xFF from 0xAF. +No ACK
"0,0445025",Stop
"0,0475085",Start
"0,0476035",Setup write to 0xAE. +ACK
"0,0479245",Wrote 0x72 to 0xAE. +ACK
"0,0483685",Start
"0,0484940",Setup read from 0xAF. +ACK
"0,0489700",Read 0x01 from 0xAF. +ACK
"0,0494940",Read 0x90 from 0xAF. +ACK
"0,0500180",Read 0x01 from 0xAF. +ACK
"0,0505440",Read 0x00 from 0xAF. +No ACK
"0,0510870",Stop
"0,0513205",Start
"0,0514155",Setup write to 0xAE. +ACK
"0,0518015",Wrote 0x75 to 0xAE. +ACK
"0,0521130",Start
"0,0523710",Setup read from 0xAF. +ACK
"0,0528470",Read 0x00 from 0xAF. +ACK
"0,0533710",Read 0x00 from 0xAF. +ACK
"0,0538950",Read 0x00 from 0xAF. +ACK
"0,0544215",Read 0x0C from 0xAF. +No ACK
"0,0549705",Stop
"0,0550565",Start
"0,0551515",Setup write to 0xAE. +ACK
"0,0554820",Wrote 0x6F to 0xAE. +ACK
"0,0559260",Start
"0,0560515",Setup read from 0xAF. +ACK
"0,0565150",Read 0x00 from 0xAF. +ACK
"0,0570390",Read 0x00 from 0xAF. +ACK
"0,0575630",Read 0x00 from 0xAF. +ACK
"0,0580650",Read 0x01 from 0xAF. +No ACK
"0,0585885",Stop
"0,0588150",Start
"0,0589100",Setup write to 0xAE. +ACK
"0,0593050",Wrote 0x8B to 0xAE. +ACK
"0,0596165",Start
"0,0598745",Setup read from 0xAF. +ACK
"0,0603505",Read 0x00 from 0xAF. +ACK
"0,0608825",Read 0x00 from 0xAF. +ACK
"0,0614060",Read 0x00 from 0xAF. +ACK
"0,0619325",Read 0x14 from 0xAF. +No ACK
"0,0624815",Stop
"0,0625675",Start
"0,0627935",Setup write to 0xAE. +ACK
"0,0630485",Wrote 0x87 to 0xAE. +ACK
"0,0634925",Start
"0,0636180",Setup read from 0xAF. +ACK
"0,0640160",Read 0x00 from 0xAF. +ACK
"0,0645400",Read 0x00 from 0xAF. +ACK
"0,0650640",Read 0x00 from 0xAF. +ACK
"0,0655665",Read 0x00 from 0xAF. +No ACK
"0,0660895",Stop
"0,0676280",Start
"0,0678540",Setup write to 0xAE. +ACK
"0,0681090",Wrote 0x80 to 0xAE. +ACK
"0,0684860",Start
"0,0686115",Setup read from 0xAF. +ACK
"0,0690180",Read 0xFF from 0xAF. +ACK
"0,0695420",Read 0x00 from 0xAF. +ACK
"0,0700660",Read 0xFF from 0xAF. +ACK
"0,0705685",Read 0x00 from 0xAF. +No ACK
"0,0710915",Stop
"0,0731440",Start
"0,0733705",Setup write to 0xAE. +ACK
"0,0736255",Wrote 0x6A to 0xAE. +ACK
"0,0739865",Start
"0,0741125",Setup read from 0xAF. +ACK
"0,0745190",Read 0x00 from 0xAF. +ACK
"0,0750430",Read 0x00 from 0xAF. +ACK
"0,0755755",Read 0x00 from 0xAF. +ACK
"0,0760695",Read 0x00 from 0xAF. +No ACK
"0,0765925",Stop
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Hjälp med reverse engineering av LCD protokoll?

Inlägg av Micke_s »

Antagligen så är det något linkande PCF8558 (den ligger förvisso på i2c 0x70 men jag tror inte det är den).
För kunna klura ut hur segmenten sitter ihop så får du resetta mätaren och veta vad den ska visa i det ögonblicket.
Problemet är nog att inte alla segment sitter på samma sätt och du måste mer eller mindre vänta tills räkneverket har slagit runt, alternativ om du kan ändra det till ett bestämmt värde.

Om det inte är något speciellt över denna så skulle jag köpa en ny istället. Det kommer gå många timmar om det inte finns något vettig datablad.
Du skulle kunna trycka på alla kablar till displayen och på själva displayen och se om det är glapp, kom ihåg att starta om(vet inte om display controllern har någon init i sig)
nifelheim
Den första
Inlägg: 2482
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Hjälp med reverse engineering av LCD protokoll?

Inlägg av nifelheim »

Har redan köpt en ny, fick rabatt så den gick bara på drygt 5kkr + moms :)

Jag vill ta reda på hur många timmar den trasiga räknaren står på.
Läste databladet på PCF8558 och googlade lite och det kan nog stämma, verkar finnas en nokia display som heter LPH7366
som använder den controllern.
Som du skriver blir det nog hopplöst utan att veta hur den är ansluten.

Har hittat ett EEprom på kortet kanske ska försöka läsa den trafiken istället......


Edit: har tryckt, böjt, värmt, kylt osv utan resultat.
nifelheim
Den första
Inlägg: 2482
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Hjälp med reverse engineering av LCD protokoll?

Inlägg av nifelheim »

Det visade sig att minnet sitter på samma I2C buss, ett 8582C2Y

http://pdf1.alldatasheet.com/datasheet- ... 82C-2.html

Så datat jag lyssnade av var både display och minne :)
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Hjälp med reverse engineering av LCD protokoll?

Inlägg av Micke_s »

Då kanske du kan fånga upp vad enheten skriver till eeprom:et istället för displayen.
ristomemo
Inlägg: 1028
Blev medlem: 29 mars 2004, 14:12:18

Re: Hjälp med reverse engineering av LCD protokoll?

Inlägg av ristomemo »

Är den nya mätaren en likadan? Om så är det ju bara att låna LCDn ur den en stund så du kan avläsa vad den gamla stod på.
avrpojken
Inlägg: 1
Blev medlem: 18 september 2010, 01:18:30

Re: Hjälp med reverse engineering av LCD protokoll?

Inlägg av avrpojken »

Hei, jeg har problemer med samme display. Men har ingen logic-analysator som du.

Data og klokke kan alternere på samme linje i I2C. Se her for en forklaring: http://www.best-microcontroller-project ... orial.html
nifelheim skrev:Ska jag chansa på att den sista är ACK och bara stryka den, eller? (I2C?)
Om du chansar på at at den siste låga bit:en er ACK og stryker den, står det "0xAE" i puls-toget på bildet.

Om du har mer avkodet data, er jeg interessert i det. Det er verdt et forsøk, men jeg kan ikke love at jeg forstår protokollen.

Jeg har skrevet til VDO og Volvo Penta etter nytt display, men har større tro på å løse det selv.
nifelheim
Den första
Inlägg: 2482
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Hjälp med reverse engineering av LCD protokoll?

Inlägg av nifelheim »

Det kom lite emellan.......

Det är 0xAE, den adresserar minnet.
0x70 är displayen

Jag tänkte kolla vad den skriver/läser ur minnet som Micke_s föreslog.

Ristomemo: Fronten är vattentät och av den modellen som inte går att öppna utan att förstöra, annars hade det varit klart enklast.

Displayen sitter på samma buss som minnet 8582C2Y så visst är det I2C (frågan ställde jag innan jag "hittade" minnet)

Återkommer med lite mer data snart

Edit: Det är VDO som har tillverkat men det står Scania på mitt instrument.
Användarvisningsbild
E85
Inlägg: 1274
Blev medlem: 29 maj 2007, 16:24:19
Ort: Övik

Re: Hjälp med reverse engineering av LCD protokoll?

Inlägg av E85 »

Ah, jag borde kanske försöka "reverse engineera" displayen i min Audi A4. Den har flera rader med pixlar som har dött så vore fint att få dit nån annan, kanske t.o.m en färgskärm. Vore fränt...
Användarvisningsbild
ChristianS
Inlägg: 229
Blev medlem: 7 januari 2009, 11:13:58
Ort: Limhamn

Re: Hjälp med reverse engineering av LCD protokoll?

Inlägg av ChristianS »

Livar upp tråden med lite ny info, inte mycket till vidare hjälp men jag letar efter en ny display.

Mitt instrument kommer från volvo penta men är troligen samma som i början av tråden. Min display heter LPH3930-2 Q4205076.
En kompis till mig som har samma problem i sin båt har luskat lite och fått fram att VDO reservdelsnummer är A2C00065115.

Har sökt på google och och inte hittar man mycket mer än ett litet spår, philips kan vara tillverkaren. Datablad verkar inte finnas det heller.

Det blir nog till att köpa ett nytt instrument, jag hittat det hos tex. hjertmans.se art nr 5301-006 1440:-

Funderar på att luska lite mer i att avkoda I2C signalen men jag får köpa nån buspirate eller liknande först.

// Christian
spit2k1
Inlägg: 1
Blev medlem: 16 oktober 2014, 21:53:32

Re: Hjälp med reverse engineering av LCD protokoll?

Inlägg av spit2k1 »

Hello,

Sorry for writing in English on a Swedish forum, but I am English!

This is a very old thread, but I have also had the exact same problem with the LCD display going faulty.

I've spent a long time decoding the signals and can tell you that the LCD sequence below...
"0,0115050",Setup write to 0x70. +No ACK
"0,0119075",Wrote 0xCA to 0x70. +No ACK
"0,0123585",Wrote 0xE0 to 0x70. +No ACK
"0,0128100",Wrote 0xF6 to 0x70. +No ACK
"0,0131290",Wrote 0x80 to 0x70. +No ACK
"0,0134910",Wrote 0x78 to 0x70. +No ACK
"0,0140150",Wrote 0x00 to 0x70. +No ACK
"0,0144665",Wrote 0x00 to 0x70. +No ACK
"0,0149175",Wrote 0xFF to 0x70. +No ACK
"0,0153775",Wrote 0xFD to 0x70. +No ACK
"0,0158290",Wrote 0x00 to 0x70. +No ACK
"0,0163820",Wrote 0xE9 to 0x70. +No ACK
"0,0168335",Wrote 0xF8 to 0x70. +No ACK
"0,0172845",Wrote 0x88 to 0x70. +No ACK
"0,0176035",Wrote 0x00 to 0x70. +No ACK
"0,0179830",Wrote 0x00 to 0x70. +No ACK
"0,0184405",Stop
Translates to "3336.2" hours :D
Skriv svar