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?
Gast
#3932588
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.
Gast
#3933093
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...
Gast
#3933173
Rudolph schrieb: > Implementierst Du Deinen eigenen CAN-Core in programmierbarer Logik? Ich habe das schon einmal gemacht. Ich muss jetzt meine Zufallszeit raus bauen...
Gast
#3933221
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.
Gast
#3933960
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.