Hallo Leute, ich habe mich heute mal wieder an meinen Hardwarebestand gesetzt und bin dabei über folgende Frage gesolpert. Man steht ja ab und an vor dem Problem, daß man ein Grät hat mit unbekanntem Conroller. Nun haben einige Geräte davon eine SPI Schnittstelle und es gibt einige Controller die über Signature Bytes verfügen, so daß man sie per SPI identifizieren kann. Das Dumme ist nur, daß das Komando zum auslesen der Signature Bytes nicht einheitlich ist, so daß man zumindest den Hersteller schon kennen muß, damit man dem Controller die Anfrage sich auszuweisen korrekt mitteilen kann. Kennt jemand eine Software, Datenbank, Website oder Liste mit den gängigsten Varianten die Signature Bytes auszulesen? Natürlich kann man sich auch per Brute-Force durch die Kombinationen arbeiten und schauen was man als Antwort bekommt und hoffen daß man damit etwas anfangen kann. Dabei ristkiert man aber das Gerät versehentlich per Chip-Erase-Kommando zu bricken oder anderen Unfug auszulösen. Daher wollte ich mich hier mal umhören ob jemandem so etwas schon zu Ohren gekommen ist. Ich konnte bisher nichts Brauchbares finden. Konkret hatte ich gerade ein Casio SF-3900ER Diary in den Händen und den mal aufgeschraubt, da mir das Teil geradezu perfekt für die nächste Bastelaktion erschien. Wie so oft bei solchen Geräten sind die Chips gehäuselos direkt auf die Platine gesetzt und mit einem Epoxy-Klecks versiegelt worden. Aber das SPI-Interface ist eindeutig zu identifizieren. Wenn man jetzt noch herausfinden könnte welcher Mikrocontroller auf dem Teil verbaut ist.... Aber dies ist auch nur ein Beispiel. Also falls jemand von einem "univeral SPI-Chipidentifier" oder so etwas in der Art gehört hat... Natürlich verfügt nicht jeder IC über diese Funktion. Aber es wäre schon schön wenn man diese Signature Bytes von den gängigsten ICs auslesen könnte. viele Grüße Carsten
Carsten R. schrieb: > Nun haben einige Geräte davon eine SPI Schnittstelle und es gibt einige > Controller die über Signature Bytes verfügen, so daß man sie per SPI > identifizieren kann. Das geht aber nur, wenn die Programmierung der Controller auch über diese SPI-Schnittstelle erfolgt. Das aber ist bei weitem nicht bei allen Controllern verbreitet, andere werden mit einem Bootloader über eine serielle Schnittstelle, ein JTAG-Interface, oder eine proprietäre Abwandlung eines JTAG-Interfaces programmiert -- und manche gar nicht, weil sie maskenprogrammiert sind (wie es die Dinge in Deinem Casio-Gerät sein dürften).
>Also falls jemand von einem "univeral SPI-Chipidentifier" oder so etwas >in der Art gehört hat. So etwas gibt es nicht.
Rufus Τ. Firefly schrieb: > Carsten R. schrieb: >> Nun haben einige Geräte davon eine SPI Schnittstelle und es gibt einige >> Controller die über Signature Bytes verfügen, so daß man sie per SPI >> identifizieren kann. > > Das geht aber nur,... >Das aber ist bei weitem nicht bei allen Controllern verbreitet,... Ich hätte mich genauer ausdrücken sollen: Es gibt einige Geräte mit SPI Schnittstelle und es gibt einige Controller die über Signature Bytes verfügen, so daß man sie per SPI identifizieren kann Carsten R. schrieb: > Natürlich verfügt nicht jeder IC über diese > Funktion. Aber es wäre schon schön wenn man diese Signature Bytes von > den gängigsten ICs auslesen könnte. Es geht mir also um eine Übersicht, Zusammenfassung, Software oder irgendetwas das den Zugriff auf die ID jener Chips, welche den Zgriff auf die Signature Bytes per SPI unterstützen, vereinheitlicht. Mir ist klar, daß das Beispielsweise mit einem x-beliebigen SPI-Schieberegister nicht geht, weil die Funktion nicht implementiert ist. Aber irgend einen Sinn muß es doch haben, daß in den Signature-bytes eine Hersteller-ID enthalten ist. Daher hatte ich die Hoffnung daß es wenigstens eine Hand voll Hersteller gibt die dieses einigermaßen vereinheitlicht unterstützen, denn sonst wäre das Einbinden einer Herstellerkennug eigentlich sinnfrei wenn es pro Identifikationsverfahren immer nur einen Hersteller gibt. Wenn es sich dann herausstellt, daß es nur ein einmalig beschreibbares Teil oder sogar ein schon ab Werk per maske Programmiertes IC ist dann ist es halt so, aber man weiß es dann wenigstens. Dann hat man das Teil wenigstens identifiziert. Mir geht es nur um die Identifikation per Signature Bytes, wie im Threadtitel beschrieben.
>Es geht mir also um eine Übersicht, Zusammenfassung, Software oder >irgendetwas das den Zugriff auf die ID jener Chips, welche den Zgriff >auf die Signature Bytes per SPI unterstützen, vereinheitlicht. So etwas gibt es nicht.
AndreasH schrieb: > Hi, > kann es sein, daß Du SPI und JTAG verwechselt hast? Laut Datenblatt Atmel ATmega bieten diese die Möglichkeit der Identifikation sowohl über SPI als auch für JTAG. Suche Signature Byte im Datasheet. Es steht bei SPI. Aber auch bei JTAG wird beim Boundary Scan etwas ähnliches beschrieben, ähnlich aber nicht identisch. Im ersten fall sind es 3 Bytes und im zweiten Fall sind es 4 Bytes (device identification register). holger schrieb: >>Es geht mir also um eine Übersicht, Zusammenfassung, Software oder >>irgendetwas das den Zugriff auf die ID jener Chips, welche den Zgriff >>auf die Signature Bytes per SPI unterstützen, vereinheitlicht. > > So etwas gibt es nicht. Dann muß ich wohl die atmelspezifische Übersicht hier im Forum selbst erweitern sobald ich herausgefunden habe mit welchen Chips ich es sonst noch zu tun habe. Irgendwie wundert es mich, daß es so etwas nicht geben soll. Es könnte nützlich sein, auch wenn es nicht allumfassend wäre/ist.
Carsten R. schrieb: > Laut Datenblatt Atmel ATmega bieten diese die Möglichkeit der > Identifikation ... Ja. Die bieten das. Sonst aber macht das kaum jemand. Und die Welt ist nicht Atmel-zentrisch, auch wenn dieses Forum hier manchmal den Eindruck erwecken will. Andere µCs sind auch eindeutig identifizierbar, aber halt auf die von ihrem jeweiligen Hersteller vorgesehene völlig andere Art.
Selbst wenn es einen universellen Chip-Identifizierer geben wurde, woher weiss man bei einem unbekannten Chip, wo sich die SPI Pins befinden?
visitor schrieb: > Selbst wenn es einen universellen Chip-Identifizierer geben wurde, woher > weiss man bei einem unbekannten Chip, wo sich die SPI Pins befinden? Yep. Das ist ein Henne-Ei Problem. Um zu wissen, wie man die Chip-ID ausliest, muß man erst wissen was das für ein Chip ist, Man braucht also eine zusätzliche Identifikationsmöglichkeit. Und wenn man erst mal den Hersteller und die Chip-Familie kennt, dann weiß man auch wo man die ausgelesene Device-ID nachschlagen muß. Das viel größere Problem dürfte die Volatilität dieser Information sein. Die meisten Hersteller vernichten gnadenlos alle Informationen über Bauteile die nicht mehr aktiv sind. XL
visitor schrieb: > woher weiss man bei einem unbekannten Chip, wo sich die SPI Pins > befinden? Die will der Threadstarter bei seinem Casio-Gerät ja irgendwie identifiziert haben.
Rufus Τ. Firefly schrieb: > Die will der Threadstarter bei seinem Casio-Gerät ja irgendwie > identifiziert haben. Genau so ist es. Es kommt öfter vor, daß solche Schnittstellen geräteintern vorhanden und gekennzeichnet sind, beispielsweise für Wartungs- Reperaturzwecke oder Qualitätssicherung oder Programmierung. Mal ist es JTAG, mal ist es SPI. In solchen Situationen wäre es schön wenn man es etwas vereinfacht testen könnte ob man einen der bekannteren Chips mit einem solchen Feature vor der Nase hat. Ich muß nicht jeden Exoten identifiziern können. Denn wer will sich schon in wenig verbreitete Controller bei Einzelstücken einarbeiten. Das macht ohnehin nur Sinn wenn es wahrscheinlich ist, daß man öfter auf solche Controller stößt. Aber im Moment sieht der Grundtenor dieses Threads dahingehend eher schlecht aus. Aber Danke für die Teilnahme. So weiß man wenigstens, daß so etwas entweder nicht existiert oder zumindest so selten ist, daß es schwer zu finden ist. Rufus Τ. Firefly schrieb: > Ja. Die bieten das. Sonst aber macht das kaum jemand. Und die Welt... Dann ist das wohl wieder ein Bispiel für einen gscheiterten Alleingang. Schade.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.