Actions

KAmodRPi CAN-FD (PL): Difference between revisions

From Kamamilabs.com - Wiki

Created page with "__jzpdf__ ===== Opis ===== <b>KAmod CAN-FD </b> jest kompletnym interfejsem magistrali CAN bazującym na zaawansowanym kontrolerze CAN typu MCP2518FD. Zastosowany układ odpow..."
 
No edit summary
Line 68: Line 68:
:* szpilka nr 11: <b>INT</b> – główne wyjście przerwania, aktywne w stanie niskim;
:* szpilka nr 11: <b>INT</b> – główne wyjście przerwania, aktywne w stanie niskim;
:* szpilka nr 12: <b>MOSI</b> – wejście danych SPI kontrolera CAN (SPI data input);
:* szpilka nr 12: <b>MOSI</b> – wejście danych SPI kontrolera CAN (SPI data input);
________________________
 
<center>
<center>
[[File:KAmodCAN_TXRX_1.jpg|none|500px|thumb|center]]
[[File:KAmodCAN-FD_1.jpg|none|500px|thumb|center]]
</center>
</center>


===== Wybór poziomu napięcia interfejsu szeregowego=====
===== Złącze GPIO w standardzie Raspberry Pi=====




Line 82: Line 82:
! style="text-align: center;"|Funkcja
! style="text-align: center;"|Funkcja
|-
|-
| style="text-align: center;"|<b>J2 - VIO SEL</b>
| style="text-align: center;"|<b>J2</b>
Szpilki goldpin 2x3, 2,54 mm
Złącze goldpin 2x20, 2,54 mm
| style="text-align: left;"|
| style="text-align: left;"|
* Wybór poziomu napięcia na liniach interfejsu szeregowego C-RX, C-TX
* Wyprowadzone sygnały sterujące kontrolera CAN, dołączone do odpowiednich styków złącza GPIO
* Wejście zasilania, dołączone do odpowiednich styków złącza GPIO
|}
|}
</center>
</center>
Złącze VIO SEL pozwala wybrać 1 z 3 wartości poziomu napięcia na liniach interfejsu szeregowego:
Sygnały sterujące kontrolerem CAN zostały doprowadzone do odpowiednich styków złącza <b>J2</b> (oraz równolegle do złącza J1), które jest kompatybilne ze standardem złącza GPIO płytek Raspberry Pi. Dzięki temu moduł KAmod CAN-FD można łatwo dołączyć do SBC Raspberry Pi. Rozmieszczenie sygnałów sterujących na złączu GPIO jest następujące:
:*pozycja nr 1 oznaczona „<b>5 V</b>” - zwarcie szpilek 1-2 oznacza, że szeregowy interfejs sterujący jest dostosowany do napięcia 5 V, czyli napięcia zasilania;
:* pozycja nr 2 oznaczona „<b>3V3</b>” - zwarcie szpilek 3-4 oznacza, że szeregowy interfejs sterujący jest dostosowany do napięcia 3,3 V, które jest dostarczane ze zintegrowanego na płytce stabilizatora napięcia;
:* pozycja nr 2 oznaczona „<b>3V3</b>” - zwarcie szpilek 3-4 oznacza, że szeregowy interfejs sterujący jest dostosowany do napięcia 3,3 V, które jest dostarczane ze zintegrowanego na płytce stabilizatora napięcia;
:* pozycja nr 3 oznaczona „<b>EXT</b>” - zwarcie szpilek 5-6 oznacza, że szeregowy interfejs sterujący jest dostosowany do napięcia doprowadzonego do styku VIO złącza sterującego J1.
:* styki 2 i 4: <b>+5V</b> – zasilanie 5 V doprowadzone ze złącza GPIO;
 
:* styki 6, 9, 14, 20, 25, 30, 34, 39 – masa <b>GND</b> doprowadzona ze złącza GPIO;
1)
:* styk 18: <b>GPIO24</b> – może być połączony z sygnałem <b>INT</b> (zależy od ustawienia zworki J7);
<center>
:* styk 22: <b>GPIO25</b> – może być połączony z sygnałem <b>INT</b> (zależy od ustawienia zworki J7);
[[File:KAmodCAN_TXRX_2-1.jpg|none|500px|thumb|center]]
:* styk 24: <b>GPIO08</b> – może być połączony z sygnałem <b>CE</b> (zależy od ustawienia zworki J8);
</center>
:* styk 26: <b>GPIO07</b> – może być połączony z sygnałem <b>CE</b> (zależy od ustawienia zworki J8);
2)
:* styk 19: <b>GPIO10</b> – połączony z sygnałem MOSI - wejście danych SPI kontrolera CAN;
<center>
:* styk 19: <b>GPIO09</b> – połączony z sygnałem MISO - wyjście danych SPI kontrolera CAN;
[[File:KAmodCAN_TXRX_2-2.jpg|none|500px|thumb|center]]
:* styk 19: <b>GPIO11</b> – połączony z sygnałem SCK - wejście zegarowe SPI kontrolera CAN;
</center>
3)
<center>
[[File:KAmodCAN_TXRX_2-3.jpg|none|500px|thumb|center]]
</center>
 
===== Złącze magistrali CAN=====
 


<center>
{| class="wikitable"  style="width: 1000px;"
|-
! style="text-align: center;"|Złącze
! style="text-align: center;"|Funkcja
|-
| style="text-align: center;"|<b>J3 - CAN</b>
Phoenix MC3,81 mm
| style="text-align: left;"|
* Złącze magistrali CAN
|}
</center>
Złącze magistrali CAN zawiera 3 styki: <b>CANL</b>, <b>CANH</b> oraz <b>GND</b>. Ich rozmieszczenie jest dobrze opisane na płytce modułu. Każdy styk należy dołączyć do magistrali CAN zgodnie z oznaczeniem. Sygnał GND powinien być dołączony do wspólnej masy zasilania urządzeń połączonych magistralą CAN.
<center>
[[File:KAmodCAN_TXRX_3-1.jpg|none|500px|thumb|center]]
<br>
</center>
Przebiegi napięć na magistrali CAN pokazuje poniższy rysunek:
<br>
<center>
<center>
[[File:KAmodCAN_TXRX_3-2.jpg|none|600px|thumb|center]]
[[File:KAmodCAN-FD_2.jpg|none|500px|thumb|center]]
</center>
</center>


===== Dołączenie rezystora terminującego=====


=====Podłączenie dwóch modułów interfejsu CAN=====




Line 144: Line 116:
! style="text-align: center;"|Funkcja
! style="text-align: center;"|Funkcja
|-
|-
| style="text-align: center;"|<b>J4</b>
| style="text-align: center;"|<b>J7, J8</b>
Szpilki goldpin 1x3, 2,54 mm
Szpilki goldpin + jumper 1x3, 2,54 mm
| style="text-align: left;"|
| style="text-align: left;"|
* Dołączenie rezystora terminującego 120 Ω
* Wybór kanału interfejsu SPI dla kontrolera CAN (sygnały CE0/CE1 na złączu GPIO)
* Wybór wejścia dla przerwania INT z kontrolera CAN (sygnały GPIO24/GPIO25 na złączu GPIO)
|}
|}
</center>
</center>
Urządzenia w magistrali CAN, jak sama nazwa wskazuje, są połączone w topologii magistrali. Jest to jedna szyna, bez rozgałęzień, w której można wskazać dwa końce. Każdy koniec magistrali powinien być wyposażony w terminator magistrali w przypadku magistrali CAN jest to rezystor o wartości 120 Ω.
Moduł KAmod CAN-FD jest sterowany poprzez interfejs szeregowy SPI, który może obsługiwać kilka kontrolerów w jednej aplikacji. Każdy kontroler powinien mieć przypisaną dla siebie linię wyboru <b>CE</b> (Chip Enable). Na złączu GPIO Raspberry Pi są dostępne dwie linie CE CE0 oraz CE1. Za pomocą zworki <b>J8</b> można wybrać, z której linii CE będzie korzystał kontroler CAN na płytce modułu KAmod CAN-FD:
Na płytce modułu znajduje się odpowiedni rezystor, który można dołączyć poprzez odpowiednie ustawienie zworki J4:
:* zwarcie szpilek 1-2 J8: ustawia linię CE0, jako linię wyboru kontrolera (jak na rysunku),
:* zwarcie szpilek 1-2, tak, jak na poniższym rysunku, oznacza, że rezystor terminujący 120 Ω jest dołączony pomiędzy liniami CANL i CANH;
:* zwarcie szpilek 2-3 J8: ustawia linię CE1, jako linię wyboru kontrolera.
:* zwarcie szpilek 2-3, lub usunięcie zworki powoduje odłączenie rezystora terminującego.
Kontroler CAN typu MCP2518FD, do prawidłowego działania wymaga obsługi przerwania ustawianego stanem na linii <b>INT</b>. Aby umożliwić działanie dwóch kontrolerów CAN, sygnał INT można dołączyć do jednego z dwóch styków złącza GPIO, za pomocą zworki <b>J7</b>:  
:* zwarcie szpilek 1-2 J7: sygnał INT połączony z linią GPIO25 (jak na rysunku),
:* zwarcie szpilek 2-3 J7: sygnał INT połączony z linią GPIO24.


<center>
<center>
[[File:KAmodCAN_TXRX_4.jpg|none|500px|thumb|center]]
[[File:KAmodCAN-FD_3.jpg|none|500px|thumb|center]]
<br>
</center>
</center>


===== Zasilanie=====


<center>
===== Linki=====
{| class="wikitable"  style="width: 1000px;"
*[https://wiki.kamamilabs.com/images/c/c4/MCP2542FD.pdf Karta katalogowa układu MCP2542FD]
|-
*[https://mikrokontroler.pl/2013/06/10/interfejs-komunikacyjny-can-podstawy/ Artykuł na portalu MIKROKONTROLER.pl "Interfejs komunikacyjny CAN: podstawy"]
! style="text-align: center;"|Złącze
! style="text-align: center;"|Funkcja
|-
| style="text-align: center;"|<b>J1</b>
Szpilki goldpin 1x6, 2,54 mm
| style="text-align: left;"|
* Wejście zasilania
|}
</center>
KAmod CAN-TXRX wymaga zasilania napięciem stałym o wartości z zakresu 4,5...5,5 V.
Zasilanie należy dołączyć do szpilek 5 i 6 złącza sterującego J1:
:* szpilka nr 5 - masa sygnałów sterujących/zasilania;
:* szpilka nr 6 - główne wejście zasilania o napięciu 5 V.


<center>
=====Złącze magistrali CAN=====
[[File:KAmodCAN_TXRX_5.jpg|none|500px|thumb|center]]
</center>


===== Sygnalizacja=====
=====Dołączenie rezystora terminującego=====
 
<center>
{| class="wikitable"  style="width: 1000px;"
|-
! style="text-align: center;"|Diody LED
! style="text-align: center;"|Funkcja
|-
| style="text-align: center;"|<b>RX<br>TX<BR>VIO</b>
| style="text-align: left;"|
* RX – sygnalizacja odczytu danych z magistrali CAN
* TX – sygnalizacja nadawania danych na magidtralę
* VIO – sygnalizacja napięcia interfejsu szeregowego
|}
</center>
Diody LED <b>RX</b> i <b>TX</b> sygnalizują stan aktywny – czyli niski stan logiczny (stan dominujący na magistrali CAN), odpowiednio na wyjściu i wejściu szeregowym – C-RX i C-TX. W przypadku przesyłania danych na magistralę, będą migały obie diody – TX oraz RX, ponieważ dane są jednocześnie odczytywane przez transceiver.
<br>
Przy napięciu<b> VIO </b>niższym niż 2,5 V diody sygnalizacyjne VIO, RX, TX mogą świecić bardzo słabym światłem, lub mogą nie świecić wcale. Pomimo tego moduł będzie działał prawidło.


<center>
=====Wyłączenie transceivera magistrali CAN=====
[[File:KAmodCAN_TXRX_6.jpg|none|500px|thumb|center]]
</center>


===== Wymiary=====
=====Monitorowanie strumieni danych TX i RX=====
=====Zasilanie i napięcie sygnałów sterujących VIO=====
=====Diody sygnalizacyjne=====
=====Wymiary=====


Wymiary modułu transceivera KAmod CAN-TXRX to 61x20 mm, i wysokość ok. 12 mm.
=====Uruchomienie modułu z komputerkiem Raspberry Pi 5=====


<center>
[[File:KAmodCAN_TXRX_7.jpg|none|550px|thumb|center]]
</center>


===== Linki=====
=====1. Odblokowanie interfejsu SPI=====
*[https://wiki.kamamilabs.com/images/c/c4/MCP2542FD.pdf Karta katalogowa układu MCP2542FD]
=====2. Instalowanie pakietu narzędzi dla interfejsu CAN=====
*[https://mikrokontroler.pl/2013/06/10/interfejs-komunikacyjny-can-podstawy/ Artykuł na portalu MIKROKONTROLER.pl "Interfejs komunikacyjny CAN: podstawy"]
=====3. Konfigurowanie interfejsu CAN=====
=====3. Konfigurowanie interfejsu CAN=====
=====4. Restartowanie systemu=====
=====5. Sprawdzenie konfiguracji=====
=====6. Test komunikacji=====
=====7. Test komunikacji trybie CAN FD=====

Revision as of 11:48, 10 April 2024

Opis

KAmod CAN-FD jest kompletnym interfejsem magistrali CAN bazującym na zaawansowanym kontrolerze CAN typu MCP2518FD. Zastosowany układ odpowiada za formowanie prawidłowych ramek wysyłanych na magistralę, oraz buforowanie danych przesłanych do, oraz z magistrali CAN. Dzięki tym cechom może współpracować niemal z dowolnym komputerkiem SBC lub mikrokontrolerem. Komunikacja po stronie CAN może odbywać się z prędkością do 1 Mbps w trybie CAN 2.0 lub do 8 Mbps w trybie CAN FD. Komunikacja z kontrolerem odbywa się poprzez 4-przewodowy interfejs SPI (MISO, MOSI, SCK, CE) oraz dodatkowy sygnał przerwania (INT). Wszystkie sygnały są doprowadzone do 40 stykowego złącza w taki sposób, że 2 moduły mogą działać jednocześnie z jednym komputerkiem Raspberry Pi 5.

Podstawowe parametry
  • Interfejs magistrali CAN, kompatybilny z CAN 2.0 oraz CAN FD
  • Bazuje na kontrolerze CAN typu MCP2518FD
  • Komunikacja poprzez interfejs SPI z maksymalnym taktowaniem 20 MHz
  • Interfejs SPI działający z napięciem 3,3 V lub 5 V
  • Prędkość komunikacji (bit rate): 125 kbps...1 Mbps (500 kbps…8 Mbps w trybie FD)
  • Dołączany rezystor terminujący 120 Ω
  • Diody LED sygnalizujące poprawne zasilanie oraz komunikację
  • Kompatybilny z płytkami Raspberry Pi 5 oraz Raspberry Pi Zero
  • Możliwość dołączenia dwóch modułów do jednego komputerka (komunikacja poprzez jeden interfejs SPI z oddzielnymi liniami CE0/CE1)
  • Linie magistrali CAN dołączane poprzez złącze Phoenix MC 3,81 mm
  • Zabezpieczenie przed przepięciami na liniach magistrali CAN
  • Zasilanie 5 V, 100 mA
  • Wymiary płytki 65x30 mm, wysokość ok. 25 mm
Wyposażenie standardowe
Kod Opis
KAmod CAN-FD Zmontowany i uruchomiony moduł


Schemat elektryczny
Złącze sterujące
Złącze Funkcja
J1

Szpilki goldpin 1x6, 2,54 mm

  • Wyprowadzone sygnały sterujące kontrolera CAN
  • Wejście zasilania

Kontroler CAN typu MCP2518FD jest sterowany poprzez interfejs SPI. Poprzez SPI odbywa się konfigurowanie parametrów pracy oraz przesyłanie danych do i z kontrolera. Dodatkowo kontroler udostępnia kilka dodatkowych sygnałów - przerwań, które pozwalają szybko reagować na określone zdarzenia. Wszystkie linie działają z napięciem 3,3 V, ale opcjonalnie można je skonfigurować do pracy z napięciem 5 V.
Funkcje sygnałów na złączu J1 są następujące:

  • szpilki nr 1 i 2: +5V - wejście zasilania o napięciu 4,5...5,5 V;
  • szpilka nr 3: VIO – opcjonalne wejście zasilania dla napięcia 3,3...5 V, jeśli sygnały sterujące mają działać z napięciem wyższym niż 3,3 V;
  • szpilka nr 4: GND – masa zasilania i sygnałowa;
  • szpilka nr 5: TINT – wyjście przerwania INT0 (TX Interrupt output), aktywne w stanie niskim;
  • szpilka nr 6: CE – wejście wyboru układu interfejsu SPI (SPI chip select input), aktywne w stanie niskim;
  • szpilka nr 7: RINT – wyjście przerwania INT1 (RX Interrupt output), aktywne w stanie niskim;
  • szpilka nr 8: SCK – wejście sygnału zegarowego interfejsu SPI kontrolera CAN (SPI clock input);
  • szpilka nr 9: SOF – wyjście sygnalizujące start ramki (Start of Frame output);
  • szpilka nr 10: MISO – wyjście danych SPI kontrolera CAN (SPI data output);
  • szpilka nr 11: INT – główne wyjście przerwania, aktywne w stanie niskim;
  • szpilka nr 12: MOSI – wejście danych SPI kontrolera CAN (SPI data input);
Złącze GPIO w standardzie Raspberry Pi
Złącze Funkcja
J2

Złącze goldpin 2x20, 2,54 mm

  • Wyprowadzone sygnały sterujące kontrolera CAN, dołączone do odpowiednich styków złącza GPIO
  • Wejście zasilania, dołączone do odpowiednich styków złącza GPIO

Sygnały sterujące kontrolerem CAN zostały doprowadzone do odpowiednich styków złącza J2 (oraz równolegle do złącza J1), które jest kompatybilne ze standardem złącza GPIO płytek Raspberry Pi. Dzięki temu moduł KAmod CAN-FD można łatwo dołączyć do SBC Raspberry Pi. Rozmieszczenie sygnałów sterujących na złączu GPIO jest następujące:

  • pozycja nr 2 oznaczona „3V3” - zwarcie szpilek 3-4 oznacza, że szeregowy interfejs sterujący jest dostosowany do napięcia 3,3 V, które jest dostarczane ze zintegrowanego na płytce stabilizatora napięcia;
  • styki 2 i 4: +5V – zasilanie 5 V doprowadzone ze złącza GPIO;
  • styki 6, 9, 14, 20, 25, 30, 34, 39 – masa GND doprowadzona ze złącza GPIO;
  • styk 18: GPIO24 – może być połączony z sygnałem INT (zależy od ustawienia zworki J7);
  • styk 22: GPIO25 – może być połączony z sygnałem INT (zależy od ustawienia zworki J7);
  • styk 24: GPIO08 – może być połączony z sygnałem CE (zależy od ustawienia zworki J8);
  • styk 26: GPIO07 – może być połączony z sygnałem CE (zależy od ustawienia zworki J8);
  • styk 19: GPIO10 – połączony z sygnałem MOSI - wejście danych SPI kontrolera CAN;
  • styk 19: GPIO09 – połączony z sygnałem MISO - wyjście danych SPI kontrolera CAN;
  • styk 19: GPIO11 – połączony z sygnałem SCK - wejście zegarowe SPI kontrolera CAN;


Podłączenie dwóch modułów interfejsu CAN
Złącze Funkcja
J7, J8

Szpilki goldpin + jumper 1x3, 2,54 mm

  • Wybór kanału interfejsu SPI dla kontrolera CAN (sygnały CE0/CE1 na złączu GPIO)
  • Wybór wejścia dla przerwania INT z kontrolera CAN (sygnały GPIO24/GPIO25 na złączu GPIO)

Moduł KAmod CAN-FD jest sterowany poprzez interfejs szeregowy SPI, który może obsługiwać kilka kontrolerów w jednej aplikacji. Każdy kontroler powinien mieć przypisaną dla siebie linię wyboru CE (Chip Enable). Na złączu GPIO Raspberry Pi są dostępne dwie linie CE – CE0 oraz CE1. Za pomocą zworki J8 można wybrać, z której linii CE będzie korzystał kontroler CAN na płytce modułu KAmod CAN-FD:

  • zwarcie szpilek 1-2 J8: ustawia linię CE0, jako linię wyboru kontrolera (jak na rysunku),
  • zwarcie szpilek 2-3 J8: ustawia linię CE1, jako linię wyboru kontrolera.

Kontroler CAN typu MCP2518FD, do prawidłowego działania wymaga obsługi przerwania ustawianego stanem na linii INT. Aby umożliwić działanie dwóch kontrolerów CAN, sygnał INT można dołączyć do jednego z dwóch styków złącza GPIO, za pomocą zworki J7:

  • zwarcie szpilek 1-2 J7: sygnał INT połączony z linią GPIO25 (jak na rysunku),
  • zwarcie szpilek 2-3 J7: sygnał INT połączony z linią GPIO24.



Linki
Złącze magistrali CAN
Dołączenie rezystora terminującego
Wyłączenie transceivera magistrali CAN
Monitorowanie strumieni danych TX i RX
Zasilanie i napięcie sygnałów sterujących VIO
Diody sygnalizacyjne
Wymiary
Uruchomienie modułu z komputerkiem Raspberry Pi 5
1. Odblokowanie interfejsu SPI
2. Instalowanie pakietu narzędzi dla interfejsu CAN
3. Konfigurowanie interfejsu CAN
3. Konfigurowanie interfejsu CAN
4. Restartowanie systemu
5. Sprawdzenie konfiguracji
6. Test komunikacji
7. Test komunikacji trybie CAN FD