Archiv verlassen und diese Seite im Standarddesign anzeigen : Bidirektionales Kabel?
ikarus_177
17.07.2008, 11:53
Hi,
ich habe mir einen ISP-Programmer nach Vorlage des Wiki-Bauplans zusammengelötet. Da ich anscheinend zu blöd bin, bei der Bestellung eine Buchse von einem Stecker zu unterscheiden ;-), habe ich mir im örtlichen Computer"fach"geschäft ein Stecker-Stecker Adapterkabel besorgt. Wieder zu Hause, gleich angeschlossen und mit Ernüchterung festgestellt, dass es nicht funktioniert ;-).
Wenn ich in Bascom das Programm übertragen will, erscheint die altbekannte Fehlermeldung "Couldn't identify Chip at ID:FFFFF. Danach hab ich auch Ponyprog ausprobiert, mit dem selben Ergebnis. Wenn ich da im Setup-Menü allerdings den Programmer auswähle und auf "Probe" klicke, erscheint "Test OK". Warum besteht mein Programmer den Test, obwohl ich augenscheinlich keine µCs damit brennen kann?
Ich habe meine Schaltung schon zweimal mit dem Multimeter durchgepiepst (IC vorher herausgenommen), aber keinen Fehler finden können. Allerdings hab ich den Anschluss "LED", der im Wiki Bauplan verdrahtet ist, nicht verwendet. Wofür gehört der eigentlich?
Beim Flashen geht der Reset-Pin auf GND, soviel hab ich schon herausbekommen.
Meinem Vater kam dann der Verdacht, dass dieses Adapterkabel kein bidirektionales ist, die Daten also nur in eine Richtung übertragen werden können.
Wie kann ich nun feststellen, ob dieser Verdacht begründet ist? Kann man das mit dem Multimeter messen?
Viele Grüße
ikarus_177
Andree-HB
17.07.2008, 12:09
Wie kann ich nun feststellen, ob dieser Verdacht begründet ist?
...schliesse doch den ISP direkt an den PC an, dann macht das nicht mehr vorhandene Kabel schon mal keine Probleme mehr... ;-)
ikarus_177
17.07.2008, 12:13
Ich hab ja aus Versehen eine Buchse anstatt einem Stecker bestellt. Könnte man auch einfach Stiftleisten in die Kontakte einer der beiden Buchsen stecken und danach die beiden einfach zusammenstecken?
Grüße
Naja, wenn zwischen 2 Kontakten ein Kabel angeschlossen ist, dann sollte die Datenübertragung da in beide Richtungen funktionieren; ausser jemand hat ne Diode eingebaut.
Was aber sein kann: Dass bei dem Stecker nicht alle Pins verbunden sind.
Einfach am Kabel selbst mal messen, ob Pin 1 am einen Ende auch _nur_ mit Pin 1 am andern Ende verbunden ist.
Nachtrag zu den Stiftleisten: Glaub dass die fast zu dick sind.
Und falls nicht müsstest die eh einzeln reinstecken, da die Sub-D-Raster nicht 2,54mm sind.
Einfach mal testen.
nikolaus10
17.07.2008, 13:14
Bei einem Bidrectionalen Kabel sind nur alle Pins vom Stecker verbunden.
Wir reden hier ja vom Kabel fuer die "parallele" Druckerschnittstelle ?
Die Kabellaenge hast du ja auch beruecksichtigt?
MFG
ikarus_177
17.07.2008, 13:35
Hi,
ich hab mal alle Pins des Kabels ausgemessen, sie scheinen alle miteinander verbunden zu sein.
Ja, es ist ein Kabel für die parallele Schnittstelle.
Die Kabellänge beträgt ca. 1,5m, dann kommt die ISP-Platine mit Bus-IC, und danach noch ca. 40 cm Flachbandkabel. Ich hab das Kabel aber schon mal entfernt, und den Adapter nur mit Hilfe von Stiftleisten mit dem PC verbunden gehabt. Auch das Flachbandkabel habe ich schon entfernt. Hat aber alles nichts geholfen.
Ich hab mal alle Pins vom ISP während des Flashens durchgemessen:
Reset: Ist am Anfang auf 5V, während des Flashens gets auf 0V, dann wieder auf 5V, dann wieder auf 0V. Dieser Vorgang wiederholt sich ein paar Mal, dann bleibt es wieder auf 5V stehen und in PonyProg erscheint die Fehlermeldung "Device missing or unknown device (-24)".
SCK: Ist am Anfang auf 0V, geht während des Flashens kurz auf 5V und gleich wieder auf 0V (Mein Multimeter zeigt zwar nur 1,55V für kurze Zeit an, aber ich nehme an, dass es einfach zu träge für diese kurzen Zeitabstände ist.).
MISO: Hier schwankt der Pegel während des Flashvorganges zwischen 4,9 und 4,4V.
MOSI: Beim Start des Flashens geht es auf 5V, beim Erscheinen der Fehlermeldung (Ende des Flashens) wieder zurück auf 0V.
Welche Erscheinungsmuster würde denn ein funktionierendes ISP von sich geben? Ich möchte gerne mal ein paar Fehlerquellen ausschließen.
Ich kann aber auch in Bascom im Programmerfenster (da wo der HEX-Code steht) mit dem Befehl File-Test-SampleProgrammer-Reset die Reset Leitung auf 0V setzen, mit dem Befehl D2-Pin4 wieder auf 5V.
Viele Grüße
ikarus_177
Andree-HB
17.07.2008, 14:19
...vielleicht jetzt mal die Frage - was für ein Board hast Du denn ?
Oder hast Du auf Lochraster aufgebaut und der Fehler liegt dort, und nicht beim ISP. Wird der MC intern oder extern getaktet, sind die Fuses korrekt ?
Alles Fragen, die Dein Problem betreffen könnten....
ikarus_177
17.07.2008, 14:52
Hi,
ich hab die Testschaltung mit dem M32 vom Wiki-Tutorial am Steckbrett nachgebaut. Die Fuses kann ich nicht verstellt haben, da der Mega ganz neu ist. Da ich noch nichts in den Fuses umgestellt habe, läuft er mit internem Takt und 1Mhz.
Aber sind die "Verhaltensweisen" des ISP soweit korrekt? Das würde die Fehlerquelle nämlich erheblich einschränken...
Grüße
EDIT: ich kann im Programmer-Fenster von Bascom das EEPROM sowie den Flash auslesen, den Chip resetten und löschen. Nur eben nicht beschreiben...
Hat jemand eine Ahnung, warum? :-s
Hast du beim Löten auf die Pin-Nummern am Stecker geachtet, oder einfach laut Skizze, der Form nach? Eine Buchse ist nämlich genau andersrum belegt als ein Stecker...
ikarus_177
17.07.2008, 16:34
Hi,
ich hab mich an die Pinnummern gehalten, allerdings ist bei mir beim Stecker des Adapterkabels Pin1 genau da, wo er auch bei der Buchse ist.
Bin gerade dabei, das Ganze an meiner RN-Control zu testen. Der erste Versuch sah vielversprechend aus, er konnte den Chip erkennen und erfolgreich flashen. Beim zweiten Versuch klappte es allerdings nicht mehr und ich erhielt eine andere Fehler - ID (also nicht ID:FFFFF, sondern irgend eine Zahl). Beim dritten Versuch schließlich war es wieder das selbe wie schon beim anderen M32 auf dem Steckbrett.
Ich hab schließlich noch eine Led am ISP-Treiber am LED-Ausgang (Pin 16 des 74HC244N), die auch beim Anklicken einer Aktion in Bascom kurz leuchtet.
Das Löschen und Auslesen des Flashs sowie des EEPROMs sowie das resetten funktioniert weiterhin einwandfrei...
Viele Grüße
ikarus_177
Proboier mal nen anderen Rechner...
Und wie lang ist dein Kabel insgesamt?
ikarus_177
17.07.2008, 16:52
Das Adapterkabel vom LPT ist ca. 1,5 m lang, dann kommt der ISP-Treiber und dann noch ca. 40 cm Flachbandkabel.
Grüße
Wenn du nen schlappen LPT hast, kann zwei Meter schon zu viel sein...
ikarus_177
17.07.2008, 17:10
Was mich stutzig macht, ist, dass er zwar problemlos alles auslesen und löschen, aber kein einziges Bit in Richtung µC bewegen kann.
Aber auch wenn ich die 40 cm Flachband, oder das LPT-Verlängerungskabel entferne, wird das nix?!
... bin jetzt grad am herumprobieren auf einem Vista-Rechner ...
Verzweifelte Grüße
ikarus_177
Besserwessi
17.07.2008, 18:09
Hatte mal einen ähnlichen Effect, da fehlte am Zielsystem die Spannungsversorgung. Der LPT port hat über die Signalleitungen und Schutzdioden die Schaltung mit genug Strom versorg, um Daten noch auslesen zu können, fürs schreiben war das dann aber zu wenig.
Für den ISP Adapter können die 40 cm Flachbandkabel schein zu lang sein, 10 cm wären besser. Man sollte in der schaltung besser auch noch serienwoderstände von etwa 220 Ohm in den Leitungen SCK, MOSI und MISO haben. Die sollten Leitungsreflexionen reduzieren und außerdem noch etwas Schutz für den 74HC244 bieten. Besonder die Signalqualität auf der SCK Leitung ist kritisch.
ikarus_177
17.07.2008, 19:10
So, ich hab jetzt die Schaltung wie auf http://www.blafusel.de/misc/atmega8_isp.html beschrieben umgebaut und die Serienwiderstände dazu. Leider ändert sich überhaupt nichts am Verhalten der Schaltung, auch wenn ich das Flachbandkabel ganz weg gebe und den Adapter direkt aufs Steckbrett stecke.
So langsam glaube ich, der 74HC244N ist defekt, andere Fehlerquellen gibt es meiner Meinung fast keine mehr.
Ich hab auch im BIOS den Modus der LPT auf EPP/ECP eingestellt.
Viele Grüße
Besserwessi
17.07.2008, 22:32
Wenn der 75HC244 defekt ist, sollte eigentlich auch das Lesen nicht funktionieren. Schließlich muß da auch übertragen werden was gelesen werden soll. Das spricht für ein Problem mit der zuverlässigkeit oder der Stromversorgung. Sind denn genug Kondensatoren an der Stromversorgung, sowohl für den Regler als auch für den Controller ?
nikolaus10
18.07.2008, 11:01
Von woher wird der Controller denn mit Strom versorgt ?
ikarus_177
18.07.2008, 11:57
Hi,
@Besserwessi: Am Regler befindet sich der Standard 100nF - Keramikkondensator. Ich hab dann für weitere Experimente die RN-Control verwendet, da müsste die Stromversorgung eigentlich passen.
Mir ist aber aufgefallen, dass wenn ich überhaupt nichts angeschlossen habe am ISP, es trotzdem problemlos auslesen kann (zumindest meint er, etwas lesen zu können)!
@nikolaus10: der 75HC244 vom ISP wird über die RN-Control mit 5V versorgt, die Spannung kommt auch am IC an, das hab ich schon nachgemessen.
Viele Grüße
Besserwessi
18.07.2008, 15:43
Wenn nichts angeschlossen ist, kriegt man Chip ID in der Regel immer FFFF oder 0000 , das sollte man schon von einer funktionierenden Verbindung unterscheiden können.
Zum testen kann man im BASCOM Programmierer die Leitungen auch einzeln setzten und mit dem Multimeter nachmessen.
ikarus_177
18.07.2008, 17:34
Ja schon, die Fehlermeldung kommt, nur wenn ich dann im Programmerfenster von Bascom auf "Read Chipcode into Buffer" klicke, kann er den µC (scheinbar) auslesen. Das klappt komischerweise auch, wenn der Programmer gar nicht mit dem Controller verbunden ist.
Das mit dem Nachmessen hab ich schon probiert, ich kann die Reset-Leitung von 0V auf 5V und wieder zurück bringen, sowohl den Busy Pin auslesen. Bei den anderen Pins klappt das aber nicht.
Ich hab mir aber schon in hinblick auf mein Notebook einen USB-Programmer zugelegt, da ich ja auch in Zukunft damit "herumspielen" möchte, und da stößt man mit der schon etwas veralteten LPT-Schnittstelle schnell an seine Grenzen.
Aber herzlichen Dank an alle für die vielen Hinweise und Tipps!
Viele Grüße
ikarus_177
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.