Forum: Mikrocontroller und Digitale Elektronik UART atmega8 automatische adressvergabe


von sebastian (Gast)


Lesenswert?

hallo zusammen,

Folgendes Problem.. ich habe mehrere atmega8 controller an einer 
gemeinsamen UART hängen.Ich verwende ein datenframe von jeweils 4 byte( 
checksumme, controlword, nutzdaten und eine adresse. Mit dem adressbyte 
adressiere ich jeweils den kontroller, dem ich daten schicken möchte. 
Nun folgendes, wie kann ich mein kontrollernetz hochfahren, wenn ich 
nicht jedem kontroller softwaremässig seine eigene adresse gebe? Bislang 
mache ich es so dass ich für jeden kontroller eine eigene software 
compiliere mit jeweils unterschiedlicher adresse. Wäre es nicht möglich 
das beim starten zu erledigen, wie beispielsweise bei CAN- bus usw.?

danke und lg

von Peter (Gast)


Lesenswert?

du kannst die adresse in den eprom schreiben, dann kannst du immer die 
gleiche addresse verwenden.

Wenn die kontroller sich jedesmal eine neue Adresse holen, dann kannst 
du sie ja überhaupt nicht unterscheiden.

von sebastian (Gast)


Lesenswert?

hmm ich habe es mir so vorgestellt: Ich starte das netz und gebe dann 
jedem kontroller per configurationsfile die schlussendliche adresse.
Es geht mir um folgendes.. wenn kontroller hinzukommen (was 
wahrscheinlich ist) muss der kontroller mit genau der richtigen software 
bespielt werden (richtige adresse) damit das ganze wieder funktioniert). 
Mit der automatischen vergabe, wäre nur eine anpassung der 
configurationsfiles notwendig.Eine andere möglichkeit ausser dipschalter 
gibts nicht?

lg

von Condi (Gast)


Lesenswert?

Doch. Du kannst auch sowas die DHCP machen. Gerät einschalten und dann 
lauscht es nach einer Adresse. Die kannst du dann senden. Allerdings 
benötigt das wiederum einen Master. Da ist die Idee mit dem EEPROM am 
Besten. Die Adresse kannst du ja beim flashen leicht per Script 
anpassen.

von sebastian (Gast)


Lesenswert?

Also wegen master ist das kein problem. Einen master habe ich. Lässt 
sich so etwas wie DHCP nach deiner meinung per uart realisieren?

lg

von Peter (Gast)


Lesenswert?

> Also wegen master ist das kein problem. Einen master habe ich. Lässt
> sich so etwas wie DHCP nach deiner meinung per uart realisieren?
gundsätzlich ja.

Ich habe auch schon mal darüber nachgedacht, aber es gibt ein kleine 
Problem. Wenn alle geräte am Bus gleichzeitig Strom bekommen und sich 
gleichzeitig (ist ja gleiche Software und die Quarze weichen auch nicht 
so stark ab) dann gibt es ein Problem bei einem Bus wo immer nur einer 
Senden kann. Man müsste ein Art zufallzahl einbauen welceh für eine 
künstliche verzögerrung sorg. Diese kann aber nicht in Sofware erzeugt 
werden weil ja jeder µC gleich ist. Man müsste also vermutich den ADC 
verwenden.

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.