Standard interfejsów peryferyjnych firmy Digilent o nazwie Pmod zdobywa coraz szersze rynki, a złącza z nim zgodne można spotkać na coraz większej liczbie płytek ewaluacyjnych z mikrokontrolerami, mikroprocesorami, a także układami FPGA. W tym cyklu artykułów przedstawimy biblioteki napisane w języku C dla środowiska Atollic TrueSTUDIO, które spełniają rolę „driverów” ułatwiających korzystanie z kilkunastu typów modułów Pmod we współpracy z mikrokontrolerami STM32. Biblioteki były testowane na płytce KAmeleon (www.kameleonboard.org) z użyciem bibliotek STM32Cube_FW_L4.

Pozostałe artykuły z cyklu dostępne są w zasobach portalu Mikrokontroler.pl

Pmod (Peripheral Module) jest standardem złącza zaproponowanym przez firmę Digilent Inc. do komunikacji z układami peryferyjnymi. Występuje on w kilku odmianach zawierających linie GPIO i takie interfejsy komunikacyjne jak SPI, I2C, UART. W niniejszym artykule, będącym początkiem serii dotyczącej przykładów użycia modułów Pmod Digilent wraz z zestawem uruchomieniowym KAmeleon, zostaną przedstawione wybrane konfiguracje złącza, PmodLED wykorzystujący linie GPIO do sterowania diodami, a także PmodALS – moduł z czujnikiem natężenia oświetlenia.

Standard Pmod

Pmod, stworzony przez firmę Digilent, jest standardem opisującym złącza dla urządzeń peryferyjnych. Występują one w kilku wersjach różniących się liczbą linii sygnałowych i zasilania, a także typem interfejsu użytym do komunikacji. Wybrane typy złączy przedstawiono w tabelach 1-8. Rola sygnałów oznaczonych jako N/S jest zależna od konkretnego modułu. Sygnały te można wykorzystać dodatkowo jako linie sterujące lub źródła przerwań. Ponadto niektóre z sygnałów, np. CTS i RTS, mogą pełnić inne funkcje, opisane w dokumentacjach poszczególnych modułów. W przypadku interfejsu UART wszystkie sygnały oznaczone są z punktu widzenia mikrokontrolera – TX oznacza transmisję danych do modułu, a RX odbiór danych przez mikrokontroler.

Rysunek 1. Najpopularniejsze typy złącz Pmod

Typy złącza Pmod

 

Tabela 1. Interfejs I2C (6 pinów)

Sygnał Numer pinu
N/S 1
N/S 2
SCL 3
SDA 4
GND 5
VCC 6

 

Tabela 2. Interfejs I2C (8 pinów)

Sygnał Numer pinu Sygnał
SCL 1 5 SCL
SDA 2 6 SDA
GND 3 7 GND
VCC 4 8 VCC

 

Tabela 3. Interfejs SPI (6 pinów) – Typ 2

Sygnał Numer pinu
SS 1
MOSI 2
MISO 3
SCK 4
GND 5
VCC 6

 

Tabela 4. Interfejs SPI (12 pinów) – Typ 2A

Sygnał Numer pinu Sygnał
SS 1 7 INT
MOSI 2 8 RESET
MISO 3 9 N/S
SCK 4 10 N/S
GND 5 11 GND
VCC 6 12 VCC

 

Tabela 5: Interfejs UART (6 pinów) – Typ 4

Sygnał Numer pinu
CTS 1
TXD 2
RXD 3
RTS 4
GND 5
VCC 6

 

Tabela 6: Interfejs UART (12 pinów) – Typ 4A

Sygnał Numer pinu Sygnał
CTS 1 7 INT
TXD 2 8 RESET
RXD 3 9 N/S
RTS 4 10 N/S
GND 5 11 GND
VCC 6 12 VCC

 

Tabela 7: Interfejs GPIO (6 pinów) – Typ 1

Sygnał Numer pinu
IO1 1
IO2 2
IO3 3
IO4 4
GND 5
VCC 6

 

Tabela 8: Interfejs GPIO (12 pinów)

Sygnał Numer pinu Sygnał
IO1 1 7 IO5
IO2 2 8 IO6
IO3 3 9 IO7
IO4 4 10 IO8
GND 5 11 GND
VCC 6 12 VCC

Złącze Pmod zaimplementowane w zestawie KAmeleon

W zestawie uruchomieniowym KAmeleon znajduje się złącze Pmod z interfejsem SPI, a także sygnałami INT i Reset. Konfiguracja ta odpowiada Tabeli 4. bez połączonych pinów N/S (9 i 10). Listę wyprowadzeń mikrokontrolera podłączonych do złącza Pmod-SPI przedstawiono w Tabeli 9.

 

Tabela 9: Złącze Pmod-SPI zestawu KAmeleon

Sygnał Numer pinu Sygnał
SS (PB0) 1 7 INT (PE12)
MOSI (PA7) 2 8 RESET (PE13)
MISO (PE14) 3 9
SCK (PA1) 4 10
GND 5 11 GND
VCC 6 12 VCC

Rysunek 2. Złącze Pmod zestawu KAmeleon, który jest platformą testową dla bibliotek opisanych w artykule

Moduły PmodLED i PmodALS, a także zestaw KAmeleon oraz wiele innych płytek ewaluacyjnych i modułów rozszerzających można znaleźć w ofercie Kamami.pl