Vysvetlenie zbernice CAN: Ako komunikujú riadiace jednotky, systémy riadenia batérie (BMS) a displeje

V modernom elektrickom zariadení už prvky nielenže vymieňajú energiu, ale aj informácie. Riadiaca jednotka potrebuje vedieť stav batérie, displej zobrazuje rýchlosť a teploty, a ďalšia riadiaca jednotka potrebuje informácie z prvej. Najbežnejší spôsob na to pochádza z automobilového priemyslu: CAN zbernica. Tento návod vysvetľuje, ako funguje a ako ju správne zapojiť.

Dôležité informácie

  • CAN (Controller Area Network) umožňuje pripojenie viacerých zariadení pomocou jednej dvojice skrútených káblov, ktoré sa nazývajú CAN High a CAN Low.
  • Na oboch koncoch zbernice je potrebné použiť rezistor s hodnotou 120 ohmov, a to len na koncoch.
  • Každá správa má identifikátor, ktorý slúži aj ako priorita: najdôležitejšia správa sa vždy zobrazí ako prvá.
  • Všetky zariadenia musia používať rovnakú komunikačnú rýchlosť.

Nie je to spojenie, je to autobus

Klasické sériové pripojenie spája dva zariadenia. CAN je naopak zbernica: všetky zariadenia sú pripojené k rovnakým dvom vodičom a každé zariadenie môže komunikovať s každým. Pri pridávaní zariadenia sa jednoducho pripojíte k zbernici, bez toho, aby ste museli ťahať ďalší kábel k riadiacej jednotke. Práve to zabezpečilo jeho široké využitie v automobilovom priemysle, kde desiatky riadiacich jednotiek využívajú len niekoľko párov vodičov.

Na ľahkom vozidle sa typicky nachádza jeden alebo viacero riadiacich jednotiek, systém riadenia batérie (BMS), displej, modul telemetrie alebo nabíjačka.

Dva vodiče, jeden rozdiel

CAN využíva dvojicu vodičov, CAN High a CAN Low. Informácia nie je prenášaná napätím jedného vodiča vzhľadom k uzemneniu, ale rozdielom medzi oboma:

  • V stave pokoja (ak je nastavený režim „pasívny“), oba vodiče majú rovnaké napätie, približne polovicu napätia napájajúce obvod
  • Na to, aby vysielač vyslal "dominantný" bit, oddeľuje obidva vodiče: jeden sa zdvihne, druhý klesne.

Elektrické rušenie, napríklad spôsobené ovládačom, ktorý spracováva stovky ampérov, ovplyvní obidva vodiče rovnakým spôsobom. Ich rozdiel však zostane nezmenený. Práve to robí z komunikačného protokolu CAN tak robustný systém v prostredí s vysokou úrovňou elektrického šumu, za predpokladu, že sú oba vodiče skrútené dohromady.

Odporové zakončovacie prvky

Zbernica CAN musí mať odpor 120 ohmov medzi vodičom CAN High a CAN Low na oboch fyzických koncoch. Tieto odpory zabraňujú odrazom signálov na konci kábla a vracajú zbernicu do stavu pokoja.

  • Spoj je správne zapojený: pri meraní medzi vysokou a nízkou linkou CAN, s vypnutými zariadeniami, sa nameralo približne 60 ohmov (čo zodpovedá zapojeniu dvoch odporov s hodnotou 120 ohmov paralelne).
  • Približne 120 ohmov: chýba ukončovací odpor.
  • Hodnota výrazne nižšia ako 60 ohmov: to znamená, že je príliš veľa zapojených terminálov, čo sa často stáva, keď je aktivovaných viacero zariadení.

Chýbajúci alebo nadbytočný konektor je najčastejšou príčinou nestabilnej komunikácie.

Identifikátory a priorita

Každá správa CAN má identifikátor, číslo, ktoré udáva, o čom správa hovorí (napríklad „stav batérie“ alebo „požiadavka výkonu motora vpredu“). Všetky zariadenia čítajú všetky správy a ponechávajú si len tie, ktoré ich zaujímajú.

Keď dva zariadenia začnú vysielať naraz, porovnávajú svoje identifikátory bit po bite, priamo cez kábel. Dominantný bit prepíše recesívny bit: zariadenie, ktoré vysiela recesívny bit a prijíma dominantný bit, pochopí, že prehralo, a prestane vysielať. Vždy vyhrá identifikátor s najmenšou hodnotou, pričom žiadna informácia nie je stratená. Tento proces sa nazýva arbitráž: kritické správy dostávajú najmenšie identifikátory.

Integrovaná spoľahlivosť

  • Každá správa obsahuje kontrolný kód: poškodená správa je detegovaná a opätovne odoslaná.
  • Každý prijímač potvrdzuje správny príjem pomocou jedného potvrdzovacieho bitu.
  • Zariadenie, ktoré zaznamenáva množstvo chýb, sa automaticky odpojí, aby sa zabránilo zablokovaniu celého systému.

Rýchlosť zbernice

Všetky zariadenia pripojené k jednej komunikačnej zbernici musia používať rovnakú rýchlosť. Najčastejšie používané hodnoty sú 250 a 500 kilobitov za sekundu, niekedy 1 megabit. Čím je zbernica rýchlejšia, tým je jej maximálna dĺžka kratšia, ale u ľahkého vozidla, s dĺžkou maximálne niekoľko metrov, dĺžka nikdy nie je obmedzujúcim faktorom. Novšia verzia, CAN FD, umožňuje prenos väčšieho množstva dát v každej správe pri vyššej rýchlosti.

Príklad: dva ovládače prepojené

Na trojkolke s dvoma motorami, dva riadiace jednotky spojené cez CAN komunikáciu fungujú ako jedna: jednotka, ktorá prijíma signál z plynu, ho odovzdáva druhej, a jediný softvér na nastavenie vidí obe. Toto platí pre riadiace jednotky VESC, ktoré sú popísané v našom sprievodci VESC: Jednoduché vysvetlenie.

Tipy pre servis.

Vždy pripojte káble CAN high a CAN low k sebe, udržujte ich ďalej od fázových káblov a skontrolujte odpor 60 ohmov pomocou multimetra pred prvým zapnutím. Päť minút kontroly vám môže ušetriť hodiny hľadania príležitostných komunikačných problémov.

Často kladené otázky

Prepravuje CAN systém elektrický prúd na napájanie zariadení?

Nie, dvojica CAN prenáša iba informácie. Zariadenia majú vlastné napájanie, ktoré je niekedy zabezpečené inými vodičmi v rovnakom kábli.

Prečo moja komunikácia cez zbernicu CAN funguje prerušovane?

Najčastejšie príčiny sú chýbajúci alebo nadbytočný terminátor, netuhé vodiče, ktoré prebiehajú v blízkosti napájacích káblov, opotrebovaný konektor, alebo dva zariadenia, ktoré nemajú rovnakú rýchlosť dátového prenosu (bus).

Je možné pripojiť akékoľvek zariadenia s rozhraním CAN k sebe?

Elektricky, áno, ak používajú rovnakú komunikačnú rýchlosť. Avšak, aby spolu mohli komunikovať, musia používať rovnaký „jazyk": rovnaké identifikátory a rovnaký obsah správ. Dve rôzne značky sa bez úprav neporozumejú.