Hi Community, für ein Projekt habe ich eigene Platinen bestellt. Im Grunde werden lediglich Messungen durchgeführt und auf einer SD-Card gespeichert. Als µC verwende ich den ATmega32U4 den ich mittels ISP Schnittstelle und einem Arduino als ISP-Programmer programmiere. Normalerweise funktioniert das recht gut. Jedoch wenn der MISO Pin vom µC (Schaltplan siehe Bild 1) und der MISO Pin von der SD-Karten Schaltung (siehe Bild 2) verbunden sind kommt ein Fehler in der Arduino Software, dass die Signatur des µC nicht passe. Seit tagen probier ich das Problem zu lösen, finde jedoch keinen funktionierenden Weg. Ich hoffe einer von euch kann mir helfen und verbleibe mit besten Grüßen!
Da musst du wohl oder übel den R9 zum Programmieren jeweils entfernen.
Das dürfte ein 74xx125 sein, der wird gerne als Pegelwandler missbraucht.
Nimm ein 74AHCT1G126. Pin 5: VCC -> VCC vom AVR Pin 4: OUT -> MISO vom AVR Pin 3: GND -> GND vom Rest Pin 2: IN -> MISO direkt von der SD-Karte (ohne den Umweg über den 74LVC125A) Pin 1: OE -> !RST vom AVR Dazu noch 1*100n direkt zwischen VCC und GND des 74AHCT1G126. Was macht das? Dieses IC lässt MISO nur durch, wenn das Reset-Signal high ist. Das ist es immer im normalen Betrieb. Beim Flashen ist Reset Low, und der Ausgang des Chips wird hochohmig und stört damit das Programmieren nicht mehr. Außerdem sorgt der Chip als AHCT-Typ für eine korrekte Pegelwandlung 3.3V -> 5V. Weiterer Tipp: an SD-CS einmal 10k Pullup, damit die Karte beim Programmieren tatsächlich garantiert passiv bleibt. fchk
:
Bearbeitet durch User
Du musst den MISO Ausgang der aus dem LVC125A kommt über den SD_CS enablen, sonst treibt er nämlich gegen deinen ISP
Nö, einfach das SD_CS parallel auf 4OE, anstatt ihn fest auf gnd zu legen. Die meisten China SD-Karten Adapter machen es auch fast immer falsch und die Leute wundern sich dass warum man den uC dann nicht mehr programmieren kann. Diejenigen die den uC über den arduino bootloader flashen merken es natürlich nicht, bzw erst dann wenn ein zweiter SPI slave dazu kommt
:
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.