FPGA Libre
EnglishEspañolS.F. Summary
Hosted by:
Get Free FPGA development tools at SourceForge.net. Fast, secure and Free Open Source software downloads

MILK (Multiple Interface Light Kit) es un cable USB que soporta los protocolos serie más populares (JTAG, SPI, RS-232, I2C, etc.).

MILK => USB a JTAG, SPI, RS-232, I2C, etc.

¿Qué es MILK?:

MILK es un "cable USB", esto es: un circuito electrónico que se conecta al puerto USB de una computadora. El mismo permite comunicarse con diferentes dispositivos electrónicos para configurarlos, almacenar información, etc.

MILK posee dos canales de comunicación, los mismos pueden usarse en forma independiente y utilizando diferentes protocolos.

Para soportar un amplio número de protocolos MILK se basa en un esquema de plug-ins. Cubriendo así un mayor número de situaciones.

MILK foto top
MILK foto bottom
MILK


¿Qué protocolos están soportados?:

MILK está construido en torno al FTDI FT2232H por lo que ofrece todas las facilidades de dicho chip. Una de las cosas interesantes del FT2232H es que sus serializadores pueden utilizarse para implementar virtualmente cualquier protocolo serie.

El siguiente recuadro sumariza el soporte actual de MILK:

Protocolo Uso del mismo Plug-in Software OS
RS-232 Usando niveles lógicos sin handshake por hard RS-232 basic Cualquiera Linux
Usando niveles lógicos con handshake por hard RS-232 DB9 simple Linux
Niveles bipolares sin handshake por hard RS-232 DB9 basic buffered Linux
Niveles bipolares con handshake por hard RS-232 DB9 full buffered Linux
JTAG Uso genérico JTAG base UrJTAG Linux
Debug CPUs ARM OpenOCD Linux
Configuración de FPGAs de Xilinx Xilinx iMPACT Linux
SPI Lectura/Escritura de memorias SPI base flashrom Linux
Configuración y debug CPUs AVR (ej: Arduino) AVRDUDE Linux
Configuración de FPGAs Lattice iCE40 flashrom + parche
Lattice Diamond Programmer
Linux

Sistemas operativos diferentes a GNU/Linux deberían estár soportados ya que MILK puede configurarse para ser idéntico a un sinnúmero de otros cables basados en el FT2232H. En particular los autores de MILK no poseen computadoras que corran Microsoft Windows, pero están abiertos a colaborar con voluntarios interesados en agregar soporte para dicho sistema operativo.

El protocolo I2C es soportado en forma nativa por el FT2232H, por lo que debería estar soportado por MILK. Desconocemos que software sería el más adecuado para este protocolo.

Los protocolos RS-422 y RS-485 son muy similares al RS-232, siendo la mayor diferencia el nivel físico. Por lo que bastaría con implementar el plug-in adecuado.

El FT2232H soporta protocolos propietarios de alta velocidad diseñados por FTDI. Existen descripciones VHDL para implementar estos protocolos en FPGA. Es nuestra intención incluir el soporte para estos protocolos en el mediano plazo.


¿Donde puedo conseguir MILK?:

MILK es un proyecto de hardware abierto, por lo que toda la información de diseño puede descargarse de este sitio.

En la actualidad no hay ningún proveedor que ofrezca versiones de MILK ya armadas. Es nuestra intención fomentar la existencia de fabricantes ya que entendemos que no es eficiente pretender que cada usuario fabrique su propio circuito. La licencia de MILK no permite el uso comercial del mismo, pero nuestra intención es permitir que sea fabricada comercialmente, simplemente queremos asegurarnos de un uso razonable del diseño. Por esta razón alentamos a potenciales fabricantes a ponerse en contacto con nosotros.

Es completamente legal que una Universidad o equipo de entusiastas forme un grupo a los fines de realizar una pequeña tanda de fabricación, bajando así los costos. A tales fines invitamos a los interesados a coordinarse utilizando la lista de correo de MILK.

En el caso de voluntarios que puedan comprometerse a colaborar con el proyecto tenemos algunos circuitos impresos y/o componentes disponibles para que puedan armar su propio cable. En el caso de estudiantes universitarios que deban realizar su PPS (Práctica Profesional Supervisada) es posible realizarla en el INTI trabajando en este proyecto. En cualquiera de estos casos por favor contactarse con nosotros.


Plug-ins:

La versatilidad de MILK se basa en un esquema de plug-ins. Esto permite que podamos usar cualquier combinación de protocolos en sus dos canales. Así es posible usar el canal A de MILK para implementar SPI y el B para implementar JTAG, o cualquier otra combinación deseada.

Un plug-in de MILK puede ser algo tan simple como unos cables y un conector, o tan complejo como un circuito completo. Esto depende del protocolo en cuestión. En la sección de protocolos soportados hay un listado de los plug-ins actualmente disponibles.


Niveles de tensión soportados:

El canal A de MILK se encuentra conectado en forma directa al FT2232H. Por esta razón los niveles de tensión deben estar entre 3,3 V y 5 V. Las salidas de este canal están alimentadas con 3,3 V, por lo que un '1' lógico será aproximadamente 3,3 V. Normalmente esto no es problema para un sistema alimentado con 5 V. Las entradas del FT2232H soportan 5 V aún cuando su alimentación es de 3,3 V. Por otro lado la señalización para 2,5 V es compatible con la de 3,3 V. Si se desea conectar al canal A un circuito de 2,5 V es necesario asegurarse que el mismo es capaz de tolerar tensiones de hasta 3,3 V en sus entradas. En este caso es posible usar el canal A. Si esto no es así se deberá usar el canal B.

El canal B de MILK utiliza dos LSF0108, este chip permite señalizaciones tan bajas como 0,95 V. Por lo tanto este canal puede funcionar entre 0,95 y 5 V. El circuito conectado al canal B de MILK debe indicar su tensión de alimentación en el pin VREF (17) del conector. De esta manera MILK se adaptará a esa tensión. Un detalle importante a tener en cuenta es el valor de RP1/RP2 y/o de los resistores R9 a R24, que pueden o no estar soldados. Estos resistores fijan la corriente que debe ser capaz de absorver el circuito conectado a MILK para imponer un '0' lógico. El valor por defecto de 2k2 implica que un circuito que se alimenta con 3,3 V debe ser capaz de absorver 1,5 mA. Análogamente un circuito que se alimenta con 0,95 V debe ser capaz de absover 430 nA. Si el circuito conectado al canal B es incapaz de manejar estos niveles de corriente será necesario cambiar el valor de RP1/RP2. Es por esta razón que se recomienda utilizar un zócalo. Es importante entender que valores altos de RP1/RP2 reducen la máxima velocidad de conmutación del canal. Análogamente sería posible mejorar la velocidad del canal B utilizando resistores más bajos que 2k2.


Licenciamiento:

MILK es un proyecto de hardware abierto, por lo que toda la información de diseño puede descargarse de este sitio.

La licencia actual del proyecto es Licencia Creative Commons Atribución - No Comercial - Sin Obra Derivada 4.0 Internacional. Si se desea hacer un uso comercial de MILK por favor lea la sección donde se discute la disponibilidad de MILK.

La restricción de no permitir obras derivadas sólo busca cocentrar los esfuerzos en un mismo proyecto. Por lo que estamos abiertos a contribuciones.


Circuito:

MILK fue desarrollado usando KiCad. Puede descargar los Archivos KiCad, el Esquemático (PDF) y los Archivos Gerber.


KiCad:

KiCad es una herramienta de software libre para el diseño de circuitos electrónicos. Los esquemáticos y PCBs de MILK fueron realizados utilizando KiCad "Build: (22-Jun-2014 BZR 4027)-stable" que es la versión incluida en Debian GNU/Linux 8.


Contacto:

Para preguntas generales puede usar la lista de correo de MILK.

Para preguntas específicas puede contactar a Salvador E. Tropea o por teléfono al +54-11-4724-6300 interno 6919.


webmaster.

Valid HTML 4.01! Valid CSS! GIMP Any browser! SourceForge.net Logo

Copyright © 2005-2016 proyecto FPGALibre.
Generated using CAL v0.2.0 and ARENA v0.1.0 on mar sep 20 13:26:56 ART 2016