Forum: Mikrocontroller und Digitale Elektronik Arduino Reverse Engineering


von Christoph (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebes Forum

Ich hoffe es hat ein paar nette Leute hier, die mir weiterhelfen.

Ich habe eine Regelungseinheit die mir ein LCD Display ansteuert. 
Anstelle des Display, möchte ich den Arduino einsetzten. Also die Daten 
an den Arduino und dann mit einer GUI am PC darstellen. Daten SIO3 M16C 
----> Arduino -----> PC.

Was ich bis jetzt herausgefunden habe:

Das Display hat ein ST7565P-F1 COG Treiber.
Ich habe mit dem Logic Analyzer einen SPI BUS ausgemacht. Ich habe 
Bilder angefügt.
Ich sehe die Initialisierung, die Adressierung der Zeilen und wie der 
M16C Kontroller mein LCD Beschreibt.
Ein Clock -Takt dauert 1,4 qS das enstpricht etwa 715 kHz und werden 
immer 8-bit übertragen.

Jetzt meine Frage:
Ist es möglich mit dem Arduino die Daten abzufangen? SPI Modus oder 
Bit-Banging? Vielleicht ist der Arduino auch zu langsam? Kann mir da 
jemand weiterhelfen? Vielleicht Code oder Ideen wie iches lösen soll?

Die Spannung beträgt 2.4 V. Für digital Input des Arduinos zu wenig? 
Benötige ich einen Pegelwandler?

Hoffe auf spannende Antworten und danke der Communitiy im Voraus

von Christoph (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch die Zeilenadressierung und dann den "Text" der das Display 
anzeigt

von Einer K. (Gast)


Lesenswert?

Die /CS Leitung solltest du noch finden.

Und ja, wenn du die SPI Hardware nutzt, und das im Interrupt Betrieb, 
dann sollten einige Arduinos in der Lage sein das mitzuschneiden.

Und auch ja: Einen LevelShifter wirst du benötigen.

von Christoph (Gast)


Lesenswert?

Die CS Leitungen CS1 CS2 des ST7565P sind dauerhaft HIGH und die andere 
LOW. Das bedeutet SPI Betrieb des Grafikkontrollers.

Ob es eine Instruktion oder Schreibbefehl aufs Display ist, 
unterscheidet die obere A0 Leitung.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

mal kurz gerechnet: 8 Bit werden in 1/(90 kHz) übertragen, dann muss der 
Arduino mit seinen 16 MHz Takt das Byte zumindest zwischenspeichern, das 
sind 178 Arduino-Takte. Den verbleibenden Rest dieser Takte hat er zur 
Weiterbearbeitung.

von Christoph (Gast)


Lesenswert?

Bin leider noch nicht so bewandert auf diesem Gebiet.

War meine Rechnung mit den 700 kHz von oben falsch?

Also sollte das von der Leistung des Arduino UNO reichen? Das ich auch 
BitBanging (digital.INPUT) verwenden könnte?
Und so das Protokoll Stück für Stück analysieren kann.

von Christoph (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch wie mein Display beschrieben wird. Links Zeilenadresse und 
rechts in 8-bit Blöcken von oben nach unten. Dann immer +1 nach rechts 
verschoben. Bis Zeile voll ist und dann folgt nächste Zeile.. usw.

von Typ (Gast)


Lesenswert?

Christoph schrieb:
> War meine Rechnung mit den 700 kHz von oben falsch?

Stimmt schon 8x 90kHz sind 720kHz, du sagtest was von ca. 715kHz

Christoph schrieb:
> Also sollte das von der Leistung des Arduino UNO reichen? Das ich auch
> BitBanging (digital.INPUT) verwenden könnte?

Warum? Du hast doch einen Logic Analyser, ist doch viel komfortabler.

von Christoph (Gast)


Lesenswert?

Mit dem Logic Analyzer kann ich ja nur aktuell einen Ausschnitt sehen. 
Möchte aber den Arduino dranghängen und mit Processing eine GUI auf dem 
Pc programmieren. Der Arduino ersetzt das Display und nimmt die Daten 
entgegen und leitet diese mir sortiert an den COM Port.
Da muss ich doch den Arduino nehmen?

von Christoph (Gast)


Lesenswert?

kleine Anmerkung noch. \Es soll was dauerhaftes werden in einer 
Fabrikhalle. Darum der Arduino... Der Salaea ist mir zu schade ;)

von Christoph (Gast)


Lesenswert?

kann mir jemand einen guten level shifter empfehlen? oder sonst 
eigenbau? (beiträge hat es dazu genug)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christoph schrieb:
> 1,4 qS
Schreib da doch in Zukunft besser u, wenn du kein µ auf deiner Tastatur 
findest. Und das große S ist eigentlich die Einheit des Leitwerts: 
Siemens...

: Bearbeitet durch Moderator
von Bastler (Gast)


Lesenswert?

Falls der Salae in Processing direkt unterstützt wird wäre ein Selae 
Clon eine Alternative um die Auswertung dann in Processing zu machen. 
Spart die Arduino-Programmierung...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.