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
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.
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
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.
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
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.