Hallo, ich hab ein kleines Problem. eigentlich dachte ich es wäre ganz einfach, zusammenlöten, ISP anschließen und programmieren. Aber der Atmega wird nicht erkannt :( Also mal von Anfang an. Ich habe mir fertige Platinen gekauft, auf denen ein Atmegax8 passt. Die Platine hat einen 10pol ISP, 3 Pufferkondensatoren und eine Resetlogik, 11kOhm an Plus, 100nF an Minus. VCC ist mit AVCC verbunden. Also eigentlch nichts aufregendes. Ansonsten sind die Port an Pfostenstecker geführt, die aber noch nicht bestückt sind. Ich dann habe ich meinen ISP Programmierer (mySmartUSB light) genommen und versucht den Atmega8A-16AU zu programmieren, ok eigentlich hab ich nur versucht die CPU id auszulesen, aber er findet die CPU nicht. Ich habe alle Leitungen überprüft, vom ISP-Sockel bis zum Atmega8A, alle waren einwandfrei. Zu den Nachbaranschlüssen entsteht kein Kontakt (Brücke) 1 MOSI- 15, 3 NC , 5 RST 29, 7 SCK -17, 9 MISO -16 2 VCC - 4+6, 8+10 GND 3+5 (PinISP name - Pin MPU) Bei ID auslesen hab ich die Spannung gemessen sie lag bei 4,88V. Der Atmega8A-AU 1133 ist neu. Das Auslesen hab ich mit AVRstudio gemacht. Der ISP Programmierer funktioniert problemlos mit meinem Experimentierbord Atmega16. Der Quarz und die Kondensatoren für den Quarz sind nicht bestückt (Meines Wissens arbeitet er mit dem internen Takt, wenn er neu ist) Hat jemand eine Idee woran es liegen könnte? Oder was ich mal testen könnte?
Mikel schrieb: > Hat jemand eine Idee woran es liegen könnte? Oder was ich mal testen > könnte? ISP-Takt zu hoch eingestellt? Der muss nämlich weniger als 1/4 des µC-Taktes betragen. Der Atmega8 wird glaub ich mit 1MHz ausgeliefert. Also muss der Takt kleiner 250kHz sein. Gruß Oliver
Mach mal ein aussagekräftiges Bild von der ISP-Chip Verbindung. Mikel schrieb: > 1 MOSI- 15, > 3 NC , > 5 RST 29, > 7 SCK -17, > 9 MISO -16 > 2 VCC - 4+6, > 8+10 GND 3+5 (PinISP name - Pin MPU) Verbinde auch Pin 18 mit Vcc und 21 mit GND. Prüfe noch mal (mit einem Durchgangsprüfer) ob die Leitungen wirklich zu den Pins vom Chip gehen.
Der Atmega16 (mit dem es geht) läuft auch nur mit 1 MHz(intern), Der ISP takt ist 57,6kHz (defaultvorgabe) Pin18, AVCC liegt an VCC, eigentlich gehört da eine Induktivität rein, da ich die aber noch nicht habe ist es mit 0R gebrückt. Pin 21 liegt an GND, liegt auch an. Die Leitungen gehen wirklich von der Spitze des Stecker bis da, wo das Beinchen ins IC geht, habe alles durchgemessen. 20 (Aref) ist offen. Bild kommt gleich, dauert ein bißchen.
Schaltplan. C1,C2,Q1,D1 ist nicht bestückt (Irgendwie klappt das nicht mit dem Bild)
Hab gerade gesehen Die Spule von Pin 18 AVCC nach VCC fehlt im Schaltplan, dort ist aber eine Verbindung, und bei mir eine Brücke.
c8 ist das problem, schaum mal in die aaplication notes der avr µp.
Im C8 sehe ich kein Problem, der C ist von VCC nach GND, da gehört er auch hin. Wenn die Spule drin wäre, wäre ich mir auch nichts so sicher, ob das so gut ist. Ist aber die Vorgabe von der Platine, Ich hab nochmal ein Schaltplan, so wie er gelötet ist. das was weiß durchgestrichene ist nicht bestückt, die L1 wurde überbrückt. C8 ist 1u statt 10u, vom Reset sind nur C6 und R1 bestückt.
Der C ist auch kein Problem (und die fehlende Spule die du durch eine Brücke ersetzt hast auch nicht). Was aber ein Problem sein könnte: Zwischen die Vcc/GND Pärchen auf jeder Seite des µC müssen 100nF rein. Der Mega läuft, sobald er Versorgungsspannung hat. Also prüfen: liegt an allen Vcc Pins auch 5V gegen Masse an. Ansonsten bleibt nur noch, dass du irgendeinen Aderdreher im ISP-Kabel hast. Hast du das Kabel selbst gemacht?
das Kabel habe ich nicht selber gemacht, das ist ein 6pol-6pol, aber den adapter habe ich selber gemacht um auf 10 pol zu kommen. ich habe mit dieser Konstellation aber schon ein Mega16 mehrfach geflashed, und auch ein Mega128 geflashed. daraus schliese ich das es einwandfrei funktioniert. ich habe von dieser Platine auch schon 2 bestückt, die sich beide nicht programmieren lassen. Die Lötpunkte (besonders die ISP und VCC ) hab ich mit eine Lupe 45x untersucht. Auch alle Anschlüsse mehrfach gemessen, alles sieht einwandfrei aus. Meine einzigste Vermutung ist das die Atmegas nicht funktionieren, kann man die noch irgendwie anders testen ob sich da was tut? Ein Programm bekomme ich da ja nicht rein.
Was ist mit der Spiegelung des ISP-Steckers? wenn da von der L-Seite anstatt von der B-Seite gesteckt wird, kommt nur Blödsinn heraus. Atmegas sind recht robust, bisher haben ich nur dann einen atmega8 gekillt, wenn ich 12V drangelassen habe. auf falsche Spannung im Bereich von 0V ..5V hat er nie ernstlich reagiert. Das müsste schon an Hardware oder Software der ISP-Schnittstelle liegen.
Also Vcc und GND sind einwandfrei an der richtigen Stelle, damit schliesse ich aus, das etwas am ISP verdreht ist. an den anderen Boards funktioniert das Kabel ja auch.
Ist eventuell R2 zu niederohmig, so dass der Prommer den ATmega8 nicht in den Flashmodus setzen kann? MyAVR verwendet auf ihren Boards 10k.
Ich hab nen 11k genommen, habe gedacht der müßte auch gehen. Habe leider kein anderen Wert da. Er ist etwas hochohmiger, deshalb dauert der rest evt etwas länger. Ich habe es jetzt geschafft die Boards anzusprechen. Ich hatte noch einen anderen ISP programmer im Schrank, einer für 3Euro aus china, für den Preis mußte ich ihn einfach kaufen :D, unter Windows lief er nicht. vermutlich ein anderer Treiber drin. (hat eine andere Ventor und Product ID) Hab ihn rausgekramt, und ihn in Linux versucht zum laufen zu bringen. hat zwar etwas gedauert, da ich mich danach erst in avrdude einlesen mußte. Aber mit ihm ist es möglich beide Boards auszulesen. :) habe leide immoment keine Software die ich drauf machen könnte. Also die Boards laufen. :) da bin ich erleichtert. Bleibt jetzt nur die Frage warum es mit dem anderen nicht geht. Könnte es tatsächlich sein das, das timing am reset so kritisch ist, das es bei dem mySmartUSB zu lange dauert? werde jetzt mal versuchen den anderen unter Linux zum laufen zu bringen. muß mal rausbekommen wie der mysmartUSB unter Linux heißt.
Hmm, hab jetzt beide Brenner dran, und jetzt gehen beide. Das einzigste was mir dazu jetzt einfällt. Die USB Spannung von dem anderen Rechner mit dem ich es immer versucht hatte, zu niedrig ist, oder das das Timeing vom AVRdude unkritischer ist als von AVRstudio.
Ist es denn zum programmieren überhaupt von Nöten, AVCC und AREF zu beschalten? Da während des Programmiervorgangs keine analogen Komponenten benötigt werden, sollte dort doch eigentlich auch keine Spannung angeschlossen sein müssen. Grüße So lala
Datenblatt sagt beschalten also beschalten! :) Und nein, ist scheinbar nicht notwendig, ich hab Mega8er auch ohne AVCC/AREF Belegung betrieben. Aber wenn was nicht geht ist sich NICHT an die Spezifikation halten üblicherweise der falsche Weg...
AVCC ist erst dann notwendig, wenn das Port mit den Analoganschlüssen benutzt wird. Erst dann sind die Treiber/Eingangsverstärker an den entsprechenden Pins versorgt. Aref liegt normalerweise nicht an Spannung, da wird nur ein Pufferkondensator an die interne Aref angeschlossen, damit sie stabiler wird. von außen legt man nur dann Spannung an, wenn anstelle der internen Vref eine externe Vref oder VCC als ref verwendet werden sollen.
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.