Interfejs komunikacyjny CAN: podstawy
Graficzne przedstawienie tych koncepcji zilustrowano na rysunku 12. W ramach każdego schematu pokazano wzajemne relacje pomiędzy wewnętrznymi modułami funkcjonalnymi węzła, jak również relacje pomiędzy węzłem i jego otoczeniem. Wewnątrz węzła znajdują się wymienione wcześniej elementy (mikrokontroler, kontroler CAN i transceiver CAN), natomiast w odniesieniu do środowiska zewnętrznego węzeł CAN powinien posiadać funkcjonalność komunikowania się w standardzie CAN i zarazem komunikowania się z zewnętrznymi układami/urządzeniami peryferyjnymi np. czujnikami, układami pamięci, obwodami sterowania, modułami wykonawczymi itp.
Rys. 12. Trzy różne koncepcje budowy węzła CAN
Chronologicznie najnowszą z metod budowy węzłów CAN przedstawia koncepcja nr 3. Firma NXP Semiconductors, wychodząc naprzeciw oczekiwaniom odnośnie coraz większej miniaturyzacji układów scalonych, coraz większej integracji bloków funkcjonalnych w układach scalonych, a jednocześnie coraz mniejszemu zużyciu prądu, opracowała mikrokontrolery, które oprócz klasycznych zasobów spotykanych w większości współczesnych mikrokontrolerów, posiadają zintegrowany zarówno kontroler CAN i transceiver CAN. Są to jedyne obecne na rynku układy o takiej funkcjonalności. Opracowana rodzina mikrokontrolerów firmy NXP to układy noszące nazwę LPC11C22/24. Są to mikrokontrolery bazujące na rdzeniu ARM Cortex-M0, który może pracować z częstotliwością taktowania do 50 MHz włącznie. Układ został wyposażony w pamięć (Flash do 32 kB, SRAM do 8 kB), peryferia cyfrowe (liczniki, linie I/O, Watchdog, moduł zarządzania energią, blok zegarowy), peryferia analogowe (przetwornik A/C) oraz interfejsy komunikacyjne SPI, I2C, UART i CAN (wspomniany kontroler i transceiver). Dodatkowo mikrokontrolery są wyposażone w pamięć ROM, w której przechowywane są sterowniki dla warstwy 7 CAN – protokołu CANopen. Dzięki takiej konstrukcji układów LPC11C22/24, podstawowy węzeł CAN może składać się z zaledwie jednego układu scalonego, którym jest przedstawiony mikrokontroler.
Starszą, jednak najpowszechniej spotykaną obecnie metodę budowy węzłów CAN przedstawia koncepcja nr 2. Według niej węzeł CAN jest zbudowany z dwóch układów scalonych: mikrokontrolera posiadającego zintegrowany kontroler CAN i zewnętrznego transceivera CAN. Ze względu na popularność tego rozwiązania, na rynku obecnych jest wiele mikrokontrolerów z wbudowanym kontrolerem CAN, jak również transceiverów CAN. Do pierwszej grupy można zaliczyć między innymi mikrokontrolery tak popularnych firm jak Atmel (AT90CAN, AT32UC3C, SAM7X/XC), Microchip (PIC18, PIC24, PIC32, dsPIC30, dsPIC33), Freescale (Coldfire, Kinetis), Infineon (XMC4000) i wiele innych. Transceivery CAN to również popularne układy, które produkowane są między innymi przez firmy Microchip (MCP2551), NXP (TJA1040), Texas Instruments (SN65HVD230), Maxim (MAX3058).
Najstarszą metodą budowy węzłów CAN jest koncepcja nr 1. Przewiduje ona wykorzystanie trzech układów scalonych: mikrokontrolera, kontrolera CAN oraz transceivera CAN. Stosowany w tym wariancie mikrokontroler nie musi spełniać żadnych specjalnych kryteriów. Może być to układ każdego producenta, o dowolnej architekturze, wydajności, zasobach wewnętrznych i innych parametrach użytkowych. Taka dowolność jest możliwa, gdyż komunikacja między mikrokontrolerem a kontrolerem CAN zachodzi przy wykorzystaniu linii ogólnego przeznaczenia (interfejs równoległy) lub interfejsu szeregowego (np. SPI), który jeśli nie jest obecny fizycznie w mikrokontrolerze, może zostać w łatwy sposób zaimplementowany programowo. Jeśli chodzi o kontroler CAN, to do najchętniej wykorzystywanych przez projektantów systemów należą SJA1000 firmy NXP oraz MCP2515 firmy Microchip. Trzeci wymagany układ, a więc transceiver CAN, to układ o takiej samej konstrukcji jak w poprzednim scenariuszu (koncepcja nr 2), więc w tym wariancie może zostać z powodzeniem zastosowany jeden z wcześniej wymienionych układów.
Podsumowanie
W ramach podsumowania warto wymienić największe zalety technologii CAN. Są to:
- łatwości implementacji – zdefiniowane przez CAN warstwy nr 1 i 2 modelu OSI/ISO są zaimplementowane w układach scalonych odpowiedzialnych za realizację transmisji zgodnej z tym standardem. Deweloper oprogramowania musi napisać tylko API (Application Programming Interface) umożliwiające konfigurację parametrów pracy (filtry, maski, prędkość transmisji), wysyłanie wiadomości i odbieranie wiadomości,
- niski koszt realizacji – zbudowanie węzła CAN możliwe jest już za pomocą jednego, dwóch lub trzech układów scalonych (w zależności od przyjętej koncepcji budowy węzła CAN), natomiast medium transmisyjnym może być dowolny kabel dwużyłowy zakończony z każdej strony rezystorem terminującym 120 ?,
- niezawodność – transmisję CAN cechuje:
- odporność na zakłócenia uzyskana dzięki reprezentowaniu bitów wiadomości za pomocą sygnału różnicowego,
- wysoka wykrywalność błędów dzięki stosowaniu licznych mechanizmów detekcji błędów,
- duży zasięg transmisji – do 10 km,
- wysoka prędkość transmisji (do 1 Mbit/s) pozwalająca na komunikację w czasie zbliżonym do rzeczywistego,
- elastyczność stosowania – model komunikacji multi-master pozwala wykorzystywać CAN do realizacji różnorodnych aplikacji o charakterze przemysłowym, w tym np. systemów sieciowych z rozproszonym sterowaniem,
- szeroki wybór układów elektronicznych CAN (mikrokontrolerów, kontrolerów CAN, transceiverów CAN).
Literatura
[1] https://auobd2.com/service/controller-area-network-can-bus-diagnostics-456.html [2] An Overview of Controller Area Network (CAN) Technology, Machine Bus Corporation, 2003 [3] Introduction to the Controller Area Network (CAN), Texas Instruments, 2008 [4] http://www.technologyuk.net/telecommunications/industrial_networks/can.shtml