Alguém me perguntou outro dia como funciona um USB FTDI para serial UART, e eu percebi que não sabia. Olhei para a folha de dados do FT232R e o diagrama de blocos não me ajudou muito. Alguém pode me explicar ou me ligar a uma boa explicação?
Alguém me perguntou outro dia como funciona um USB FTDI para serial UART, e eu percebi que não sabia. Olhei para a folha de dados do FT232R e o diagrama de blocos não me ajudou muito. Alguém pode me explicar ou me ligar a uma boa explicação?
Respostas:
Os chips FTDI implementam a pilha de protocolos USB. A responsabilidade deste hardware é informar ao seu PC o que é (usando algumas informações de identificação), de modo que o computador possa carregar o driver correto para ele e também gerenciar as transações de dados com o PC depois - consulte os pontos de extremidade USB para uma melhor explicação desses processos.
Uma vez carregados esses drivers, isso especificaria um conjunto de comandos que seu PC pode usar para consultar o chip. Este hardware cuida de um lado da equação (comunicação com o seu PC). O outro lado seria um hardware dedicado para gerenciar o protocolo UART, que inclui lógica, buffers e drivers de linha e os tipos. O conjunto de comandos mencionado anteriormente seria usado para ler ou gravar no hardware UART. Provavelmente, deve-se mencionar que os dispositivos USB são pesquisados pelo PC; portanto, nos casos em que você está usando código baseado em eventos, seu PC está fazendo algumas pesquisas para determinar a chegada de novos dados - isso pode ser diferente de um serial serial nativo. porto, eu não saberia.
A lógica acima pode ser implementada como um ASIC dedicado ou usando um núcleo de microcontrolador despojado que executa o firmware na ROM. Se é realmente um núcleo de microcontrolador, imagino que o UART esteja conectado a ele como periférico.
Há um microcontrolador USB dentro do qual fala um protocolo proprietário sobre USB (daí a necessidade de drivers) e converte isso em sinais UART "normais" e vice-versa.