FT311D – nowe życie starego smartfonu z Androidem

Transkrypt

FT311D – nowe życie starego smartfonu z Androidem
NOTATNIK KONSTRUKTORA
FT311D – nowe życie starego
smartfonu z Androidem
Co można zrobić ze starym, ale jeszcze sprawnym telefonem? Jeżeli jest to smartfon z systemem Android, można
go użyć w roli przenośnego sterownika z panelem dotykowym. Za pomocą dodatkowego interfejsu z układem
FT311D podłączymy do gniazda USB telefonu różne układy wykonawcze. Możliwa będzie bezpośrednia komunikacja z układami, sterowanie w trybie typowego RS232, I2C lub SPI.
Dodatkowe informacje:
https://goo.gl/8ANiuW
Dokumentacja techniczna interfejsu FT311D:
https://goo.gl/O1LhVYf
Dokument opisujący sposób tworzenia aplikacji dla Androida
i poszczególnych trybów pracy interfejsu: https://goo.gl/IfSYkb
Strona, z której można pobrać pliki źródłowe przykładowych
aplikacji: https://goo.gl/j1komd
Dokument opisujący przykładowe aplikacje:
https://goo.gl/0DpYhu
Układ FT311D, produkowany przez firmę FTDI, znany jest
od dobrych kilku lat. Nie stał się tak popularny jak inne interfejsy tej firmy. Pozwala jednak rozszerzyć możliwości
telefonu z systemem Android w bardzo prosty, czysto sprzętowy sposób.
Niemal każde urządzenie mobilne, czy to smartfon, czy
tablet, jest wyposażone w gniazdo USB. Na ogół służy ono
tylko do wymiany danych pomiędzy telefonem a komputerem. W taki sposób najłatwiej można odczytać pliki wykonanych zdjęć i zapisać pliki multimedialne. Jeżeli port telefonu
może pracować w trybie OTG, do gniazda USB daje się jeszcze przyłączyć nośniki pamięci masowej lub myszkę. Jednak
użycie portu USB do innych celów jest bardzo trudne. Tymczasem za pomocą układu interfejsowego FT311D jest możliwa
dwustronna komunikacja w trybie UART, czyli jak za pośrednictwem „zwykłego RS232”. Dzięki prezentowanemu urządzeniu będzie można sterować 7 niezależnymi liniami wyjść lub
wejść, generować przebiegi PWM lub komunikować się z urządzeniami mającymi interfejs I2C lub SPI. W dodatku nie będą
potrzebne do realizacji tych funkcji żadne dodatkowe sterowniki czy specjalne uprawnienia administratora systemu. Jest
to możliwe dzięki temu, że FT311D pełni funkcję hosta USB.
Interfejs jest „widziany” tak, jakby urządzenie pracujące pod
Androidem było przyłączone do komputera zewnętrznego. Interfejs zadziała z każdym urządzeniem z Androidem w wersji
3,1 lub nowszej, a więc z każdą wersją systemu obsługującą
tryb „Android Open Accessory” (AOA).
Na rysunku 1 pokazano konfigurację połączeń pomiędzy
urządzeniem z systemem Android, interfejsem FT311D i sterowanym układem. Do interfejsu USB urządzenia z Androidem
przyłącza się wyprowadzenia FT311D służące do obsługi portu
w trybie hosta. Z kolei 7 wyprowadzeń IOBUS0…IOBUS6
komunikuje się ze sterowanym układem. Istnieje możliwość konfigurowania wyprowadzeń IOBUS do pracy w różnych trybach.
Rysunek 1. Konfiguracja połączeń pomiędzy urządzeniem z systemem Android, interfejsem FT311D i sterowanym układem
Tabela 1. Dopuszczalne kombinacje poziomów logicznych na wyprowadzeniach CNFG0…CNFG2 i odpowiadające im tryby pracy
96
CNFG0
GNFG1
CNFG2
Tryb
IOBUS0
IOBUS1
IOBUS2
IOBUS3
IOBUS4
IOBUS5
IOBUS6
L
H
L
H
L
H
GPIO
GPIO0
GPIO1
GPIO2
GPIO3
GPIO4
GPIO5
GPIO6
H
L
L
UART
UART_TXD
UART_RXD
UART_RTS
UART_CTS
UART_TX
_ACTIVE
-
-
L
H
L
PWM
PWM0
PWM1
PWM2
PWM3
-
-
-
H
H
L
I2C
(master)
I2C_CLK
I2C_DATA
-
-
-
-
-
L
L
H
SPI
(slave)
-
-
-
SPI_S_SS0
SPI_S_CLK
SPI_S_
MOSI
SPI_S_
MISO
H
L
H
SPI
(master)
-
-
-
SPI_M_SS0
SPI_M_CLK
SPI_M_
MOSI
SPI_M_
MISO
ELEKTRONIKA PRAKTYCZNA 11/2016
FT311D – nowe życie starego smartfonu z Androidem
Rysunek 3. Schemat połączeń FT311D pracującego w trybie UART
Rysunek 2. Schemat połączeń FT311D pracującego w trybie GPIO
Tryby pracy wyprowadzeń IOBUS układu FT311D
Linie IOBUS mogą pracować jako wyprowadzenia interfejsów w jednym z wybranych trybów. Mogą działać jako wyjścia lub wejścia, pełnić funkcję interfejsu UART lub I2C, SPI,
wyjścia sygnałów PWM. O tym, który tryb pracy zostanie
przyporządkowany do poszczególnych wyprowadzeń IOBUS,
decydują poziomy logiczne podane na trzy linie CNFG0…
CNFG2 interfejsu FT311D. W tabeli 1 wymieniono wszystkie dopuszczalne kombinacje poziomów wymuszające pracę
wyprowadzeń IOBUS w określonym trybie. Linie CNFG mogą
być zwarte do masy (poziom L) lub pozostawione niepodłączone (poziom H).
Tryb GPIO
W tym trybie każde z wyprowadzeń IOBUS może znaleźć się
w stanie wysokim lub niskim. Dowolne wyprowadzenie może
pracować jako wejście lub wyjście. Jako wejścia wyprowadzenia tolerują poziom napięcia 3,3 V lub 5 V. Na rysunku 2
pokazano przykładową konfigurację FT311D do pracy w trybie GPIO.
W przykładzie wyprowadzenia IOBUS0…IOBUS3 pracują
jako wyjścia sterujące czterema diodami LED. Wyprowadzenia
IOBUS4…IOBUS6 pracują jako wejścia podłączone do trzech
przycisków. Po naciśnięciu przyciski zwierają do masy. Wyprowadzenia IOBUS są wewnętrznie podciągane do napięcia
zasilającego układ, dzięki czemu nie ma potrzeby stosowania
dodatkowych rezystorów zasilających.
Rysunek 4. Schemat połączeń FT311D pracującego w trybie PWM
Tryb UART
W tym trybie wyprowadzenie IOBUS0 pełni funkcję wyjścia
TxD, a wyprowadzenie IOBUS1 wejścia RxD. Możliwa jest
transmisja z szybkościami w zakresie od 300 bps do 6 Mbps.
Wyprowadzenia można dołączyć bezpośrednio do portów
UART zewnętrznego kontrolera albo do konwertera poziomów np. MAX232. Dodatkowo dostępne są sygnały sprzętowej
kontroli przepływu RTS i CTS. Układ może także pracować z interfejsem RS485. W tym wypadku sygnał ACTIVE
Rysunek 5. Podłączenie do interfejsu FT311D układu z interfejsem
I 2C
z wyprowadzenia IOBUS4 będzie służył do przełączenia pomiędzy odbiorem a nadawaniem. Na rysunku 3 pokazano
schemat połączeń w trybie UART. Wyprowadzenia IOBUS5…
IOBUS6 nie są używane.
ELEKTRONIKA PRAKTYCZNA 11/2016
97
NOTATNIK KONSTRUKTORA
Rysunek 6. Układ FT311D pracujący w trybie slave
Rysunek 7. Układ FT311D pracujący w trybie master
Tryb PWM
linie danych i zegarowa powinny być podciągnięte poprzez
dodatkowy opornik do poziomu zasilania. Podłączenie do interfejsu FT311D układu np. pamięci pokazano na rysunku 5.
W tym trybie interfejs pracuje jako master. Maksymalna szybkość transmisji danych magistralą może wynieść 125 kbit/s.
Ten tryb służy do generowania na wybranych wyjściach
IOBUS0…IOBUS3 przebiegów o regulowanym okresie i wypełnieniu (rysunek 4). Okres impulsów jest wspólny dla
wszystkich 4 kanałów i może być ustawiany w przedziale
od 1 do 250 ms. Z kolei wypełnienie można oddzielnie dla każdego kanału zmieniać w zakresie od 5% do 95% lub wyłączyć
generowanie przebiegu, ustawiając wartość 0%.
Tryb SPI master i slave
W trybie SPI interfejs FT311D może pracować jako master lub
slave. Linie IOBUS3…IOBUS6 dostarczają wszystkich przebiegów potrzebnych do pracy w obu trybach. Na rysunku 6 pokazano sytuację, w której interfejs FT311D pracuje jako slave,
a na rysunku 7 jako master.
Tryb I2C
W tym trybie wykorzystane są tylko wyprowadzenia IOBUS0
i IOBUS1. Zgodnie z wymaganiami standardu transmisji I2C
+3V3
R4 1k
+5V
IC2
2
1
2
13
22
28
10
9
S1
C15
1u
4
3
USB
1
2
3
4
1uH L1
G1
GND
C11
100n
C10
10u/16
GND
GND
GND
R1 27
17
18
R2 27
C1
100n
USB–A
GND
+
GND
C2
47p
GND
12
14
15
C3
47p
GND
3
7
H
5
3
1
Q1
JP1
L
8MHz
4
5
C12
100n
IOBUS0
VCC
VCCIO
VCCIO
VCCIO
RESET
TEST2
IOBUS1
IOBUS2
IOBUS3
USBDP
IOBUS4
USBDM
IOBUS5
IOBUS6
CNFG0
CNFG1
CNFG2
1V8_VCC_IN
VREGOUT
GND
D3
BYS11–90
GND
GND
SV1
24
7
6
5
4
3
2
1
25
26
29
30
31
11
TEST0
32
USB_ERR
TEST1
GND
GND
GND
GND
GND
XTIN
XTOUT
6
4
2
C13
15p
23
+3V3
8
1
6
16
19
27
SV2
4
3
2
1
C14
15p
GND
GND
G3–1
IC4
G3–2
LM1117 5V
VOUT
3
GND
4
C8
10u/16
GND
GND
Rysunek 8. Schemat ideowy interfejsu z układem FT311D
98
ELEKTRONIKA PRAKTYCZNA 11/2016
+
+
C9
100n
GND
C4
10u/16
GND
VIN
1
GND
TAB
+3V3
LM1117 3V3
2
VOUT
GND
C7
10u/16
2
3
1
GND
+
VIN
GND
G2
GN DC2.5/5.5 SMD
1*2
3
D1
2 BYS11–90
IC1
+5V
TAB
LED1
4
+
C5
10u/16
GND
GND
GND
C6
100n
GND
500
R3
GND
FT311D – nowe życie starego smartfonu z Androidem
Daj nowe życie swojemu staremu smartfonowi! W ofercie AVT są dostępne
zestawy komponentów do omawianego sterownika. Można je nabyć za pomocą
strony internetowej http://sklep.avt.pl/
Schemat interfejsu
z układem FT311D
interfejs FT311D. Zależnie od wybranego
trybu pracy interfejsu aplikacja musi obsłużyć transmisję (np. odbiór i wysłanie danych
poprzez UART) lub steruje poszczególnymi
wyprowadzeniami w przypadku ustawienia
trybu GPIO lub PWM. Firma FTDI udostępnia pliki źródłowe przykładowych aplikacji
dla wszystkich trybów pracy interfejsu oraz
dokumentację z opisem poszczególnych procedur. Linki do wspomnianych materiałów
zamieszczam na końcu artykułu.
Korzystając z podanych przykładów,
można napisać własną aplikację do obsługi
interfejsu w interesującym nas trybie. Generalnie musi ona zawierać procedurę ustanowienia połączenia pomiędzy urządzeniem
androidowym (smartfonem lub tabletem)
a interfejsem FT311D oraz procedurę transmisji danych. Na rysunku 9 zamieszczono
zrzut ekranu aplikacji firmowej FTDI o nazwie PWMDemo. Służy ona do ustawienia
okresu i wypełnienia dla 4 kanałów PWM
odpowiadających IOBUS0-3. Aplikacja uruchamia się samoczynnie po dołączeniu interfejsu ustawionego w trybie PWM do telefonu.
Schemat ideowy interfejsu z układem FT311D pokazano na rysunku 8.
Gniazdo G1 służy do połączenia interfejsu z portem USB telefonu bądź
tabletu. Linie IOBUS wyprowadzono
na złącze SV1. Na wydzielonym złączu SV2 wyprowadzono napięcie
+3,3 V oraz masę zasilania GND. Linie CNFG służące do wyboru trybu
pracy interfejsu połączono ze złączem
JP1. Założenie zwór na stykach złącza
zeruje linie CNFG, a pozostawienie
styków rozwartych – ustawia. Przycisk S1 służy do ręcznego zerowania interfejsu.
Napięcie do zasilania interfejsu
można podać na gniazdo G2 lub G3.
Z wyjścia stabilizatora IC4 napięcie +5 V podawane jest na gniazdo
USB współpracującego telefonu lub
tabletu. Jeżeli akumulator dołączo- Rysunek 9. Zrzut ekranu aplikacji firmonego telefonu będzie częściowo rozła- wej FTDI o nazwie PWMDemo
dowany, napięcie +5 V będzie służyło
do jego ładowania. Ponieważ prąd ładowania może być dosyć
duży, nawet rzędu kilkuset miliamperów stabilizator IC4 może Ograniczenia układu FT311D
się mocno nagrzewać. Dlatego napięcie zasilania interfejsu, Oprócz niewątpliwych korzyści, które daje stosowanie intergdy telefon się ładuje, powinno być możliwe niskie, rzędu 6 V. fejsu FT311D, w czasie eksperymentowania z tym układem
dostrzegłem pewne ograniczenia związane z jego działaniem.
Aplikacje współpracujące z interfejsem FT311D
Wszystkie wyprowadzenia IOBUS muszą pracować w tym
Do sterowania układami podłączonymi do wyprowadzeń samym trybie. Dlatego nie można np. jednocześnie uruchoIOBUS potrzebne są aplikacje androidowe. Są one urucha- mić transmisji UART i sterować dwoma niewykorzystanymi
miane na urządzeniu mobilnym, do którego przyłączono liniami IOBUS5, IOBUS6. Do zmiany trybu jest konieczna
zmiana konfiguracji wyprowadzeń CNFG, wyzerowanie interfejsu i ponowna inicjacja w nowym trybie pracy.
Dla ustanowienia komunikacji pomiędzy urządzeniem androidowym a interfejsem jest niezbędne podanie na pierwszy
styk gniazda USB napięcia +5 V, które może służyć do ładowania akumulatora telefonu. Ze względu na duży prąd potrzebny
podczas ładowania sensowne jest rozdzielenie zasilania telefonu od zasilania samego interfejsu lub zasilania interfejsu
FT311D napięciem ładowania samego telefonu np. z dołączonego na stałe zasilacza sieciowego.
Wariant interfejsu FT312D
Oprócz opisanego interfejsu FT311D jest dostępny jego wariant
o nazwie FT312D. Różni się ograniczeniem dostępnych trybów
pracy do jednego obsługującego transmisję UART.
ryszard szymaniak, ep
ELEKTRONIKA PRAKTYCZNA 11/2016
99

Podobne dokumenty