Forum: Mikrocontroller und Digitale Elektronik AVR über RFM12 flashen


von Andy (Gast)


Lesenswert?

Hallo,

hat sich eigentlich schon jemand Gedanken darüber gemacht, einen AVR 
über das Funkmodul RFM12 zu flashen? Würde das überhaupt gehen (wegen 
Initialisierungen des Moduls)? Und außerdem würde das ganze über den 
SPI-Bus laufen müssen, oder?

Schon jemand Erfahrungen damit (oder ähnlichem)?


lg Andy

von Christian U. (z0m3ie)


Lesenswert?

Über nen Bootloader sollte das gehn, der muss aber vorher natürlich auf 
den AVR. Für Softwareupdates sollts aber gehn. Allerdings kanns sein das 
du ne halbe Stunde für ein Update brauchst...

von Andy (Gast)


Lesenswert?

Ok, dass die Boot-Loader SW auf den Atmel rauf muss, ist mir klar - das 
wäre auch nicht das Problem. Aber warum glaubst du, dass ein Update eine 
halbe Stunde dauern würde?
Ich hab zwar schon solche Bootloader für die UART gefunden, doch noch 
nichts konkretes zu SPI. Ist es ein großer Aufwand (für einen 
Nicht-Profi) so einen Bootloader auf SPI "umzubauen"?

lg Andy

von Christian U. (z0m3ie)


Lesenswert?

Weil bei Funk sicherlich einige Sachen nicht so ankommen wie sie sollen 
man muss also schon ein mehrschichtiges Protokoll bauen. Dieses erzeugt 
overhead, ich kenne keine konkrete Übertragungsrate der Funkmodule aber 
diese sollte ansich schon nicht sonderlich hoch sein. Und dann mal eben 
z.b. 16K darüber loswerden ...

Der Bootloader ist dabei das geringste Problem das Übertragungsprotokoll 
samt Fehlerkorrektur sollte auch nicht ganz un anspruchsvoll sein. Für 
einen Einsteiger halt ich das etwas zu überzogen. Schaffen kann man 
sicherlich alles musst halt sehn wie viel Zeit du dafür Opfern willst.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

In der Codesammlung gibt es von Benedikt ne RS232 Funkbrücke...

von Benedikt K. (benedikt)


Lesenswert?

Und mit dieser Funkbrücke habe ich schon problemlos AVRs geflashed. 
Einfach einen einfachen Programmer der an RS232 läuft dran. Funktioniert 
bis etwa 30m im Gebäude einwandfrei. Das flashen eines vollen mega16 
dauert etwa 15s.

von Andy (Gast)


Lesenswert?

Hallo Benedikt,

Danke für deine Info. Kannst du mir vielleicht eine kurze Anleitung zum 
Flashen über das RFM12 geben? Was brauch ich alles bzw. was muss ich 
alles ändern. Ich benutze einen AtMega88.

Vielen Dank für deine Hilfe!!


mfg
Andy

von Andy (Gast)


Lesenswert?

Hat keiner eine Ahnung, wie das genau funktioniert?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Du installierst einen Seriellen Bootloader ODER benuzt einen Programmer 
der Über die Serielle Schnittstelle funktioniert.
Du baust die FUnkbrücke und benuzt sie anstelle eines Kabels...

von Andy (Gast)


Lesenswert?

Das heißt, auf dem AVR läuft nur das Programm von Benedikt und sonst 
nichts, oder muss ich da noch irgendwelche Einstellungen machen?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Das "Programm" von Benedikt, sind zwei AVR + Funkmodul welche ein RS232 
Kabel ersetzen.
Was "dein" AVR mit den SIgnalen macht, oder ob da noch nen Programmer 
zwischenhängt oder oder oder....

von Andy (Gast)


Lesenswert?

Heißt das, dass ich dann nicht direkt den AVR, der an dem RFM12 hängt, 
sondern nur einen anderen damit flashen kann? Dann habe ich in Summe 
einen AVR+RFM12 in Verbindung mit dem Ziel-AVR und AVR+RFM12 auf der 
PC-Seite? Hab ich das richtig verstanden?

lg Andy

von Hannes L. (hannes)


Lesenswert?

Andy wrote:
> Heißt das, dass ich dann nicht direkt den AVR, der an dem RFM12 hängt,
> sondern nur einen anderen damit flashen kann?

Ja und nein. Wenn Du "gefundene" Lösungen einsetzen willst, dann wirst 
Du die Funkstrecke nur zum Betreiben eines Programmers oder Bootloaders 
(ist halt ein "integrierter Programmer") benutzen können.

> Dann habe ich in Summe
> einen AVR+RFM12 in Verbindung mit dem Ziel-AVR und AVR+RFM12 auf der
> PC-Seite?

Um mit dem RFM12 per Funk kommunizieren zu können braucht es ein zweites 
Funkmodul. Damit ein Funkmodul arbeiten kann, braucht es einen 
"Rechner", der es über SPI ansteuert. Da ich nicht weiß, ob Dein PC das 
kann, werden es vermutlich zwei AVRs sein, die die Funkmodule steuern. 
Wenn Du die AVRs dann noch so programmierst, dass sie mit der Außenwelt 
per UART kommunizieren, dann stimmt Deine Annahme in etwa. Du brauchst 
auf der PC-Seite aber noch einen Pegelwandler (MAX232 oder ähnliche), 
auf der anderen Seite ggf. auch, es kommt darauf an, was Du da 
anschließen willst. 2 Funkmodule, 2 AVRs (mit Quarz und UART) und 2 
MAX232 ersetzen Dir also ein erstmal nur serielles Verlängerungskabel... 
;-)

> Hab ich das richtig verstanden?

Vermutlich hast Du das gar nicht verstanden...

Es gibt wohl keine fertige Lösung weil es vermutlich noch keiner 
gebraucht hat und daher auch nicht realisiert hat. Du müsstest Dir das 
also selbst programmieren. Das Konzept mit "gefundener" Software geht 
beim Mikrocontroller nicht auf, da muss man schon etwas eigenen 
Gehirnschmalz investieren.

Willst Du den AVR, an dem das Funkmodul angeschlossen ist, über Funk 
flashen, so musst Du einen Bootloader für diesen AVR schreiben, der 
neben der eigentlichen Funktionalität noch das Funkmodul steuert und ein 
fehlertolerantes Übertragungsprotokoll unterstützt, damit Funkstörungen 
keinen Datensalat verursachen. Dies ist nicht ganz ohne. Ich weiß auch 
nicht, ob das in die Bootloadersektion reinpasst. Es ist mir eigentlich 
auch egal, ich brauche sowas nicht.

...

von Andy (Gast)


Lesenswert?

Danke Hannes, für deine ausführliche Antwort.

Ich habe das sehr wohl verstanden. Ich beschäftige mich schon länger mit 
dem RFM12 und kenne es schon sehr gut. Nur eben das Thema "Bootloader" 
habe ich noch nicht durch! Aber mit deiner Antwort bin ich schon etwas 
weiter gekommen - ich weiß nun, dass es nicht so trivial ist, ein 
geeignetes Prgramm zu implementieren! Ich habe halt gehofft, dass sich 
schon irgendwer diese Arbeit angetan hat! :-)

Nun gut - vielleicht habe ich einmal Zeit für dieses Projekt! Besten 
Dank für eure Beiträge!!

mfg
Andy

von Hannes L. (hannes)


Lesenswert?

Andy wrote:
> Danke Hannes, für deine ausführliche Antwort.
>
> Ich habe das sehr wohl verstanden.

Prima!

> Ich beschäftige mich schon länger mit
> dem RFM12 und kenne es schon sehr gut.

Das freut mich. Ich habe mich mit den Dingern noch gar nicht 
beschäftigt.

Mich würde aber mal interessieren, wie hoch (ohne Tricks wie exakt 
abgestimmte Antenne) die Reichweite dieser Teile ist, besonders, wenn 
mehrere Geräte im Einsatz sind. Könnte man damit ein dezentrales 
Netzwerk zur Steuerung von spontan zusammengestoppelten 
Gartenbahnanlagen (bei Gartenbahntreffen wie hier 
http://www.hanneslux.de/gbahn/bilder07.html) realisieren? Das wären dann 
einige tragbare Steuergeräte und etliche räumlich verstreute 
"Befehlsempfänger".

> Nur eben das Thema "Bootloader"
> habe ich noch nicht durch! Aber mit deiner Antwort bin ich schon etwas
> weiter gekommen

Sorry, ich war da etwas krass. das kommt aber daher, dass hier oft von 
Leuten mit Null Ahnung nach hochkomplexen Dingen gefragt wird. ;-(

> - ich weiß nun, dass es nicht so trivial ist,

Nicht so trivial... Das wollte ich Dir mit meinen überspitzten 
Formulierungen deutlich machen. Sorry nochmal für meinen Tonfall.

> ein
> geeignetes Prgramm zu implementieren! Ich habe halt gehofft, dass sich
> schon irgendwer diese Arbeit angetan hat! :-)

Vielleicht gibt es das ja schon, mir ist aber nichts bekannt.

>
> Nun gut - vielleicht habe ich einmal Zeit für dieses Projekt! Besten
> Dank für eure Beiträge!!
>
> mfg
> Andy

...

von Benedikt K. (benedikt)


Lesenswert?

Hannes Lux wrote:

> Mich würde aber mal interessieren, wie hoch (ohne Tricks wie exakt
> abgestimmte Antenne) die Reichweite dieser Teile ist, besonders, wenn
> mehrere Geräte im Einsatz sind.

150m im Freien unter günstigen Bedingungen, (also keine anderen Sender, 
freie sicht usw.) sind kein Problem. Im Gebäude würde ich mal 50m 
ansetzen, wenn größe Metallteile in der Nähe sind, auch mal mehr oder 
weniger. Das ganze bei etwa 20kBaud/s und mit einer 15-17cm 
Drahtantenne.

von Hannes L. (hannes)


Lesenswert?

Benedikt K. wrote:
> Hannes Lux wrote:
>
>> Mich würde aber mal interessieren, wie hoch (ohne Tricks wie exakt
>> abgestimmte Antenne) die Reichweite dieser Teile ist, besonders, wenn
>> mehrere Geräte im Einsatz sind.
>
> 150m im Freien unter günstigen Bedingungen, (also keine anderen Sender,
> freie sicht usw.) sind kein Problem. Im Gebäude würde ich mal 50m
> ansetzen, wenn größe Metallteile in der Nähe sind, auch mal mehr oder
> weniger. Das ganze bei etwa 20kBaud/s und mit einer 15-17cm
> Drahtantenne.

Danke für die Info. Ist doch etwas mehr als ich denen zugetraut hätte.

...

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.