- Umożliwia rozbudowę Raspberry Pi o 16 dodatkowych cyfrowych linii I/O 3,3 V sterowanych przez SPI, z adresowaniem sprzętowym i możliwością generowania przerwań. Wersja A zawiera płytkę PCB.
Moduł rozszerzeń dla Raspberry Pi - płytka drukowana do AVT5412
Płytka PCB do wykonania modułu 16 cyfrowych portów I/O dla Raspberry Pi.
Dodatkowe porty cyfrowe dla Raspberry Pi
AVT5412 to projekt płytki rozszerzeń RaspbPI_DIO16, która zwiększa liczbę dostępnych cyfrowych linii wejścia/wyjścia w systemie Raspberry Pi. Moduł udostępnia 16 dodatkowych portów I/O w standardzie CMOS 3,3 V i komunikuje się z Raspberry Pi przez interfejs SPI.
Układ jest przeznaczony do aplikacji sterujących, prototypowania oraz automatyki domowej, gdzie standardowa liczba wyprowadzeń GPIO może być niewystarczająca. Adres ekspandera ustalany jest sprzętowo, dzięki czemu na jednej magistrali SPI można stosować więcej modułów. Wersja A obejmuje samą płytkę PCB; ekspander I/O, stabilizator, układ resetu, złącza, zwory, elementy SMD i diodę sygnalizacyjną trzeba skompletować osobno.
Karta techniczna
AVT5412
Płytka cyfrowych portów I/O do Raspberry Pi, rozszerzająca liczbę linii wejścia/wyjścia przez ekspander SPI.
| Wersja | A - płytka PCB |
| Typ modułu | płytka cyfrowych portów I/O dla Raspberry Pi |
| Nazwa modułu w dokumentacji | RaspbPI_DIO16 |
| Kompatybilność bazowa | Raspberry Pi Rev2 ze złączem GPIO P1 26-pin według opisu dokumentacji |
| Liczba dodatkowych linii I/O | 16 cyfrowych wejść/wyjść |
| Standard poziomów logicznych | CMOS 3,3 V |
| Ekspander portów | MCP23S17, 16-bitowy ekspander I/O z interfejsem SPI |
| Interfejs z Raspberry Pi | SPI oraz linie zasilania z GPIO Raspberry Pi |
| Wybór kanału SPI | CE0 lub CE1, wybierany sprzętowo |
| Adresowanie modułu | adres ekspandera ustalany sprzętowo; możliwość pracy do 8 ekspanderów na wspólnej magistrali SPI |
| Porty wyjściowe modułu | dwa 8-bitowe porty cyfrowe wyprowadzone na złącza użytkowe |
| Obsługa przerwań | możliwość generowania przerwań od stanów na portach A i B, wyprowadzenie sygnałów przerwań na złącze |
| Obciążalność pojedynczej linii I/O | do 25 mA na wyjście, przy zachowaniu ograniczeń sumarycznych ekspandera |
| Ograniczenie prądu całego ekspandera | do 125 mA przez pin zasilania, z uwzględnieniem strat mocy układu |
| Zasilanie modułu | z płytki Raspberry Pi |
| Źródło zasilania I/O | 3,3 V z Raspberry Pi albo 3,3 V ze stabilizatora na module, wybierane zależnie od obciążenia portów |
| Sygnalizacja zasilania | dioda LED informująca o obecności zasilania |
| Możliwość pracy w stosie | tak, przy zastosowaniu odpowiedniego złącza przelotowego GPIO |
| Przykładowe oprogramowanie testowe | WebIOPi z obsługą ekspandera MCP23S17 według opisu dokumentacji |
| Płytka PCB | 55×35 mm |
Wersja A - płytka PCB i wykaz elementów
AVT5412 A - płytka PCB. Ekspander I/O, stabilizator 3,3 V, układ resetu, elementy SMD, dioda LED, złącze GPIO, złącza portów PA/PB, złącze przerwań oraz zwory adresowe i konfiguracyjne trzeba skompletować osobno.
| Rezystory SMD 0805 | R1 - 2,2kΩ; R2…R4 - 10kΩ |
| Kondensatory SMD 0805 | C1…C3 - 100nF; C4, C5 - 10µF |
| Układy i sygnalizacja | U1 - MCP23S17; U2 - MCP100T; U3 - LM1117-3.3; LD - dioda LED SMD |
| Zwory konfiguracyjne | A0…A2, CE0, CE1 oraz PS do wyboru źródła zasilania I/O |
| Złącza | GPIO CONN - złącze IDC26 przelotowe albo żeńskie; INT - złącze SIL2 2,54 mm opcjonalne; PA, PB - złącza IDC10 kątowe; PS - złącze SIP3 kątowe ze zworą |
Notes
Dokumentacja odnosi moduł do Raspberry Pi Rev2 z 26-pinowym złączem GPIO P1. Przy użyciu nowszych modeli Raspberry Pi z 40-pinowym złączem trzeba sprawdzić zgodność pinów, mechanikę połączenia i sposób wyprowadzenia linii SPI.
Adres ekspandera ustala się zworami A0…A2. Domyślnie wszystkie trzy są zwarte, co w dokumentacji odpowiada adresowi 0x20. Zwory CE0 i CE1 wybierają używany kanał interfejsu SPI; domyślnie zwarty jest CE0.
Zworka PS wybiera zasilanie części I/O z 3,3 V Raspberry Pi albo ze stabilizatora na module. Przy większym obciążeniu portów warto unikać niepotrzebnego obciążania stabilizatora Raspberry Pi.
Jeżeli płytka ma być używana w stosie z innymi modułami, potrzebne jest złącze GPIO przelotowe. Dokumentacja zwraca uwagę, że zdobycie żeńskiego złącza IDC26 przelotowego może być kłopotliwe; bez „kanapkowania” można użyć zwykłego żeńskiego IDC26.
Płytka PCB ma wymiary 55×35 mm, co ułatwia montaż modułu w niewielkich konstrukcjach prototypowych i aplikacjach sterujących z Raspberry Pi.
Uwaga: linie I/O modułu pracują w standardzie 3,3 V. Podanie sygnałów 5 V z zewnętrznych modułów może uszkodzić ekspander albo Raspberry Pi. Przy sterowaniu większymi obciążeniami należy stosować bufory, tranzystory, przekaźniki lub izolację, a nie obciążać bezpośrednio wyprowadzeń portów.
Najczęściej zadawane pytania
Moduł dodaje 16 cyfrowych linii wejścia/wyjścia sterowanych przez SPI. Dzięki temu Raspberry Pi może obsłużyć więcej sygnałów sterujących, przycisków, prostych czujników lub linii logicznych bez zajmowania wszystkich własnych GPIO.
Tak, ekspander umożliwia sprzętowe ustawienie adresu, co pozwala zwiększyć liczbę modułów na wspólnej magistrali SPI. Trzeba jednak prawidłowo ustawić adresy A0…A2 oraz sygnały wyboru układu, aby uniknąć konfliktów.
Nie należy tego zakładać. Moduł pracuje w standardzie CMOS 3,3 V, więc zewnętrzne układy 5 V wymagają konwersji poziomów albo buforowania. Dotyczy to zarówno wejść, jak i wyjść współpracujących z innymi modułami.
Ma to sens wtedy, gdy dodatkowe porty I/O będą obciążone bardziej niż symbolicznie i nie chcesz niepotrzebnie obciążać stabilizatora na Raspberry Pi. Wybór źródła zasilania zależy od planowanego poboru prądu przez dołączone układy.
Dokumentacja proponuje użycie WebIOPi i skonfigurowanie ekspandera MCP23S17 jako urządzenia dostępnego z poziomu przeglądarki. Po uruchomieniu można sprawdzać stany wejść i zapisywać stany wyjść, łącząc odpowiednio piny portów PA i PB.
Elektronika









