Ich habe mal ein eine Frage zum End of frame(7bits) und interframe space(3bits). Bevor ein CAN Knoten anfängt zu senden sollte er doch darauf achten das mindestens 10bits lang ruhe auf dem Bus war oder? Im Normalfall kommt es ja durch das stuffbit innerhalb von 5 bits zu einem Flankenwechsel(für neue Synchronisation) so das man nach 10 Bits ruhe davon ausgehen kann das man senden kann. Eine weite Frage, wenn ein Teilnehmer wegen einer verlorenen Arbitrierung nochmal sende möchte wird da eine feste Zeit gewartet oder wird wieder nach den 10 "Ruhebits" gelauscht und dann der neue versuch gestartet?
Frage 1 gestopft wird nur im Frame nicht dazwischen. es wird eine zufällige Zeit gewartet. Bzw die Prioritäten klären das.
Disco schrieb: > es wird eine zufällige Zeit gewartet. Nein, es wird eine fest Zeit gewartet. Daher muß man unbedingt vemeiden, daß 2 Master den gleichen Identifier mit unterschiedlichen Daten senden. Die machen das dann, bis der Error-Counter überläuft und sie sich beide abschalten.
ich habe nicht vor anhand der Priorität unterschiedlich lange zu warten da es sich ja mit der Arbitrierung eh ergibt wer durchkommt.
Implementierst Du Deinen eigenen CAN-Core in programmierbarer Logik?
nein ich programmiere mir etwas für ATTiny26/2313A wobei ich schon etwas vom CAN Protokoll abspecke, z.B. kürzere CRC, generell 4 Datenbytes um den Overhead klein zu halten...
Rudolph schrieb: > Implementierst Du Deinen eigenen CAN-Core in programmierbarer Logik? Ich habe das schon einmal gemacht. Ich muss jetzt meine Zufallszeit raus bauen...
Thomas O. schrieb: > nein ich programmiere mir etwas für ATTiny26/2313A wobei ich schon etwas > vom CAN Protokoll abspecke, z.B. kürzere CRC, generell 4 Datenbytes um > den Overhead klein zu halten... Also Du schnitzt Dir ein eigenes Protokoll und benutzt CAN nur als Vorlage? Wie wäre es denn dann mit LIN? Das ist von vornherein dafür ausgelegt mit einem UART implementiert werden zu können. Oder die Tiny durch einen ATMega16M1 ersetzen der nur wenig grösser ist aber einen CAN-Controller eingebaut hat.
Disco schrieb: > Ich muss jetzt meine Zufallszeit raus > bauen... Die Zufallszeit würde ja die Priorität der Identifier aushebeln.
Peter Dannegger schrieb: > Die Zufallszeit würde ja die Priorität der Identifier aushebeln. Verhindert aber das sterben von Knoten. .. aber du hast recht. In dem Zusammenhang habe ich gelesen, dass es Controller gibt die in Abhängigkeit ihrer Filter 3 oder 4 Bit Interframe Space haben.
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.