TODOPIC

Otros Microcontroladores / Dispositivos programables => Lógica Programable => Mensaje iniciado por: Picuino en 13 de Junio de 2014, 12:58:13

Título: CPLD ATF750C
Publicado por: Picuino en 13 de Junio de 2014, 12:58:13
He pedido unos samples a Atmel de un CPLD sencillo (ATF750C) para comenzar con estos dispositivos.

¿Alguien sabe cómo puedo programarlo de forma sencilla?
Necesito un compilador (a ser posible opensource o freeware) y un programador.

De antemano, gracias por los consejos.
Saludos.
Título: Re: CPLD ATF750C
Publicado por: Picuino en 13 de Junio de 2014, 13:05:29
Este CPLD tiene la ventaja de trabajar con 5 voltios y tener encapsulado PDIP.

Dejo aquí los recursos que voy encontrado:

Artículos:

Wikipedia: CPLD (http://es.wikipedia.org/wiki/CPLD)

Hackaday: programmable logic devices (CPLD) (http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld)

Dangerousprototypes: CPLD on a PDIP (http://dangerousprototypes.com/2011/03/14/trivia-cpld-on-a-pdip/)



ATMEL CPLD:

Atmel CPLD Development/Programmer Kit  (http://www.atmel.com/tools/ATF15XX-DK3CPLDDEVELOPMENT_PROGRAMMERKIT.aspx)

Atmel ATF750C Datasheet  (http://www.atmel.com/Images/doc0776.pdf)



WinCUPL: Compiler for Universal Programmable Logic

WinCUPL compilador gratuíto para CPLD (http://www.atmel.com/tools/WINCUPL.aspx)  
Download WinCUPL (http://www.atmel.com/System/BaseForm.aspx?target=tcm:26-17232)

WinCUPL reference manual (http://www.atmel.com/Images/doc0737.pdf)


Saludos.
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 19 de Noviembre de 2014, 17:27:20
¿Cómo te fue picuino?
Yo estoy planteándome meterme con los ATF15xx, pero todo son problemas... ni siquiera encuentro con qué programarlos (hay un programador por el puerto paralelo pero no sé si se pueden programar por usb)
Título: Re: CPLD ATF750C
Publicado por: Picuino en 19 de Noviembre de 2014, 20:12:15
Al final resolví el problema con un par de módulos CLC de un PIC.

No encontré un programador adecuado para la CPLD. Por otro lado vi que las FPGA tienen un precio asequible así que compre un programador USB Blaster para Altera y una Cyclone II.
La tengo en el cajón de proyectos pendientes.

No hay mucho soporte para estos CPLD en Internet. Por un poco más de dinero, creo que es mejor dar el salto directamente a una FPGA.

Un saludo.
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 20 de Noviembre de 2014, 03:26:07
Gracias picuino... veo que vamos recorriendo el mismo camino.

Yo también me he estado peleando con el módulo clc de los pic, pero tengo el problema de que durante el reseteo del pic el clc entra en estado desconocido hasta que el pic arranca y yo necesito que esté vigente desde el mismo momento que recibe energía.

Los CPLD y FPGA nuevos no me valen porque tengo que trabajar a 5V.

Voy a intentar seguir este tutorial: http://www.instructables.com/id/Ghetto-Programmable-Logic-CPLD-Development-Syste/?ALLSTEPS



Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 22 de Mayo de 2015, 03:12:32
Otros documentos interesantes:

http://www.google.es/url?sa=t&rct=j&q=&esrc=s&source=web&cd=9&cad=rja&uact=8&ved=0CGIQFjAI&url=http%3A%2F%2Fwww.davidswinscoe.com%2Felectronics%2Fnotes%2Fpracticals%2FUsing%2520Atmel%2520WinCUPL.doc&ei=wcdeVa_GFIS2UZTzgPgH&usg=AFQjCNGl-3PBuyLOeOKhAdCsCzqdw3kibw&sig2=g0BAni2IN55T0sERdBC8xQ&bvm=bv.93990622,d.d24

http://fixunix.com/cp-m/161-atmel-xilinx-cplds.html

https://sites.google.com/site/solderandcircuits/home/atmel-photos/atmel-cpld-advice
Título: Re: CPLD ATF750C
Publicado por: Picuino en 22 de Mayo de 2015, 08:32:24
Hola jfmateos, ¿Al final has conseguido hacer funcionar el CPLD?
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 22 de Mayo de 2015, 08:33:48
No me equivoqué al pedirlos y compré la versión de 3v3 que no me servía en mi diseño.

Hoy voy a pedir de nuevo algunos ATF1502 o ATF1504 y estoy montando un byteblaster II...

¿Cómo lo llevas tú?
Título: Re: CPLD ATF750C
Publicado por: Picuino en 22 de Mayo de 2015, 10:22:27
Ahora tengo el proyecto abandonado.
Hace tiempo que quería trabajar con las CPLD porque son la única solución para conseguir respuestas rápidas y ese problema se presenta a menudo.

Creo que este es el proyecto en el que quería hacer un frecuencímetro con una resolución menor de 1 nanosegundo.
Al final conseguí lo que quería con el módulo CLC y el CTMU, pero no siempre medía correctamente y además la frecuencia máxima era relativamente baja (10 o 20 Mhz creo recordar)
Otra solución para el preescaler que encontré es utilizar un PLL programable. Son baratos y muy flexibles.

De todas formas, si consigues resultados, por favor postealos.
Tengo por ahí las CPLD esperando poder programarlas cuando sepa cómo hacerlo.

Un saludo.
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 22 de Mayo de 2015, 10:28:33
Por supuesto picuino...
Título: Re: CPLD ATF750C
Publicado por: Picuino en 22 de Mayo de 2015, 15:43:13
A mí me falta resolver estas dudas:
¿Se puede programar con un JTAG genérico? He visto cómo hacer uno sencillo en varias páginas.
El WinCUPL sirve para compilar, pero ¿qué programa se utiliza para grabar los datos?

Un saludo.
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 22 de Mayo de 2015, 17:13:59
Creo que el ATMISP (http://www.atmel.com/tools/ATMISP.aspx), pero el caso que la versión de Windows 7 sólo admite el cable USB.

Voy a intentar instalar la de XP en una máquina virtual a ver qué pasa.
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 22 de Mayo de 2015, 17:18:47
Sí, la versión de XP permite elegir los puertos LPT
Título: Re: CPLD ATF750C
Publicado por: Picuino en 24 de Mayo de 2015, 08:44:04
Algunos post sobre JTAG con Arduino:
   The Arduino as a simple JTAG adapter (http://www.khjk.org/log/2013/aug/jtagbang.html)
   JTAG connection using Arduino (https://balau82.wordpress.com/2014/08/10/jtagduino-jtag-connection-using-arduino/)


Un enlace interesante que he encontrado. Programa libre para manejar JTAG desde el PC :

   OpenOCD: Open On-Chip Debugger (http://openocd.org/)
Título: Re: CPLD ATF750C
Publicado por: Picuino en 24 de Mayo de 2015, 08:54:55
Lo interesante de estos links es que se trata de hardware y software abierto que puedes estudiar, modificar o adaptar.

Saludos.
Título: Re: CPLD ATF750C
Publicado por: KILLERJC en 24 de Mayo de 2015, 12:10:13
La verdad que yo tambien estoy "atorado" por el tema de los programadores, es cierto que existen clones del USB Blaster y Jlink, pero no funcionan en todo, no se por que.

A mi no me interesa debuggear o ir paso a paso, con solo programarlo estoy feliz, ya sea micros o CPLDs/FPGAs.
Conocia de OpenOCD pero aun asi me falta el HW.
Título: Re: CPLD ATF750C
Publicado por: juaperser1 en 24 de Mayo de 2015, 12:21:35
OpenOCD es todo un sistema de software donde se ofrece soporte para muchísimo hardware, de esta manera si tienes un JTAG compatible con OCD podrás usarlo para depurar cualquier micro o FPGA que tambien este soportado por openOCD, por ejemplo si tienes una atmel-ice, puedes usar openOCD para usarla con un micro ST por ejemplo.

Un saludo.
Título: Re: CPLD ATF750C
Publicado por: KILLERJC en 24 de Mayo de 2015, 12:43:17
No, algunos solo soportan sus micros:

http://openocd.org/doc/html/Debug-Adapter-Hardware.html#Debug-Adapter-Hardware

ATMEL SAMICE Only works with ATMEL chips!


En fin... Vi que puede usarse con conversores USB-UART
Título: Re: CPLD ATF750C
Publicado por: juaperser1 en 24 de Mayo de 2015, 12:53:08
Citar
POR EJEMPLO si tienes una atmel-ice, puedes usar openOCD para usarla con un micro ST POR EJEMPLO.

Repito, era solo un ejemplo como comprenderás no me los se de memoria.

un saludo
Título: Re: CPLD ATF750C
Publicado por: Picuino en 24 de Mayo de 2015, 13:03:10
Yo creo que no debe haber una incompatibilidad tan grande.
El estandar JTAG es simplemente un bus serie con niveles lógicos estandar.
Qué yo sepa no se utilizan tensiones elevadas para programación ni nada por el estilo.

El problema está en que toda la cadena de Hardware/Software debe ser compatible entre sí para conseguir que funcione:

   1. Programa de ordenador (por ejemplo OpenOCD)
   2. Bus de comunicaciones y Driver (por ejemplo USB)
   3. Tarjeta JTAG              (USB Blaster, arduino JTAG, etc)
   4. Dispositivo                (CPLD, FPGA, microcontrolador, etc)

Si me he saltado alguna, por favor completadlo.


Si una tarjeta JTAG (p.e. USB Blaster) se puede manejar con un programa (p.e. Quartus II) que sólo comunica con FPGAs Altera, entonces en principio no servirá para nada más.

Pero creo que si utilizas otro programa (por ejemplo OpenOCD) que sea capaz de manejar la USB Blaster y comunicar con CPLD Atmel, entonces se podrá usar esta tarjeta para Atmel.


¿Estoy equivocado?
Título: Re: CPLD ATF750C
Publicado por: Picuino en 24 de Mayo de 2015, 13:08:45
Me respondo:
Algunas tarjetas JTAG parecen tener ya programado internamente un protocolo que las hace compatibles SOLO con un tipo de dispositivos e incompatibles con todos los demás.

http://openocd.org/doc/html/Debug-Adapter-Hardware.html


Si la tarjeta JTAG se controlase en todo el protocolo a través del ordenador, podría ser compatible con todos los micros. Quizás sea mucho más lenta, pero a cambio podría programar todos los dispositivos.

¿Alguien conoce una tarjeta JTAG todoterreno?

Saludos.
Título: Re: CPLD ATF750C
Publicado por: juaperser1 en 24 de Mayo de 2015, 13:10:33
Eso es exactamente, yo uso openOCD para los procesadores de freescale.

Debes de buscar si el JTAG es compatible con openOCD y si la familia de micros que quierer programar esta dentro del sistema openOCD.

un saludo
Título: Re: CPLD ATF750C
Publicado por: juaperser1 en 24 de Mayo de 2015, 13:12:13
Todos los JTAG que no tengan una marca, como por ejemplo jlink o si te vas a sistemas mas simples los JTAG de olimex por poner un ejemplo. Pero si te vas a un JTAG propio de una marca de micros, pues puede que lo tengan capado.

pero no vas a encontrar un JTAG que sea universal, ya que muchas marcas se guardan de que solo se utilicen sus herramientas.
Título: Re: CPLD ATF750C
Publicado por: KILLERJC en 24 de Mayo de 2015, 14:12:18
Disculpa juaperser, pense que cuando dijiste por ejemplo crei que asumias que era eso.

Y si Picuino, el estandar JTAG es el mismo en todos lados, Y es como vos decis, algunos no solo traducen el USB al JTAG sino que pasan por otro micro/cpld antes y tal ves es eso lo que termina molestando.

Aparte del JTAG normal suelen incluir cada uno de los fabricantes sus propias "instrucciones" por ejemplo el PIC32 que usa mig_santiago:
http://ww1.microchip.com/downloads/en/DeviceDoc/61129F.pdf
Algunos fabricantes ni siquiera te dan cuales son esas instrucciones de mas.

Pero creo que con un JTAG simple que pueda acceder a los registros de instrucciones/datos (que es lo basico, ni siquiera pido debug) deberia ser relativamente simple de hacer. E incluso hasta vendertelos ya hechos, pero no hay... y es lo que me parece raro. O realmente me estoy perdiendo algo. La unica diferencia puede ser la de los voltajes manejados. La maquina de estado es la misma. En fin no se.

FTDI con un FT232HL
http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_C232HM_MPSSE_CABLE.PDF
Título: Re: CPLD ATF750C
Publicado por: juaperser1 en 24 de Mayo de 2015, 18:17:36
Citar
   Disculpa juaperser, pense que cuando dijiste por ejemplo crei que asumias que era eso.

He leído otra vez mi mensaje y parece que lo he escrito a mala leche, pero nada mas lejos de la realidad, así que soy yo el que te pide disculpas si ha parecido otra cosa ;-)


Yo también me pregunto lo del JTAG, y añado que para comprar un JTAG lo mas genérico posible creo que la mejor opción es el jlink Edu, que es como el base pero para uso no "comercial" (guiño guiño) por 50 euros tienes un buen jtag al que le actualizan el software y le meten soporte a nuevos dispositivos, si si están los piratas, pero de un día a otro te puede dejar de funcionar por un software nuevo por ejemplo, y el jlink original me da mas garantía desde luego. Yo tengo pensado pillarmelo dentro de poco, a no ser que encuntre algo mejor.

Un saludo
Título: Re: CPLD ATF750C
Publicado por: KILLERJC en 24 de Mayo de 2015, 18:39:16
Lo feo del Jlink es que es para unicamente microcontroladores. No es feo, pero no lo que estamos tratando aca.
soporta algunas FPGA pero solo si posee un micro dentro. Y asumo que se trata del micro solo. Me fije solamente en Xilinx y Altera.
Título: Re: CPLD ATF750C
Publicado por: juaperser1 en 24 de Mayo de 2015, 18:50:50
Bueno también es para microprocesadores( que es para lo que me mas me interesa).
En este tema se ha tratado el tema de las FPGA de atmel, que es un FPGA muy simple pero dentro tiene un micro avr de 25MHz aunque este sistema no lo conozco muy bien y no parece que haya mucha documentación, pero seria la leche para las aplicaciones que necesitas FPGA pero poner una simple spartan es demasiado.

Un saludo
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 07 de Junio de 2015, 16:32:02
¿Podría ser esto una alternativa a las CPLD?
http://hackaday.com/2015/06/04/hackaday-prize-entry-very-very-small-logic/
Título: Re: CPLD ATF750C
Publicado por: KILLERJC en 07 de Junio de 2015, 17:09:16
Estan buenas esas. En su mejor version tienen bastantes cosas, y es para un proyecto pequeño

Creo que el mas grande:
http://www.silego.com/uploads/Products/product_336/SLG46620r059_05292015.pdf
Y el mas chico:
http://www.silego.com/uploads/Products/product_123/SLG46200r124_08062014.pdf

Lo que si tenes que comprar su programador y es OTP su memoria.

Yo por mi parte acabo de pedir una FPGA Cyclone II a los chinos (la version mas pequeña), esperemos que llegue , luego comprar un clon del USB Blaster para poder probarla.
Y empezar a jugar con VHDL, haciendo cosas simples por supuesto.
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 16 de Junio de 2015, 15:35:15
Pues llevo unos días viendo los vídeos de estos GreenPak y he decidido darles una oportunidad porque:

Así que he pedido el kit de desarrollo del GreenPak4 y a ver qué pasa  :embarrassed:
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 25 de Junio de 2015, 16:09:22
Hoy llegó el GreenPak4... tras sablazo de la aduana nuevamente (en total se me ha puesto la broma en unos 110€).

Pero promete... he creado un programa sencillo a base de LUTs y DFF, lo he emulado y parece que va todo bien.

Me ha mosqueado que nada más conectarlo me ha pedido actualizar el firmware porque estaba desactualizado y que luego, al meter el ic, me dice que "The device you are using is out of date".... pero aparentemente todo funciona bien en el simulador.

También en encargado unos pcb breakout para estos mini chips porque realmente son inmanejables por su diminuto tamaño.
Título: Re: CPLD ATF750C
Publicado por: juaperser1 en 25 de Junio de 2015, 16:32:07
Hola fjmateos, puedes decirme que es un greenpad, no los conozco? Y ya quuee estamos, El ide es gratuito? y cuanto sale su prograMador.

Un saludo y gracias
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 25 de Junio de 2015, 16:37:40
Es una especie de pequeña CPLD de silego que se programa gráficamente.

El IDE es gratuito pero la placa de desarrollo es la que me ha salido por unos 110€
Título: Re: CPLD ATF750C
Publicado por: juaperser1 en 25 de Junio de 2015, 16:58:08
Pues la broma es un pelin cara, aunque si la placa de desarrollo tiene el programador embebido tampoco es excesivamente caro o hay que comprarlo aparte?

Parecen interesantes para aplicaciones donde poner una FPGA es excesivo. Los estudiare cuando pueda, gracias por la respuesta.

Un saludo.
Título: Re: CPLD ATF750C
Publicado por: jfmateos2 en 25 de Junio de 2015, 17:13:55
La misma place sirve de programador y emulador... en realidad no emula, sino que tiene que estar el ic colocado en la placa y ejecuta el código directamente en él.