Hallo! Ich (nicht sonderlich PC-kundig) habe Probleme mit einem Gerät, das an die serielle 9-Pin-Schnittstelle eines PC angeschlossen wird, und hoffe, dass es jemanden gibt, der mir bei der Lösung helfen kann. Bei genanntem Gerät handelt es sich um eine Emulatorplatine mit einem Motorola-Mikroprozessor vom Typ MC68HC11. Eine 9-Pol-Buchse gibt es dort. Nach erfolgreichem Anschluss an einen PC soll es möglich sein, mit einem kleinen PC-Programm, das ich habe, z.B. Speicherinhalte des MC68HC11 auszulesen. Wenn ich diese Platine an einen sehr alten PC (MP 386 aus dem Jahr 1989) anschließe, funktioniert das auch. Genau so, wie es sein soll. Wenn ich dieselbe Platine aber mit demselben Kabel an meinen Haupt-PC (mit Pentium 3 Prozessor aus dem Jahr 2001) verbinde und dasselbe Programm aufrufe, funktioniert es nicht (Es kommt die Fehlermeldung "Verbindung unterbrochen"). Ich schließe daraus, dass sich irgendetwas Wesentliches an den seriellen Schnittstellen und/oder der sonstigen Technik, die damit zu tun hat, in der Zwischenzeit der Herstellung der beiden Computer geändert haben muss. Das möchte ich zu gerne lösen und hoffe sehr darauf, dass es jemanden gibt, der mir hier weiterhelfen kann. Das Ziel besteht darin, mit der Emulatorplatine über den neueren PC genauso zu kommunizieren zu können wie mit dem alten. Freundliche Grüße Manfred
Das Problem ist eher die PC Software. Früher wurden die Delays häufig mit schleifen programmiert. Die läuft heute viel zu schnell ab...
Manfred Schemann wrote: > Ich schließe daraus, dass sich irgendetwas Wesentliches an den seriellen > Schnittstellen und/oder der sonstigen Technik, die damit zu tun hat, in > der Zwischenzeit der Herstellung der beiden Computer geändert haben > muss. Das möchte ich zu gerne lösen und hoffe sehr darauf, dass es > jemanden gibt, der mir hier weiterhelfen kann. Das Ziel besteht darin, > mit der Emulatorplatine über den neueren PC genauso zu kommunizieren zu > können wie mit dem alten. Hast du alle Einstellungen der Schnittstelle bei beiden PCs exakt gleich konfiguriert? Sprich: - Data Bits - Stop Bits - Parity - Baudrate - Hardware-handshake Ich vermute mal es ist irgendwas mit dem handshake verfahren. Da sonstiges normalerweise immer beachtet wird. Gruss
Kann es sein, dass Du da zwei verschiedene Windows-Versionen auf den PC's hast?
Hallo und Danke allen, die geantwortet haben. Ich habe natürlich versucht, für beide PC´s ansonsten gleiche Bedingungen zu schaffen. Dazu habe ich mir eine bootfähige Diskette (mit DOS 5.0) gemacht und auf dieser weiterhin das Programm zur Kontaktaufnahme mit der Emulatorplatine untergebracht. Beide PC´s booten tadellos mit dieser Diskette, bei beiden PC´s lässt sich das Kontaktaufnahme-Programm (Name: HC11.exe) problemlos aufrufen. Dennoch funktioniert mit dem älteren PC die Kontaktaufnahme (Meldung: Treiber installiert.), mit dem neueren aber leider nicht (Fehlermeldung: Verbindung unterbrochen) Bei dem älteren PC, mit dem es funktioniert, habe ich zu Versuchszwecken mit dem "Mode"-Programm den Schnittstelle vielfach umkonfiguriert. Ich kann sie verhuddeln, wie ich will: Die Kontaktaufnahme funktioniert dennoch. Das hat mich zu der Vermutung gebracht, dass das Kontaktaufnahmeprogramm "HC11.exe" die Schnittstelle selbst passend konfiguriert. Ob das wirklich so ist, da habe ich keine blasse Ahnung. Grüße Manfred
Manfred Schemann wrote: > Bei dem älteren PC, mit dem es funktioniert, habe ich zu Versuchszwecken > mit dem "Mode"-Programm den Schnittstelle vielfach umkonfiguriert. Ich > kann sie verhuddeln, wie ich will: Die Kontaktaufnahme funktioniert > dennoch. Das hat mich zu der Vermutung gebracht, dass das > Kontaktaufnahmeprogramm "HC11.exe" die Schnittstelle selbst passend > konfiguriert. Ob das wirklich so ist, da habe ich keine blasse Ahnung. Mhm. Ok, also kann man das Betriebssystem schon mal ausschließen. Schau mal ins BIOS, wie da die verwendete Schnittstelle vom alten Rechner konfiguriert ist. Also welcher Hardware-Interrupt wird verwendet. Welcher SCI Modus. Das selbe überprüfst du dann beim "neuen" Rechner. Außerdem solltest du auf jeden Fall verifizieren, ob die Schnittstelle am neuen Pc grundsätzlich überhaupt funktioniert. Unwahrscheinlich, aber ausschließen kann man es nie. Wie gesagt, BIOS Check wäre jetzt meine Idee. Ansonsten kann es vielleicht wirklich am unterschiedlichen Timing liegen, wobei ich bezweifle, dass jemand wirklich so fahrlässig einen Emulator programmiert, der so Plattform abhängig ist. Gruss
Hallo Sebastian, Danke für Deine Antwort. Verwirrenderweise ist es nicht so, dass es mit dem neueren PC gar nicht funktioniert. Ich habe nämlich bemerkt, dass in dem Moment, in dem die Kontaktaufnahme über den ältern PC erfolgreich zustande kommt, die Stromaufnahme der Emulatorplatine von 23 mA auf 27 mA steigt. Dieselbe Stromaufnahmeänderung gibt es auch über den neueren PC, aber, und jetzt wird es noch verwirrender, erst beim zweiten (!!!) Aufruf des Kommunikationsprogrammes. Voraussetzung ist, dass ich zwischen dem ersten und zweiten Ansprechen des Emulators nicht (!) dessen Reset-Taste drücke. Dennoch kommt trotz des Stromanstieges die Fehlermeldung "Verbindung unterbrochen". Die Stromaufnahmeänderung ist für mich ein sicheres Zeichen dafür, dass das zweifache Aufrufen des Kommunikationsprogrammes für die Emulatorplatine nicht völlig folgenlos ist. Eine grundsätzliche Kommunikation scheint zu bestehen, die aber durch irgendetwas empfindlich gestört ist. Übrigens habe ich die serielle Schnittstelle des neueren `PC`s mit einer alten seriellen Maus getestet. Diese funktioniert tadellos. Grüße Manfred
Manfred Schemann wrote: > Ich habe nämlich bemerkt, dass in dem Moment, in dem die Kontaktaufnahme > über den ältern PC erfolgreich zustande kommt, die Stromaufnahme der > Emulatorplatine von 23 mA auf 27 mA steigt. Dieselbe > Stromaufnahmeänderung gibt es auch über den neueren PC, aber, und jetzt > wird es noch verwirrender, erst beim zweiten (!!!) Aufruf des > Kommunikationsprogrammes. Ist der Anstieg des Stromanstiegs das einzige Indiz, dass für die richtige Funktion spricht? Kannst du wenigstens ein paar Steuerkommandos an die Platine schicken auf die diese dann reagiert? > Voraussetzung ist, dass ich zwischen dem ersten und zweiten Ansprechen > des Emulators nicht (!) dessen Reset-Taste drücke. Dennoch kommt trotz > des Stromanstieges die Fehlermeldung "Verbindung unterbrochen". Vielleicht erwartet die Platine (protokollmässig) irgendein Zeichen oder Signal auf einer bestimmten Leitung, welche der neue PC vielleicht nicht unterstützt? Ich kenne mich mit den älteren Protokoll Standards der seriellen Schnittstelle nicht so aus. Handelt es sich denn definitiv um RS232 oder um ein sonstiges serielles Protokoll? Also einen BIOS Check hast du durchgeführt? Ich verweise mal auf http://de.wikipedia.org/wiki/RS232 Hast du evtl. die Möglichkeit die Signale auf den Pins zu analysieren? Z.b. mit einem Oszi? Dann könntest du so vorgehen, dass du jedes Signal überprüfst, sowohl auf dem alten wie dem neuen Rechner. Evtl. unterstützt der neue Rechner eine Signalleitung nicht, die der alte Rechner unterstützt. Nochmal zur Klarstellung: Du baust die Kommunikation mit dem Emulator auf: nicht passiert. Du baust die Verbindung ein zweites mal auf: nicht passiert, aber der Stromanstieg steigt. Es wäre interessant zu wissen, was bei diesem Kommunikationsaufbau passiert. Aber ohne LOG, Oszi oder Sniffer wird es schwierig. Grüße sebastian
Hallo Sebastian, vielen Dank für Dein Interesse und Deinen Einsatz. aus Deine Fragen entnehme ich, dass Du die Sache so verstanden hast, wie sie ist. Zu Deinen Fragen im Einzelnen: 1. Ja, die Stromaufnahme ist das einzige Indiz. Wenn dabei die Fehlermeldung "Verbindung unterbrochen" einmal da ist, kann man mit dem PC nicht mehr auf die Emulatorplatine einwirken. 2. Ob es sich absolut definitiv um eine RS232-Schnittstelle handelt, kann ich mangels sicherer Kenntnisse nicht entscheiden. Bei beiden PC`s sind die Anschlüsse mit "seriell in-out" gekennzeichnet, bei beiden sind es D-Sub-9-Pins Version Stecker, auf die also jeweils die Buchse eines Verbindungskabels passt. Bei beiden PC`s funktioniert an den genannten Anschlüssen eine unveränderte serielle Maus (diese natürlich mit D-Sub-9-Pin Buchse am Ende des Kabels. 3. Im verwendeten Verbindungskabel sind nur vier Leitungen verbunden: TXD, RXD (= Pins 2 und 3, diese überkreuzt), die Masse (Pin 5, soweit ich mich erinnere) und die Abschirmung. Damit funktioniert es auf dem alten PC problemlos. 4. Ein Oszilloskop und die Kenntnisse, es zu bedienen, habe ich. 5. Das, was Du unter "Nochmal zur Klarstellung" geschrieben hast,ist genau so: Beim ersten Aufrufen des Programms "HC11.exe" kommt nur die Meldung "Verbindung unterbrochen" (beim alten PC: "Treiber installiert." mit Änderung der Stromaufnahme). Sonst nichts. Keine Änderung der Stromaufnahme. Beim zweiten Aufruf des Programms HC11.exe kommt auch die Meldung "Verbindung unterbrochen", aber die Stromaufnahme steigt signifikant und jederzeit reproduzierbar an. Voraussetzung dafür ist, dass ich zwischen den beiden Programmaufrufen nicht (!!) die Reset-Taste des Emulators nicht betätige. Das dürfte daran liegen, dass der Emulator andernfalls nach dem Reset den ersten Aufruf wieder vergisst und den zweiten wieder als ersten wertet. Betätige ich nach dem zweiten Programmaufruf (Stromaufnahme ist dabei angestiegen) die Reset-Taste des Emulators, fällt die Stromaufnahme wieder auf den ursprünglichen Wert ab. Ich habe noch etwas Weiteres ausprobiert, was zur Analyse des Problems interessant sein könnte. Habe das bisher nicht geschrieben, weil das nur umständlich zu erklären ist und ich niemanden überfrachten möchte. Ich kann noch versuchen, das in Worte zu fassen, tue das aber nur auf ausdrücklichen Wunsch. Herzlichen Gruß Manfred
Hallo an alle, die sich mit meinem Problem beschäftigt haben! Das Problem ist gelöst. Ganz herzlich möchte ich mich für die Hilfe bedanken. Gruß Manfred
Manfred Schemann wrote: > Hallo an alle, die sich mit meinem Problem beschäftigt haben! > > Das Problem ist gelöst. Ganz herzlich möchte ich mich für die Hilfe > bedanken. > Gruß > Manfred Hallo Manfred, jetzt musst du uns aber auch schreiben wieso es jetzt funktioniert. ;-) Grüße Sebastian
Hallo Sebastian, die Auflösung will ich auf keinen Fall schuldig bleiben. Ich hatte diese Frage in etwas anderer Formulierung noch ein zweites Mal im selben Forum eingestellt. Eigentlich war dieses zweite Mal das erte Mal, weil ich die Version mit dem Betreff, in der wir jetzt gerade sind, nur irrtümlich eingestellt habe. Sie sollte eigentlich in das Forum "PC-Hard- und Software". Aber leider habe ich mich verklickt. In besagter zweiter Einstellung hat sich jemand gemeldet und mir einen Link geschickt. Er führt auf die Internet-Seite "www.tec-i.com/WP11.htm". WP11 ist der Name eines Programmes, das exakt zu dem Zweck dient, mit Hilfe eines PC`s mit einem Betriebssystem ab Windows 95 (ausdrücklich auch erwähnt: Windows 2000 und XP) eine Platine mit einer Minimalumgebung für den Prozessor MC68HC11 über die serielle Schnittstelle anzusprechen und dann genau das zu machen, was ich möchte: Das EEPROM zu löschen und neu zu programmieren. Dieses Programm habe ich heruntergeladen, auf meinem neueren PC installiert und über mein vorhandenes Kabel mit meiner Prozessorplatine verbunden. Es ist kaum zu glauben, aber damit hat es auf Anhieb funktioniert. Nicht mal mein Kabel musste ich ändern. Ich habe damit genau die Änderungen hinbekommen, um die es mir ging. Man kann das EEPROM zwar leider nur komplett löschen (und nicht einzelne Adressen), aber das ist nicht schlimm, weil es die Möglichkeit gibt, vorher den gesamten Inhalt in einen Buffer zu laden. Dann kann das EEPROM gelöscht werden. Die Speicherstellen im Buffer kan man nun nach Herzenslust ändern und dann das EEPROM wieder komplett neu programmieren. Führt so zum selben Ziel. Das anfängliche Problem der Kommunikation mit meinem neueren PC mit der Platine über das Programm HC11.exe (das, was wir zuvor ausführlich kommuniziert haben), ist weiterhin nicht gelöst. Dessen Lösung ist aber nun nicht mehr erforderlich, weil ich dasselbe Ziel auf anderem Weg erreicht habe, der es mir zudem noch abnimmt, mich in die Programmierung und Assembler einarbeiten zu müssen. Dir danke ich noch einmal herzlich für Deine Zeit, Dein Interesse und Deine Gedanken und wünsche noch einen schönen Sonntagabend. Herzl. Gruß Manfred
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.