JTM001: Especificaciones

Este primer proyecto, como figura en el primer post introductorio, consistirá en un convertidor de USB a UART a niveles TTL. Podría ser útil incluir un transductor para RS-232, RS-485 o cualquier otro. Pero veo más cómodo que cada placa haga una cosa, y cuando se necesiten dos, usar dos placas. Si se necesitan 3, usar 3. Sea pasando por una protoboard, cableando de placa a placa, o como sea.

Hay muchos integrados que pueden cumplir con el papel de conversor de USB a UART. Y no sólo integrados específicos, también puede hacerse con un microcontrolador, escribiendo un firmware específico. ¿Cual elegir? Por lo general diría, basado únicamente en los proyectos que he visto por Internet,que los integrados de FTDI son la opción más usada. Pero hay muchas más, y una simple búsqueda en google da múltiples opciones. ¿Cómo elegimos, pues? Al final, sopensando varias opciones, este proyecto usará uno de los integrados de Microchip. ¿Por qué? Por que son más baratos (O incluso pueden salir gratis, vía samples), algo que para un estudiante, por ejemplo, puede ser un aspecto decisivo. También, precisamente, para intentar dar más opciones, más variedad: limitarse a repetir lo mismo aporta poco a la comunidad. Pero claro, en cierto sentido, podría parecer que es repetir lo que ya hace la propia Microchip, que ofrece placas breakout de los integrados en cuestión (O de algunos de ellos, al menos). La idea es que aporte algo más,en este caso, además de “enseñar” el proceso en lugar de simplemente ofrecer la placa, la idea es enseñar variaciones de la idea. Por ejemplo, diseñando una variante con conector usb “físico”, y otra con pistas en la pcb que junto a esta actúen de conector (Esto es, que la propia pcb sea la que se inserte en el puerto). De la misma manera, hay varios integrados que hacen esta conversión en la gama de Microchip, así que haremos una con el MCP2200, que necesita componentes externos, por ejemplo cristal o resonador, y otra con el MCP2221, que no los necesita, y que además puede actuar como conversor de USB a I2C, por ejemplo. Otra idea es incluir algún elemento extra que, aunque no sea necesario, pueda ser interesante, como protección contra sobrecorrientes o sobrevoltajes.

Así pues, tenemos la idea para los conectores USB, tenemos la idea para los integrados, para alguno de los extras… Ahora queda estudiar los integrados y sus requisitos, conectores diversos, los posibles extras, etc, antes de empezar con los esquemáticos, y después, con las placas.

 

Enlaces de interés:

Página del MCP2200 en la web de Microchip

Página del MCP2221 en la web de Microchip

Primer proyecto: Placa USB a serie (HW + SW)

Como primer proyecto, empezaremos por algo sencillo, para ir cogiendo impulso. La idea es hacer una placa para convertir de USB a UART (A niveles TTL) sencilla, para ir probando el flujo de diseño, la forma de documentar, etc. Como proyecto inicial debería ser ideal: pocos componentes en el hardware, pero aún así habrá que crear alguno en KiCAD, software no demasiado complejo, pero con la posibilidad de hacerlo multiplataforma.

¿Que herramientas vamos a usar? Para el diseño de esquemático y placa de circuito impreso, usaremos KiCAD. Para diseño mecánico (Sea para una caja para la placa, o para el modelado 3D de algún componente) usaremos FreeCAD. Eso en cuanto al hardware. Para el software,  usaremos Python. Como reza el dicho, enseñar es aprender dos veces, y la intención de este blog es principalmente aprender, pero hacerlo compartiendo el conocimiento.

Todo el desarrollo será público: aquí en el blog iremos describiendo todo el proceso, en GitHub alojaremos todo el código del software y los archivos del hardware, y probablemente una vez tengamos algo “terminado”, haga una pequeña página estática con un resumen del proyecto. O quizá una wiki, pero en cualquier caso para decidir eso aún hay tiempo más que de sobra.

El proyecto aún carece de nombre. Es más: poner nombres es algo complejo, y quizá innecesario. Así que de momento, nos referiremos a él como Proyecto JTM001. O mejor, como JTM001, a secas. En el improbable caso de que lleguemos al proyecto 1000 ya pensaremos si cambiamos el formato, añadimos una cifra, o estudiamos otras opciones.

El siguiente post versará sobre las especificaciones del proyecto, y probablemente también sobre los componentes del proyecto (En cuanto al hardware), sea para hablar de las posibles opciones o bien para decidirnos por una en concreto.