Sistemas Distribuidos y Paralelos Unidad 2 Conceptos de sistemas distribuidos y paralelos.
Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0:...
Transcript of Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0:...
![Page 1: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/1.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Instituto Nacional de Tecnología Industrial
MILK Multiple Interface Light Kit
Disertante: Salvador E. TropeaCentro de Micro y Nanoelectrónica (CMNB)
![Page 2: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/2.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Índice
1. ¿Qué es MILK?
2. ¿Por qué otro cable?
3. MILK plug-ins
4. Aplicaciones
5. Uso en Kéfir y Lattuino
![Page 3: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/3.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
¿Qué es MILK?
Multiple Interface Light Kit● Cable USB para PC con soporte para:
● JTAG● SPI● RS-232● I2C● Otros
● Basado en FTDI2232H● Interfaz USB 2.0● Dos canales independientes
![Page 4: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/4.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
¿Qué es MILK?
2 x (JTAG + SPI + RS-232 + I2C + …) =
http://fpgalibre.sf.net/Milk/
![Page 5: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/5.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
¿Qué es MILK?
Aclaración para los que conocen otros
cables USB basados en el FTDI2232H
![Page 6: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/6.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
¿No existen cables basados en FTDI2232H?
¡Claro que si!● Propietarios:
● Amontec JTAGkey● Digilent HS1● Olimex ARM-USB-OCD
● Abiertos:● Opendous● Turtelizer 2● Bus Blaster
¡Y m
ucho
s más
!
![Page 7: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/7.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
¿Para qué otro?
1) Versatilidad de protocolos● En los cables disponibles lo normal es que uno o más de los canales del FTDI2232H estén dedicados a una funcionalidad fija. Usualmente JTAG. No pudiendo usarse para otro protocolo.
● En mi caso tenía un Opendous y necesitaba usar SPI+RS-232 (imposible)
![Page 8: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/8.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
¿Para qué otro?
2) Versatilidad de tensiones● Muchos cables funcionan con tensiones de 2,5 V o superiores.
● Algunos soportan 1,65 V o superiores.● Alguno soporta 1,4 V.
¡El canal B de MILK funciona desde 0,9 V!
![Page 9: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/9.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Características
● USB 2.0: alta velocidad● 30 MHz de reloj en protocolos serie (Verificado)● Protocolos paralelos de alta velocidad de FTDI.
● VHDL y código C disponible en internet (NO verificado)● Canales A y B disponibles para cualquiera de los protocolos.
● Todo el canal B soporta lógica con tensiones de 0,9 a 5 V (level shifter bidireccional)
![Page 10: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/10.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
¿Cómo se logra soportar todos los protocolos?
¡Esquema de plug-ins!
![Page 11: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/11.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
¿MILK plug-in?
● Los plug-ins “customizan” los canales de MILK.
● Dependiendo del protocolo pueden ser:● Simplemente conectores (JTAG, SPI, RS-232 TTL)
● Circuitos (RS-232 real)
![Page 12: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/12.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Aplicacionesactuales
![Page 13: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/13.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
RS-232
![Page 14: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/14.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
RS-232 con niveles lógicos
● El proyecto propone 4 posibles cables combinando:● DB-9/DB-25● Con o sin null-modem
● Son simplemente cables y conectores● Pueden usarse para comunicación con microcontroladores y/o FPGAs
![Page 15: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/15.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
RS-232 con niveles bipolares
● El proyecto propone 2 posibles cables:● Basic buffered● Full buffered
● Ambos diseñados como placas simple faz de fácil fabricación.
● Fabricados in-house con un CNC y fresa de 0,4 mm
● Ambos probados con PCs
![Page 16: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/16.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
RS-232 con niveles bipolares – Basic buffered
● Ofrece dos canales RS-232 con Tx/Rx● Sin handshake por hardware (null-modem)
● Basado en el SP3232
![Page 17: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/17.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
RS-232 con niveles bipolares – Full buffered
● Ofrece un canal RS-232 COMPLETO● Implementa SUSPEND y wake-up● Basado en elMAX3243E
![Page 18: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/18.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
SPI
![Page 19: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/19.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
SPI
● Es un simple cable tipo flying-leads● Más 4 resistores limitadores de corriente.
● Puede usarse como:● Cable SPI genérico (ej: leer/escribir memorias SPI usando
flashrom)● Cable avrftdi con el software avrdude para configurar y
depurar CPUs de Atmel (ej: Arduino, nanoPOC, etc.).● Cable Lattice HW-USBN-2B para FPGAs iCE40 usando
Diamond Programmer
![Page 20: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/20.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
JTAG
![Page 21: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/21.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
JTAG
● Originalmente se pensó en clonar el JTAGkey, tal como lo hace Opendous, pero ...
● Es un simple cable tipo flying-leads● Más 2 resistores
![Page 22: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/22.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
JTAG - Aplicaciones
● Debug de CPUs ARM usando OpenOCD
● Verificado usando:● Beagleboard xM● Atmel SAM3U-EK
![Page 23: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/23.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
JTAG - Aplicaciones
● Configuración y boundary scan usando UrJTAG
● Verificado usando:● Xilinx Virtex 4
![Page 24: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/24.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
JTAG - Aplicaciones
● Configuración de FPGAs de Xilinx usando iMPACT● En modo bit bang● Clonando el cable HS1 de Digilent (U$S 59)
● Verificado usando:● Xilinx Virtex 4● Spartan 3
¡MUCHO más rápido!
![Page 25: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/25.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
ToDo
![Page 26: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/26.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
A futuro
● Verificar I2C● Verificar los protocolos paralelos de alta velocidad (48 MB/s)
● Investigar soluciones para partes de ALTERA
● Investigar software y demás para Windows
● Plug-ins para RS-422, RS-485 y otros
![Page 27: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/27.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Uso en Kéfir y Lattuino
![Page 28: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/28.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Kéfir I
Kit Educativo con FPGA, Inclusivo y Reciclable
http://fpgalibre.sf.net/Kefir/
![Page 29: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/29.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Kéfir I
● FPGA: Lattice iCE40HX4K● 7.680 LUT4/FF● 128 kib BRAM● Encapsulado: TQ144 (TQFP)● PCB 2 capas● Conectores de Arduino/ChipKit● FPGA económica● Configuración: SPI
![Page 30: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/30.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Kéfir I + MILK
Se alimenta y comunica usando MILK
![Page 31: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/31.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Kéfir I + MILK
● Canal A● Completamente disponible en la FPGA● Uso más frecuente: RS-232
● Canal B● Configuración: SPI (memoria y/o FPGA)
● La placa Kéfir I se alimenta de los 3,3 V de MILK● Tensión de los bancos de I/O● Tensión de entrada p/regulador 1,2 V
![Page 32: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/32.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Kéfir I + MILK + Lattuino
● Implementación de Arduino UNO usando Kéfir I
● La CPU es un soft-core● Se programa desde la IDE de Arduino● La IDE se comunica con el bootloader de Arduino usando el canal A de MILK en modo RS-232
● http://fpgalibre.sf.net/Lattuino/
![Page 33: Instituto Nacional de Tecnología Industrialfpgalibre.sourceforge.net/SASE2017/MILK.pdf · USB 2.0: alta velocidad 30 MHz de reloj en protocolos serie (Verificado) Protocolos paralelos](https://reader035.fdocument.pub/reader035/viewer/2022062607/60479fa08f439b2d7321de1f/html5/thumbnails/33.jpg)
Copyright © 2016-2017 INTI, Salvador E. Tropea
Av. Gral. Paz 5445
(1650) San Martín
Buenos Aires, Argentina
+54-11-4724-6000 int. 6919
¡Muchas Gracias!