Multiplekser analogowy sterowany z magistrali I2C

Multiplekser analogowy sterowany z magistrali I2C

Prezentowany minimoduł zawiera podwójną analogową matrycę przełączającą, sterowaną poprzez magistralę I2C. Dzięki niewielkiemu poborowi mocy, elastycznemu programowi łączeń realizowanych z algorytmem BBM (przerwa przed połączeniem) może służyć jako przełącznik wejść lub wyjść sygnału, klucz sterujący przełączanymi rezystancjami lub pojemnościami w filtrach analogowych oraz w wielu innych aplikacjach, gdzie wymagane jest kluczowanie sygnału, a zwykły multiplekser nie pozwala na łączenie kilku wyprowadzeń jednocześnie.

Podstawowe parametry:
  • spełnia funkcję podwójnego przełącznika 4:1,
  • rezystancja załączonego klucza nie przekracza 2,5 Ω przy prądzie 10 mA,
  • wymaga zasilania z zakresu 2,7...5,5 V.

Budowa i działanie

Moduł został zrealizowany na bazie układu ADG729, którego struktura została pokazana na rysunku 1.

Rysunek 1. Schemat wewnętrzny układu ADG729 (za notą Analog Devices)

Układ spełnia funkcję podwójnego przełącznika 4:1 z niezależnym sterowaniem każdego z kluczy poprzez magistralę I2C. Typowo rezystancja złączonego klucza nie przekracza 2,5 Ω przy prądzie 10 mA.

Rysunek 2. Schemat ideowy układu

Schemat modułu został pokazany na rysunku 2. Moduł jest zgodny ze standardem Arduino I2C, sygnały magistrali i zasilanie doprowadzone są do czteropinowego złącza typu EH, układ wymaga zasilania z zakresu 2,7...5,5 V. Rezystory R1, R2 podciągają magistralę I2C, zwora PU umożliwia ich odłączenie. Wyprowadzenia przełączników i magistrala dostępne są na złączu J1, J2 o rozstawie zgodnym z płytkami prototypowymi. Zwory A0, A1 umożliwiają wybór adresu bazowego układu, co dopuszcza pracę czterech układów na jednej magistrali. Układ ADG729 ma domyślnie ustawiony adres 0x44 (A0, A1=0).

Rysunek 3. Sekwencja zapisu ADG729 (za notą Analog Devices)

Sekwencję zapisu ustalającą położenie kluczy pokazuje rysunek 3. Wartości A0, A1 to stan wyprowadzeń adresowych, klucze ADG729 – S8=S4B...S1=S1A, stan 1 zwiera klucz, stan 0 rozwiera klucz. Jeżeli realizujemy funkcję multipleksera, o jednoczesne załączenie tylko jednego klucza musimy zadbać programowo. Łącząc wyprowadzenia DA z DB otrzymujemy sterowaną matrycę 4:4 umożliwiającą elastyczne dwukierunkowe przełączanie jednego z czterech źródeł do jednego z czterech odbiorników sygnału. Odczyt przebiega identycznie, układ zwraca stany kluczy zgodnie z sekwencją zapisu. Aby zapewnić najniższy poziom zakłóceń podczas przełączania, producent sugeruje ustawianie kluczy tylko wymagających zmiany stanu, tj. w pierwszej kolejności odczytujemy bieżące położenie kluczy, porównujemy z wymaganym i ustawiamy lub kasujemy tylko bity wymagające zmiany, zapisując nową wartość do rejestru ADG729.

Montaż i uruchomienie

Moduł został zmontowany na niewielkiej dwustronnej płytce drukowanej, której schemat wraz rozmieszczeniem elementów został pokazany na rysunku 4. Dla sprawdzenia działania przełącznika można użyć dowolnego komputerka SBC. W tym przypadku zostanie podłączony moduł VisionSOM6UL z płytką bazową CB-STD z zainstalowanym systemem Linux i narzędziami i2ctools.

Rysunek 4. Schemat płytki PCB z rozmieszczeniem elementów

Moduł przełącznika umieszczony jest w płytce stykowej, połączone są wyprowadzenia DA z DB, wyprowadzenie S1A połączone jest masą, S2A, S3A z wyprowadzeniami szeregowego dzielnika 3×10 kΩ, a S4A z zasilaniem 3,3 V. Powstaje dzielnik napięcia, którego napięcie wybierane jest kluczami S1A...S4A, które z kolei drugim zestawem kluczy może zostać doprowadzone do S1B...S4B. Magistrala I2C podłączona jest do złącza rozszerzeń zgodnego z Raspberry. Po załączeniu zasilania wszystkie klucze są rozłączone. W pierwszej kolejności sprawdzamy obecność układu na magistrali poleceniem:

i2cdetect -y 1

Dla dalszego sprawdzenia przygotowano skrypt (listing 1), łączący kolejno wejścia S1A...S4A z wyjściami S1B...S4B, podając na nie napięcie z dzielnika.

Listing 1. Skrypt testowy dla układu ADG729

#!/bin/bash
echo ‘ADG729 - test’

echo ‘OUT OFF’
i2cset -y 1 0x44 0x00

x=1;

while [ $x -le 3 ] ; do

#OUT1
echo ‘S1A -> S1B 0.0V’
i2cset -y 1 0x44 0x11
sleep 2.0

echo ‘S2A -> S2B 1.1V’
i2cset -y 1 0x44 0x22
sleep 2.0

echo ‘S3A -> S3B 2.2V’
i2cset -y 1 0x44 0x44
sleep 2.0

echo ‘S4A -> S4B 3.3V’
i2cset -y 1 0x44 0x88
sleep 2.0

x=$[x + 1]
done

echo ‘OUT OFF’
i2cset -y 1 0x44 0x00

Przebieg testu został pokazany na rysunku 5.

Rysunek 5. Wynik testowania modułu

Podczas użytkowania przełącznika należy pamiętać o dopuszczalnych napięciach na wyprowadzeniach układu oraz zwrócić uwagę na eliminację programową jednoczesnego zwarcia kilku kluczy jeżeli może doprowadzić do uszkodzenia współpracującego układu lub ADG729.

Adam Tatuś, EP

Wykaz elementów:
Rezystory:
  • R1: 2,2 kΩ SMD0805
  • R2, R3: 10 kΩ SMD0805
Kondensatory:
  • C1: 0,1 µF SMD0805
Półprzewodniki:
  • LD: dioda LED SMD0805
  • U1: ADG729BRUZ (TSSOP16)
Inne:
  • I2C: złącze EH kątowe EH4_254H
  • J1, J2: listwa SIP męska 1×10 pin 2,54 mm
  • PU: złącze IDC4 + zwory
Artykuł ukazał się w
Elektronika Praktyczna
sierpień 2021
DO POBRANIA
Materiały dodatkowe
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich styczeń 2025

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów