Mostek UART-I²C z układem SC18IM700

Mostek UART-I²C z układem SC18IM700

Magistrala I²C jest bardzo wygodnym i tanim sposobem wymiany informacji pomiędzy układami w obrębie urządzenia. Niestety nie wszystkie systemy mają wbudowany interfejs I²C, np. klasyczne komputery PC (dla ścisłości – mają wbudowany, ale nie ma możliwości wyprowadzenia i zastosowania we własnych aplikacjach). W takim przypadku przydatny jest układ mostka UART-I²C.

Podstawowe parametry:
  • komunikuje się z układem nadrzędnym poprzez standardowy interfejs szeregowy UART i komunikację znakową ASCII,
  • może współpracować z konwerterem USB-UART,
  • wejścia zgodne z logiką 3,3 V.

Zaprezentowany układ mostka UART-I²C pozwala na podłączenie układów I²C do monitorowania lub sterowania urządzeniami zewnętrznymi z użyciem portu szeregowego, czy to natywnego, czy zrealizowanego poprzez konwerter USB-UART. W konstrukcji zastosowano specjalizowany układ SC18IM700 firmy NXP, którego strukturę wewnętrzną pokazuje rysunek 1.

Rysunek 1. Schemat wewnętrzny układu SC18IM700

Układ komunikuje się z układem nadrzędnym poprzez standardowy interfejs szeregowy UART i komunikację znakową ASCII. Obsługuje odczyt i zapis magistrali I²C w trybie zapisu pojedynczego lub wielobajtowego z 16-bitowym buforem, zapewniając poprawne generowanie sygnałów sterujących magistralą. Zastosowanie układu umożliwia dołączenie układów ekspanderów GPIO, sterowników LED itp., bez konieczności poświęcenia czasu na oprogramowanie pośredniczące pomiędzy PC a I²C mikrokontrolera. Cała praca programistyczna przy zastosowaniu SC18IM700 ogranicza się do opracowania aplikacji na PC komunikującej się poprzez UART.

Budowa i działanie

Schemat modułu został pokazany na rysunku 2. Układ nie odbiega od standardowej aplikacji, do złączy UART/UARTA doprowadzone są sygnały portu szeregowego z konwertera poziomów RS232 lub mostka USB/UART, zgodne z logiką 3,3 V oraz zasilanie 3,3 V. Na złącze UARTA wyprowadzone są dodatkowo sygnały RESET i WAKE umożliwiające restart lub wprowadzenie sprzętowe U1 w tryb obniżonego poboru mocy. Do złączy I²C, I²CA doprowadzona jest magistrala z układów zewnętrznych, także w standardzie 3,3 V.

Rysunek 2. Schemat ideowy mostka UART-I²C

Zwora RT umożliwia przekrosowanie sygnałów UART RX/TX, gdy nie jest możliwe przekrosowanie w kablu (np. podczas użycia kabli i złączy zgodnych z Grove).

Montaż i uruchomienie

Moduł zmontowany jest na dwustronnej płytce drukowanej, której schemat został pokazany na rysunku 3. Montaż jest typowy i nie wymaga dokładnego opisu, a poprawnie zmontowany układ nie wymaga uruchamiania.

Rysunek 3. Schemat płytki PCB

W celu sprawdzenia działania należy podłączyć mostek do PC poprzez konwerter RS232 lub USB/UART z wyjściem sygnału o napięciu 3,3 V. Następnie należy zainstalować terminal portu szeregowego z możliwością wysyłania sekwencji znaków np. Realterm oraz przygotować płytkę z układem I²C np. AVT1707 z układem PCF8574.

Komunikacja z układem SC18IM700 odbywa się poprzez wysłanie polecenia w postaci komendy ASCII, zestaw rozpoznawanych komend znajduje się w tabeli 1.

Komendy nierozpoznane są ignorowane. Układ ma wbudowany licznik time-out, który kasuje zawartość buforów, jeżeli odbiór kolejnych dwóch znaków zajmuje więcej niż 655 ms.

Układ jest skonfigurowany wstępnie po uruchomieniu, standard transmisji jest ustawiony na 9600, 8, N, 1. Konfiguracja może zostać zmieniona w rejestrach układu, zgodnie z tabelą 2 i szczegółowym opisem w dokumentacji SC18IM700.pdf i AN10397.pdf, dołączonej do materiałów dodatkowych. Po uruchomieniu terminalu i restarcie układu zwrócone zostaną znaki OK, potwierdzające połączenie z układem. Do zmiany konfiguracji służą sekwencje poleceń zapisu rejestru wewnętrznego:

W <rejestr 0> <dana 0>...<rejestr N> <dana N> P

lub odczytu

R <rejestr 0> ...<rejestr N> P

po którym SC18IM700 zwróci ciąg wartości:

<dana 0> ... <dana N>

Przykładowy odczyt rejestru 00 to sekwencja:

52 00 50

która po resecie zwraca wartość domyślną 0xF0.

Rysunek 4. Budowa sekwencji odczytu

Podłączony do magistrali układ PCF8574 ma ustawiony adres 0x20, odczyt stanu (rysunek 4) wyprowadzeń wykonany za pomocą sekwencji:

53 41 01 50

która odczytuje jeden bajt spod adresu 0x41, czyli stan wyprowadzeń PCF8574 z ustawionym siedmiobitowym adresem 0x20. Ze względu na adresowanie 8-bitowe, najmłodszy bajt ustawiony jest na 1 dla operacji odczytu (0100 0001).

Rysunek 5. Budowa sekwencji zapisu

Ustawienie wyjść (rysunek 5) wykonywane jest za pomocą sekwencji:

53 40 01 00 50

która zapisuje jeden bajt o wartości 0x00 pod adres 0x40, czyli stan wyprowadzeń PCF8574 z ustawionym siedmiobitowym adresem 0x20 zostanie zmieniony na 0x00. Ze względu na adresowanie 8-bitowe najmłodszy bajt ustawiony jest na 0 dla operacji zapisu (0100 0000). Poprawność wykonania operacji sprawdzamy, odczytując rejestr statusu I²CStat 0x0A sekwencją:

52 0A 50

która powinna zwrócić wartość 0xF0, zgodnie z tabelą 3. Stosując zapis wielobajtowy, można konfigurować układy o większej liczbie rejestrów, np. sterownik LED PCA9531 zastosowany w miniklawiaturze z podświetleniem – AVT5889.

Adam Tatuś, EP

Wykaz elementów:
Rezystory: (SMD0603)
  • R1, R2, R4: 4,7 kΩ
  • R3: 1 kΩ
Kondensatory: (SMD0603)
  • C1: 0,1 μF
  • C2: 1 μF
Półprzewodniki:
  • U1: SC18IM700IPW (TSSOP16)
Pozostałe:
  • I²C: złącze JST 1 mm
  • I²CA: złącze szpilkowe 2,54 mm, 4 szpilki
  • RT: złącze IDC4 + zwory
  • UARTA: złącze szpilkowe 2,54 mm, 4 szpilki
Artykuł ukazał się w
Elektronika Praktyczna
sierpień 2022
DO POBRANIA
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik marzec 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje marzec 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna marzec 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów