Actions

KAmod RPI RS485 X2 (PL)

From Kamamilabs.com - Wiki

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
Złącze
Phoenix MC 3,81 mm

Główne złącze magistrali RS485-1,

styk 1 – GND
styk 2 – B(-)
styk 3 – A(+)

R1J4
Złącze typu
goldpin 3x1, 2,54 mm
Dodatkowe złącze magistrali RS485-1,

styk 1 – GND
styk 2 – B(-)
styk 3 – A(+)

R1J2

Szpilki
goldpin 3x1, 2,54 mm

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
styk 2 – B(-)
styk 3 – A(+)

R2J4

Złącze typu
goldpin 3x1, 2,54 mm

Dodatkowe złącze magistrali RS485-2,

styk 1 – GND
styk 2 – B(-)
styk 3 – A(+)

R2J2

Szpilki
goldpin 3x1, 2,54 mm

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,
J14 - zwarta
R2J1 - zworka w pozycji ON,
J18 - zwarta

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,
J13 - zwarta
R2J1 - zworka w pozycji ON,
J17 - zwarta (J14 i J18 rozcięte)

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,
JP12 - zwarta
R2J1 - zworka w pozycji OFF,
JP16 - zwarta

Ś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,
JP11 - zwarta
R2J1 - zworka w pozycji OFF,
JP15 - zwarta (J12 i J16 rozcięte)

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.


Linki