Lendo o FT2232 dual USB UART / FIFO folha de dados , não está claro para mim se as duas interfaces forem completamente independentes. Em outras palavras, posso configurar a interface A como MPSSE e a interface B como UART?
O O guia do programador D2XX menciona a função FT _ SetBitMode para configurar o modo de operação de um interface por meio de seu identificador, mas o que acontece com ICs de interface dual ou quádruplo como o FT2232 e FT4232: obtemos vários identificadores para um único dispositivo ( ie um para cada interface)?
Resposta
posso configurar interface A como MPSSE e interface B como UART?
A partir da folha de dados que você forneceu
Seção 3.4.5 Página 16
O FT2232H canal A e canal B têm cada um um Multiprotocolo Synchronous Serial Engine (MPSSE). Cada MPSSE pode ser configurado de forma independente para uma série de padrões da indústria protocolos de interface serial su ch como JTAG, I2C ou SPI, ou pode ser usado para implementar um protocolo de barramento proprietário. Por exemplo, é possível usar um dos canais do FT2232H para se conectar a um FPGA configurável SRAM, como fornecido pela Altera ou Xilinx. O dispositivo FPGA normalmente seria desconfigurado (ou seja, não teria função definida) na inicialização. O software aplicativo no PC pode usar o MPSSE para baixar dados de configuração para o FPGA por USB. Esses dados definiriam a função de hardware na inicialização. O outro canal FT2232H estaria disponível para outra função. Alternativamente, cada MPSSE pode ser usado para controlar vários pinos GPIO. Quando configurado neste modo, os pinos usados e as descrições dos sinais são mostrados
Também na seção 4 página 20
… O FT2232H tem duas interfaces configuráveis independentes. Cada interface pode ser configurada como UART, FIFO, JTAG, SPI, I2C ou modo bit-bang com geradores de baud rate independentes. Além disso, o FT2232H suporta um modo de emulação de barramento host, um modo FIFO estilo CPU e um modo de interface serial opto-isolado rápido.
Portanto, eles podem ser configurados independentemente, mas não posso fornecer mais informações sobre a programação D2XX
Comentários
- Eu não ' tentei usar as funções D2xx, no entanto, usei UrJTAG com um adaptador JTAG personalizado, que usa FT2232HL. Pronto, ao abrir o dispositivo, você deve especificar um número de interface, através do qual você pode escolher qual interface o programa deve usar (interface A & B são duas interfaces).
- Acho que estava muito focado na lista de aplicativos do início do datasheet do FT2232 (dual UART, dual JTAG, …). Obrigado por apontar as boas seções!
Resposta
Sim. É possível. Você pode configurar a interface A como MPSSE e a interface B como UART.
Eu não “tenho muita experiência com as funções do FT”. Portanto, não tenho uma resposta para a segunda pergunta.
Resposta
-
use
FT_STATUS FT_CreateDeviceInfoList (LPDWORD lpdwNumDevs)
eFT_STATUS FT_GetDeviceInfoList (FT_DEVICE_LIST_INFO_NODE *pDest, LPDWORD lpdwNumDevs)
, você pode obter informações do dispositivo (pDest
) e contagem total de dispositivos (lpdwNumDevs
).Em FT2322HL lpdwNumDevs = 2; em seguida, abra-o, use iDevice = 0 e iDevice = 1 para
FT_STATUS FT_Open (int iDevice, FT_HANDLE *ftHandle)
.Ou use
pDest[i].LcoID
(em FT2322HL i = 0 e 1) paraFT_STATUS FT_OpenEx (PVOID pvArg1, DWORD dwFlags, FT_HANDLE *ftHandle)
, e então você pode obter 2 ftHandle. Use estes 2 ftHandle para definir o modo diferente porFT_STATUS FT_SetBitmode (FT_HANDLE ftHandle, UCHAR ucMask, UCHAR ucMode)
-
se a configuração EEPROM, você pode definir o modo diferente a cada porta por ferramentas de configuração.
-
Em ICs de interface dupla ou quádrupla, podemos obter 2 ou 4 IDs locais de dispositivos, você precisa abrir esses 2 ou 4 dispositivos internos para obter 2 ou 4 alças, para que você pode fazer o que você quiser com esta alça 2 ou 4.
Comentários
- Bem-vindo ao site. Parece que você pode ter algumas informações úteis sobre essas questões bastante antigas, mas você ' terá que fazer um trabalho muito melhor para apresentar algo de uso claro. Paredes densas de texto sem explicação realmente não ' t contam como " respostas " aqui . Há ' o problema adicional de que, embora o que você está dizendo possa estar relacionado à pergunta , não há uma resposta literal para a pergunta feita aqui .