Schemat ideowy układu konwertera przedstawiony jest na rysunku 1. Złącza i zwory, w których oznaczenia zakończone są cyfrą "5" są dołączone do interfejsu o poziomach napięć logicznych 5 V (płytka rozszerzeń), elementy z oznaczeniami zakończonymi cyfrą "3" są dołączone do płytki bazowej, o poziomach napięć logicznych 3,3 V.
Układ składa się z czterech bloków:
- Dzielnika napięć zbudowanego z rezystorów R5...R16 służącego do dopasowania poziomów napięć doprowadzonych do wejść analogowych (np. z klawiatury analogowej, płytki sensorów zgodnych z 5 V itp.).
- Selektora napięcia odniesienia AREF dla płytki bazowej i płytki rozszerzeń. Selektor umożliwia niezależne ustawienie napięcia odniesienia dla płytki bazowej (zwarte wyprowadzenia 2-4=5 V, 4-6=3,3 V), płytki rozszerzeń (zwarte 1-3=5 V, 3-5=3,3 V) lub połączenie wyprowadzeń REF obu płytek (zwarte 4-5=AREF). Podczas konfigurowania należy zwrócić uwagę, aby nie przekroczyć dopuszczalnej wartości AREF dla płytki bazowej.
- Konwertera poziomów dla wyprowadzeń cyfrowych D0...D13 oraz sygnału RESET zbudowanego w oparciu o popularne, ośmiokanałowe konwertery logiczne ST2378.
- Konfigurowanego konwertera poziomów dla interfejsu I²C opartego o specjalizowany układ PCA9306.
Układ konwertera poziomów I²C wyposażono w zwory (I2Cxxx) zapewniające elastyczną konfigurację ze względu na zmienne przyporządkowanie wyprowadzeń I²C w zależności od standardu płytki bazowej. Zwory współpracują parami tj. zworze A455 po stronie 5 V, odpowiada zwora A453 po stronie 3,3 V. Ich położenie musi być identyczne, gdyż odłączają konwerter poziomów I²C zarówno po stronie 3,3 V, jak i 5 V.
Wykaz elementówRezystory: (SMD 0805) Kondensatory: Półprzewodniki: Inne: |
Zwory A455/A453 umożliwiają dołączenie konwertera I²C do płytek mających najstarszy standard wyprowadzeń (zgodnych z Arduino Uno Rev1), gdzie interfejs I²C jest współdzielony z wyprowadzeniami analogowymi A4/A5. Użycie konwertera wymaga w tym wypadku zdjęcia zwór z wyprowadzeń 1-3/2-4 A455/A453 oraz założenie ich na wyprowadzenia 3-5/4-6 A455/A453.
Dla płytek zgodnych z Leonardo za interfejs odpowiadają zwory I2C235/233 (wyprowadzenia D2/3), a dla płytek zgodnych z Arduino Due (lub Rev3 i pozostałych) wyprowadzenia interfejsu I²C rozszerzają złącze IOH. W tym wypadku konfiguracja konwertera odbywa się zworami I2C5/I2C3. Możliwe są oczywiście inne połączenia pomiędzy wyprowadzeniami interfejsu I²C w celu użycia płytek z niestandardowo lub wyprowadzonym "na sztywno" sygnałami I²C (np. rozszerzenie zgodne z Uno Rev.1 i płytka bazowa zgodna z Leonardo).
Układ interfejsu uzupełniają złącza transmisji szeregowej RS5/RS3 i szyny I²C I2CV5/I2CV3 z typowym dla Arduino przyporządkowaniem wyprowadzeń, ułatwiającym użytkowanie szerokiej gamy modułów rozszerzeń.
AVTDuinoLVC zmontowane jest na dwustronnej płytce drukowanej, na której rozmieszczenie elementów przedstawia rysunek 2. Montaż nie wymaga opisu. Po poprawnym zmontowaniu moduł nie wymaga uruchamiania i działa od razu po włożeniu go w gniazda płytki bazowej zgodnej z 3,3 V i skonfigurowaniu I²C, Możemy wykorzystać posiadane rozszerzenia zgodne z 5 V poprzez umieszczenie ich w gniazdach żeńskich konwertera w typowy dla Arduino sposób "na kanapkę".
Adam Tatuś, EP