PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ISP auf Platine integrieren....



Cybered
11.02.2008, 09:35
Hallo,
ist es möglich den ISP-Programmer (ich wollte den für die serielle Schnittstelle nehmen) auf meine Roboterplatine zu integrieren und diesen auch während des Betriebs drauf zu lassen. So das ich an meinem Board eine serielle Schnittstelle habe und bei bedarf einfach mein Kabel einstecke und neu programmiere.
So müßte man nicht immer nen ISP dabei haben wenn man mal gerade was ändern will.
Und was genau muß man eigentlich tun, um den ATmega32 in den Programmiermodus zu setzten.

Vielen Dank
Eric

T.J.
11.02.2008, 10:10
Hallo,
ist es möglich den ISP-Programmer (ich wollte den für die serielle Schnittstelle nehmen) auf meine Roboterplatine zu integrieren und diesen auch während des Betriebs drauf zu lassen. So das ich an meinem Board eine serielle Schnittstelle habe und bei bedarf einfach mein Kabel einstecke und neu programmiere.
So müßte man nicht immer nen ISP dabei haben wenn man mal gerade was ändern will.

Sicher geht das, wieso auch nicht?

Und was genau muß man eigentlich tun, um den ATmega32 in den Programmiermodus zu setzten.

Reset auf LOW

Vielen Dank
Eric

Martin.
11.02.2008, 12:09
Wie schauts mit der Kabellänge aus? Ich hab mal gelesen, dass wenn die Kabel übermäßig lang sind, dass es dann zu Übertragungsfehlern kommt. Ist der Fehler bei den ISP Kabeln und seriellen/parallelenKabeln dabei genaus groß?

fumir
11.02.2008, 13:00
die serielle schnittstelle ist ja im prinzip dazu gedacht, geräte über eine gewisse entfernung (einige meter) zu verbinden. die isp schnittstelle dagegen nicht. deshalb wirds besser klappen, wenn die isp verbindung kurz und die serielle verbindung lang ist. das bezieht sich aber nur auf eine echte serielle verbindung (uart an den beiden seiten des kabels). bei eingen "seriellen" isp programmern wird die serielle schnittstelle allerdings mißbraucht, indem nur einige pins dazu verwendet werden die isp signale zu übertragen (anstatt einer echten seriellen verbindung mit z.b. parity-bits, etc.) bei so nem pseudo-seriellen anschluß ist die datenübertragung auf der seriell-seite vermutlich gleichschlecht wie auf der isp-seite. in dem fall sollten beide verbindungen nicht länger als unbedingt nötig sein.

an deiner stelle, würde ich mir überlegen, ob nicht ein usb-isp adapter sinnvoller wäre. seriell kommt eh aus der mode (insbesondere bei notebooks, du willst das ja vermutlich unterwegs machen)

Steinigtmich
11.02.2008, 13:56
Die eleganteste Lösung wär allerdings einfach einen Bootloader in den Atmega zu schreiben. Dann brauchts keine ISP-Hardware auf der Platine sondern das Gerät wird einfach über eh schon vorhandene Schnittstellen (oder, falls es keine gibt, z.B. einen MAX232 integrieren - dann hast Du Deine serielle Schnittstelle) programmiert.

elayne
11.02.2008, 18:12
Hey,
schau dir doch mal den Schaltplan vom Atmel Evalutionsboard vom Pollin an. Der hat ISP auch auf der Platine mit wenig bauteilen und man muss nur noch ein serielles Kabel anschliessen.

Gruß
elayne

TheHawk
11.02.2008, 18:38
Kann es sein das du die SPI-Schnittstelle zur Übertragung zwischen mehreren Controllern nutzen willst? ISP benutzt ja eigentlich die SPI Schnittstelle wobei der Controller Slave und der Programmer Master ist.

Cybered
11.02.2008, 20:35
Also die Kabellänge spielt wohl keine Rolle, der ISP ist direkt "onboard" und das serielle Anschlußkabel ist ein normales serielles Verbindungskabel.
Die USB Lösung ist schon gut, aber für den Anfang zu teuer. Die Bauteile für nen seriellen ISP liegen im Bereich < 50 Cent, von der SUB D Buchse mal abgesehen.
Und die Bootloader-Geschichte ist auch interessant, allerdings für den Anfang wohl etwas zu kompliziert für einen Newbie im Bereich Atmel / Microcontroller.

Also werde ich wohl meine Bauteile auf die Platine löten und nen Schalter einbauen, der den Reset-Pin auf Low zieht. Damit ist doch sicher die Masse gemeint...oder 8-[ ..muß der Pin dann während des gesamten Programmiervorgangs auf Low sein, oder nur kurzzeitig *kopfkratz*

Danke schon mal
Eric

McJenso
11.02.2008, 21:13
Hallo,

hier passt was nicht. Warum willst du den Reset per Schalter auf GND ziehen? Das solltest du dem Programmieradapter bzw. deiner Schaltung überlassen. Zum Programmieren mit ISP wird die Serielle des PC's missbraucht. Die Steuerleitungen werden zum Nachbilden eines SPI genutzt. Du brauchst dich beim Reset nur um die normale Beschaltung kümmern. Sonst nix. Du benötigst noch ein PC-Programm zum übertragen, wie z.B. PonyProg. Du kannst dein erzeugtes Programm nicht mit mit einem Terminalprogramm über SPI schicken. Das ist etwas für den Bootloader.

Gruß

Jens

Cybered
11.02.2008, 21:27
@MCJenso
Hmm... TJ schrieb weiter oben

Und was genau muß man eigentlich tun, um den ATmega32 in den Programmiermodus zu setzten.

Reset auf LOW

Daher dachte ich er meint, ich müße den Reset Pin auf Masse ziehen um dem Controller zu sagen..achtung hier kommt was...

Eric

McJenso
11.02.2008, 21:43
Das macht PonyProg für dich.

Gruß

Jens

Cybered
12.02.2008, 10:33
Jepp...hab den Schaltplan noch mal angeschaut und da ist ein Transistor drin, der, wenn ein Signal von der Schnittstelle kommt, den reset auf Masse zieht...hoffentlich kommen die Teile bals ;-)
Danke
Eric

T.J.
12.02.2008, 13:17
Man muss den Reset ja auch auf Masse ziehen, damit er weiß jetzt kommt was. Das wolltest du doch auch wissen oder?

Ich dachte es ist klar, dass das vom Pony via RS232 und Transistor übernommen wird.

Cybered
12.02.2008, 21:31
Man muss den Reset ja auch auf Masse ziehen, damit er weiß jetzt kommt was. Das wolltest du doch auch wissen oder?

Ich dachte es ist klar, dass das vom Pony via RS232 und Transistor übernommen wird.

Nö...das war mir nicht klar...sorry...hab noch nie nen Atmel oder ähnliches in der Hand gehabt...versuche mich da gerade mal etwas einzuarbeiten...und wenn reichelt endlich liefern würde, wär ich schon ein Stück weiter...ich hoffe aber das ihr mir trotz meiner Unwissenheit weiterhin mit rat zur Seite steht...
Danke schön
Eric