Gast
#4440526
Hallo, es gibt hier nicht viele LIN Threads, und die, die es gibt beantworten meine Fragen nicht. Was ist Carry-Bit? Ich habe auch mit google nichts passendes gefunden. Danke Viele Grüße Alexander
|
Anzeige
|
LIN-BUS Fragen
Gast
#4440526
Hallo, es gibt hier nicht viele LIN Threads, und die, die es gibt beantworten meine Fragen nicht. Was ist Carry-Bit? Ich habe auch mit google nichts passendes gefunden. Danke Viele Grüße Alexander Hallo, das Carry-Bit ist im Allgemeinen das Übertragsbit das bei Berechnungen auf Bitebene einen Überlauf signalisiert. Beispiel: du hast einen Wert der in einem Byte gespeichert wird. Das Byte kann vorzeichenlose Werte von 0 bis 255 aufnehmen. Wenn sagen wir 254 im Byte gespeichert ist und du 3 addierst ist der Wert im Byte anschließend 1, gleichzeitig wird das Carry-Flag/Bit gesetzt. Und was willst du im speziellen im Zusammenhang mit dem LIN-Bus wissen? Sascha Alexander schrieb: > es gibt hier nicht viele LIN Threads, und die, die es gibt beantworten > meine Fragen nicht. > Was ist Carry-Bit? Ich habe auch mit google nichts passendes gefunden. Ein Carry Bit bzw. Carry Flag wird generell für den Übertrag bei einer Rechenoperation verwendet (z.B. Addition). Was das mit LIN zu tun haben soll, musst Du uns sagen. Wo soll denn ein solches Carry Bit beim LIN Protokoll vorkommen? Ah, vielleicht hier: > 2.3.1.5 Checksum > The last field of a frame is the checksum. The checksum contains the > inverted eight bit sum with carry over all data bytes or all data bytes > and the protected identifier. Quelle: http://www.cs-group.de/fileadmin/media/Documents/LIN_Specification_Package_2.2A.pdf
Gast
#4440571
Ah ok, danke! Wird zur Checksummenberechnung dann genutzt :) Ist z.B. Hier zu finden: http://www.uni-kassel.de/fb16/ipm/nmt/MP%20Labor%20PDF/Versuch_LIN%2014.04.04.pdf Versuche das gerade auf zu bauen. Auf dem Oszilloscope kann ich die Daten vom LIN Tranciever wehen, aber am LIN Logger erscheint nichts :( Probiere da noch weiter, bevor ich irgendwelche Fragen stelle, ohne es selbst aus zu probieren. Danke Gruß Alexander
Gast
#4440583
Sascha W. schrieb: > das Carry-Bit ist im Allgemeinen das Übertragsbit das bei Berechnungen > auf Bitebene einen Überlauf signalisiert. Im Speziellen meinst Du wahrscheinlich die Verwurstung des Übertrags bei der Prüfsummenberechnung. Die LIN 2.0 - Spec meint hierzu "Eight bit sum with carry equivalent to sum all values and subtract 255 every time the sum is greater or equal to 256 (which is not the same as modulo-255 or modulo-256)." Hier ein Beispiel:
Gast
#4440634
Ist an dieser Nachricht (Anhang) was falsch? Der LIN-BUS Logger zeigt kein Empfang an. Die wird alle 100ms gesendet. Ich generiere den Break, schicke 0x55 als Sync, dann die ID 0x0F (um besser id vom Sync zu unterscheiden), dann 4 Bytes 4A, 55, 93, E5. Als Checksumme E6. Wobei die Checksumme mit der ID 0x0F nicht passt. Richtig Wäre ID 0xA3, aber da hat das auch nicht funktioniert. Danke
Gast
#4440669
Dein sync break ist etwas kurz. Das muss mindestens 11 bit lang sein, so dass eine normale UART framing error melden würde.
Gast
#4440681
War auf 14 Bits eingestellt. Habe jetzt auf 15 umgestellt. Mit ohne Erfolg :( Hier ein Plot vom Scope direkt. Daten sind die selben. ID 0xA3 (inkl. Paritätsbits) 0x4A, 0x55, 0x93, 0xE5, 0xE6 (Checksumme) Etwas komisch. Alle Start und Stop bits sind auch da.
Gast
#4440684
Sorry, geht alles :)) Ging von Anfang an. Da konnte jemand den LIN-Logger nicht nutzen :( Danke Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|