Forum: Mikrocontroller und Digitale Elektronik CAN Autobaud bei Atmel AVRs?


von Thomas (kosmos)


Lesenswert?

wollte mal fragen ob schon mal jemand eine CAN Baudratenerkennung an 
einem CAN AVR verwirklicht hat. In einer App Note von Microchip habe ich 
gesehen, dass die einfach in den Listen Mode gehen eine Nachricht 
abwarten/empfangen und ein spezielles Error Bit auswerten, wenn das also 
gesetzt wird probieren die fortlaufend die nächste vorgegebene CAN 
Baudrate aus bis eine Nachricht fehlerfrei empfangen wurde danach wird 
in den Normal Mode gewechselt.

Ich finde das da schon sehr viele Nachrichten verloren gehen können bis 
man seine Baudrate hat. Ich habe mir gedacht ich Messe vielleicht 16 
Flankenwechsel und nehme die kürzeste Zeit der einzelnen Bitwechsel her. 
Wäre doch sehr unwahrscheinlich das da nur doppelte Bits also nur 00 
oder 11 über den Bus gehen.

von c-hater (Gast)


Lesenswert?

Thomas O. schrieb:

> Ich finde das da schon sehr viele Nachrichten verloren gehen können bis
> man seine Baudrate hat.

So what? Was meinst du, wieviele Nachrichten du schon nicht gehört hast, 
bevor du überhaupt an den Bus gegangen bist...

Sprich: eine vollkommen nutzlose Entwicklung. Autobaud-Optimierung 
ergibt nur bei P2P-Verbindungen ernsthaft irgendeinen Sinn.

Zumal du offensichtlich noch nichtmal bei deinem Ansatz auch nur im 
Mindesten berücksichtigt hast, dass es eben kein P2P ist, sondern ein 
Multimasterbus mit entsprechenden Arbitrierungsvorgängen. Bei sowas muss 
Autobaud schon ein klein wenig cleverer sein, um zuverlässig UND 
schnell funktionieren zu können...

von Thomas (kosmos)


Lesenswert?

wie komst du den darauf das ich nicht verstanden habe das es sich um 
einen Multimaster Bus handelt? Und die Arbitrierung machen die 
Teilnehmer intern das verändert kein einziges Bit auf dem Bus. Sobald 
ein dominantes bit gewinnt hören die anderen Teilnehmer mit dem senden 
auf bis die Übertragung zu Ende ist und probieren es dann erneut. 
Verstehe deswegen nicht warum du die Arbitrierung ins Feld führst.

Mein Bus überträgt bisher noch keine Daten in bestimmten Zeitintervallen 
nur eine manuelle Bedienung wird über den Bus übermittelt.

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.