Vysvětlení sběrnice CAN: jak komunikují řídicí jednotky, systémy řízení baterií (BMS) a displeje
V moderním elektrickém zařízení prvky již ne pouze vyměňují energii, ale také informace. Řídicí jednotka potřebuje znát stav baterie, displej zobrazuje rychlost a teploty, a druhá řídicí jednotka potřebuje znát nastavení první. Nejběžnějším způsobem pro tento přenos informací je systém CAN bus, který pochází z automobilového průmyslu. Tento návod vysvětluje, jak tento systém funguje a jak jej správně zapojit.
Nejdůležitější
- CAN (Controller Area Network) propojuje několik zařízení pomocí jedné dvojice kroucených párů vodičů, které se nazývají CAN High a CAN Low.
- Je potřeba rezistor o odporu 120 ohmů na každém konci sběrnice, a pouze na koncích.
- Každá zpráva má přiřazený identifikátor, který také slouží jako priorita: nejdůležitější zprávy jsou vždy zpracovány jako první.
- Všechna zařízení musí používat stejnou rychlost komunikace.
Není to autobus, je to spíše spojení
Klasické sériové propojení spojuje dva zařízení. CAN je naopak sběrnice (bus): všechna zařízení jsou připojena ke stejným dvěma vodičům a každé může komunikovat s každým. Pro přidání zařízení stačí se připojit ke sběrnici, aniž by bylo nutné tahat další kabel k řídicí jednotce. Právě to vedlo k jeho širokému použití v automobilovém průmyslu, kde desítky řídicích jednotek sdílejí několik párů vodičů.
Na lehkém vozidle se obvykle nachází jeden nebo více řídicích jednotek, systém řízení baterie (BMS), displej, modul telemetrie nebo nabíječka.
Dva vodiče, jeden rozdíl
CAN využívá dvojici vodičů, CAN High a CAN Low. Informace není přenášena napětím jednoho vodiče vzhledem k zemi, ale rozdílem mezi oběma: rozdílem:
- V klidovém stavu (bit "recesivní") jsou oba vodiče na stejné úrovni napětí, přibližně polovina napětí napájení obvodu;
- Pro vyslání "dominantního" bitu, vysílač odděluje oba vodiče: jeden se zvedá, druhý klesá.
Elektrické rušení, jako například to generované regulátorem, který odebírá stovky ampér, ovlivňuje oba vodiče stejným způsobem. Jejich rozdíl však zůstává nezměněn. Právě to činí systém CAN tak robustním v prostředí s vysokou úrovní elektrického šumu, za předpokladu, že oba vodiče jsou stočeny dohromady.
Odporové zakončovací prvky
Sběrnice CAN musí mít rezistor o hodnotě 120 ohmů mezi linkami CAN High a CAN Low na obou koncích fyzického propojení. Tyto rezistory zabraňují odrazům signálu na konci kabelu a vrací sběrnici do klidového stavu.
- Sběrný vodič byl správně propojen: při měření napětí mezi vodičem CAN High a CAN Low, s vypnutými zařízeními, bylo naměřeno přibližně 60 ohmů (což odpovídá paralelnímu zapojení dvou rezistorů o hodnotě 120 ohmů).
- Přibližně 120 ohmů: chybí ukončovací odpor.
- Hodnota výrazně nižší než 60 ohmů: to znamená, že je příliš mnoho aktivovaných terminátorů, což se často děje, když má více zařízení aktivovaný vlastní terminátor.
Chybějící nebo nadbytečný konektor je nejčastější příčinou nestabilního připojení.
Identifikátory a priorita
Každá zpráva CAN má identifikátor, což je číslo, které určuje, o čem daná zpráva je (například „stav baterie“ nebo „žádoucí otáčky motoru“). Všechna zařízení čtou všechny zprávy a uchovávají si pouze ty, které jsou pro ně relevantní.
Když dvě zařízení začnou vysílat současně, porovnávají své identifikátory bit po bitu, přímo na kabelu. Dominantní bit přepisuje recesivní bit: zařízení, které vysílá recesivní bit a čte dominantní bit, pochopí, že prohrálo, a přestane vysílat. Vždy vyhraje zařízení s nejmenším identifikátorem, a to bez poškození jakýchkoli zpráv. Tento proces se nazývá arbitráž: kritické zprávy jsou přiřazeny nejmenším identifikátorům.
Integrovaná spolehlivost
- Každá zpráva obsahuje kontrolní kód: poškozená zpráva je detekována a odeslána znovu.
- Každý přijímač potvrzuje správný příjem pomocí potvrzovacího bitu.
- Zařízení, které zaznamenává opakované chyby, se automaticky odpojí, aby nezablokovalo celý systém.
Rychlost sběrnice
Všechna zařízení připojená ke sběrnici musí používat stejnou rychlost. Nejběžnější hodnoty jsou 250 a 500 kilobitů za sekundu, někdy 1 megabit. Čím vyšší je rychlost sběrnice, tím kratší je její maximální délka. Nicméně, u lehkých vozidel, kde je délka sběrnice maximálně několik metrů, délka obvykle není omezující faktor. Novější verze, CAN FD, umožňuje přenos většího množství dat v každé zprávě a při vyšší rychlosti.
Příklad: dva ovladače propojené
U koloběžky se dvěma motory se dva řídicí jednotky propojené přes CAN chovají jako jedna: jednotka, která přijímá signál z plynové páčky, jej předává druhé, a jediný softwarový nástroj pro nastavení zobrazuje data z obou. To platí pro řídicí jednotky VESC, které jsou popsány v našem průvodci VESC: Jednoduché vysvětlení.
Tipy pro servisní techniky.
Vždy spojte vodiče CAN high a CAN low, udržujte je odděleně od fázových kabelů a zkontrolujte odpor 60 ohmů pomocí multimetru před prvním zapnutím. Pět minut kontroly vám může ušetřit hodiny hledání problémů s přerušovanou komunikací.
Často kladené otázky
Převádí CAN sběrnice proud pro napájení zařízení?
Ne, pár CAN přenáší pouze informace. Zařízení mají vlastní napájení, které je někdy zajišťováno jinými vodiči ve stejném kabelu.
Proč dochází k přerušované komunikaci přes sběrnici CAN?
Mezi nejčastější příčiny patří chybějící nebo nadbytečné ukončení, netočené kabely, které se nacházejí v blízkosti napájecích kabelů, opotřebovaný konektor, nebo dva zařízení, která nemají stejnou rychlost sběrnice.
Je možné propojit libovolná zařízení s rozhraním CAN?
Elektricky, ano, pokud sdílejí stejnou rychlost datové sběrnice. Nicméně, aby spolu mohly komunikovat, musí používat stejný „jazyk": stejné identifikátory a stejný obsah zpráv. Dva různé výrobce se bez úprav nemohou vzájemně porozumět.