Hallo, möchte meinen Atmel Atmega32L über ISP programmieren und eine sd Karte als Speicher für die Datenaufzeichnung nutzen. Nun suche ich schon seit längerem nach einer Lösung für ISP und SPI. Wie kann ich verhindern, das beim Programmieren der ISP Adapter und die SD Karte gleichzeituig auf die Ports zugreifen? Die suche bei G*** und hier haben mir keine Antwort gegeben. Bitte um fachliche Hinweise, Kritik oder Lösungsansätze oder auch evtl. passsenden Thread. Danke
Seit längerem? Jeder SPI-Salve hat ein Chip-Select. Ist das High so ignoriert der Slave alles auf SPI. Und für CS kann jeder Pin verwendet werden. Machste noch nen PullUp Ran damit beim Programmieren der Pin sicher auch auf Hi geht. Und fertig. SPI ist ein BUS, d.h. es ist normal wenn mehrere Slaves da dran hängen, also ist es ganz normal hier ein CS für jeden Slave einzusetzen. Und das soll nirgends zum SPI stehen? Na sicher doch. gruß cyblord
ja, seit fast 4 Tagen, habe aber keine saubere Lösung gefunden. Aber du hast mich auf eine gute Idee gebracht. Ich könnte einen Schalter speziell fürs programmieren einbauen, der cs steuert. Eleganter wäre, wenn der ISP Programmer angeschlossen wird und eine automatische Abschaltung der SD Karte erfolgen würde. Dazu ne gute Idee?
Wo ist das Problem? Eine SD karte steckt meist in nem Sockel und die Firmware aktualisiert man nun auch nicht täglich. SD raus, ISP einstecken.
iGast schrieb: > ja, seit fast 4 Tagen, habe aber keine saubere Lösung gefunden. Aber du > hast mich auf eine gute Idee gebracht. Ich könnte einen Schalter > speziell fürs programmieren einbauen, der cs steuert. Eleganter wäre, > wenn der ISP Programmer angeschlossen wird und eine automatische > Abschaltung der SD Karte erfolgen würde. > > Dazu ne gute Idee? Du willst Probleme lösen die du gar nicht hast. Erstmal stören sich Programmer und SD-Karte einfach nicht, wenn du es so machst wie von mir vorgeschlagen und dann kannst du wirklich einfach zum proggen kurz die Karte aus dem Slot nehmen wenn du trotzdem Störungen hättest. Also wozu irgendwas merkwürdiges Basteln? Ich beteilige mich da nicht dran. gruß cyblord
Das ist richtig, jedoch handelt sich um ein Experimentierboard (erstes mit SD-Karte), und da möchte ich öfters mal "updaten". Es wäre dann eben eine für mich perfekte Lösung, wenn ich dies automatisieren könnte.
iGast schrieb: > ja, seit fast 4 Tagen, habe aber keine saubere Lösung gefunden. Aber du > hast mich auf eine gute Idee gebracht. Ich könnte einen Schalter > speziell fürs programmieren einbauen, der cs steuert. Eleganter wäre, > wenn der ISP Programmer angeschlossen wird und eine automatische > Abschaltung der SD Karte erfolgen würde. > > Dazu ne gute Idee? Du machst dir Probleme wo keine sind.
cyblord ---- schrieb: > Du willst Probleme lösen die du gar nicht hast. Erstmal stören sich > > Programmer und SD-Karte einfach nicht, wenn du es so machst wie von mir > > vorgeschlagen und dann kannst du wirklich einfach zum proggen kurz die > > Karte aus dem Slot nehmen wenn du trotzdem Störungen hättest. Also wozu > > irgendwas merkwürdiges Basteln? Ich beteilige mich da nicht dran. > > > > gruß cyblord Ich bin mir nicht sicher, ob diese sich nicht gegenseitig beeinflussen können. Trotzdem Danke für deinen Tipp. Der klingt schon logisch.
Das Programmiergerät ist beim nichts tun Tristate, also quasi nicht vorhanden. Wenn der ISP den AVR programmieren will, zieht der den Reset des AVR auf GND. Also bau dir was ein, was bei RESET auf GND den CS auf HIGH zieht. In der Software dürfen Dateien dann eben nur nicht die ganze Zeit offen sein.
Also den cs von der sd Karte auf High? Bin leicht verwirrt. Oder liegt das am Alter schon? :-)
iGast schrieb: > Also den cs von der sd Karte auf High? Bin leicht verwirrt. Oder liegt > das am Alter schon? :-) Ja, weil CS=Hi=Slave ist deaktiviert. CS=low=Slave hört auf SPI. Mein Gott wilst du ne Zeichnung?
iGast schrieb: > Hallo, > > möchte meinen Atmel Atmega32L über ISP programmieren und eine sd Karte > als Speicher für die Datenaufzeichnung nutzen. > > Nun suche ich schon seit längerem nach einer Lösung für ISP und SPI. Wie > kann ich verhindern, das beim Programmieren der ISP Adapter und die SD > Karte gleichzeituig auf die Ports zugreifen? Beim Flashen per ISP ist !RESET auf Low, im Normalbetrieb auf High. Heißt also: Du könntest mit einem 74HC125 zwischen ISP und Prozessor den Programmer nur bei !RESET=Low aktiv schalten. Bei !Reset=High wären die Ausgänge des HC125 hochohmig. fchk
Eine SD Karte ist kein normaler SPI Slave, sie muss nach dem Power-Up in den SPI Modus versetzt werden. Das bedeutet leider auch, dass sie beim Programmieren dazwischen funken kann, selbst wenn CS = High ist: Die Daten der ISP Übertragung könnten zufällig gültigen SD Kommandos entsprechen. Das kann für die Daten (und sogar der Karte selbst) schädlich sein. Daher sollte die Karte beim Programmieren besser nicht im Slot stecken, wenn die ISP Pins auch als SPI Pins verwendet werden.
Vielen Dank für die Erklärung. Werde den HC125 noch mit in die Schaltung aufnehmen. Bin noch am überlegen ob ich dann zusätzlich noch einen 4053 auch noch mit integriere.
Jim Meba schrieb: > Eine SD Karte ist kein normaler SPI Slave, sie muss nach dem Power-Up in > den SPI Modus versetzt werden. cyblord ---- schrieb: > Seit längerem? Jeder SPI-Salve hat ein Chip-Select. Ist das High so > ignoriert der Slave alles auf SPI. Und für CS kann jeder Pin verwendet > werden. Machste noch nen PullUp Ran damit beim Programmieren der Pin > sicher auch auf Hi geht. Und fertig. SPI ist ein BUS, d.h. es ist normal > wenn mehrere Slaves da dran hängen, also ist es ganz normal hier ein CS > für jeden Slave einzusetzen. Und nu? Hast du das mit dem CS für eine SD-Karte so am laufen?
Werner schrieb: > Und nu? Hast du das mit dem CS für eine SD-Karte so am laufen? Ja bei mir hat das noch nie Probleme gemacht. gruß cyblord
Guten Morgen, habe nochmal darüber geschlafen und bin auf einer Seite auf den 4053 gestoßen. Mir scheint, dass ich mit diesem Baustein mein Problem lösen kann. Wenn ich den Atmega 32L nutze, muss ich mir auch keine Gedanken über die Spannung machen bzgl. dem Atemga und der SD Karte. Wäre sehr dankbar über eure Meinung ob das klappen kann.
ja, C1 muss gegen Masse. Natürlich fehlt auch noch die Spannungsversorgung und die restliche Beschaaltung vom Atmega.
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.