1 Wprowadzenie
CAN (Controller Area Network) jest zaawansowanym szeregowym protokołem komunikacyjnym który sprawnie i niezawodnie wspomaga sterowanie w czasie rzeczywistym oraz pozwala elastycznie konfigurować sieci z różnymi typami mikroprocesorów.
Typowe aplikacje CAN można spotkać w systemach samochodowych oraz w przemyśle:
zastosowania samochodowe:
- transmisja za pomocą rozbudowanej instalacji elektrycznej (<125 kbit/s)
- kontrola silnika, ABS itp. (do 1 Mbit/s)
rozwiązania przemysłowe:
sieci polowe
robotyka, sterowanie obrabiarkami numerycznymi
Przykład sieci CAN:
Mikroprocesor P8xC592 posiada następujące cechy związane z komunikacją magistralą CAN:
umożliwia szeregową komunikację sieciowa pomiędzy nieograniczoną liczbą aktywnych węzłów,
pozwala programować szybkości transmisji do 1Mbit/s,
zapewnia wykrywanie wystąpienia błędów transmisji,
dopuszcza 40m połączenia pomiędzy dwoma węzłami w przypadku transmisji z prędkością 1Mbit/s (przy prędkościach niższych dystans może być zwiększony).
Gwarantuje latency time wsparcie dla aplikacji czasu rzeczywistego.
2 Charakterystyka P8xC592
P8xC592 jest rozbudowanym procesorem 80C52 o trzy następujące moduły:
kontroler CAN - dostęp procesora do kontrolera CAN jest możliwy dzięki czterem specjalnym rejestrom SFR ( kontroler CAN jest zaimplementowany zamiast interfejsu I2C ),
DMA - blok ten pozwala nadzwyczaj szybko przesyłać komunikaty między procesorem a kontrolerem,
pamięć pomocnicza (Aux RAM)
Specyfikacja mikrokontrolera P8xC592:
jednostka centralna 80C51
kontroler CAN wraz z blokiem bezpośredniego dostępu do pamięci procesora (DMA)
16Kb pamięć ROM/EPROM (możliwość rozbudowy do 64Kb - pamięc zewnętrzna)
dwie pamięci RAM 256 bajtowe
10-bitowy przetwornik analogowo-cyfrowy z 8 wejściami ( port P5 )
dwa standartowe 16-bitowe układy czasowo-licznikowe
jeden dodatkowy 16-bitowy układ czasowo-licznikowy ( 4 rejestry przechwytujące i 3 komparatory kontrolujące 8 wyjść)
sześć 8-bitowych portów wejścia / wyjścia (port P5 może być wykorzystany jako wejście analogowe)
dwa wyjscia PWM (Pulse Width Modulated)
Full duplex UART kompatybilny ze standardem 80C51
kontroler przerwań z 15 źródeł (dwa poziomy priorytetów, możliwość obsługi od 2 do 6 zewnętrznych przerwań)
układ watchdog
3 CAN w procesorze P8x592
3.1 Podłączenie procesora do magistrali CAN
Procesor P8x592 do pracy w sieci CAN wymaga dołączenia odpowiedniego interfejsu. Może to być układ PCA82C250 który to sprzęga kontroler CAN z fizyczną siecią:
3.2 Interfejs PCA82C200
Interfejs pośredniczy w transmisji, dokonując konwersji przychodzących z procesora sygnałów CTX0, CTX1 na odpowiedni poziom napięcia magistrali CAN, oraz odbiera wartości napięcia przekształcając je w sygnały dla procesora CRX0, CRX1.
How this connection actually is implemented, is application-specific. Depending on the requirements for
the bus signals, the transceiver can be realized with more or less effort, the cheapest solution consists only
of a couple of resistors, more expensive ones need some more discrete components or an extra IC. In
principle the very same transceiver circuits can be used as for the stand-alone CAN controller PCA 82C200
[3]. Three examples for cheap discrete transceivers have been described in the Application Note [4] for
the PCA 82C200, for instance.
In order to get to an international standard for CAN communication (including the transceiver), the
International Standardization Organization (ISO) has prepared two standards, one for lower bit rates (up
to 125 kbit/s) [6], one for higher ones [7]. They also define the electrical parameters for the transceiver.
Application hints for implementation of an ISO-compatible transceiver circuit are given in [10].
Rs - pozwala utrzymywać interfejs w jednym z trzech stanów : high speed (Rs podłączone do masy), slope control, standbay.
INTERFEJS
APLIKACJI
CPU
KONTROLER
MAGISTRALI
FIZYCZNY
INTERFEJS
FIZYCZNY
INTERFEJS
PCA 82C200
P8xC552
INTERFEJS
APLIKACJI
FIZYCZNY
INTERFEJS
Magistrala CAN
P8xC592
INTERFEJS
APLIKACJI
Procesor P8x592 - kontroler CAN
Px,y
CTX0
CRX0
CTX1
Rext
100nF
+5V
TxD
RxD
Vref
Rs
Vcc
GND
CANH
CANL
124 Ω
124 Ω
Magistrala CAN
Interfejs
PCA82C250