CAN: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
(formatted tables; used prettytable style; formatting text & blanklines)
Zeile 1: Zeile 1:
==Struktur des CAN-Identifiers==
== Struktur des CAN-Identifiers ==


Hier mal eine Übersicht über die Struktur der CAN-Identifier. Im CAN-Protokoll wird die Priorität jeder Nachricht auf dem Bus über den Identifier festgelegt. Der niedrigste Identifier gewinnt. Es gibt 11-Bit-Identifier und 29-Bit-Identifier. Wir werden bei der Automatisierung des Labors nur die 29-Bit-Identifier nutzen. Bei diesen sind die 11 Bit des Standard-Identifiers die 11 höchstprioren Bits, und diese werden dann noch um 18 zusätzliche Bits erweitert.
Hier mal eine Übersicht über die Struktur der CAN-Identifier. Im CAN-Protokoll wird die Priorität jeder Nachricht auf dem Bus über den Identifier festgelegt. Der niedrigste Identifier gewinnt. Es gibt 11-Bit-Identifier und 29-Bit-Identifier. Wir werden bei der Automatisierung des Labors nur die 29-Bit-Identifier nutzen. Bei diesen sind die 11 Bit des Standard-Identifiers die 11 höchstprioren Bits, und diese werden dann noch um 18 zusätzliche Bits erweitert.


SID = Standard-Identifier
* '''SID''' = Standard-Identifier
EID = Extended Identifier
* '''EID''' = Extended Identifier


=== Zuordnung der Identifier-Bits ===
Die Zuordnung der Identifier-Bits zu den folgenden Funktionen ist so bei unserem alten LAP-Protokoll. Bei unserem neuen wird alles schöner und besser werden :-)
Die Zuordnung der Identifier-Bits zu den folgenden Funktionen ist so bei unserem alten LAP-Protokoll. Bei unserem neuen wird alles schöner und besser werden :-)


SP = Source Port
* '''SP''' = Source Port
DP = Destination Port
* '''DP''' = Destination Port
SA = Source Address
* '''SA''' = Source Address
DA = Destination Address
* '''DA''' = Destination Address


{| border="1" cellpadding="2"
 
|+ Die ersten 11 Bits
{| {{prettytable}} width="800"
!colspan=12|Die ersten 11 Bits
|-
|-
|SID10||SID9||SID8||SID7||SID6||SID5||SID4||SID3||SID2||SID1||SID0
|'''Identifier-Bit'''||SID10 || SID9 || SID8 || SID7 || SID6 || SID5 || SID4 || SID3 || SID2 || SID1 || SID0
|-
|-
|SP5||SP4||SP3||SP2||SP1||SP0||DP5||DP4||0||DP3||DP2
|'''[[LAP]]-Bit'''||SP5 || SP4 || SP3 || SP2 || SP1 || SP0 || DP5 || DP4 || 0 || DP3 || DP2
|-
|-
|}
|}


{| border="1" cellpadding="2"
{| {{prettytable}} width="800"
|+ Die hinteren 18 Bits
!colspan="10"|Die hinteren 18 Bits
|-
|'''Identifier-Bit'''||EID17 || EID16 || EID15 || EID14 || EID13 || EID12 || EID11 || EID10 || EID9
|-
|'''[[LAP]]-Bit'''||DP1 || DP0 || SA7 || SA6 || SA5 || SA4 || SA3 || SA2 || SA1
|-
|-
|EID17||EID16||EID15||EID14||EID13||EID12||EID11||EID10||EID9||EID8||EID7||EID6||EID5||EID4||EID3||EID2||EID1||EID0
|colspan="10"| 
|-
|-
|DP1||DP0||SA7||SA6||SA5||SA4||SA3||SA2||SA1||SA0||DA7||DA6||DA5||DA4||DA3||DA2||DA1||DA0
|'''Identifier-Bit'''||EID8 || EID7 || EID6 || EID5 || EID4 || EID3 || EID2 || EID1 || EID0
|-
|-
|'''[[LAP]]-Bit'''||SA0 || DA7 || DA6 || DA5 || DA4 || DA3 || DA2 || DA1 || DA0
|}
|}


=== Repräsentation im MCP2515 ===
Im MCP2515 sieht das dann so aus:
Im MCP2515 sieht das dann so aus:
{| border="1" cellpadding="2"
 
|+ SIDH
{| {{prettytable}} width="400"
!colspan = "9" | SIDH
|-
|-
|7||6||5||4||3||2||1||0
|'''Register-Bit'''||7||6||5||4||3||2||1||0
|-
|-
|SP5||SP4||SP3||SP2||SP1||SP0||DP5||DP4
|'''[[LAP]]-Bit'''||SP5||SP4||SP3||SP2||SP1||SP0||DP5||DP4
|-
|-
|}
!colspan = "9" | SIDL
 
{| border="1" cellpadding="2"
|+ SIDL
|-
|-
|7||6||5||4||3||2||1||0
|'''Register-Bit'''||7||6||5||4||3||2||1||0
|-
|-
|0||DP3||DP2||0||1||0||DP1||DP0
|'''[[LAP]]-Bit'''||0||DP3||DP2||0||1||0||DP1||DP0
|-
|-
|}
!colspan = "9" | EIDH
 
{| border="1" cellpadding="2"
|+ EIDH
|-
|-
|7||6||5||4||3||2||1||0
|'''Register-Bit'''||7||6||5||4||3||2||1||0
|-
|-
|SA7||SA6||SA5||SA4||SA3||SA2||SA1||SA0
|'''[[LAP]]-Bit'''||SA7||SA6||SA5||SA4||SA3||SA2||SA1||SA0
|-
|-
|}
!colspan = "9" | EIDL
 
{| border="1" cellpadding="2"
|+ EIDL
|-
|-
|7||6||5||4||3||2||1||0
|'''Register-Bit'''||7||6||5||4||3||2||1||0
|-
|-
|DA7||DA6||DA5||DA4||DA3||DA2||DA1||DA0
|'''[[LAP]]-Bit'''||DA7||DA6||DA5||DA4||DA3||DA2||DA1||DA0
|-
|-
|}
|}

Version vom 12. Mai 2009, 07:41 Uhr

Struktur des CAN-Identifiers

Hier mal eine Übersicht über die Struktur der CAN-Identifier. Im CAN-Protokoll wird die Priorität jeder Nachricht auf dem Bus über den Identifier festgelegt. Der niedrigste Identifier gewinnt. Es gibt 11-Bit-Identifier und 29-Bit-Identifier. Wir werden bei der Automatisierung des Labors nur die 29-Bit-Identifier nutzen. Bei diesen sind die 11 Bit des Standard-Identifiers die 11 höchstprioren Bits, und diese werden dann noch um 18 zusätzliche Bits erweitert.

  • SID = Standard-Identifier
  • EID = Extended Identifier


Zuordnung der Identifier-Bits

Die Zuordnung der Identifier-Bits zu den folgenden Funktionen ist so bei unserem alten LAP-Protokoll. Bei unserem neuen wird alles schöner und besser werden :-)

  • SP = Source Port
  • DP = Destination Port
  • SA = Source Address
  • DA = Destination Address


Die ersten 11 Bits
Identifier-Bit SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0
LAP-Bit SP5 SP4 SP3 SP2 SP1 SP0 DP5 DP4 0 DP3 DP2
Die hinteren 18 Bits
Identifier-Bit EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9
LAP-Bit DP1 DP0 SA7 SA6 SA5 SA4 SA3 SA2 SA1
 
Identifier-Bit EID8 EID7 EID6 EID5 EID4 EID3 EID2 EID1 EID0
LAP-Bit SA0 DA7 DA6 DA5 DA4 DA3 DA2 DA1 DA0


Repräsentation im MCP2515

Im MCP2515 sieht das dann so aus:

SIDH
Register-Bit 7 6 5 4 3 2 1 0
LAP-Bit SP5 SP4 SP3 SP2 SP1 SP0 DP5 DP4
SIDL
Register-Bit 7 6 5 4 3 2 1 0
LAP-Bit 0 DP3 DP2 0 1 0 DP1 DP0
EIDH
Register-Bit 7 6 5 4 3 2 1 0
LAP-Bit SA7 SA6 SA5 SA4 SA3 SA2 SA1 SA0
EIDL
Register-Bit 7 6 5 4 3 2 1 0
LAP-Bit DA7 DA6 DA5 DA4 DA3 DA2 DA1 DA0