Hallo, ich habe mehrere Teilnehmer im Bus wie im Anhang skizziert. Nun will ich einige Teilnehmer in den Sleep Mode versetzen und nach einer bestimmten Zeit wieder was tun lassen - was auch klappt. Das könnte hier z.b. D2 sein. Nun will ich aber beispielsweise eine neue Firmware flashen über den Bus. Dh. ich muss das jeweilige Gerät erst einmal wecken. Wecken muss nur ein einziges Gerät können. Hier z.B. D1. Das Signal zu wecken würde ich über die in rot gezogene Linie realisieren. Dh. es werden immer direkt alle geweckt. Nun bin ich am überlegen, wie ich das am besten mache. Wichtig: - Wecken kann nur D1, D1 schläft nicht! :) - Geweckt werden nur D2 / D3 - CAN ist isoliert - 5V Schaltregler nutzen alle den gleichen GND (abgesehen von Spannungsabfällen über die Leitung) - Strecke zwischen D1 und D2 / D3 können 100 Meter sein - Aus dem Sleepmode kommen die MCU nur über einen getriggerten PIN Meine Ideen: 1. D1 Levelshift auf 48V mit pullup und auf der D2/D3 Seite levelshift von 48V auf 5V. 2. D1 5V vom Converter mit PullUp direkt an Mikrocontroller Pin von D2/D3 3. Warten bis der Knoten aufwacht und Daten sendet. Darauf dann reagieren und Flashen. (Diese Möglichkeit finde ich nicht so toll, da es bei vielen Knoten am Bus wirklich dauern könnte) Was würdet ihr empfehlen? Habt ihr andere Ideen/Vorschläge?
Ich kann dir aus der Praxis sagen, dass lange Weckleitungen immer als Antennen wirken und deine Teilnehmer dann zufällig aufwachen. Was du suchst sind CAN Transceiver mit Weckfähigkeit. Beim Empfang eines vorher definierten Magic Byte oder Sequence können Sie den µC Wecken. So ist das Standard in der Automobilindustrie. Mit den richtigen Netzteilen ist der Ruhestrom < 100µA. Wenn du allerdings nicht aus Batterien speist, dann ist die Frage ob sich ein Sleep überhaupt lohnt.
Christian S. schrieb: > iese Möglichkeit finde ich nicht so toll, da es > bei vielen Knoten am Bus wirklich dauern könnte) Um welche Zeiten geht es denn? Die Anzahl sollte doch egal, sein, da es maximal 1*Sleeptime ist. Müssen die anderen Geräte weiter laufen? Sonst wäre auch ein Spgs.reset möglich. was meinst Du mit 48V? Sind die geschaltet? Wofür werden die Gebraucht, wenn D1 sie jederzeit missbrauchen kann? Warum nur eine Leitung? Wenn kurzzeitiger Strom aber keine Rolle spielt, dann ist z.B. ein 120R am Ende gegen GND und je Knoten nochmal 1k gegen GND auch OK. An D1 dann halt einfach einen 100mA-Treiber einschalten.
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.