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.

- CAN Kingdom

- J1939

- OSEK

- DeviceNet

- Smart Distributed Systems

- CAL/CAN Open

- MilCAN

- CANaerospace

- ISO BUS (ISO11783)

- CAN Calibration Protocol


CAN Kingdom

www.kvaser.se/canking/

    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.

 


J1939

www.sae.org

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)

 


OSEK

www-iiit.etec.uni-karlsruhe.de/~osek

Osobní automobily.

 


DeviceNet

www.odva.org

 

    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

 

DeviceNet - přehled struktury identifikátorů


Smart Distributed Systems

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:

 

     
Identifier bits 10 9 8 7 6 5 4 3 2 1 0
Význam Dir Device Address PDU type
7 6 5 4 3 2 1 0
RRE 0 R OGID
7 6 5 4 3 2 1 0
Variable ID

   

    RRE:

            Request

            Response

            Error

    0:

            Fragment

    OGID:

            Object ID

            Group ID

 


CAL/CAN Open

www.can-cia.de/icop.htm

www.ncl.ac.uk/~nrauto/canopen.htm

www.pp2can.wz.cz

 

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.

 

 


MilCAN

    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

 


CANaerospace

http://www.ib-martin.com/


    Letecká technika.

 

    Identifikátory jsou děleny do 6 skupin dle priority:

 

 

    Datová část pak má tuto strukturu:

 


ISO BUS (ISO11783)

http://www.isobus.net/

 

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:

 


CAN Calibration Protocol

http://www.asam.de