- umożliwia monitorowanie stanów lub sterowanie do 16 wyjść cyfrowych,
- komunikacja poprzez magistralę I²C,
- wyjścia mogą być obciążone prądem do 8 mA,
- dodatkowa płytka przyłączeniowa zawiera złącze śrubowe i listwę goldpin,
- połączenie z płytką bazową zrealizowane jest typowym kablem FTP.
Zastosowany w nakładce układ XRA1201 (Maxlinear) umożliwia rozbudowę dowolnej aplikacji o dwa ośmiobitowe porty cyfrowe GPIO. Układ ma możliwość definiowania kierunku każdego z wyprowadzeń IO, sterowania rezystorami podciągającymi, konfiguracji buforów wyjściowych w trybie trójstanowym oraz elastycznej konfiguracji generowanych przerwań. Schemat wewnętrzny układu XRA1201 został pokazany na rysunku 1. Układ dostępny jest w dwóch wersjach - XRA1201P z załączonymi oraz XRA1201 z domyślnie wyłączonymi po resecie rezystorami podciągającymi.
Budowa i działanie
Schemat ideowy modułu został pokazany na rysunku 2, natomiast na rysunku 3 znajduje się schemat ideowy płytki przyłączeniowej.
Blisko układu U1 typu XRA1201(P) znajdują się zworki A0, A1 umożliwiające ustalenie adresu na magistrali. Pełna adresacja U1 umożliwia zastosowanie do 32 układów na jednej magistrali, w module ustawienie adresów jest ograniczone do 4 zgodnie z tabelą 1.
Sygnały GPIO doprowadzone są do złączy JIOA, JIOB, sygnał przerwania podłączony jest poprzez rezystor R1 do wyprowadzenia GPIO04. Jeżeli nie korzystamy z przerwania, to pomijamy montaż R1. Wyjścia GPIO mogą być obciążone prądem do 8 mA w każdym ze stanów logicznych, co umożliwia bezpośrednie sterowanie niskoprądowych diod LED zarówno stanem niskim, jak i wysokim, pod warunkiem nieprzekraczania traconej w układzie mocy 200 mW i prądu wyprowadzeń GPIO 160 mA.
Sygnały magistrali I²C i zasilanie doprowadzone są do czterostykowych złączy JST o rozstawie 1 mm (I²C) i 2 mm (I²CA), co nie tylko wyprowadza magistralę do modułów zewnętrznych, ale umożliwia także użycie modułu z innymi systemami. Moduł może być zasilany napięciami z zakresu 1,65...3,6 V.
Wyprowadzenia IO układu XRA1201 tolerują napięcie 5 V, ale należy zachować ostrożność podczas konfiguracji układu.
Montaż i uruchomienie
Moduł zmontowany jest na dwustronnej płytce drukowanej, której schemat został pokazany na rysunku 4, natomiast schemat płytki przyłączeniowej pokazuje rysunek 5.
Sposób montażu jest klasyczny i nie wymaga dokładnego opisu. Po montażu należy kroplą cyny ustalić adres modułu na zworach A1, A0.
Układ XRA1201(P) ma szesnaście rejestrów ustalających tryb pracy GPIO oraz konfigurujących przerwania, skrócony opis rejestrów pokazano w tabeli 2, pełny opis dostępny jest w karcie katalogowej. Do szybkiego przetestowania działania modułu podłączonego do RPi użyjemy biblioteki i2ctools.
Po ustawieniu adresu bazowego zworami A1, A0 moduł powinien być widoczny po odczycie magistrali poleceniem:
podobnie jak pokazano na rysunku 6 (ustawiony adres bazowy 7-bitowy 0x18).
Stan wejść GPIO (P0...P7/P8...P15) może być odczytany bez dodatkowej konfiguracji, tylko na bazie ustawień domyślnych, poleceniem:
i2cget -y 1 0x18 0x01
Jeżeli stosujemy układ XRA1201, przed odczytem stanu należy załączyć rezystory podciągające wejście poleceniem:
i2cset -y 1 0x18 0x09 0xFF
lub doprowadzić do wejścia sygnał logiczny o poziomach 0/3,3 V. Wejścia mogą zostać zanegowane poleceniem:
i2cset -y 1 0x18 0x05 0xFF
Ustawienie GPIO jako wyjść wykonujemy poleceniem:
i2cset -y 1 0x18 0x07 0x00
Stan wyjść zmieniamy poleceniem:
i2cset -y 1 0x18 0x03 0xFF
Ustawienie wyjść w stan wysokiej impedancji:
i2cset -y 1 0x18 0x0D 0xFF
Odczyt stanu rejestru wyjściowego GPIO:
i2cget -y 1 0x18 0x01
W przypadku ustawienia wyjść w tryb tri-state odczyt rejestru GSR może różnić się od fizycznego stanu wyprowadzeń, warto o tym pamiętać. Jeżeli wszystko działa poprawnie, można moduł zastosować we własnej aplikacji.
Adam Tatuś, EP
- R1: 330 Ω
- R2, R3: 4,7 kΩ
- C1, C3: 0,1 μF
- C2: 10 μF
- U1: XRA1201IL24 (QFN24)
- A0, A1: zworka (SMD0603)
- GPIO: złącze IDC 2×20pin żeńskie
- I²C: złącze JST 4 pin 1 mm kątowe
- I²CA: złącze HST 4 pin 2 mm kątowe
- JIOA, JIOB: gniazdo RJ45 MTJ-88GX1-FSD
- J1: złącze śrubowe 10 pin 2,54 mm
- JIO: złącze szpilkowe SIP10 2,54 mm
- JIOA: gniazdo RJ45 MTJ-88GX1-FSD