Moin! Ich habe hier ein Stück Hardware, dass aus 3 Platinen-Bereichen besteht. Modul A hat gut erkennbar die CPU + Speicher drauf. Modul B hat nur eine LAN-Schnittstelle. Modul C ist ein 866MHz Funkmodul. Die drei Platinen sind über eine vierte PCB verbunden, auf der auch die Spannungsversorgung sitzt. Ich versuche etwas über die Kommunikation zwischen den Platinen zu lernen. Als erstes würde ich gern herausfinden, über welches Protokoll sie kommunizieren. Dazu habe ich alle Pins durchgepiepst, und konnt feststellen, dass nur 5 Pins nicht irgendeine Spannungsversordung oder GND sind. Einer dieser Pins geht von Modul A zu B und C, zwei jeweils nur zu B oder C. Ich habe mal mit meinem logic-Analyzer den "Verkehr" mitgeschnitten und konnte nur sehr wenig sehen. CH 1 und 2 gehen zu Modul B CH 4 und 5 gehen zu Modul C CH 7 geht zu beiden Modulen. Anbei habe ich (der Optik wegen) eine Grafik davon angehängt. Das aufgezeichnete Signal als CSV hab ich mal auf Pastebin geschoben: https://pastebin.com/et1AHHqB Hat jemand eine Vermutung, welche Kommunikation da verwendet wird?
Pascal T. schrieb: > Ich versuche etwas über die Kommunikation > zwischen den Platinen zu lernen. Dann sollte man sich auch ansehen, was für Dinge auf den Platinen genau draufsind, denn die bestimmen oft das verwendete Protokoll. Was exakt ist die "Lanschnittstelle"? Ist das ein NIC mit PHY, ist das nur ein PHY, oder ist das sogar nur eine RJ45-Buchse? Was für ein Funkmodul ist das, und was für ein µC ist da am Werkeln? Wenn man die Beteiligten kennt, kann man oft fundierte Annahmen über die verwendeten Protokolle treffen. Gibts Bilder von den Platinen?
Pascal T. schrieb: > Als erstes würde ich gern herausfinden, über welches Protokoll sie > kommunizieren. Bevor du dich um das Protokoll kümmerst, wirst du erstmal feststellen wollen, was das für Schnittstellen sind (OSI Ebene 1).
Pascal T. schrieb: > Das aufgezeichnete Signal als CSV hab ich mal auf Pastebin geschoben: Dann speichere das Signal mal als .sal, denn dann kann ich das hier auch wieder mit der Saleae Software importieren. Andras H. schrieb: > Vielleicht mal in den Peaks da reinzoomen? Exakt. In diesen Peaks ist die Kommunikation drinnen.
Anbei findet ihr .sal-Dateien. - die CPU ist ein MCIMX287CVM4B ARM CPU (Modul A) - die LAN-Platine ist mit einem AX88772BLI ausgestattet (Modul B) - auf der dritten Platine ist ein MSP430 & ein CC1125 (Modul C)
Wird USB sein. Die Pegel werden von deinem Logikanalyser wahrscheinlich nicht richtig erkannt. Hast du mal mit einem Oszo draufgeschaut?
Das ist mir gestern auch wie schuppen von den Augen gefallen... Fast schade, ich hatte auf einfachen UART oder I2C gehofft. Wobei mir bei letzterem der Clock gefehlt hätte. Ja, mit dem Oszi hab ich schon mal drüber geschaut, aber mein Oszi ist analog und stammt aus DDR-Zeiten sowietischer Produktion. Da kann ich nur erkennen, ob da was ist - nicht unbedingt was. Wahrscheinlich es Zeit, da mal aufzurüsten. Danke erst mal für die Tipps, ich schau mal, wie ich jetzt weitermache. Mein Ziel war es, an irgend eine Debug / UART-Schnittstelle der Geräts heranzukommen (die nicht offensichtlich mit irgend einem Header gibt). Jetzt beschäftige ich mich erst mal theoretisch mit USB :-D Danke!
Pascal T. schrieb: > die LAN-Platine ist mit einem AX88772BLI ausgestattet (Modul B) Das ist ein USB-Baustein der Firma ASIX, der mit High-Speed USB (480 MBit/sec) angesteuert wird (bzw. werden kann), da wirst Du mit einem Oszilloskop/Logikanalysator überhaupt nichts sinnvolles aufzeichnen können. Dieser Baustein verwendet ein proprietäres Protokoll, das ist kein USB-CDC-ECM. Pascal T. schrieb: > auf der dritten Platine ist ein MSP430 & ein CC1125 (Modul C) Es gibt ja auch nur genau einen MSP430. Möglich ist es, daß das einer mit USB-Device-Interface ist und daher die Kommunikation mit ihm ebenfalls über USB erfolgt, dann aber immerhin nur über Full-Speed (12 MBit/sec), denn MSP430 mit schnellerem USB-Device-Interface gibt es nicht. Kann natürlich auch was vollkommen anderes sein. Auf den hochauflösenden Bildern, die wir jetzt sehen dürfen, kann man auch klar erkennen, daß ... z.B. eine USB-UART-Bridge noch auf dem Modul C untergebracht ist (oder auch nicht) Hilfreich wäre es, sich anzusehen, auf welche Art und Weise die verschiedenen Module an den µC angeschlossen sind; da das ein BGA ist, ist das natürlich nicht ganz so einfach. Man könnte sich aber das Umfeld des Bausteins ansehen, ob z.B. ein USB-Hub zwischen dem Baustein und der Verbindung zum Netzwerkmodul zu finden ist, denn dann könnte der andere Kram ebenfalls über USB angebunden sein. Dabei helfen uns die hochauflösenden, gut ausgeleuchteten Bilder der Platinen, die hier immer noch fehlen.
Danke für die Hilfe. Leider kann ich keine Bilder der Platine posten. Weil ich das Gerät zwar rechtmäßig besitze, aber es hätte eigentlich nie zu mir kommen dürfen. Daher habe ich schlicht etwas Schiss vor rechtlichen Kosequenzen, an dem Ding rum zu "hacken" und dann noch Fotos zu posten. Es sind weder auf Modul B noch C weitere ICs verbaut, nur Kleinkram (C, L, R, Quarz). Modul A hat noch einen Festspeicher (Spanison ML08G201BHI00), RAM (winbond W972??????), zwei LAN Tranciver (SMCS 8720A), einen Flash-Speicher (Spanison FL256SAIH20), ein RS485 Transceiver (ADM3488E, nicht für Debug, habe ich geprüft) sowie ein Chip, den ich wegen seiner Einbauweise nicht lesen kann. Es steht in der ersten Zeile entweder 8003S, 80038 oder 80035. In der zweiten Zeile 01 02, in der dritten Zeile wahrscheinlich EnB809E. Konnte ich nichts dazu finden - ein Mikroskop hatte ich nicht zur Hand. Was nach einem Hersteller aussieht könnte "XZ" heißen - untereinander. Leider sind die Platinen übereinander gestackt (verlötet), so dass ich nichmal mit Tele oder Makro ein ordnetliches Bild machen kann um es richtig zu lesen. Und auseinanderlöten ist (noch) keine Option. In der Anleitung des Geräts steht was von "es Bootet". Also vermute ich, da es auch einen Webserver bereitstellt, das irgend eine Linux-Variante darauf installiert ist. Die dürfte dann auf einem UART sicher den Boot-Prozess darstellen. Den zu bekommen wäre mein erstes Ziel. //Nochmal Editr zum Thema Bilder: Selbst wenn ich wöllte, könnte ich nicht. Die Platinen schweben ca 8mm übereinander - und sind im Rechten Winkel mit einer "Versorgungs-PCB" verbunden. Ohne Demontage (Auslöten) keine Fotos möglich.
:
Bearbeitet durch User
Das ist dann ein merkwürdiger Klumpen; warum sind auf der einen Platine zwei PHYs drauf, und auf der anderen ein USB-NIC mit integriertem PHY? Pascal T. schrieb: > Die dürfte dann auf einem UART sicher den > Boot-Prozess darstellen. Den zu bekommen wäre mein erstes Ziel. Da die UART im BGA-Gehäuse des µC untergebracht sein dürfte, wird man ohne Unterlagen des Gerätes oder unter Analyse der zugänglichen Steckverbindungen oder gegebenenfalls Prüfpads auf der Platine nicht an diese UART rankommen. Was erhoffst Du Dir eigentlich von Deiner Protokoll"analyse"? Macht das Gerät nicht, was es soll?
Nun, der Gedanke des Herstellers war wohl, den USB-NIC auch durch ein USB LTE-Modem und anderes zu ersetzen, weil es das auch gibt (andere Modelle, nur andere WAN-Verbindung). Tja was erhoffe ich mir... Es ist rein akademisch. Ich will einfach verstehen wie das Gerät funktioniert, weil es absolut keine öffentliche Dokumentation darüber gibt. Die komische Gehäuseform kommt zustande, weil es auf einer Hutschiene Montiert wird.
:
Bearbeitet durch User
Pascal T. schrieb: > Ich will einfach > verstehen wie das Gerät funktioniert Dann wirst Du einen mühsamen und steinigen Weg vor Dir haben. Du kannst Dir die Hardware nicht ansehen, die Hardware ist komplex, und Du kannst die Hardware nicht anderen zeigen. Eine noch schlechtere Ausgangslage hättest Du nur, wenn Du noch nicht mal wüsstest, wozu das Gerät überhaupt da sein soll. Ich nehme mal an, daß Du das tust, auch wenn Du es uns nicht erzählt hast. Tja, dann mach mal. Viel Erfolg.
Ich habe jetzt ein zweites Gerät. Laut Dazenblatt des Mikrocontrollers auf der Hauptplatine hat dieser 2 USB-Anschlüsse, einer davon OTG (???), der andere Host. Ich denke einer von beidenm wird als auch als Client funktionieren. Jetzt kann ich eine der Platinen auslöten und schauen, ob eine Verbindung zustande kommt. Mal sehen :-)
Edit: An einem der beiden als USB vermuteten Ports konnte ich jetzt eine USB-Verbindung bestätigen. Mein Windows 10 meldet aktuell "Fehler beim Anfordern einer Gerätebeschreibung" - aber immerhin.
:
Bearbeitet durch User
Pascal T. schrieb: > Mein Windows 10 meldet aktuell "Fehler beim > Anfordern einer Gerätebeschreibung" Dafür benötigst du aber keinen Controller. Da reichen ein bis zwei Widerstände mit der die Datenleitungen über 1,5KOhm Pullups an 3,3V gelegt werden.
Jetzt haben wir es zu "Fehler beim Zurücksetzen des Geräts" geschafft. Immerhin. Hat USB-OTG nicht einen Sense-Pin?
:
Bearbeitet durch User
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.