Convertidor USB/Serie sin Chip FTDI [cerrado]

En primer lugar, quiero mencionar que esta pregunta está relacionada con mi última pregunta sobre la conexión USB. (Tenga en cuenta que esta pregunta es sobre un tema específico del que no trata mi última pregunta, pero pertenece a él)

Estoy buscando una manera de hacer una conversión USB/Serie sin un chip FTDI o algo así.

Entonces, ¿es posible construir un circuito simple que haga lo que hace el FTDI? Y si es así, ¿cómo puedo hacerlo y paga el trabajo? Y por último pero no menos importante, ¿qué hace exactamente el chip FTDI?

¿Cómo convierte la señal de serie a USB y cuáles son las diferencias entre ellas?

(Para obtener más información sobre el proyecto que va a utilizar este convertidor USB / serie "hecho a sí mismo" , consulte mi pregunta que está vinculada a continuación)

Gracias por todas sus respuestas.

¿Por qué no usar un AVR que tenga un U(S)ART?
Es posible hacer una placa que haga lo que hace el FTDI, pero no es más barata a menos que esté dispuesto a renunciar a la velocidad.
@IgnacioVazquez-Abrams para este proyecto necesito usar un ATtiny45. No tiene USB integrado (hardware).
¿Necesitas usarlo para el convertidor también?
@GustavoLitovsky, ¿qué hace exactamente el FTDI? ¿Cómo es la señal serial y cómo se convierte en señal USB? y ¿por qué no puedo simplemente emular la conversión con, por ejemplo, el código arduino usando el software arduino (arduino como ISP... por favor verifique la pregunta vinculada)
@IgnacioVazquez-Abrams No, no... ¿viste la imagen en la publicación vinculada? primero estaba buscando una solución basada en software para el problema (mencionado en la otra publicación), pero ahora estoy buscando una solución de hardware que me permita poner todos los componentes que necesito en una sola placa (4 x 20) que tiene un encabezado USB A y un encabezado de 8 pines para el pequeño (como se muestra en la imagen). de esta manera puedo reducir el proyecto al tamaño de una memoria USB
Puede hacer un convertidor USB-Serie sin un chip FTDI: en su lugar, use un chip PL2303 de la compañía taiwanesa Prolific.

Respuestas (2)

Sí, puede hacer un dispositivo USB nativo sin el FTDI IC.

Algunos circuitos integrados de Atmel ( ATtiny2313 ) y Microchip ( PIC18F2550 ) tienen puertos USB nativos. Entonces es solo plug and play.

Este sitio tiene algunos buenos ejemplos para usar ATtiny, y este con PIC.

Todos ellos usan el V USB para comunicarse con la computadora, emulando un puerto Serial en ella.

gracias por esa respuesta ¿Le echaste un vistazo a mi pregunta que he vinculado? Estoy usando attiny45 con VUSB pero no estoy seguro de cómo conectarlo... si puede, ¿podría responder a mi última pregunta?
Yo no lo llamaría plug and play. A menos que esté satisfecho con exactamente lo que hacen los descriptores de ejemplo, estará escribiendo descriptores y definiendo puntos finales. No es particularmente difícil, pero depurar estas cosas, especialmente sin herramientas profesionales, puede volverse francamente tedioso.
@ScottSeidman: ¿Conoce alguna solución prefabricada de código abierto o económica para interconectar un dispositivo serial arbitrario usando HID en lugar de clase de comunicaciones (suponiendo que el software escrito específicamente en el lado de la PC)? HID no puede administrar velocidades tan buenas como la clase de comunicaciones, pero sus controladores se instalan automáticamente con cada versión de Windows y son menos molestos que cualquiera de los controladores de clase de comunicaciones que he usado.
Los antiguos dongles serie usb Keyspan USA-19HS adoptan este enfoque: están construidos alrededor de un microcontrolador variante 8081 en lugar de un chip serie USB dedicado. (También son un fastidio, ya que requieren controladores de sistema operativo que carguen firmware propietario).
@supercat, no para series genéricas, pero muchos pequeños artilugios casi pueden hacerlo. u-hid.com/home/uhid_nano.php por ejemplo
@Ace Eche un vistazo a su primera pregunta nuevamente, vea si puedo ayudarlo.

Entonces, ¿es posible construir un circuito simple que haga lo que hace el FTDI?

En resumen: no es posible construir un circuito simple para hacer eso.

Podría construir un circuito no tan simple, que implicaría un circuito integrado específico de la aplicación, como el FT232 o sus primos (MCP2200, PL2303, CH341, etc.), o un microcontrolador con una interfaz USB de hardware integrada. Estos dos son prácticamente iguales, dentro de un FT232 lo más probable es que encuentre un microcontrolador con una interfaz USB de hardware. Lo que gana al usar un IC específico de la aplicación es que no tiene que escribir el firmware para el IC usted mismo. Lo que gana al usar un microcontrolador es que tiene mucha más libertad, ya que no está sujeto a las limitaciones del firmware codificado. Además, dada la gran oferta de microcontroladores en el mercado, probablemente puedas encontrar una solución con un microcontrolador con un precio más bajo.

Sin embargo, en la mayoría de los casos, por lo general no hay una buena razón para usar un microcontrolador tonto para sus necesidades informáticas (un Attiny45, por ejemplo) y colocar otro microcontrolador (más equipado) frente al otro para proporcionar la interfaz USB. Puede fusionar los dos y seleccionar un tipo de microcontrolador para sus necesidades que también maneja la interfaz USB, hay muchos microcontroladores de este tipo.

Por supuesto, a veces hay razones legítimas para separar las dos funciones. Por lo general, una razón legítima es la separación galvánica: colocar un par de optoacopladores es fácil si tiene un par de líneas serie y mucho más difícil si tiene una línea USB.

En el caso del MCP2200, es exactamente lo mismo. Es literalmente solo un PIC18F14K50 renombrado.
Exactamente. Y el precio también es más o menos el mismo.
En realidad, hay otra muy buena razón para usar dos chips: aislar las tareas del software. Si la interfaz USB tiene que compartir el tiempo con el código de la aplicación, cualquier falla en el código de la aplicación, o el uso de un depurador, puede interrumpir la sesión USB. Uno aprende rápidamente que cualquier proyecto de USB integrado también debe tener puntos de prueba o encabezados para un canal en serie que se puede usar con un convertidor externo durante las fases iniciales o desafiantes del desarrollo.