Forum: Mikrocontroller und Digitale Elektronik AT90CAN128 ISP auf demAVR CAN


von Thorsten (Gast)


Lesenswert?

Hallo zusammen,

ich stehe vor einem sehr seltsamen Problem.

Ich habe mir das AVR CAN Board gekauft:
http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=507

Da ich keinen JTAG Programmer habe, sondern mehrere USBprog 3.3, möchte 
ich das Modul über ICSP programmieren.

Ich habe also einen Stecker angelötet (sonst nichts) und versucht zu 
flashen. Die Pinbelegung müsste passen, ich habe das am PDI/PDO etc. 
angeschlossen, wie auch bei diesem Eval-Board, das dem Olimex teil sehr 
ähnelt, aber halt den ICSP Stecker auf dem Board hat.

http://www.ebay.de/itm/AVR-CAN-ATMEL-AT90CAN128-prototype-board-UART-JTAG-ISP-/160663269742

Schaltplan:
http://www.bravekit.com/document/AVR_boards/AVR_CAN/AVR-CAN_schem.pdf

Das Teil lässt sich nicht programmieren. Schließe ich meinen AVR 
MT128-Board an (gleiche Pinbelegung), dann geht es wunderbar.

Variation der Übertragungsgeschwindigkeit brachte nichts.

Ich habe es sicher richtig angeschlossen.

Der Unterschied beim Anschluss von AVR CAN zu MT128 ist folgender:

Stecke ich USB am Rechner aus, dann geht beim MT128 auch die grüne LED 
aus, beim CAN AVR leuchtet sie dunkler weiter.

Das kann ich mir nicht erklären, weil die Verdrahtung 100% gleich ist 
und richtig.

Habt ihr hier eine Idee?

Ich wäre sehr sehr dankbar.

Danke schon mal.

von Thorsten W. (thorsten1977)


Lesenswert?

So ich habe den Fehler gefunden - die Fehlersuche hat mich ein paar 
Stunden gekostet. :-)

Auf dem CAN AVR Board von Olimex ist der Pin RX0 direkt mit dem 
MAX232-Pin RX0 verbunden.

Auf dem CAN AVR Board von BraveKit sind die Widerstände R19 und R20 
zwischen dem Ausgangspin MISO/MOSI (PDI,PDO) und dem MAX232 verbaut. Ich 
glaube es sind 330 Ohm.

Die fehlenden Widerstände sind wohl das Problem beim Olimex Board, denn 
dort sind sie nicht verbaut. Es lässt sich nicht programmieren, wenn man 
die Pins des ICSP-Adapters an EXT1 und EXT2 anschließt. Ich tippe, dass 
der MAX232 den Pegel des Programmieradapters runter zieht oder so.

Ich hatte diese Vermutung bei dem Olimex CAN AVR Board und habe die 
Leitung RX0 zwischen EXT1 und MAX232 durchtrennt. Jetzt lässt sich das 
Teil programmieren.

***
*Fazit: Da gehört ein Widerstand rein, wenn man das CAN AVR Board mit 
ICSP Programmieren möchte.*
***

Das ist ein bisschen schade mit dem Olimex Board, denn viele User 
programmieren ja mit USBprog und Co via ICSP.

Mir ist noch nicht klar, wie ich da einen Widerstand reinfummle, aber 
wenn jemand eine Idee hat, bin ich offen.

Vielleicht helfen diese Infos anderen Usern des Boards weiter.

von Stefan (Gast)


Lesenswert?

Hi Thorsten,

auch wenn schon etwas länger her, aber dank deiner Hinweiße habe ich das 
Problem "gelöst" bekommen.

Ich verwende ebenfalls das Olimex "AVR-CAN" Modul, Version 2006, Rev.A.

Ein flüchtiger Blick in das Datenblatt des Adapters 
(https://www.olimex.com/Products/AVR/Development/AVR-CAN/) und dann 
meinen ISP (Diamex All-AVR Programmer; = AVRISP mkII, Firmware Version 
1.20) an die Pins:

Ext1-5 = +5V
Ext1-3 = GND
Ext2-31 = MISO
Ext2-32 = MOSI
Ext2-33 = SCK

angeschlossen. Das hat jedoch, wie bei dir, zunächst nicht funktioniert. 
Nachdem ich über deinen Beitrag gestoßen bin, habe ich das AVR-CAN 
Schematic von bravekit.com überflogen. Dort sind MISO und MOSI an PDI 
und PDO verbunden.

Auch fehlt auf der dort zwischengeschaltete 330Ohm Widerstand, 
allerdings konnte ich auf Anhieb per ISP auf den µC zugreifen, nachdem 
ich die Pin Konfiguration auf:

Ext1-5 = +5V
Ext1-3 = GND
Ext1-14 = MISO
Ext1-15 = MOSI
Ext2-33 = SCK

abgeändert habe.

Ein trennen der Leitung sowie der zusätzliche Widerstand scheinen 
demzufolge nicht notwendig zu sein, um das Olimex Board per ISP 
anzusprechen.

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
Noch kein Account? Hier anmelden.