Forum: Mikrocontroller und Digitale Elektronik Altes AHM-6051-09 RISC HMI


von Marvin K. (m_marvin)


Angehängte Dateien:

Lesenswert?

Ich habe vor einziger Zeit 6 dieser "RISC-HMI"s günstig auf Ebay 
gefunden (10 EUR das Stück).
Laut Verkäufer aus Restbeständen einer aufgelösten Firma.
Ich habe sie als Bastelgräte gekauft um ein wenig damit zu 
experimentieren, das OS (Windows CE net 4.2) eventuell durch eigenen 
Code zu ersetzen oder (wenn überhaupt möglich) upzudaten oder linux 
drauf zu installieren.
Sie kamen in gutem Zustand an und sogar mit einem stabilen lackierten 
Stahl-Gehäuse und Netzteil.
Ein Programm des ursprünglichen Besitzers scheint auch noch installiert 
zu sein, reagiert aber auf keine Eingeben da es wohl eine Verbindung zu 
irgend etwas aufbauen will.

Ich habe versucht etwas über diese HMIs herauszufinden (Datenblatt, 
Bedienungsanleitung, Schaltpläne etc) aber habe nur diese Webseite des 
(Vermute mal Herstellers ?) gefunden: 
https://www.animalsystems.co.uk/products/panel-pcs-hmi/item/127-aplex-ahm-6051-5-7-risc-based-human-machine-interface
Nur grundlegende Informationen die ich auch so schon hatte.

Ich hab jetzt alles mögliche versucht um zugriff auf das Betriebssystem 
oder das Dateisystem zu bekommen, aber über keine der Schnittstellen kam 
irgend eine Antwort, noch eine erkennbare Reaktion des HMIs.

Ich hab es bisher über folgende Schnittstellen/Wege versucht:
- USB (Host/Client)
- RS232 (Linke Buchse, die Rechte scheint nicht mal mit allen Bauteilen 
bestückt zu sein)
- Netzwerk/Ethernet (Gerät wird von meinem Router erkannt, bekommt aber 
aus irgend einem Grund keine IP zugeteilt und wird als "nicht 
Internetfähig" ausgewiesen)
- Debug-Port direkt auf der Leiterplatte (Konnte GND 3,3V und einen 
Daten Ausgang und Eingang identifizieren, mehr dazu weiter unten)

Das einzige was etwas Erfolg gebracht hat war die USB-Host Port (die USB 
Buchse), sie erkennt USB-Sticks und so kann ich Dateien auf das HMI 
spielen, ausführbare Programme konnte ich leider nicht starten, das 
Betriebssystem scheint entweder so veraltet zu sein das selbst die 
älteste VisualStudio Version die ich habe es nicht unterstützt, oder es 
fehlen grundlegende Dateien des Betriebssystems.
Ich bekomme wenn ich eine .exe Starten will immer nur kryptische 
Fehlermeldungen die mir nichts sagen (Irgend welche Meldungen wie 
"Critical error: 0x0023FA3" oder in der art, nichts lesbares).

Ich konnte Anwendung mit dem Namen "Command Promt" finden, die eine 
MS-DOS Konsole öffnet.
Mit einer USB Tastatur kann ich Befehle eingeben.
Ich hab das heute erst bemerkt, wo ich mir die Dinger seit einigen 
Wochen das erste mal wieder angeschaut habe.
Ich hab noch nie mit eine so alten Konsole (Oder Windows installation) 
gearbeitet, daher wird es wohl dauern bis ich weis ob ich damit irgend 
etwas erreichen kann.

Zu der Debug-Schnittstelle die ich gefunden habe, das fand ich besonders 
Merkwürdig.
Auf der Rückseite der Platine (so das man es nur im vollständig 
Zerlegten Zustand erreichen kann, ich frage mich wer auf die Idee kam 
das dort zu platzieren ...) befindet sich ein 4-Pin-Header.
Ich konnte die Pins GND 3.3V DATA_IN DATA_OUT identifizieren.
Allerdings weis ich weder um was für eine Schnittstelle es sich handelt 
(UART, JTAG, I2C etc) noch ob diese überhaupt mit dem Prozessor oder 
eventuell direkt mit dem Flash verbunden ist.
Als ich versucht hab mich mit UART zu verbinden und alle möglichen 
gängigen Boud-Raten durchprobiert habe, bekam ich nur Zeichenmüll 
während des Hochfahrens, danach nichts mehr.

Als ich nochmal mit dem Oszilloskop dran gegangen bin (Ka warum ich da 
nicht gleich drauf gekommen bin ...) hab ich festgestellt das da 
überhaupt keine Daten raus kommen.
DATA_IN wird auf 3.3V hoch gezogen.
DATA_OUT dagegen gibt rauschen aus, eine sinnloses Zick-Zack auf dem 
Oszilloskop, mit Spannungsspitzen von allem zwischen +/-0,5 bis +/-12V 
und eine art Grundrauschen von ~7 kHz bei einer Amplitude von etwa 400 
mV (sehr inkonsistente Frequenz, sieht aus wie das was ich ein einem 
Verstärker mit Floating-Input erwarten würde, die Amplitude dagegen ist 
recht konstant).
Kein wunder das ich da nur Müll empfangen habe.
Das seltsame ist das das nur während des Hochfahrens ist, sobald der 
Desktop erscheint verschwinden die zufälligen Impulse und nur das 
Grundrauschen bleibt.

Das einzige was ich noch rausfinden konnte ist, das auf DATA_OUT 
offenbar versucht wird Daten zu senden.
Manchmal erkenne ich etwa 3-5 byte lange Daten-Sätze die ausschließlich 
im positiven Bereich des Signals (+1 - +3V) liegen, allerdings bis zur 
Unkenntlichkeit verrauscht sind.
Ich erkenne erst eine Spannungsspitze bei ~10V dann etwas was wie eine 
Reihe von 1en aussieht (dauerhafter Pegel) und dann eine Abfolge von 1 
und 0 Pegeln.
Ich konnte es auf ~5 Bytes schätzen, es ist einfach zu verrauscht.

Ich hab auch noch die UART Ausgänge von anderen Geräten an den selben 
Versuchsaufbau angeschlossen um einen Fehler in meinen Messungen 
auszuschließen, und alles hat einwandfrei funktioniert, mit gleichen 
Einstellungen.

Hat eventuell jemand eine Idee wie ich irgendwie Zugriff auf das 
Dateisystem oder den Speicher bekommen könnte um ein eigenen Code drauf 
zu spielen ?
Oder alternativ zumindest einen anderen Kommunikationsweg als über eine 
USB Tastatur und die Command-Promt, mit der ich mich aktuell 
beschäftige.

Ich konnte leider keine weiteren Information zu den Teilen finden, ich 
hab überlegt später mal den Hersteller anzuschreiben.

Interessant ist übrigens auch die Hardware an einigen stellen.
Nicht alles sieht so professionell aus wie ich es sonst von solchen 
Sachen gewohnt bin.
Der Stecker mit dem grün/schwarzen Kabel für die Power-Leuchte (die 
übrigens nichts bei allen Geräten zu Funktionieren scheint ist z.B: auf 
einen dafür völlig ungeeigneten Header gequetscht worden, do das auch 
einige Pins leicht verbogen sind.
Die Batterie-Halterung enthält 1. keine Batterie und ist 2. zumindest 
bei dem einen Gerät das ich geöffnet habe nicht mal mit irgend was 
Verbunden (Bauteile Fehlen, waren wohl nie aufgelötete, saubere 
Löt-Pads).

Das ganze kommt mir sehr komisch vor, aber ich hab noch so viel 
Erfahrung damit, ich mach das aktuell nur als Hoby.

Für jede Hilfe wäre ich dankbar.

von Marvin K. (m_marvin)


Angehängte Dateien:

Lesenswert?

Mit der Command-Promt war ich jetzt in der Lage das gesamte Dateisystem 
auf einen USB-Stick zu kopieren, allerdings ist da nicht viel drin.
Die einzigen ausführbaren Programme (neben dem Anwender-Spezifischen das 
man auf einem der vorherigen Bilder sieht) sind die Dateien 3 auf dem 
Bild.
Zusätzlich gibt es noch einen C-Header der aber nur diverse #define XY 
1 Zeilen enthält.

von Motopick (motopick)


Lesenswert?

> 10 EUR das Stück

60 EUR - Viel Geld fuer einen Haufen Schrott.

> Ich bekomme wenn ich eine .exe Starten will immer nur kryptische
> Fehlermeldungen

Kein Wunder. Das Ding erwartet ARM-Code.
Steht auf der Samsung CPU ja auch drauf :).
(Oder zumindest NET-Code. Da muss dann NET2.0 installiert sein.)

Um fuer die Dinger etwas zu entwickeln, brauchst die genau passende
Umgebung fuer WinCE von MS. Und einen Rechner mit einem uralten
Betriebssystem, um die und "ActiveSync" zu installieren.
Und zum bauen eines kompletten Systems wohl eine WindowsCE-
Buildumgebung.

Hast du das alles nicht, solltest du dem schlechten Geld
nicht noch gutes Geld hinterwerfen...

Ich habe hier alte Navis. Die gab es wenigstens umsonst :).

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Was hast du vor? Wenn du die Dinger sinnvoll einsetzen willst, solltest 
du dir das DB der CPU besorgen und schon mal gucken, obs eine (linux) 
Toolchain für diese Architektur gibt. Dann hast du viel Spass mit dem 
Reengineering der Schaltung. U.A. musst du ziemlich genau rausfinden, 
wie das LCD angetrieben wird und welche Ports der CPU für welche Zwecke 
benutzt werden. Dabei kann so eine RS232 schon mal als erste Verbindung 
zur Aussenwelt dienen.

Wenn du mit Cross Toolchains und Busybox usw. noch nie was gemacht hast, 
stehen dir ein paar schöne Wochen bevor.

: Bearbeitet durch User
von Andreas M. (amesser)


Lesenswert?

Wenn Du nach "Samsung s3c2410al" findest Du ein komplettes Datenblatt 
des SOC. Dann kannst du mit Experimentieren anfangen. Es handelt sich um 
einen steinalten SOC mit ARM920T Core. Das ist noch armv4 Architektur, 
wenn es wenigstens armv5 wäre. Viel Wärme, wenig Leistung. Ein 
beliebiger Cortex-M4 mit 150MHz steckt das Ding in die Tasche.

von Marvin K. (m_marvin)


Lesenswert?

Ich weis das die Dinger alt sind.
Aber der Touch-Screen und das Gehäuse ist noch zu gebrauchen, ich hab 
schon überlegt falls gar nix klappt einen Raspberry pi oder nen STM32 
einzubauen.
Der LCD ist gut dokumentiert.

Und zum Reengineering der Schaltung:
Ich beschäftige mich als Hobby mit solchen Sachen, einer der Gründe 
warum ich die Dinger gekauft habe, aber ich glaub so viel ist da gar 
nicht nötig.
Ich hab mir die Schaltung und den SOC schon angeschaut, Display, RS232, 
Ethernet und USB gehen direkt ohne Umwege auf die dafür vorgesehenen 
integrierten Treiber des Prozessors.
Bedeutet, wenn ich die Tool-chain und Entwicklungsumgebung für den 
Prozessor hab, sollte es kein Problem sein eine Anwendung für das Teil 
zu schreiben (nach Dokumentation im Datenblatt).

Und das ich die richtige Umgebung zum entwickeln für WinCE brauche ist 
mir auch klar.
Es ist jetzt schon einige Zeit her wo ich das versucht hab, aber ich hab 
mir dafür alles zusammen gesucht, ARM Compiler, .NET 2.0 etc.
Aber das Teil will trotzdem nicht.
Es hat meine Anwendung akzeptiert (habs daran erkannt das er das Fenster 
angezeigt hat) aber dann nur besagte kryptische Fehlermeldungen 
ausgeworfen.
Das beste was ich hatte war für ~3 Sekunden ein kleines Fenster mit 
einem Button und der Aufschrift "TEST", dann ist es wegen irgend einer 
fehlenden DLL gecrasht.

Da ich bisher wenig Erfolg hatte über die vorhandenen Ports rein zu 
kommen, versuche ich gerade rauszufinden ob der Prozessor einen 
Programming-Port oder ähnliches hat der leicht zugänglich ist, und ob 
ich eventuell direkt den NAND-Flash beschreiben/auslesen kann.

: Bearbeitet durch User
von Marvin K. (m_marvin)


Lesenswert?

Oh, ich hab übrigens rausgefunden warum ich an dem 4-Pin-Header keine 
Daten bekommen hab, zumindest weis ich was es für ein Port ist.

Es ist echt schwer zu erkennen aber mit einer Lupe konnte ich erkennen 
das unter einer mit Schrift bedruckten Stelle 2 Leiterbahnen verlaufen 
die man so nicht sehen kann.
Er ist direkt mit dem Port für den Touch-Sensor des Bildschirms 
verbunden.
Ich weis zwar trotzdem nicht wie dieses rauschen sinnvolle Daten 
übertragen soll, aber damit dürfte dieser zumindest schonmal als 
mögliche Schnittstelle wegfallen.
Gerade beschäftige ich mich daher mit dem Prozessor und dem NAND Flash.
Letzteren könnte ich denke ich problemlos auslesen und Beschreiben.

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.