Dual USB Converter

Doble conversor USB serie e I2C

ACTUALIZACION: Algunos lugares donde ha aparecido el proyecto. Es un honor, gracias a todos!!

Hola! Después de un par de meses con mucho trabajo, vuelvo por aqui con la última tarjeta que diseñé antes de Navidades. Se trata de un doble conversor USB serie e I2C, basado en dos bridges USB 2.0 MCP2221 de Microchip. La tarjeta surgió como una necesidad en mi trabajo con el último proyecto en el que estuve involucrado. Necesitaba monitorizar una comunicación serie entre dos dispositivos. Con un solo convertidor, tenía que seleccionar entre las líneas de TX o RX para monitorizarlas. Con esta solución, se puede ver al mismo tiempo las líneas de TX y RX, con lo que la monitorización es mucho más sencillas. Y con una herramienta software como Docklight (se puede descargar una versión de evaluación libremente desde aqui), se puede seleccionar la opción de ‘Monitorización’ para mostar de forma muy fácil los dos canales. A continuación se encuentra toda la información técnica de la tarjeta!

  • Hardware

Lo primero, el esquema de la tarjeta, se puede obtener aqui: EEL_USB_DualComPort_V1.0. Está basada en la tarjeta de evaluación del MCP2221 con algunas modificaciones. El esquema esta dividido en las siguientes partes:

  1. Diagrama principal: Incluye los conectores mini-B, didos TVS para proteger las lineas del puerto USB y los conectores de salida. He dejado previsto en la PCB dos huellas diferentes para dos tipos de conectores diferentes: conectores de tornillo o tira de pines, para poder utilizar la tarjeta directamente en una placa de prototipado.
  2. Etapa de alimentación: La tarjeta se alimenta desde los 5V del puerto USB. En cada entrada de alimentación USB he añadido un fusible rearmable de 0,5A para proteger el puerto USB. Las dos alimentaciones estan en paralelo a través de dos diodos SSA33, y conectada a la entrada de un regulador lineal NCP1117-3.3 para obtener la alimentación de 3.3V del sistema. El MCP2221 puede trabajar con niveles de 5V o 3.3V, dependiendo de a que tensión esté alimentado. Para ambos MCP2221, he dejado previsto un jumper para seleccionar la alimentación (VDD_A y VDD_B). De esta forma, con un jumper por convertidor, se puede seleccionar el nivel de las señales a utilizar: se puede utilizar con sistemas alimentados a 3.3V, a 5V o una mezcla de ambos!
  3. Conversor USB-Serie MCP221 (A): Incluye la conexión básica del conversor. Tiene una pequeño filtro R-C en las lineas de datos del bus USB y un pulsador de Reset. Además de la función de conversor USB – Serie, el MCP2221 también puede convertir de USB a I2C maestro. De esta forma, se pueden conectar dispositivos I2C esclavos en el bus y comunicarse con ellos (ver apartado software). Para las comunicaciones I2C, he dejado previstos unos jumpers para poner o quitar las resistencias de pull-up del bus. Por último. he utilizado los pines GP0,GP1 y GP3 como indicadores de las comunicaciones (son activos a nivel bajo, configuración estándar). De esta forma. GP0 se enciende cuando se reciben datos por el puerto serie (led rojo). GP1 luce cuando cuando hay transmisión por el puerto serie (led amarillo). Y GP3 luce cuando hay comunicación en el bus I2C (led verde).
  4. Conversor USB-Serie MCP221 (B): Igual que el punto anterior.

He diseñado la tarjeta con componentes solo por una cara, ya que es más fácil de montar. Para la PCB, he usado el formato DP5050 de DangerousPrototypes. Toda la información de la PCB está en el siguiente fichero: INFO_USB_DualComPort_V1.0, y los ficheros gerber de la tarjeta se pueden descargar desde aqui: GBR_USB_DualComPort_V1.0. Y aqui un par de imágenes en 3D de la tarjeta, generadas con Altium:

dual USB converter dual USB converterHe pedido las tarjetas a la compañia DirtyPCB, y como siempre, la calidad es excelente por el precio que cuestan. Han tardado justo un mes desde que las pedí hasta que llegaron a casa. También he pedido el stencil, para intentar montar las tarjetas con un pequeño horno casero, pero aún no he podido probarlo. Por lo que estos prototipos los he montado a mano.

dual USB converterAqui hay algunas fotos con las dos opciones de ensamblado: conectores de tornillo y tira de pines:

  • Software

En el apartado software, para utilizar la tarjeta el primer paso es instalar el driver. En la página de Microchip del MCP2221 estan los drivers e información para los distintos sistemas operativos. Si eres usuario de Windows, puedes descargar el driver directamente desde  aqui.

Además del driver, hay dos herramientas muy útiles. La primera es MCP2221 Utility (version 1.0.1 en estos momentos). Con esta herramienta, se pueden leer los parámetros del MCP2221 y modificar la mayoria de ellos (como VID y PID, Descriptor, configuración de los pines GPx,….):

dual USB converterY, por supuesto, si están los dos convertidores conectados, se puede cambiar entre uno u otro sin ningun problema:

dual USB converterLa otra herramienta que Microchip proporciona es MCP2221 I2C/SMBus Terminal (v2.0). Con esta utilidad, se pueden manejar dispositivos I2C que estén conectados en el bus I2C como esclavos. Debajo del botón ‘Advance Settings’, se puede especificar un rango de direcciones I2C y el MCP2221 realizará una búsqueda en el bus para encontrar dispositivos conectados:
dual USB converterUna vez conocida la dirección del dispositivo, en la parte superior de la aplicación se pueden enviar comandos de escritura y lectura al dispositivo, y comprobar asi las comunicaciones. Es una forma fácil y útil de chequear y comunicarse con dispositivos I2C!

dual USB converter

  • Twitter
  • del.icio.us
  • Digg
  • Facebook
  • Technorati
  • Reddit
  • Yahoo Buzz
  • StumbleUpon

This post is also available in: Inglés

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.