Forum: Mikrocontroller und Digitale Elektronik AT90CAN128 mit Arduino UNO programmieren


von giga-tronic (Gast)


Lesenswert?

Hallo zusammen,

ich bin noch sehr neu in der µC Technik und habe mir vorgenommen ein 
vorhandenes Projekt umzusetzen

http://www.bronken.de/aktuator/

Hierbei wird ein AT90CAN128 µC verwendet. Genauer genau dieser:
https://www.chip45.com/products/crumb128-can-5.0_avr_atmega_modul_board_at90can128_usb_rs232_can.php

Dort ist der Bootloader bereits vom Hersteller aufgespielt. Dies müsste 
der kostenlose chip45boot Bootloader sein.

Ich habe mit dem Tool "Chip45Boot2 GUI" das HEX File mit dem Code per 
USB übertragen und nun müssen noch die Fusebits im µC angepasst werden 
auf:
HFuse: D9
LFuse: FF
EFuse: FD

Dies muss jedoch per ISP gemacht werden und somit benötige ich einen ISP 
Programmer.
Ich habe noch einen Arduino UNO R3 rumliegen, den ich ja angeblich als 
ISP Programmer nutzen kann. Jedoch weiß ich nicht genau, wie ich da 
vorgehen soll..
Der Arduino Sketch "ArduinoISP" ist bereits geladen.

Ich würde mich sehr über eine Hilfestellung freuen. Vielen Dank im 
Voraus!

Grüße

giga-tronic

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Also in meinem Beispiel ArduinoISP Sketch steht ganz oben:
1
//
2
// pin name:    not-mega:         mega(1280 and 2560)
3
// slave reset: 10:               53
4
// MOSI:        11:               51
5
// MISO:        12:               50
6
// SCK:         13:               52
7
//
8
// Put an LED (with resistor) on the following pins:
9
// 9: Heartbeat   - shows the programmer is running
10
// 8: Error       - Lights up if something goes wrong (use red if that makes sense)
11
// 7: Programming - In communication with the slave

slave reset ist dabei RST von deinem AT90CAN128

Dann mit AVRdude Programmer stk500v1

: Bearbeitet durch User
von giga-tronic (Gast)


Lesenswert?

Hallo und danke für die Antwort.

Habe es nun hinbekommen. Vielleicht kann ich ja dem ein oder anderen 
Einsteiger mit einer kurzen Zusammenfassung helfen.

Erst muss man natürlich den "ArduinoISP" Sketch auf den Arduino 
hochladen. (Dieser ist in den Programmbeispielen aufzufinden)

Als nächstes muss man zwingend einen 10µF Kondensator zwischen GND und 
Reset anschließen, damit der AutoReset des Arduinos verhindert wird. 
(bei ElKos auf Polarität achten)

Beim Anschluss ist eine Besonderheit zu beachten. Und zwar gibt es nicht 
de Pins MOSI und MISO, wie in dem Arduino Sketch kommentiert, sondern 
PDO und PDI.

Der Anschluss vom Arduino UNO zum AT90CAN128 sieht dann wie folgt aus:
(siehe Datenblatt -> ISP Anschluss)
http://download.chip45.com/Crumb128-CAN_V5.0-5.1_infosheet.pdf

ARDUINO UNO Pin -> AT90CAN128 Board Pin (Crumb128-CAN V5.0)

5V  -> VCC
GND -> GND
10  -> RST
11  -> PDI
12  -> PDO
13  -> SCK

Dann habe ich mit AVRDUDE die Fuses beschreiben können.

Mein Befehl sah wie folgt aus:

C:\Users\xy\Desktop\AVRDUDE>avrdude -c avrisp -p c128 -P COM1 -b 19200 
-U lfuse:w:0xff:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m

Hierbei ist der Arduino UNO ISP Programmer als "avrisp" aufgeführt und 
der zu programmierende AT90CAN128 ist der "c128"

Ein schönes Tutorial findet man hier:
http://www.heise.de/make/artikel/Arduino-Uno-als-In-System-Programmer-2769246.html

Schöne Grüße

giga-tronic

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.