Elektronika - baza wiedzy

Interface szeregowy CAN


CAN (ang. Controller Area Network) jest seryjną koncepcją systemu typu ,,bus", opracowaną przez firmę Bosch, dla potrzeb układów sterowania pzemysłu samochodowego. Wysokie wymagania w systemach komunikacji i fakt wykorzystania go w seryjnych pojazdach (dostępność korzystnych cenowo komponentów) przemawiają za jego zastosowaniem poza obszarem samochodu, jako otwartego systemu komunikacyjnego automatyki. Zarówno specyfika jak też standaryzacja CAN-a są zorientowane na architekturę modelu ISO/OSI. Protokół CAN używa i dostosowuje się do wymagań modelu na poziomie trzech warstw tego modelu: warstwie pierwszej (w.fizycznej), warstwie drugiej (w.łącza danych) oraz warstwie siódmej (w.aplikacji). Warstwa fizyczna zapewnia komunikację na optycznych i elektrycznych różnicowych, dwuprzewodowych liniach ,,bus" dzięki wyspecjalizowanym produktom oraz wykorzystanie innych mediów w oparciu o inne komponenty. Warstwa danych wykorzystuje zespolone podzespoły CAN do transmisji danych, zgodnie ze specyfiką protokołu. Warstwa aplikacyjna jest to koncepcja swobonego wyboru nie objęta specyfikacją CAN lecz proponująca już gotowe, standardowe oprogramowanie mechanizmów sterowania pracy.

Podstawowe właściwości systemu CAN: Liczba uczestników systemu CAN jest teoretycznie nieograniczona. Wysłana informacja może zostać odebrana przez wszystkich uczestników sieci CAN i każdy uczestnik sam rozstrzyga czy ją przyjmie. Kryterium wyboru jest zawarte w identyfikatorze, który przekazywany jest w komunikacie. identyfikator ma 11 bitów w standardowej ramce. Możliwa jest również opcja z identyfikatorem 29 bitowym (w Extendet Frame). Opisana metoda rozróżniania komunikatów zapewnia elastyczność systemu ze względu na nowych uczestników i nie wymaga rozbudowanego oprogramowania i sprzętu.

Format ramki danych standartu CAN : Identyfikator pola zawiera informacje o informacji i jej priorytecie dla dostępu do pamięci. Pole kontroli CRC (ang. Cyclic Redundancy Check) jest szerokie na 15 bitów i służy do rozpoznawania braków w komunikacie. Pole ACK (ang. Acknowledge) daje liczbę wzystkich przyłączonych użytkowników, którzy opatrzoną ramkę danych poprawnie odebrali (ich potwierdzenie odbioru). Nie objaśnione pola są zajęte mocnymi wartościami bitów.

Typowa struktura uczestnika sieci CAN : Węzeł taki składa się z fizycznego interfejsu, protokołu kontrolera, pamięci komunikatów oraz mikrokontrolera. Mikrokontroler steruje funkcją sensora i układu wykonawczego. Mikrokontroler posiada dostęp do pamięci komunikatu, w trakcie odbioru i wysyłania komunikatów magazynuje je. Każdy uczestnik posiada dla siebie właściwą tabelę rodzaju komunikatu, który jest gotowy do wysłania (przyjmowania). Transmisją nazywamy czynność, w której mikrokontroler zapisuje zwrotny komunikat w pamięci komunikatu, z której CAN kontroler ją automatycznie wysyła. W trakcie odbioru tylko te komunikaty zostają odebrane i zapamiętane, które zostaną zaakceptowane przez wbudowany filtr. Całość tablic rodzajów komunikatów w systemie CAN może być interpretowana jako rozproszona pamięć. Na tej pamięci możemy wykonywać operacje zapisu, odczytu, wykorzystać jej zawartość w każdej chwili wychwytując czas i parametry. Dostępnych jest szereg komponentów realizujących funkcje fizycznego interfejsu, kontrolera linii i modułu kontrolnego, w postaci układów scalonych pełniących role transmiterów CAN-82C250, układów I/O-82C150, mikrokontrolerów-8xC592, 8xCE598 i innych potrzebnych do tworzenia sieci CAN.