Hallo!
Ich wollte eben einen frisch verlöteten AVR testen. Dazu wollte ich die
Schaltung über den ISP Dongle mit Spannung versorgen, habe aber
vergessen, den entspr. Jumper auf dem Dongle zu setzen. Der Versuch den
Controller zu kontaktieren scheiterte dabei natürlich, schließlich war
er unversorgt. Allerdings kann ich ihn nun auch mit Versorgungsspannung
nicht auslesen, ich bekomme Chip IDs von 000000 oder FFFFFF. Kann es
sein, dass der Controller durch die Pegel am ISP während des Auslesens
Schaden nimmt, wenn er dabei kein VCC hat?
Danke für alle Tipps!
> Kann es sein, dass der Controller durch die Pegel am ISP während des> Auslesens Schaden nimmt, wenn er dabei kein VCC hat?
Solche Sachen sind mir auch schon passiert. Dis jetzt habe ich noch
keinen AVR geschossen.
Könnte es sein, dass dein Programmer defekt ist?
Sorry, vergessen der Programmer zu nennen. Das ist ein billiger USBASP
(China), der allerdings bisher keinerlei Probleme gemacht hat. Der ISP
Dongle funktioniert zum Brennen von anderen AVRs (eben überprüft). µC
ist ein AT90CAN128. Korrekte Verbindung zwischen ISP Header und
Controller habe ich überprüft, auch ist kein ISP Signal nach Masse, VCC
oder einem anderen ISP Signal kurzgeschlossen.
Habe mit dem Oszi nachgesehen, beim Brennen ist SCK vorhanden und sieht
normal aus (toggelt sauber), RESET ist vorhanden und sieht normal aus
(geht auf 0 beim flashen), MISO ist vorhanden und sieht normal aus (habe
mir den Bitstrom allerdings nicht angesehen), MISO ist dauerhaft auf 0,
abgesehen von einigen leichten Störungen durch die anderen ISP-Signale.
Dass MISO auf 0 ist erklärt wohl dass die Controller ID als 0 gelesen
wird. Hat jemand noch eine Idee was da los sein kann, oder muss ich
einfach davon ausgegen, dass der Controller hinüber ist?
John schrieb:> µC ist ein AT90CAN128. Korrekte Verbindung zwischen ISP Header und> Controller habe ich überprüft
Das der 90CAN128 nicht die SPI Pins für ISP benutzt hast Du
berücksichtigt?
Verdammt, nein hab ich nicht. Schei*e! Hab jetzt nur mal schnell
gegooglet, sehe ich es richtig, dass PE0 (PDI) MISO entspricht, und PE1
(PDO) MOSI, und der Rest (SCK und RESET) aber gleich bleibt?
John schrieb:> Ich wollte eben einen frisch verlöteten AVR testen. Dazu wollte ich die> Schaltung über den ISP Dongle mit Spannung versorgen, habe aber> vergessen, den entspr. Jumper auf dem Dongle zu setzen. Der Versuch den> Controller zu kontaktieren scheiterte dabei natürlich, schließlich war> er unversorgt. Allerdings kann ich ihn nun auch mit Versorgungsspannung> nicht auslesen, ich bekomme Chip IDs von 000000 oder FFFFFF. Kann es> sein, dass der Controller durch die Pegel am ISP während des Auslesens> Schaden nimmt, wenn er dabei kein VCC hat?
Natürlich kann das passieren.
Es ist aber andererseits relativ unwahrscheinlich. Sonst hätte ich wohl
schon sehr viel mehr gegrillte AVRs entsorgen müssen...
> Sorry, vergessen der Programmer zu nennen. Das ist ein billiger USBASP> (China), der allerdings bisher keinerlei Probleme gemacht hat.
Letzlich hängt es natürlich davon ab, wieviel Strom der Programmer über
die Programmieranschlüsse einspeist. Ich kann mir allerdings nicht
vorstellen, dass ausgerechnet ein China-Billichkracher an der
ISP-Schnittstelle einen derart leistungsfähigen Treiberbaustein
eingebaut haben sollte.
Nö: Das bei weitem unwahrscheinlichstes Szenario ist ganz eindeutig ein
abgerauchter AVR...
Es wird wohl auf das Übliche hinauslaufen: Schaltungsfehler. Der kann
dann natürlich im Extremfall auch ganz alleine einen AVR abrauchen
lassen, völlig unabhängig vom verwendeten Programmer...
Hallo nochmal!
c-hater schrieb:> Es wird wohl auf das Übliche hinauslaufen: Schaltungsfehler.
Jo, absolut. Das war wieder einmal ein Fall von "gefährlichem
Halbwissen" bei mir - habe schlicht nicht damit gerechnet, dass es AVRs
gibt, bei denen SPI und ISP nicht Pin-identisch sind. Ist etwas
ärgerlich, weil ich nun gleich zehn Platinen mit dem Fehler habe :-).
Konnte das Problem immerhin relativ leicht mit Fädeldraht fixen. Wer
nicht lesen will muss fühlen ...
Danke an alle und insbesondere Rudolph, der's gerochen hat!
Gruß
John