Izolator galwaniczny I2C (10 Mb/s)

Izolator galwaniczny I2C (10 Mb/s)
Pobierz PDF Download icon
Czasem zachodzi potrzeba galwanicznego odizolowania interfejsu I2C od urządzenia. Opisane rozwiązanie pozwala na transfer z prędkością dochodzącą 6 Mb/s a dzięki rozdzieleniu linii nadawczej i odbiorczej oraz zastosowaniu konwerterów RS422 można w prosty sposób zwiększyć zasięg nawet do 1200 m.

Zanim omówię budowę interfejsu, warto zastanowić się, jak odizolować dwukierunkowy interfejs I2C. W interfejsie sprzętowym problemem jest zmiana kierunku transmisji. Zmiana następuje tak w obrębie transmitowanego bajtu (bit ACK), jak i całych bajtów (zapis/odczyt). Na myśl przychodzi zastosowanie mikrokontrolera z dwoma interfejsami I2C. Niestety, dane mogłyby być przesyłane po skompletowaniu całej ramki lub bajtu, ale ze względu na transmisję synchroniczną i bit ACK należałoby to robić niejako on-line, bit po bicie.

W konsekwencji wybór padł na układ programowalny EPM3032ALC44-10. Jest on tani (około 10 zł), szybki, zawiera 600 funktorów logicznych i jest programowany przez interfejs JTAG. Zasilanie to co prawda z 3,3 V, ale na wejściach akceptuje napięcie 5 V. Schemat ideowy aplikacji układu w roli separatora galwanicznego I2C pokazano na rysunku 1.

Stabilizator U1 zasila układ U6. Jeśli magistrala jest zasilana z 3,3 V nie jest on potrzebny. Linie SDA i SCL z układu master wchodzą bezpośrednio na układ U6. Po rozdzieleniu nadawania i odbioru sygnały trafiają na transoptory. W strefie odizolowanej galwanicznie znajdują się rezystory podciągające linie SDA i SCL (R13, R16). Pierwotnie od strony mastera nie było rezystorów podciągających. Okazało się jednak, że płytka ArduinoMeag2560 ma rezystory podciągające IIC o wartości 10 kV a według specyfikacji NXP (Philipsa) maksymalna ich rezystancja do 5 kV. Spowodowało to problemy przy szybkich transmisjach i to na niezbyt duże odległości, rzędu 10 cm. Dlatego na płytce dodano rezystory 4,7 kV od strony mastera, które to można włączyć jumperami na JP2.

Sygnały SDA i SCL z slave po przejściu przez bufory z otwartym kolektorem sterują transoptorami. Transoptor U5 może służyć do przesłania sygnału przerwania. Funkcję bufora U3 może pełnić układ 74LS06 lub 74LS07. Funkcję rozdzielenia sygnałów oraz ich szybkiej transmisji zrealizowano za pomocą układu CPLD. Na maksymalną prędkość transmisji ma wpływ kilka czynników, a wśród nich:

- Częstotliwość generatora i szybkość układu CPLD.
- Szybkość transoptorów.
- Pojemność kabli połączeniowych.

ES2, EP

Artykuł ukazał się w
Elektronika Praktyczna
czerwiec 2017
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik lipiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje lipiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna lipiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich czerwiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów