Czytając arkusz danych FT2232 dual USB UART / FIFO arkusz danych , nie jest dla mnie jasne czy dwa interfejsy są całkowicie niezależne. Innymi słowy, czy mogę skonfigurować interfejs A jako MPSSE, a interfejs B jako UART?
Podręcznik programisty D2XX wspomina o funkcji FT _ SetBitMode w celu skonfigurowania trybu pracy interfejs przez swój uchwyt, ale co dzieje się z podwójnymi lub poczwórnymi interfejsami IC, takimi jak FT2232 i FT4232: czy otrzymujemy wiele uchwytów dla pojedynczego urządzenia ( tj. po jednym dla każdego interfejsu)?
Odpowiedź
Czy mogę skonfigurować interfejs A jako MPSSE, a interfejs B jako UART?
Z dostarczonego arkusza danych
Sekcja 3.4.5 Strona 16
Każdy z kanałów A i B FT2232H ma wieloprotokołowy synchroniczny silnik szeregowy (MPSSE). Każdy MPSSE można niezależnie skonfigurować zgodnie z wieloma standardami branżowymi protokoły interfejsu szeregowego su ch jako JTAG, I2C lub SPI lub może być użyty do implementacji zastrzeżonego protokołu magistrali. Na przykład, możliwe jest użycie jednego z kanałów FT2232H do połączenia z konfigurowalnym FPGA SRAM, takim jak dostarczony przez Altera lub Xilinx. Urządzenie FPGA byłoby normalnie nieskonfigurowane (tj. Nie miało zdefiniowanej funkcji) podczas uruchamiania. Oprogramowanie aplikacji na komputerze PC może wykorzystywać MPSSE do pobierania danych konfiguracyjnych do FPGA przez USB. Te dane określałyby funkcję sprzętową po włączeniu zasilania. Drugi kanał FT2232H byłby dostępny dla innej funkcji. Alternatywnie każdy MPSSE może służyć do sterowania wieloma pinami GPIO. Po skonfigurowaniu w tym trybie wyświetlane są używane piny i opisy sygnałów.
Również w sekcji 4 na stronie 20
… FT2232H ma dwa niezależne konfigurowalne interfejsy. Każdy interfejs może być skonfigurowany jako UART, FIFO, JTAG, SPI, I2C lub bit-bang z niezależnymi generatorami szybkości transmisji. Oprócz tego FT2232H obsługuje tryb emulacji magistrali hosta, tryb FIFO w stylu procesora i szybki, izolowany optycznie tryb interfejsu szeregowego.
Więc można je ustawić niezależnie, ale nie mogę podać dalszych informacji o programowaniu D2XX
Komentarze
- Nie ' nie próbowałem używać funkcji D2xx, jednak użyłem UrJTAG z niestandardowym adapterem JTAG, który używa FT2232HL. Tam, otwierając urządzenie, musisz podać numer interfejsu, za pomocą którego możesz wybrać interfejs, którego program ma używać (interfejs A & B to dwa interfejsy).
- Myślę, że byłem zbyt skoncentrowany na liście zastosowań z początku arkusza danych FT2232 (podwójny UART, podwójny JTAG, …). Dziękuję za wskazanie dobrych sekcji!
Odpowiedź
Tak. Jest to możliwe. Możesz skonfigurować interfejs A jako MPSSE, a interfejs B jako UART.
Nie „Nie mam dużego doświadczenia z funkcjami FT”. Nie mam więc odpowiedzi na drugie pytanie.
Odpowiedź
-
użyj
FT_STATUS FT_CreateDeviceInfoList (LPDWORD lpdwNumDevs)
iFT_STATUS FT_GetDeviceInfoList (FT_DEVICE_LIST_INFO_NODE *pDest, LPDWORD lpdwNumDevs)
, możesz uzyskać informacje o urządzeniu (pDest
) i całkowitą liczbę urządzeń (lpdwNumDevs
).W FT2322HL lpdwNumDevs = 2; następnie otwórz go, użyj iDevice = 0 i iDevice = 1 dla
FT_STATUS FT_Open (int iDevice, FT_HANDLE *ftHandle)
.Lub użyj
pDest[i].LcoID
(w FT2322HL i = 0 i 1) dlaFT_STATUS FT_OpenEx (PVOID pvArg1, DWORD dwFlags, FT_HANDLE *ftHandle)
, a następnie możesz uzyskać 2 ftHandle. Użyj tych 2 ftHandle, aby ustawić inny tryb przezFT_STATUS FT_SetBitmode (FT_HANDLE ftHandle, UCHAR ucMask, UCHAR ucMode)
-
Jeśli konfiguracja EEPROM, możesz ustawić inny tryb dla każdego portu za pomocą narzędzi konfiguracyjnych.
-
W układach scalonych z dwoma lub poczwórnymi interfejsami możemy uzyskać lokalny identyfikator urządzenia 2 lub 4, musisz otworzyć te 2 lub 4 wewnętrzne urządzenia, aby uzyskać 2 lub 4 uchwyty, aby możesz robić, co chcesz, korzystając z tego uchwytu 2 lub 4.
Komentarze
- Witamy w serwisie. Wygląda na to, że możesz mieć przydatne informacje na te raczej stare pytania, ale ' będziesz musiał wykonać znacznie lepszą robotę, przedstawiając coś, co będzie przydatne. Gęste ściany tekstu bez wyjaśnienia naprawdę nie ' nie liczą się jako " odpowiedzi " tutaj . Istnieje ' dodatkowy problem polegający na tym, że chociaż to, co mówisz, może być związane z pytaniem, nie ma dosłownej odpowiedzi na zadane tutaj pytanie .