Alguien me preguntó el otro día cómo funciona un USB FTDI a UART en serie y me di cuenta de que no lo sabía. Miré la hoja de datos del FT232R y el diagrama de bloques realmente no me ayudó. ¿Alguien puede explicarme o vincularme a una buena explicación?

Comentarios

  • ¿Es más una explicación que la que implementa el lado del dispositivo de un dispositivo USB CDC? en.wikipedia.org/wiki/USB_communications_device_class
  • @kenny, en realidad, no ' t. Utiliza un perfil propietario, por lo que necesita instalar controladores para usarlo (al menos en Windows).
  • @avakar, usa controladores en todos los sistemas operativos, algunos vienen precargados.

Respuesta

Los chips FTDI implementan la pila de protocolos USB. La responsabilidad de este hardware es decirle a su PC qué es (utilizando alguna información de identificación) de modo que su computadora pueda cargar el controlador correcto para él, y también administrar las transacciones de datos con la PC en ese momento: busque puntos finales USB para una mejor explicación de estos procesos.

Una vez que se cargan esos controladores, esto especificaría un conjunto de comandos que su PC puede usar para consultar el chip. Este hardware se encarga de un lado de la ecuación (comunicación con su PC). El otro lado sería un hardware dedicado para administrar el protocolo UART que incluye lógica, búferes y controladores de línea y demás. El conjunto de comandos mencionado anteriormente se usaría para leer o escribir en el hardware UART. Probablemente debería mencionarse que los dispositivos USB son sondeados por la PC, por lo que en los casos en los que está utilizando un código que se basa en eventos, su PC en realidad está realizando una encuesta para determinar que han llegado nuevos datos; esto puede ser diferente a una serie nativa puerto, no lo sabría.

La lógica anterior se puede implementar como un ASIC dedicado o mediante el uso de un núcleo de microcontrolador simplificado que ejecuta firmware en ROM. Si de hecho es un núcleo de microcontrolador, entonces imagina que el UART está conectado a él como un periférico.

Comentarios

  • ¿Y qué tan seguro estás de que no hay ' ¿Se está ejecutando un programa de firmware? Los microcontroladores generalmente requieren menos puertas lógicas que la implementación de hardware dedicado ASIC equivalente. Es ' realmente difícil distinguir un microcontrolador de un ASIC, si el firmware del microcontrolador no es ' t accesible para el usuario.
  • @Ben: ¿Sabes qué? ldn ' No he dicho eso. La respuesta ha sido editada debido a mi ignorancia. Seguí mi suposición instintiva después de mirar el diagrama de bloques, pero supongo que sería mejor abstraer cualquier detalle potencial de UC de todos modos. Supongo que solo los de FTDI lo sabrían, y supongo que todo se reduce a los costos de licencia principales frente al tiempo de desarrollo interno.
  • Por lo general, cuando tiene un " protocolo " terminas con un " programa " para manejarlo … incluso si ' está funcionando en un motor enterrado profundamente en un ASIC o FPGA. La excepción serían las cosas en las que la velocidad deslumbrantemente rápida triunfa sobre la complejidad, donde es probable que vea una máquina de estado o un paralelismo masivo. En el medio hay motores donde la ruta de cómputo está construida fuera de proporción con la lógica de control – algo así como la idea original detrás de los procesadores DSP

Respuesta

Hay un microcontrolador USB dentro del cual habla un protocolo propietario a través de USB (de ahí la necesidad de controladores) y lo convierte en señales UART «normales» y viceversa.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *