PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR-Programmierung



blan
21.08.2006, 17:46
hi, ich wollte mir ein kleines fahrzeug basteln das aus mehreren boards besteht die alle über einen bus verbunden sind. jetzt möchte ich über ein rj45-kabel alle signale senden (RxD, TxD, GND, SCK, MISO, MOSI, Reset, Vcc?) und GND, SCK, MISO, MOSI, Reset, Vcc? vom ersten bis zum letzten board weiterleiten und per jumper bestimmem welches board programmiert werden soll. jetzt meine fragen:

- eignet sich ein rj45-kabel um diese signale zu übertragen?

- habt ihr eine idee wie ich es mit nur einem jumper realisier, dass Reset, SCK, MISO, MOSI getrennt werden?

- gibt es noch irgendwelche einwende gegen diese idee?

mfg blan

uwegw
21.08.2006, 18:02
Wenn du die MOSI/MISO/SCK-Ports nicht als Ausgänge nutzen willst, dürfte es eigentlich reichen, nur die Resetleitung jumperbar zu machen. Denn für den Programmiervorgang wird der Reset auf low gezogen, passiert dies bei einem AVR nicht, schaltet er auch nciht in den Programmiermodus.

[klugscheiß] RJ45 ist eine Steckernorm, kein Kabel[/klugscheiß]
Ich denk mal, du meinst nen normales Netzwerkkabel. An welche länge hast du dabei gedacht?

blan
21.08.2006, 18:23
danke, ja ich weiss dass rj45 nur der stecker ist aber der name für das netzwerkkabel ist wohl nicht üblich und den kenn ich auch nicht auswendig :D

also ich dachte so an 2-3m, mein bedenken war halt so der spannungsabfall bei nem querschnitt von ca. 0,5mm², berechtigt (dabei gehts mir um alle signale (RxD, TxD, ...) - berechtigt?

wie könnt ich es realisieren, dass eine led leuchtet wenn ich den jumper gesteckt hab?

mfg blan

Moritz f.
22.08.2006, 08:59
Hallo
am siplesten wäre es wohl 2 Leistungen zu Jumpern, gibts denn so 2*2 Jumper?

MfG Moritz

uwegw
22.08.2006, 15:30
also ich dachte so an 2-3m, mein bedenken war halt so der spannungsabfall bei nem querschnitt von ca. 0,5mm², berechtigt (dabei gehts mir um alle signale (RxD, TxD, ...) - berechtigt?
Für die serielle Schnittstelle ist das kein Problem, übliche Verlängerungskabel haben auch nicht mehr Querschnitt, und laut Spezifikation sind 15m drin, bei niedriger Baudrate auch mehr.

Kritisch könnte nur die Länge der ISP-Leitung sein. Die sollte man generell kurz halten, mehrere Meter können Probleme bereiten.
Die Verbindung zwischen den einzelnen AVR-Boards dürfte ja eher kürzer ausfallen als die gemeinsame Zuleitung vom PC aus, oder? Dann wäre es ne Möglichkeit, den ISP über eine zweite serielle Schnittstelle durch das Lankabel anzusteuern und ihn in die Nähe der Boards statt auf die PC-Seite zu setzen.

blan
22.08.2006, 19:35
Hallo
am siplesten wäre es wohl 2 Leistungen zu Jumpern, gibts denn so 2*2 Jumper?

MfG Moritz

jo wär kein problem wenn ich wüsste das es sowas gibt, mal schaun.


Die Verbindung zwischen den einzelnen AVR-Boards dürfte ja eher kürzer ausfallen als die gemeinsame Zuleitung vom PC aus, oder? Dann wäre es ne Möglichkeit, den ISP über eine zweite serielle Schnittstelle durch das Lankabel anzusteuern und ihn in die Nähe der Boards statt auf die PC-Seite zu setzen.

ja die verbindung von board zu board wird immer so ca. 10cm sein, was dann bei 5 boards aber halt schonmal 50cm ausmacht :-k

das mit der 2. seriellen schnittstelle hab ich nicht ganz verstanden, könntest du mir des nochmal erklären?

danke!

mfg blan

uwegw
22.08.2006, 19:45
Was hast du denn für einen ISP? Parallelport, RS232 oder USB?

blan
22.08.2006, 20:08
naja da bin ich mir noch nicht so sicher ^^ momentan benutz ich zum programmieren immer das stk500 board, aber ich werd dann wohl an das "pc-board" (an das kommt das andre ende vom lankabel) ein isp-dongle anschließen.

achso: meinst du, dass ich dann das zeug aus dem isp-dongle auf mein fahrzeug pack und die übertragung ps rs232 übers lankabel mache?

edit: also ich hab jetzt ne idee wie ich es realisieren könnte. ich werde auf mein "mainboard" ein 74HC244 (wie auch im isp-dongle benutzt wird) einbaun und MISO, MOSI, SCK, Reset von dort aus an alle boards weitergeben. folgende fragen:

- kann man das auch über den seriallen port machen? (rs232 ist nur ein protokoll und kein stecker oder?) - also ohne den 74HC244 zu ersetzten.

- wieviel leitungen braucht man bei parallel / seriell?

- ist die idee gut und löst sich damit das problem mit der länge des lankabels?

mfg blan

mfg blan

uwegw
23.08.2006, 20:14
Tu dir den Gefallen und vergiss die Lösung mit den 74HC244. Besser ist sowas: http://www.mikrocontroller-projekte.de/Mikrocontroller/AVR-Prog/AVR-Programmer.html
Um den zu bauen, muss man allerdings schon nen AVR programmieren können, aber du hast ja das STK. Diser ISP wird über die serielle Schnittstelle angeschlossen. Du müsstest also zwei serielle Schnittstellen über das Zuleitungskabel führen, also zweimal RX, zweimal TX und Masse. Dann könntest du sogar jedes Signal zusammen mit Masse auf ein separates Adernpaar legen, dann ist di Störsicherheit noch besser und es dürften einige Meter drin sein. Und von ISP, der bei "Mainboard" sitzt, dann MOSI und co. weiterführen.

blan
23.08.2006, 21:57
okay cool danke dann spar ich mir adern,
werd ich aber dann wohl net um assambler rumkommen. also hab ich dann folgende adern in meinem lankabel TxD-Data, RxD-Data, TxD-ISP, RxD-ISP, GND ?

kleine frage zu der schaltung:

- er benutzt kein pegelwandler (zB. max232) weil er es mit transistoren gleich auf 5V schaltet? (kann ich das dann auch über mein pegelwandler laufen lassen oder?)

- benutzt der die MISO, MOSI, SCK pins zum programmieren von einem andren uC als normale ausgänge und zum firmware upgrade als eben MISO, MOSI, SCK - weil mit den MISO, MOSI, SCK wird er ja kein anderen uC programmieren können oder?

mfg blan

uwegw
24.08.2006, 15:33
okay cool danke dann spar ich mir adern,
werd ich aber dann wohl net um assambler rumkommen.

die "Firmware" für den IS ist zwar in ASM geschrieben, aber die muss man nicht verstehjen können, einfach evtl Baudrate anpassen und flashen.



kleine frage zu der schaltung:


- er benutzt kein pegelwandler (zB. max232) weil er es mit transistoren gleich auf 5V schaltet? (kann ich das dann auch über mein pegelwandler laufen lassen oder?)

ja, der Pegelwandler wird aus diversen Transistoren und Dioden gebaut, weils billiger und platzsparender ist. Man kann natürlich auch nen MAX232 davorhängen.




- benutzt der die MISO, MOSI, SCK pins zum programmieren von einem andren uC als normale ausgänge und zum firmware upgrade als eben MISO, MOSI, SCK - weil mit den MISO, MOSI, SCK wird er ja kein anderen uC programmieren können oder?

An MISO, MOSI, SCK erzeugt er die Programmiersignale, um einen AVR zu proggen. Gleichzeitig kann er selbst darüber programmiert werden. Man kann also einfach zwei ISPs mit ihren Ausgängen parallel schalten und so die Firmware des einen vom anderen aus updaten. u könntest also dein STK am Ausgang des neuen ISPs anschließen und die Firmware rüberschieben.