Dwukanałowy konwerter USB-C z układem FT2232H

Dwukanałowy konwerter USB-C z układem FT2232H

Dwukanałowy konwerter USB-C, który zawiera układ FT2232H, może pełnić funkcję podwójnego portu UART lub w trybie MPSSE emulować szybkie interfejsy JTAG, SPI, I²C. Druga cecha jest szczególnie przydatna, gdyż FT2232H może wtedy pełnić funkcję programatora JTAG. Umożliwia to budowę niskobudżetowego programatora przydatnego np. do kursu FPGA Lattice publikowanego na łamach EP.

Podstawowe parametry:
  • dwa kanały USB-C/UART lub MPSSE,
  • każdy z kanałów może zostać skonfigurowany niezależnie,
  • może pełnić funkcję programatora JTAG,
  • konfiguracja za pomocą oprogramowania FT_Prog i zapis ustawień w pamięci nieulotnej.

Układ FT2232H pełni funkcje dwukanałowego konwertera USB, a realizowana funkcja konfigurowana jest oprogramowaniem FT_Prog i zapisywana w pamięci nieulotnej typu 93LC66B. Każdy z kanałów może zostać skonfigurowany niezależnie, co umożliwia realizację kanałów JTAG i UART przydatnych zarówno do programowania jak i testowania aplikacji. FT2232H pracuje w typowej aplikacji zasilanej z portu USB.

Budowa i działanie

Konwerter zawiera układ FT2232H, którego budowę we wewnętrzną pokazuje rysunek 1.

Rysunek 1. Budowa wewnętrzna układu FT2232H (za notą FTDI)

Zawiera on wszystkie niezbędne do budowy konwertera bloki funkcjonalne. Schemat konwertera został pokazany na rysunku 2. Magistrala USB doprowadzona jest do złącza USB-C, pracującego w trybie zgodności z USB2.0. Matryca diod TVS zabezpiecza szynę danych DN/DP i zasilanie VBUS interfejsu USB-C przed skutkami przepięć. Stabilizator LDO U3 typu AP7361 dostarcza napięcia 3,3 V do zasilania układu konwertera i umożliwia zasilanie układów współpracujących podłączonych do złącz PA/B, UARTA/B.

Rysunek 2. Schemat konwertera

Każdy kanał ma diodę Led (PA, PB) sygnalizującą status komunikacji. Interfejs szeregowy UART wraz z zasilaniem 3,3 V doprowadzony jest do złącz UARTA/B zgodnych z Grove, z których można korzystać, gdy FT2232 realizuje funkcje UART. W trybie MPSSE (wieloprotokołowy szybki interfejs szeregowy) konieczne jest wyprowadzenie 4 sygnałów dla każdego kanału, które wraz z zasilaniem dostępne są na złączach PA/B.

Przypisanie sygnałów zależy od wybranego interfejsu, np.: dla JTAG są to TCK, TDI, TDO, TMS, dla SPI SCK, DO, DI, CS. W przypadku realizacji interfejsu JTAG należy zwrócić uwagę na noty katalogowe współpracujących układów i zapewnić odpowiednie rezystory podciągające lub pojemności obciążające poszczególne sygnały, które nie są przewidziane na płytce konwertera.

Montaż i uruchomienie

Układ zmontowany jest na miniaturowej dwustronnej płytce drukowanej, ze względu na chęć zachowania niewielkiego rozmiaru, zastosowano część elementów w rozmiarze SMD0402, co wymaga sporej precyzji podczas montażu. Schemat płytki PCB został pokazany na rysunku 3. Montaż nie wymaga szczegółowego opisu, gotowe urządzenie zostało pokazane na fotografii tytułowej.

Rysunek 3. Schemat płytki PCB

Po podłączeniu do komputera z systemem Windows układ wykrywany jest automatycznie. W fabrycznej konfiguracji FT2232 bez dodatkowej konfiguracji obsługuje podwójny interfejs UART. Dla sprawdzenia transmisji, można połączyć ze sobą dwa kanały konwertera i przeprowadzić transmisję znakową z dwóch terminali portu szeregowego lub podłączyć układ do urządzenia docelowego i sprawdzić poprawność komunikacji oraz sygnalizację transmisji RX/TX diodami PA/PB.

Jeżeli chcemy użyć interfejsu MPSSE, musimy uruchomić konfigurator FT_prog.exe (rysunek 4) i zmienić konfigurację (PortX\Hardware) z RS232UART na 245FIFO oraz aktywować driver D2XX (PortX\Driver). Warto ustawić maksymalny pobierany prąd z USB na 500 mA i zwiększyć wydajność GPIO do 16 mA.

Rysunek 4. Konfiguracja FT2232

Po zapisaniu parametrów do EEPROM (ProgramDevice) i restarcie układu (CyclePort) układ zainicjuje się z nowymi ustawieniami.

W przypadku zmiany funkcji z UART, układ nie jest już widoczny w zakładce portów szeregowych USB Menedżera urządzeń. Aktywny jest driver D2xx, a obsługą MPSSE musi zająć się współpracująca aplikacja, np. programator JTAG. Aby używać płytki konwertera jako programatora do kursu FPGA Lattice, kanał A ustawiamy jako JTAG, kanał B jako interfejs szeregowy. Płytka jest rozpoznawana jako programator zgodny z HW-USBN-2B (FTDI) (rysunek 5).

Rysunek 5. Interfejs JTAG

Należy jednak pamiętać o wyborze kanału FTUSB-0. Po podłączeniu portu A konwertera z interfejsem JTAG układu i inicjacji łańcucha JTAG można wykryć podłączony układ, w tym przypadku LCMXO2-1200HC i używać programatora jak „fabrycznego”. Kanału UART można użyć do komunikacji z aplikacją docelową.

Adam Tatuś, EP

Wykaz elementów:
Rezystory: (SMD0402, 1%)
  • R1, R2, R3, R11: 2 kΩ
  • R4, R5: 5,1 kΩ
  • R6: 12 kΩ
  • R7: 1 kΩ
  • R8, R9, R10: 10 kΩ
Kondensatory:
  • C1, C2, C3, C4, C5, C7, C8, C9, C12: 0,1 μF 10 V (SMD0402)
  • CET1, CET2, CET3: 4,7 μFT/10 V, tantalowy A (3216)
  • C6: 3,3 μF 10 V (SMD0603)
  • C10, C11: 27 pF 10 V (SMD0402)
  • C13, C14, C15: 2,2 μF 10 V (SMD0603)
Półprzewodniki:
  • LD1, LD2: dioda Led żółta (SMD0603)
  • LD3: dioda Led czerwona (SMD0603)
  • U1: FT2232H-56Q (VQFN56)
  • U2: 93LC66BT-I/OT (SOT-23-6)
  • U3: AP7361C-33ER-13 (SOT-223)
Pozostałe:
  • FB1, FB2, FB3, FB4: dławik ferrytowy BLM18EG101 (SMD0603)
  • PA, PB: złącze szpilkowe SIP6, 2,54 mm
  • TVS1: ESD204 (USON10)
  • UARTA, UARTB: złącze Grove proste (110990030)
  • USB-C: złącze USB-C USB4110GTC
  • XT1: kwarc 12 MHz (CFPX-180)
Artykuł ukazał się w
Elektronika Praktyczna
listopad 2023
DO POBRANIA
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio maj - czerwiec 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów