KAmod RPI RS485 X2 (PL): Difference between revisions
From Kamamilabs.com - Wiki
| (18 intermediate revisions by the same user not shown) | |||
| Line 54: | Line 54: | ||
==== Schemat elektryczny ==== | ==== Schemat elektryczny ==== | ||
<center> | <center> | ||
[[File: | [[File:KAmod_RPI_RS485_X2_sch.png|none|900px|thumb|center]] | ||
</center> | </center> | ||
<br> | <br> | ||
<hr> | <hr> | ||
==== Interfejsy RS485 ==== | ==== Interfejsy RS485 ==== | ||
<br> | <br> | ||
| Line 63: | Line 64: | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="background-color:#99ccff;text-align: center;"|<b>Interfejs</b> | ! style="width: 100px;background-color:#99ccff;text-align: center;"|<b>Interfejs</b> | ||
! style="background-color:#99ccff;text-align: center;"|<b>Element</b> | ! style="width: 200px; background-color:#99ccff;text-align: center;"|<b>Element</b> | ||
! style="background-color:#99ccff;text-align: center;"|<b>Funkcja</b> | ! style="background-color:#99ccff;text-align: center;"|<b>Funkcja</b> | ||
|- | |- | ||
| Line 86: | Line 87: | ||
| style="background-color:#e3f2fd;text-align: center;"|<b>R1J2</b><br> | | style="background-color:#e3f2fd;text-align: center;"|<b>R1J2</b><br> | ||
Szpilki <br>goldpin 3x1, 2,54 mm | Szpilki <br>goldpin 3x1, 2,54 mm | ||
| style="background-color:#e3f2fd;text-align: center;"|Dołączenie rezystora terminującego 120 Ω do linii magistrali RS485-1, gdy zworka założona na szpilkach 2-3 | | style="background-color:#e3f2fd;text-align: center;"|Dołączenie rezystora terminującego 120 Ω do linii magistrali RS485-1, <br>gdy zworka założona na szpilkach 2-3 | ||
|- | |- | ||
| rowspan="3"; style="background-color:# | | rowspan="3"; style="background-color:#e0f2f1;text-align: center;"|<b>RS485-2</b> | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: center;"|<b>R2J3</b><br>Złącze <br>Phoenix MC 3,81 mm | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: center;"|Główne złącze magistrali RS485-2,<br> | ||
styk 1 – GND<br> | styk 1 – GND<br> | ||
styk 2 – B(-)<br> | styk 2 – B(-)<br> | ||
styk 3 – A(+)<br> | styk 3 – A(+)<br> | ||
|- | |- | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: center;"|<b>R2J4</b> | ||
Złącze typu <br>goldpin 3x1, 2,54 mm | Złącze typu <br>goldpin 3x1, 2,54 mm | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: center;"|Dodatkowe złącze magistrali RS485-2,<br> | ||
styk 1 – GND<br> | styk 1 – GND<br> | ||
styk 2 – B(-)<br> | styk 2 – B(-)<br> | ||
styk 3 – A(+)<br> | styk 3 – A(+)<br> | ||
|- | |- | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: center;"|<b>R2J2</b> | ||
Szpilki <br>goldpin 3x1, 2,54 mm | Szpilki <br>goldpin 3x1, 2,54 mm | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: center;"|Dołączenie rezystora terminującego 120 Ω do linii magistrali RS485-2, <br>gdy zworka założona na szpilkach 2-3 | ||
|} | |} | ||
</center> | </center> | ||
<br><br> | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_2.jpg|none|800px|thumb|center]] | |||
</center> | |||
<br> | |||
Interfejsy RS485 są sterowane transceiverami typu ST485, z oddzielonymi galwanicznie sygnałami sterującymi. Linie magistrali są oznaczone jako: A(+), B(-) oraz masa GND i są dostępne na złączu typu Phoenix MC (R1J3, R2J3) oraz na szpilkach goldpin o standardowym rastrze 2,54 mm (R1J4, R2J4). Ich rozmieszczenie zostało pokazane na rysunku oraz jest opisane na dolnej stronie płytki modułu. Linie magistrali RS485 są wyposażone w obwody chroniące przed przepięciami.<br> | Interfejsy RS485 są sterowane transceiverami typu ST485, z oddzielonymi galwanicznie sygnałami sterującymi. Linie magistrali są oznaczone jako: A(+), B(-) oraz masa GND i są dostępne na złączu typu Phoenix MC (R1J3, R2J3) oraz na szpilkach goldpin o standardowym rastrze 2,54 mm (R1J4, R2J4). Ich rozmieszczenie zostało pokazane na rysunku oraz jest opisane na dolnej stronie płytki modułu. Linie magistrali RS485 są wyposażone w obwody chroniące przed przepięciami.<br> | ||
Dodatkowo, założenie zworki na szpilki 2-3 RxJ2 powoduje dołączenie rezystora terminującego 120 Ω pomiędzy liniami A i B danego interfejsu.<br><br> | Dodatkowo, założenie zworki na szpilki 2-3 RxJ2 powoduje dołączenie rezystora terminującego 120 Ω pomiędzy liniami A i B danego interfejsu.<br><br> | ||
| Line 129: | Line 134: | ||
| style="background-color:#e3f2fd;text-align: left;"|GPIO20 - MOSI1<br>pin 38, JP5 | | style="background-color:#e3f2fd;text-align: left;"|GPIO20 - MOSI1<br>pin 38, JP5 | ||
|- | |- | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: center;"|<b>MISO</b> | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: left;"|Wyjście danych SPI kontrolera SC16IS762 | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: left;"|GPIO09 - MISO<br>pin 21, JP1 | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: left;"|GPIO19 - MISO1<br>pin 35, JP4 | ||
|- | |- | ||
| style="background-color:#e3f2fd;text-align: center;"|<b>SCLK</b> | | style="background-color:#e3f2fd;text-align: center;"|<b>SCLK</b> | ||
| Line 139: | Line 144: | ||
| style="background-color:#e3f2fd;text-align: left;"|GPIO21 - SCLK1<br>pin 40, JP6 | | style="background-color:#e3f2fd;text-align: left;"|GPIO21 - SCLK1<br>pin 40, JP6 | ||
|- | |- | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: center;"|<b>CE</b> | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: left;"|Wejście aktywujące interfejs SPI kontrolera SC16IS762 | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: left;"|GPIO08 - CE0<br>pin 24, JP7 | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: left;"|GPIO18<br>pin 12, JP9 | ||
|- | |- | ||
| style="background-color:#e3f2fd;text-align: center;"|<b>IRQ</b> | | style="background-color:#e3f2fd;text-align: center;"|<b>IRQ</b> | ||
| Line 149: | Line 154: | ||
| style="background-color:#e3f2fd;text-align: left;"|GPIO24<br>pin 18, JP10 | | style="background-color:#e3f2fd;text-align: left;"|GPIO24<br>pin 18, JP10 | ||
|- | |- | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: center;"|<b>EN CH1</b> | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: left;"|Sygnał przełączający transceiver RS485 -1 z trybu odbierania (L) w tryb nadawania (H) | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: left;"|GPIO04<br>pin 7, JP12 | ||
| style="background-color:# | | style="background-color:#e0f2f1;text-align: left;"|GPIO27<br>pin 13, JP11 | ||
|- | |- | ||
| style="background-color:#e3f2fd;text-align: center;"|<b>EN CH2</b> | | style="background-color:#e3f2fd;text-align: center;"|<b>EN CH2</b> | ||
| Line 160: | Line 165: | ||
|} | |} | ||
</center> | </center> | ||
<br> | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_3.jpg|none|800px|thumb|center]] | |||
</center> | |||
<br> | |||
Wszystkie sygnały sterujące są wyprowadzone na złącze J2 (40-stykowe, kompatybilne z płytkami Raspberry Pi). Połączenie domyślne przekierowuje sygnały sterujące do wyprowadzeń interfejsu SPI-0 płytek Raspberry Pi. Oprócz połączenia domyślnego każdy sygnał może być przekierowany do połączenia opcjonalnego (sygnały interfejsu SPI-1 płytek Raspberry Pi) poprzez zmianę połączeń na zworkach SMD JP1…JP18. Aby zmienić konfigurację połączenia, należy przeciąć połączenie pomiędzy padami jednej zworki i kroplą spoiwa lutowniczego połączyć pady drugiej zworki, dla danego sygnału. Konfiguracja połączeń domyślnych i opcjonalnych została opisana w tabeli oraz na dolnej stronie płytki. | |||
<br><br> | |||
Dodatkowo sygnały sterujące są wyprowadzone na złącze J1. Ich rozmieszczenie pokazuje rysunek oraz opis na dolnej stronie płytki KAmod RPI RS485 X2. | |||
<br> | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_4.jpg|none|800px|thumb|center]] | |||
</center> | |||
<br> | |||
<hr> | <hr> | ||
==== Zasilanie ==== | ==== Zasilanie ==== | ||
<center> | |||
{| class="wikitable" style="width: 1000px;" | |||
|- | |||
! style="background-color:#99ccff;text-align: center;"|'''Element''' | |||
! style="background-color:#99ccff;text-align: center;"|'''Funkcja''' | |||
|- | |||
| style="background-color:#e3f2fd;text-align: center;"|<b>Złącze J1</b> | |||
| style="background-color:#e3f2fd;text-align: left;"|Zasilanie 5 V może być doprowadzone do złącza J1 z zachowaniem właściwej polaryzacji.<br> | |||
Linie zasilania są wspólne dla złączy J1 i J2, dlatego należy uważać, aby nie zakłócić działania płytki bazowej. | |||
|- | |||
| style="background-color:#e0f2f1;text-align: center;"|<b>Złącze J2</b> | |||
| style="background-color:#e0f2f1;text-align: left;"|Zasilanie modułu KAmod RPI RS485 X2 jest pobierane z płytki bazowej poprzez złącze J2. Jest ono kompatybilne ze standardem 40-stykowego złącza GPIO Raspberry Pi i ma linie zasilania o napięciu 5 V. | |||
|- | |||
| style="background-color:#e3f2fd;text-align: center;"|<b>Dioda D1</b> | |||
| style="background-color:#e3f2fd;text-align: left;"|Świecenie diody LED D1 oznacza obecność zasilania | |||
|} | |||
</center> | |||
<br> | |||
Rozmieszczenie złączy i diody sygnalizującej zostało pokazane na rysunku. | |||
<br> | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_5.jpg|none|800px|thumb|center]] | |||
</center> | |||
<br> | |||
<hr> | <hr> | ||
==== Kontrolki sygnalizujące ==== | ==== Kontrolki sygnalizujące ==== | ||
<center> | |||
{| class="wikitable" style="width: 1000px;" | |||
|- | |||
! style="background-color:#99ccff;text-align: center;"|'''Kontrolka''' | |||
! style="background-color:#99ccff;text-align: center;"|'''Funkcja''' | |||
|- | |||
| style="background-color:#e3f2fd;text-align: center;"|<b>PWR <br>(D1)</b> | |||
| style="background-color:#e3f2fd;text-align: left;"|Świecenie diody LED D1 oznacza obecność zasilania | |||
|- | |||
| style="background-color:#e0f2f1;text-align: center;"|<b>RX <br>(D3, D6)</b> | |||
| style="background-color:#e0f2f1;text-align: left;"|Miganie diody LED oznacza odbieranie danych z magistrali RS485 | |||
|- | |||
| style="background-color:#e3f2fd;text-align: center;"|<b>EN <br>(D4, D7)</b> | |||
| style="background-color:#e3f2fd;text-align: left;"|Świecenie lub miganie diody LED oznacza ustawienie transceivera RS485 w tryb nadawania, natomiast gdy dioda jest wygaszona to transceiver jest w stanie odbierania danych | |||
|- | |||
| style="background-color:#e0f2f1;text-align: center;"|<b>TX <br>(D2, D5)</b> | |||
| style="background-color:#e0f2f1;text-align: left;"|Miganie diody LED oznacza nadawanie danych na magistralę RS485 | |||
|} | |||
</center> | |||
<br> | |||
Dioda sygnalizująca zasilanie jest wspólna dla obu interfejsów, natomiast diody sygnalizujące komunikację są przydzielone do każdego interfejsu RS485. | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_6.jpg|none|800px|thumb|center]] | |||
</center> | |||
<hr> | <hr> | ||
==== Konfiguracja trybu pracy RS485 ==== | ==== Konfiguracja trybu pracy RS485 ==== | ||
Transceivery interfejsów RS485 wymagają sygnału sterującego aktywującego tryb nadawania. Sygnał sterujący może być uzyskiwany z sygnału danych wysyłanych na magistralę - TXD, lub może być doprowadzany niezależnie – poprzez linię RTS lub sygnał ze złącza GPIO. Moduł KAmod RPI RS485 X2 pozwala na wybranie jednej z tych opcji dla każdego z interfejsów RS485-1 i RS485-2. Dostępne tryby i ustawienie zworek opisano w tabeli. | |||
<center> | |||
{| class="wikitable" style="width: 1000px;" | |||
|- | |||
! style="width: 300px; background-color:#99ccff;text-align: center;"|'''Tryb pracy''' | |||
! style="background-color:#99ccff;text-align: center;"|'''Opis''' | |||
|- | |||
| style="background-color:#e3f2fd;text-align: center;"|<b>Sterowanie automatyczne (domyślny)<br></b> | |||
R1J1 - zworka w pozycji ON,<br>J14 - zwarta<br> | |||
R2J1 - zworka w pozycji ON,<br>J18 - zwarta | |||
| style="background-color:#e3f2fd;text-align: left;"|Sygnał sterujący aktywujący tryb nadawania jest uzyskiwany z sygnału danych wysyłanych na magistralę - TXD | |||
|- | |||
| style="background-color:#e0f2f1;text-align: center;"|<b>Sterowanie automatyczne<br></b> | |||
R1J1 - zworka w pozycji ON,<br>J13 - zwarta<br> | |||
R2J1 - zworka w pozycji ON,<br>J17 - zwarta | |||
(J14 i J18 rozcięte) | |||
| style="background-color:#e0f2f1;text-align: left;"|Sygnał sterujący aktywujący tryb nadawania jest połączony z wyjściem RTS układu SC16IS762. Aplikacja sterująca odpowiada za stan na wyjściu RTS | |||
|- | |||
| style="background-color:#e3f2fd;text-align: center;"|<b>Sterowanie z GPIO<br></b> | |||
R1J1 - zworka w pozycji OFF,<br>JP12 - zwarta<br> | |||
R2J1 - zworka w pozycji OFF,<br>JP16 - zwarta | |||
| style="background-color:#e3f2fd;text-align: left;"|Świecenie lub miganie diody LED oznacza ustawienie transceivera RS485 w tryb nadawania, natomiast gdy dioda jest wygaszona to transceiver jest w stanie odbierania danych | |||
|- | |||
| style="background-color:#e0f2f1;text-align: center;"|<b>Sterowanie z GPIO <br></b> | |||
R1J1 - zworka w pozycji OFF,<br>JP11 - zwarta<br> | |||
R2J1 - zworka w pozycji OFF,<br>JP15 - zwarta (J12 i J16 rozcięte) | |||
| style="background-color:#e0f2f1;text-align: left;"|Sygnał sterujący aktywujący tryb nadawania jest połączony z wyjściem GPIO27 (pin 13, CH1) oraz GPIO22 (pin15, CH2)<br> | |||
Aplikacja sterująca odpowiada za stan na wyjściach GPIO | |||
|} | |||
</center> | |||
<br> | |||
W przypadku sterowania z GPIO, wybrane linie sterujące (GPIO04, GPIO17, GPIO22, GPIO27) powinny mieć wydajność prądową do 5 mA, ponieważ będą sterowały transoptorami.<br><br> | |||
Stan aktywny na wejściach sterujących transceiverów jest sygnalizowany świeceniem diod LED D7 i D4. | |||
<br> | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_7.jpg|none|800px|thumb|center]] | |||
</center> | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_8.jpg|none|680px|thumb|center]] | |||
</center> | |||
<br> | |||
<hr> | <hr> | ||
==== Wymiary ==== | ==== Wymiary ==== | ||
Wymiary płytki KAmod RPI RS485 X2 to 65x56 mm i jest kompatybilna z płytkami bazowymi typu Raspberry Pi. Wysokość płytki to ok. 15 mm, dodatkowo złącze na dolnej stronie płytki, pasujące do płytki bazowej, ma wysokość ok 13 mm. | |||
<br> | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_9.jpg|none|800px|thumb|center]] | |||
</center> | |||
<br> | |||
<hr> | <hr> | ||
==== Uruchomienie ==== | ==== Uruchomienie ==== | ||
Uruchamiamy Raspberry Pi 5 z systemem operacyjnym zainstalowanym na karcie pamięci lub innym, nośniku. Po wyświetleniu pulpitu systemu otwieramy okno konsoli (Terminal) np. za pomocą kombinacji klawiszy Ctrl+Alt+T i wpisujemy:<br> | |||
<span style="font-family: 'Courier New', monospace"> | |||
sudo nano /boot/firmware/config.txt<br> | |||
</span> | |||
(we wcześniejszych wersjach systemu operacyjnego plik config.txt był umieszczony bezpośrednio w katalogu /boot)<br> | |||
<br> | |||
W pliku, którego treść zobaczymy, należy usunąć komentarz (usunąć znak #) z linii:<br> | |||
<span style="font-family: 'Courier New', monospace">dtparam=spi=on</span><br> | |||
Natomiast, jeżeli takiej linii nie ma to należy ją dopisać. | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_9_1.png|none|800px|thumb|center]] | |||
</center> | |||
<br> | |||
Następnie na końcu pliku (przewijamy strzałkami do samego dołu) należy dopisać linię:<br> | |||
<span style="font-family: 'Courier New', monospace">dtoverlay=sc16is752-spi0,int_pin=25</span><br> | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_4_10.jpg|none|800px|thumb|center]] | |||
</center> | |||
<br> | |||
Następnie należy zapisać zmiany za pomocą klawiszy Ctrl+O, zamknąć edytor za pomocą klawiszy Ctrl+X i uruchomić system ponownie, np. wpisując polecenie:<br> | |||
<span style="font-family: 'Courier New', monospace">sudo reboot</span><br> | |||
<br> | |||
Po wyświetleniu pulpitu systemu otwieramy okno konsoli (Terminal) np. za pomocą kombinacji klawiszy Ctrl+Alt+T i wpisujemy:<br> | |||
<span style="font-family: 'Courier New', monospace">sudo dmesg | grep -i spi</span><br> | |||
<br> | |||
Jeśli wcześniejsze etapy zostały wykonane prawidłowo powinno pokazać się takie podsumowanie:<br> | |||
<center> | |||
[[File:KAmod_RPI_RS485_X2_9_12.png|none|800px|thumb|center]] | |||
</center> | |||
<br> | |||
Oznacza to, że kontroler SC16IS762 został prawidłowo zainstalowany w systemie.<br> | |||
<br> | |||
Interfejsy RS485 można przetestować z użyciem programu minicom, dla RS485-1 należy wpisać:<br> | |||
<span style="font-family: 'Courier New', monospace">minicom -D /dev/ttySC0</span><br> | |||
<br> | |||
natomiast dla RS485-2 należy wpisać:<br> | |||
<span style="font-family: 'Courier New', monospace">minicom -D /dev/ttySC1</span><br> | |||
<br> | |||
Program minicom pozwala wysyłać znaki wpisywane z klawiatury oraz wyświetla znaki odebrane przez wybrany interfejs RS485. W czasie aktywności interfejsów będą migały diody D2…D7, ale przy znacznych prędkościach transmisji, np. 115200, miganie diod LED będzie ledwo zauważalne. | |||
<br><br> | |||
<hr> | <hr> | ||
==== Linki ==== | ==== Linki ==== | ||
*[https:// | *[https://wiki.kamamilabs.com/images/c/cb/SC16IS752_SC16IS762.pdf Karta katalogowa układu SC16IS762] | ||
*[https://wiki.kamamilabs.com/images/ | *[https://wiki.kamamilabs.com/images/d/d3/St485.pdf Karta katalogowa układu ST485] | ||
*[https://wiki.kamamilabs.com/images/7/78/KAmod_RPi-RS485-X2_3d.zip Model CAD (STEP)] | |||
Latest revision as of 07:29, 27 October 2025

Opis
KAmod RPI RS485 X2 - Moduł z dwoma interfejsami RS485 dla Raspberry Pi
KAmod RPI RS485 X2 pozwala w łatwy sposób rozbudować mini komputery Raspberry Pi 5 o dwa interfejsy RS485. Interfejsy zawierają rozbudowane obwody zabezpieczające oraz są odizolowane galwanicznie od obwodów sterujących, co gwarantuje stabilność działania i odporność na zakłócenia i awarie. Moduł został zaprojektowany tak, aby był kompatybilny z płytkami serii Raspberry Pi nie tylko w wersji 5. Jest sterowany poprzez interfejs SPI dostępny na 40 szpilkowym złączu GPIO RPi, a także w wielu innych płytkach, np Arduino, STM32 itd.
Podstawowe parametry
- 2 interfejsy RS485 sterowane kontrolerem SC16IS762 (SPI→2xUART)
- Interfejsy RS485 wyposażone w transceivery typu ST485
- Interfejsy RS485 są odseparowane galwanicznie od obwodów sterujących
- Możliwość dołączenia rezystorów terminujących 120 Ω do linii każdego interfejsu
- Maksymalna szybkość komunikacji interesów RS485: 500 kbps
- Sterowanie poprzez interfejs SPI pracujący z napięciem 3,3 V
- Automatyczne sterowanie kierunkiem transmisji transceiverów RS485
- Zasilanie 5 V/0,2 A pobierane z płytki Raspberry Pi lub z dodatkowego źródła
- Łatwy montaż na Raspberry Pi 5, także w wersji z radiatorem RPi Active Cooler
- Wymiary modułu 65x56 mm, wysokość ok. 15 mm (oraz złącze pod płytką o wysokości ok. 13 mm)
Wyposażenie standardowe
| Kod | Opis |
|---|---|
| KAmod RPI RS485 X2
|
Zmontowany i uruchomiony moduł |
| Zestaw montażowy |
Zestaw śrubek oraz dystansów umożliwiający przykręcenie nakładki do płytki Raspberry |
Schemat blokowy

Schemat elektryczny

Interfejsy RS485
| Interfejs | Element | Funkcja |
|---|---|---|
| RS485-1 |
R1J3 |
Główne złącze magistrali RS485-1, styk 1 – GND |
| R1J4 Złącze typu goldpin 3x1, 2,54 mm |
Dodatkowe złącze magistrali RS485-1, styk 1 – GND | |
| R1J2 Szpilki |
Dołączenie rezystora terminującego 120 Ω do linii magistrali RS485-1, gdy zworka założona na szpilkach 2-3 | |
| RS485-2 | R2J3 Złącze Phoenix MC 3,81 mm |
Główne złącze magistrali RS485-2, styk 1 – GND |
| R2J4
Złącze typu |
Dodatkowe złącze magistrali RS485-2, styk 1 – GND | |
| R2J2
Szpilki |
Dołączenie rezystora terminującego 120 Ω do linii magistrali RS485-2, gdy zworka założona na szpilkach 2-3 |

Interfejsy RS485 są sterowane transceiverami typu ST485, z oddzielonymi galwanicznie sygnałami sterującymi. Linie magistrali są oznaczone jako: A(+), B(-) oraz masa GND i są dostępne na złączu typu Phoenix MC (R1J3, R2J3) oraz na szpilkach goldpin o standardowym rastrze 2,54 mm (R1J4, R2J4). Ich rozmieszczenie zostało pokazane na rysunku oraz jest opisane na dolnej stronie płytki modułu. Linie magistrali RS485 są wyposażone w obwody chroniące przed przepięciami.
Dodatkowo, założenie zworki na szpilki 2-3 RxJ2 powoduje dołączenie rezystora terminującego 120 Ω pomiędzy liniami A i B danego interfejsu.
Sterowanie interfejsem RS485
Interfejsy RS485 są realizowane poprzez kontroler SC16IS762, którego dokładny opis jest dostępny w dokumentacji producenta. Kontroler jest sterowany poprzez interfejs SPI (MISO, MOSI, SCLK, CE), a dodatkowo generuje sygnał przerwania IRQ. Tryb pracy transceiverów RS485 może być sterowany sygnałami EN CH1 oraz EN CH2.
| Sygnał sterujący | Funkcja | Połączenie domyślne | Połączenie opcjonalne (*) |
|---|---|---|---|
| MOSI | Wejście danych SPI kontrolera SC16IS762 | GPIO10 - MOSI0 pin 19, JP2 |
GPIO20 - MOSI1 pin 38, JP5 |
| MISO | Wyjście danych SPI kontrolera SC16IS762 | GPIO09 - MISO pin 21, JP1 |
GPIO19 - MISO1 pin 35, JP4 |
| SCLK | Wejście sygnału zegarowego SPI kontrolera SC16IS762 | GPIO11 - SCLK0 pin 23, JP3 |
GPIO21 - SCLK1 pin 40, JP6 |
| CE | Wejście aktywujące interfejs SPI kontrolera SC16IS762 | GPIO08 - CE0 pin 24, JP7 |
GPIO18 pin 12, JP9 |
| IRQ | Wyjście przerwania IRQ kontrolera SC16IS762 | GPIO25 pin 22, JP8 |
GPIO24 pin 18, JP10 |
| EN CH1 | Sygnał przełączający transceiver RS485 -1 z trybu odbierania (L) w tryb nadawania (H) | GPIO04 pin 7, JP12 |
GPIO27 pin 13, JP11 |
| EN CH2 | Sygnał przełączający transceiver RS485-2 z trybu odbierania (L) w tryb nadawania (H) | GPIO17 pin 11, JP16 |
GPIO22 pin 15, JP15 |

Wszystkie sygnały sterujące są wyprowadzone na złącze J2 (40-stykowe, kompatybilne z płytkami Raspberry Pi). Połączenie domyślne przekierowuje sygnały sterujące do wyprowadzeń interfejsu SPI-0 płytek Raspberry Pi. Oprócz połączenia domyślnego każdy sygnał może być przekierowany do połączenia opcjonalnego (sygnały interfejsu SPI-1 płytek Raspberry Pi) poprzez zmianę połączeń na zworkach SMD JP1…JP18. Aby zmienić konfigurację połączenia, należy przeciąć połączenie pomiędzy padami jednej zworki i kroplą spoiwa lutowniczego połączyć pady drugiej zworki, dla danego sygnału. Konfiguracja połączeń domyślnych i opcjonalnych została opisana w tabeli oraz na dolnej stronie płytki.
Dodatkowo sygnały sterujące są wyprowadzone na złącze J1. Ich rozmieszczenie pokazuje rysunek oraz opis na dolnej stronie płytki KAmod RPI RS485 X2.

Zasilanie
| Element | Funkcja |
|---|---|
| Złącze J1 | Zasilanie 5 V może być doprowadzone do złącza J1 z zachowaniem właściwej polaryzacji. Linie zasilania są wspólne dla złączy J1 i J2, dlatego należy uważać, aby nie zakłócić działania płytki bazowej. |
| Złącze J2 | Zasilanie modułu KAmod RPI RS485 X2 jest pobierane z płytki bazowej poprzez złącze J2. Jest ono kompatybilne ze standardem 40-stykowego złącza GPIO Raspberry Pi i ma linie zasilania o napięciu 5 V. |
| Dioda D1 | Świecenie diody LED D1 oznacza obecność zasilania |
Rozmieszczenie złączy i diody sygnalizującej zostało pokazane na rysunku.

Kontrolki sygnalizujące
| Kontrolka | Funkcja |
|---|---|
| PWR (D1) |
Świecenie diody LED D1 oznacza obecność zasilania |
| RX (D3, D6) |
Miganie diody LED oznacza odbieranie danych z magistrali RS485 |
| EN (D4, D7) |
Świecenie lub miganie diody LED oznacza ustawienie transceivera RS485 w tryb nadawania, natomiast gdy dioda jest wygaszona to transceiver jest w stanie odbierania danych |
| TX (D2, D5) |
Miganie diody LED oznacza nadawanie danych na magistralę RS485 |
Dioda sygnalizująca zasilanie jest wspólna dla obu interfejsów, natomiast diody sygnalizujące komunikację są przydzielone do każdego interfejsu RS485.

Konfiguracja trybu pracy RS485
Transceivery interfejsów RS485 wymagają sygnału sterującego aktywującego tryb nadawania. Sygnał sterujący może być uzyskiwany z sygnału danych wysyłanych na magistralę - TXD, lub może być doprowadzany niezależnie – poprzez linię RTS lub sygnał ze złącza GPIO. Moduł KAmod RPI RS485 X2 pozwala na wybranie jednej z tych opcji dla każdego z interfejsów RS485-1 i RS485-2. Dostępne tryby i ustawienie zworek opisano w tabeli.
| Tryb pracy | Opis |
|---|---|
| Sterowanie automatyczne (domyślny) R1J1 - zworka w pozycji ON, |
Sygnał sterujący aktywujący tryb nadawania jest uzyskiwany z sygnału danych wysyłanych na magistralę - TXD |
| Sterowanie automatyczne R1J1 - zworka w pozycji ON, |
Sygnał sterujący aktywujący tryb nadawania jest połączony z wyjściem RTS układu SC16IS762. Aplikacja sterująca odpowiada za stan na wyjściu RTS |
| Sterowanie z GPIO R1J1 - zworka w pozycji OFF, |
Świecenie lub miganie diody LED oznacza ustawienie transceivera RS485 w tryb nadawania, natomiast gdy dioda jest wygaszona to transceiver jest w stanie odbierania danych |
| Sterowanie z GPIO R1J1 - zworka w pozycji OFF, |
Sygnał sterujący aktywujący tryb nadawania jest połączony z wyjściem GPIO27 (pin 13, CH1) oraz GPIO22 (pin15, CH2) Aplikacja sterująca odpowiada za stan na wyjściach GPIO |
W przypadku sterowania z GPIO, wybrane linie sterujące (GPIO04, GPIO17, GPIO22, GPIO27) powinny mieć wydajność prądową do 5 mA, ponieważ będą sterowały transoptorami.
Stan aktywny na wejściach sterujących transceiverów jest sygnalizowany świeceniem diod LED D7 i D4.


Wymiary
Wymiary płytki KAmod RPI RS485 X2 to 65x56 mm i jest kompatybilna z płytkami bazowymi typu Raspberry Pi. Wysokość płytki to ok. 15 mm, dodatkowo złącze na dolnej stronie płytki, pasujące do płytki bazowej, ma wysokość ok 13 mm.

Uruchomienie
Uruchamiamy Raspberry Pi 5 z systemem operacyjnym zainstalowanym na karcie pamięci lub innym, nośniku. Po wyświetleniu pulpitu systemu otwieramy okno konsoli (Terminal) np. za pomocą kombinacji klawiszy Ctrl+Alt+T i wpisujemy:
sudo nano /boot/firmware/config.txt
(we wcześniejszych wersjach systemu operacyjnego plik config.txt był umieszczony bezpośrednio w katalogu /boot)
W pliku, którego treść zobaczymy, należy usunąć komentarz (usunąć znak #) z linii:
dtparam=spi=on
Natomiast, jeżeli takiej linii nie ma to należy ją dopisać.

Następnie na końcu pliku (przewijamy strzałkami do samego dołu) należy dopisać linię:
dtoverlay=sc16is752-spi0,int_pin=25

Następnie należy zapisać zmiany za pomocą klawiszy Ctrl+O, zamknąć edytor za pomocą klawiszy Ctrl+X i uruchomić system ponownie, np. wpisując polecenie:
sudo reboot
Po wyświetleniu pulpitu systemu otwieramy okno konsoli (Terminal) np. za pomocą kombinacji klawiszy Ctrl+Alt+T i wpisujemy:
sudo dmesg | grep -i spi
Jeśli wcześniejsze etapy zostały wykonane prawidłowo powinno pokazać się takie podsumowanie:

Oznacza to, że kontroler SC16IS762 został prawidłowo zainstalowany w systemie.
Interfejsy RS485 można przetestować z użyciem programu minicom, dla RS485-1 należy wpisać:
minicom -D /dev/ttySC0
natomiast dla RS485-2 należy wpisać:
minicom -D /dev/ttySC1
Program minicom pozwala wysyłać znaki wpisywane z klawiatury oraz wyświetla znaki odebrane przez wybrany interfejs RS485. W czasie aktywności interfejsów będą migały diody D2…D7, ale przy znacznych prędkościach transmisji, np. 115200, miganie diod LED będzie ledwo zauważalne.