High-level protokoly na CAN sběrnici
Tento dokument obsahuje soubor poznámek a částí různých materiálů nalezených na internetu k jednotlivým protokolům. Nejedná se tedy o ucelený text, spíše jde o takový poznámkový blok, ve kterém jsem si chtěl uložit pohromadě základní informace k dané problematice. Proto se také nejedná o konečnou verzi textu, vždy když narazím na něco, co sem patří, budu se snažit tento text doplnit.
Celý systém je přirovnán k království - říši - kingdom. Tato říše má hlavní město - capital s vládcem - king , který je zodpovědný za pravidla a řízení říše. V království pak jsou jednotlivá města, každé z nich má své správce - mayor. Všechny informace mezi obyvateli království jsou předávány poštovním systémem. Každé město má poštovní stanici s pošťákem.
Termíny používané ve specifikaci mají tyto významy:
Capital - King | Network Manager |
Postal system | CAN bus, CAN protocol |
City - Mayor | CAN node |
Post Office - Postmaster | CAN controller |
Envelope - Obálka | CAN ID |
Letter - Dopis | CAN Message |
Page - Stránka | CAN data block |
Line - Řádek | CAN data byte |
Dopis má vždy 1 obálku. Jedna stránka může mít 0 až 8 řádek.
Specifikace není kompletní, systémový designer dotvoří specifikaci dle požadavků konkrétního systému.
Protokol je určen zejména pro nákladní automobily a autobusy.
Specifikace protokolu je tvořena těmito částmi:
- J1939/11 Physical Layer
- J1939/21 Data Link Layer
Obecné vlastnosti sběrnice CAN pro komunikaci jednotek v rámci hnacího řetězce vozidla.
- J1939/71 Application Layer
Definice jednotlivých zpráv a jejich vlastnosti.
- identifikátor zprávy
- frekvenci nebo podmínky pro vysílání zprávy.
- uspořádání a kódování datové části.
- J1939/01 Truck & Bus overall doc.
- J1939/02 Agricult. overall doc.
- J1939/31 Network Layer
- J1939/81 Network Management
Přenosová rychlost je pevně stanovena na 250 000 bitů/s.
Datová část má vždy délku 8 bajtů.
Protokol využívá rozšířených identifikátorů, identifikátor má následující strukturu:
Bity ID | b28-b26 | b25 | b24 | b23-b16 | b15-b8 | b7-b0 |
Význam |
Priority | Reserved | Data page | Data Content | PDU specific | Source Address |
Data Content:
Value | PDU specific |
0 - 239 | Destination Address |
240 - 255 | Extended Data Content |
Časový interval vysílání zprávy je určován s ohledem na důležitost obsažených informací a pohy-buje se od 10 ms (tj. vysílání 100-krát za sekundu) do 1 sekundy. Pro některé zprávy není perioda opakování určena, takové zprávy se vysílají jen na vyžádání (obvykle obsahují diagnostiku daného zařízení) nebo ve specifických případech (např. po zastavení motoru).
Datová část zprávy obsahuje aktuální hodnoty určených veličin. Zařízení, která zprávu vysílají, nemusí "vyplnit" všechny předpisem definované hodnoty, ale musí na jejich místě vysílat byte, jehož všechny bity mají hodnotu rovnou 1. To zajišťuje kompatibilitu stávajících i budoucích verzí jednotek připojených na CAN. Data o rozsahu větším než 8 bytů (např. informace o konfiguraci motoru) se vysílají v blocích po 8 bytech s tím, že před zahájením takového přenosu je vysílána speciální informační zpráva.
Celkem definuje předpis SAE J 1939 (verze z roku 1999) 145 zpráv, které specifikují přenos i ta-kových informací jako blokování immobilizéru, teplotu povrchu pneumatik a vozovky nebo lase-rové navádění tahače na přívěs.
Některé adresy jednotek v rámci hnacího řetězce vozidla:
00h .... motor
03h .... převodovka
0Bh .... ABS / ASR.
Většina jednotek vysílá několik různých zpráv (tj. zpráv s odlišnými identifikátory).
Současný motor obvykle vysílá následující periodické zprávy:
- Electronic Engine Controller #1, interval: 10 ms
- Electronic Engine Controller #2, interval: 50 ms
- Electronic Engine Controller #3, interval: 250 ms
- Cruise Control/ Vehicle Speed, interval: 250 ms
- Engine Temperature, interval: 1000 ms
- Ambient conditions, interval: 1000 ms
- Inlet/Exhaust conditions, interval: 1000 ms
- Engine configuration, interval: 1000 ms (rozsáhlá zpráva rozdělená do 4 bloků)
Příklad:
Zpráva EEC1
vysílá: motor
identifikátor: 0CF00400h
perioda: 10 ms
obsahuje hodnoty:
- kód zařízení, které aktuálně řídí kroutící moment motoru: volnoběh, pedál akcelerátoru, cruise-control, ABS, ASR, převodovka, omezovač rychlosti, omezovač otáček, omezovač kroutícího momentu...
- otáčky motoru: 0 - 8000 ot/min
- řidičem požadovaný kroutící moment (vyjádřený v procentech referenčního kroutícího momentu)
- aktuální kroutící moment (vyjádřený v procentech referenčního kroutícího momentu)
www-iiit.etec.uni-karlsruhe.de/~osek
Osobní automobily.
Protokol využívá standardních 11 bitových identifikátorů. Identifikátory mají tuto strukturu:
Identifier bits | Idenity Usage | ||||||||||
10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | Group 1 Msg ID | Source MAC ID | Message Group 1 | ||||||||
1 | 0 | MAC ID | Group 2 Msg ID | Message Group 2 | |||||||
1 | 1 | Group 3 Msg ID | Source MAC ID | Message Group 3 | |||||||
1 | 1 | 1 | 1 | 1 | Group 4 Msg ID |
Message Group 4 (reserved for future use) |
|||||
1 | 1 | 1 | 1 | 1 | 1 | 1 | X | X | X | X | Invalid CAN IDs |
www.honeywell.com/sensing/prodinfo/sds/
Tento protokol využívá standardního 11 bitového identifikátoru. Ten má následující tvar:
Pro DLC=0:
Identifier bits | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Význam | Direction | Device Address | PDU type |
Direction:
0 - Host to Guest
1 - Guest to Host
Device Address:
0 - 125
PDU type:
0 - Change of state OFF
1 - Change of state ON
2 - OFF Ack
3 - ON Ack
4 - Write OFF
5 - Write ON
6 - Write OFF Ack
7 - Write ON Ack
Pro DLC>0:
|
|
|
RRE:
Request
Response
Error
0:
Fragment
OGID:
Object ID
Group ID
www.ncl.ac.uk/~nrauto/canopen.htm
CAL:
Flexibilní a vhodný pro uzavřené systémy.
Obsahuje 272 předdefinovaných standardních identifikátorů.
8 tříd priority.
CANopen:
CANopen je podmnožinou CAL
Navrženy komunikační profily pro IO a pohony.
Struktura identifikátoru je navržena tak, aby nekolidovala se zprávami ve formátu J1939. Následující tabulky porovnávají strukturu ID těchto protokolů.
MilCAN
Bity ID | b28-b26 | b25 | b24 | b23-b16 | b15-b8 | b7-b0 |
Význam |
Priority | Reserved=1 | Request |
Message Primary Type |
Message Sub-Type |
Source Address |
SAE J1939
Bity ID | b28-b26 | b25 | b24 | b23-b16 | b15-b8 | b7-b0 |
Význam |
Priority | Reserved=0 | Data page |
PDU Format (Data Content) |
PDU specific | Source Address |
Letecká technika.
Identifikátory jsou děleny do 6 skupin dle priority:
Datová část pak má tuto strukturu:
Komunikační standard založený na sběrnici CAN dle definice CAN 2.0 B určený pro zemědělské a lesnické stroje. Standard má tyto části:
Part 1: General standard for mobile data communication
Part 2: Physical layer
Part 3: Data link layer
Part 4: Network layer
Part 5: Network management
Part 6: Virtual terminal
Part 7: Implement messages applications layer
Part 8: Power train messages
Part 9: Tractor ECU
Part 10: Task controller and management information system data interchange
Part 11: Mobile data element dictionary
Part 12: Diagnostic
Part 13: File Server
http://www.asam.de