- 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.
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.
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).
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.
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:
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.
#!/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.
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
- R1: 2,2 kΩ SMD0805
- R2, R3: 10 kΩ SMD0805
- C1: 0,1 µF SMD0805
- LD: dioda LED SMD0805
- U1: ADG729BRUZ (TSSOP16)
- 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