[Alhambra][Icestudio][ADC] Bloque Analógico-Digital en icestudio para la Alhambra

592 views
Skip to first unread message

Obijuan

unread,
Dec 14, 2018, 12:36:20 PM12/14/18
to FPGAwars: explorando el lado libre
Hola!

Acabo de hacer una primera implementación del bloque conversor A/D  para leer los 4 canales analógicos de las placas Alhambras (I y II)


No he tenido tiempo de preparar documentación, ni de hacerle un icono. El SAV es muy fuerte, y quería compartir el bloque preliminar con vosotros :-)


Para implementarlo he hecho un core Máster de I2C (el conversor AD está conectado a la FPGA por un bus i2c). Este I2C lo he hecho con bloques de Icestudio para que sea fácil de entender y modificar, aunque todavía no he hecho la documentación. En cuanto pueda iré subiendo las documentaciones de los periféricos: SPI, I2C, ADC, etc...

El ejemplo del vídeo, y el bloque están en la colección Jedi, en este repo:


Esta colección es una amplicación de la última que he hecho para los tutoriales (la 30) y que comentaré en el tutorial de despedida

En este primer bloque ADC, se lee sólo un canal, seleccionado mediante la entrada ch de 2 bits (y que en el vídeo he conectado a 2 switches).  Ahora un core para leer los 4 canales de forma independiente es ya fácil, y también lo tengo en la lista de tareas pendientes.

Ya podemos introducir muestras en nuestros circuitos, y esto nos abre la vía para aprender sobre filtros digitales, controladores PID digitales, etc.... de una forma práctica

Saludos, Obijuan


Foxy CTG

unread,
Dec 15, 2018, 5:22:11 AM12/15/18
to FPGAwars: explorando el lado libre
Con la Alhambra || donde se sitúan las entradas o salidas analógicas, eso me confunde, ya que las practicas, la mayoría lo hacéis con la alhambra | y no me ubico. En principio si seguimos el concepto de un Arduino, se sitúan en los pines A0-A5 aunque aquí se cambian de A0-A3/A4-A5. Entonces de tu bloque conversor, como se indica varias entradas analógicas, y donde se conectan en la alhambra ||? Se podría hacer un cuenteo de dos bits a una frecuencia alta para que el cambio de las 4 entradas sea constante y automática, siendo así tener "cuatro entradas" O eso generaría una oscilación ruidosa?

Tomo en cuenta tu esfuerzo y tu tiempo y te agradezco todo lo que haces para nosotros. Las respuestas no las espero inmediatas. ;)

Jose Pico

unread,
Dec 15, 2018, 3:42:18 PM12/15/18
to FPGAwars: explorando el lado libre
Muchas Gracias Obijuan!
como siempre vas a tope y todos te seguimos.

Saludos

Angel Rodriguez Santalla

unread,
Dec 16, 2018, 5:13:48 AM12/16/18
to FPGAwars: explorando el lado libre
Gracias tambien de mi parte!...
-ahora ya puedo poner una foto-resistencia y notar como cambia la intensidad de luz...
-y cuando tengas el tuturial sobre I2C terminado me lo zampare sin dejar ni los huesos, pues me interesa mucho usar el ADC para medir cambios en la conductividad de mi cuerpo causados por mi ¡"El Comandante a bordo de esta nave electro-quimica-organica"!

El viernes, 14 de diciembre de 2018, 18:36:20 (UTC+1), Obijuan escribió:
Hola!

Acabo de hacer una primera implementación del bloque conversor A/D  para leer los 4 canales analógicos de las placas Alhambras (I y II)


No he tenido tiempo de preparar documentación, ni de hacerle un icono. El SAV es muy fuerte, y quería compartir el bloque preliminar con vosotros :-)
...

Foxy CTG

unread,
Dec 16, 2018, 5:00:58 PM12/16/18
to FPGAwars: explorando el lado libre
Que tipo de POT usas? LINE o LOG? La resistencia del POT de cuanto debe ser? Solo tengo POT's de 10K se me fastidiaron unos de 1K.


El viernes, 14 de diciembre de 2018, 18:36:20 (UTC+1), Obijuan escribió:

Juan Gonzalez Gomez

unread,
Dec 17, 2018, 1:12:02 AM12/17/18
to FPGA-WARS: explorando el lado libre
Puedes usar cualquiera. La tensión que se lee debe estar entre 0 y 5v

Saludos, Obijuan

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/a45730ec-f6dd-4a1a-8ca5-6981673a40b1%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

juan jose

unread,
Dec 17, 2018, 1:20:12 AM12/17/18
to FPGAwars: explorando el lado libre
Hola buenos días, cual seria la frecuencia máxima de muestreo permitida?

Juan Gonzalez Gomez

unread,
Dec 17, 2018, 1:42:33 AM12/17/18
to FPGA-WARS: explorando el lado libre
Hay que medirlo. La limitación está en el i2c. El controlador actual no está optimizado para ir a la máxima velocidad. De momento me he centrado en tenerlo funcionando para aplicaciones de baja frecuencia (robots seguidores de luz,  control de posición...)

Apunto en el TODO medirlo con el controlador actual

Saludos, Obijuan

El 17/12/2018 7:20 a. m., "juan jose" <juanjose...@gmail.com> escribió:
Hola buenos días, cual seria la frecuencia máxima de muestreo permitida?
--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar una publicación en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

Foxy CTG

unread,
Dec 17, 2018, 3:06:59 AM12/17/18
to FPGAwars: explorando el lado libre
En mi caso, cuando lo probé no respondía a la misma forma que tú vídeo. A mitad de carrera del POT se encienden, y si voy muy despacio se percibe algo similar a una "subida de leds"

Obijuan

unread,
Dec 22, 2018, 5:26:54 AM12/22/18
to FPGAwars: explorando el lado libre
Estoy dejando todos los ejemplos del converso A/D en esta carpeta de la colección JEDI:


Este es un ejemplo de uso del potenciómetro para seleccionar entre 8 opciones. Al moverlo se "mueve" un LED de un extremo a otro:


Es un ejemplo que sirve de base para usar los LEDs y el potenciómetro como un menú de opciones

El circuito es el siguiente:






Simplemente se toman los 3 bits más significativos de la muestra, para quedarse sólo con 8 niveles, y luego se pasa por un decodificador de 3 a 8 para que se encienda un único LED según el nivel en el que se encuentre

Saludos, Obijuan


El viernes, 14 de diciembre de 2018, 18:36:20 (UTC+1), Obijuan escribió:

1138-4EB

unread,
Dec 24, 2018, 9:53:46 AM12/24/18
to FPGAwars: explorando el lado libre
Como referencia, se puede considerar que la funcionalidad "imita" a los CI LM3914/LM3915/LM3916: https://www.ti.com/lit/ds/symlink/lm3914.pdf

Foxy CTG21

unread,
Jun 3, 2019, 6:32:15 PM6/3/19
to FPGAwars: explorando el lado libre
Estoy atascado en un proyecto por estas razones, podrías mirarlo cuando tengas tiempo? Gracias.


El lunes, 17 de diciembre de 2018, 7:42:33 (UTC+1), Obijuan escribió:
Hay que medirlo. La limitación está en el i2c. El controlador actual no está optimizado para ir a la máxima velocidad. De momento me he centrado en tenerlo funcionando para aplicaciones de baja frecuencia (robots seguidores de luz,  control de posición...)

Apunto en el TODO medirlo con el controlador actual

Saludos, Obijuan
El 17/12/2018 7:20 a. m., "juan jose" <juanjose...@gmail.com> escribió:
Hola buenos días, cual seria la frecuencia máxima de muestreo permitida?

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar una publicación en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.

Foxy CTG21

unread,
Jun 5, 2019, 10:37:37 AM6/5/19
to FPGAwars: explorando el lado libre
Obijuan, si el bloque ADC se modifica es posible usar los pines desde el A0 asta el A5? El chip I2c abarca la totalidad de uso de todos esos pines? O solo es posible usar 4 de ellos con potenciometros?


El viernes, 14 de diciembre de 2018, 18:36:20 (UTC+1), Obijuan escribió:

Eladio Delgado

unread,
Jun 5, 2019, 10:41:23 AM6/5/19
to fpga-wars-explora...@googlegroups.com
Sólo los pines A0 a A3, el ADC tiene 4 canales.

Saludos,  Eladio 


--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

Foxy CTG21

unread,
Jun 5, 2019, 10:50:31 AM6/5/19
to FPGAwars: explorando el lado libre
Bueno, aquí entra la gracia de las limitaciones físicas de fabricación de las placas.
Es posible ampliar los potenciometros, con un I2c externo? Hay alguna forma de ampliarlo en si?

FoxyCTG21


El miércoles, 5 de junio de 2019, 16:41:23 (UTC+2), Eladio Delgado escribió:
Sólo los pines A0 a A3, el ADC tiene 4 canales.

Saludos,  Eladio 

El mié., 5 jun. 2019 16:37, Foxy CTG21 <cristia...@gmail.com> escribió:
Obijuan, si el bloque ADC se modifica es posible usar los pines desde el A0 asta el A5? El chip I2c abarca la totalidad de uso de todos esos pines? O solo es posible usar 4 de ellos con potenciometros?

El viernes, 14 de diciembre de 2018, 18:36:20 (UTC+1), Obijuan escribió:
Hola!

Acabo de hacer una primera implementación del bloque conversor A/D  para leer los 4 canales analógicos de las placas Alhambras (I y II)


No he tenido tiempo de preparar documentación, ni de hacerle un icono. El SAV es muy fuerte, y quería compartir el bloque preliminar con vosotros :-)


Para implementarlo he hecho un core Máster de I2C (el conversor AD está conectado a la FPGA por un bus i2c). Este I2C lo he hecho con bloques de Icestudio para que sea fácil de entender y modificar, aunque todavía no he hecho la documentación. En cuanto pueda iré subiendo las documentaciones de los periféricos: SPI, I2C, ADC, etc...

El ejemplo del vídeo, y el bloque están en la colección Jedi, en este repo:


Esta colección es una amplicación de la última que he hecho para los tutoriales (la 30) y que comentaré en el tutorial de despedida

En este primer bloque ADC, se lee sólo un canal, seleccionado mediante la entrada ch de 2 bits (y que en el vídeo he conectado a 2 switches).  Ahora un core para leer los 4 canales de forma independiente es ya fácil, y también lo tengo en la lista de tareas pendientes.

Ya podemos introducir muestras en nuestros circuitos, y esto nos abre la vía para aprender sobre filtros digitales, controladores PID digitales, etc.... de una forma práctica

Saludos, Obijuan


--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.

charli va

unread,
Jun 5, 2019, 11:08:27 AM6/5/19
to fpga-wars-explora...@googlegroups.com
Claro siempre podras conectarle una placa con ADCs más potentes o más ADCs y con el i2c se puede extender y comunicarlos todos por el mismo bus (aunque aquí aun nos queda trabajo por delante para tener aun bloques potentes para todo esto.



El mié., 5 jun. 2019 a las 16:50, Foxy CTG21 (<cristia...@gmail.com>) escribió:
Bueno, aquí entra la gracia de las limitaciones físicas de fabricación de las placas.
Es posible ampliar los potenciometros, con un I2c externo? Hay alguna forma de ampliarlo en si?

FoxyCTG21

El miércoles, 5 de junio de 2019, 16:41:23 (UTC+2), Eladio Delgado escribió:
Sólo los pines A0 a A3, el ADC tiene 4 canales.

Saludos,  Eladio 

El mié., 5 jun. 2019 16:37, Foxy CTG21 <cristia...@gmail.com> escribió:
Obijuan, si el bloque ADC se modifica es posible usar los pines desde el A0 asta el A5? El chip I2c abarca la totalidad de uso de todos esos pines? O solo es posible usar 4 de ellos con potenciometros?

El viernes, 14 de diciembre de 2018, 18:36:20 (UTC+1), Obijuan escribió:
Hola!

Acabo de hacer una primera implementación del bloque conversor A/D  para leer los 4 canales analógicos de las placas Alhambras (I y II)


No he tenido tiempo de preparar documentación, ni de hacerle un icono. El SAV es muy fuerte, y quería compartir el bloque preliminar con vosotros :-)


Para implementarlo he hecho un core Máster de I2C (el conversor AD está conectado a la FPGA por un bus i2c). Este I2C lo he hecho con bloques de Icestudio para que sea fácil de entender y modificar, aunque todavía no he hecho la documentación. En cuanto pueda iré subiendo las documentaciones de los periféricos: SPI, I2C, ADC, etc...

El ejemplo del vídeo, y el bloque están en la colección Jedi, en este repo:


Esta colección es una amplicación de la última que he hecho para los tutoriales (la 30) y que comentaré en el tutorial de despedida

En este primer bloque ADC, se lee sólo un canal, seleccionado mediante la entrada ch de 2 bits (y que en el vídeo he conectado a 2 switches).  Ahora un core para leer los 4 canales de forma independiente es ya fácil, y también lo tengo en la lista de tareas pendientes.

Ya podemos introducir muestras en nuestros circuitos, y esto nos abre la vía para aprender sobre filtros digitales, controladores PID digitales, etc.... de una forma práctica

Saludos, Obijuan


--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

Foxy CTG21

unread,
Jun 5, 2019, 11:19:56 AM6/5/19
to FPGAwars: explorando el lado libre
Y compaginar diferentes chips i2c? Que sean externos? Tendrían la misma mecánica, no? Dos pines (entrada sda y salida scl), y dentro con el bloque ADC mejorado, poder simultáneamente usarlos?
Así si uno se queda corto, solo debe gastar dos pines mas de la Alhambra, para poder conectar 4 potenciometros mas?
Es factible?

FoxyCTG21
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.

charli va

unread,
Jun 5, 2019, 11:26:28 AM6/5/19
to fpga-wars-explora...@googlegroups.com
El tema foxy es que aun no hay bloques de i2c bien preparados, creo que Obijuan hizo este para tener el ADC cuanto antes pero le queda pulido (yo ando haciendo experiemento con el i2c pero aun me queda)

Lo bueno del i2c es que puedes conectar muchos chips en el mismo bus sin usar más que tres hilos (se van encadenando unos a otros) es una pasada, pero como te digo no te vale este módulo adc,e ste adc es solo para este chip.

Es decir si quieres meter otros chips adc tendrías que preparar un módulo genérico i2c y luego implementar el bloque para es nuevo chip adc (o utilizar este mismo chip en cuyo caso si que valdría el bloque actual).


Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

Foxy CTG

unread,
Jun 5, 2019, 11:33:08 AM6/5/19
to fpga-wars-explora...@googlegroups.com
Hay se me escapa el no saber la mecánica del I2c.
Entonces si existieran módulos externos con el mismo chip sería viable? Sino sabiendo el esquema de conexionado entre la FPGA y el chip I2C podemos recrearlo en externo?


From: fpga-wars-explora...@googlegroups.com <fpga-wars-explora...@googlegroups.com> on behalf of charli va <char...@gmail.com>
Sent: Wednesday, June 5, 2019 5:26:13 PM
To: fpga-wars-explora...@googlegroups.com
Subject: Re: [Alhambra][Icestudio][ADC] Bloque Analógico-Digital en icestudio para la Alhambra
 

Eladio Delgado

unread,
Jun 5, 2019, 11:37:17 AM6/5/19
to fpga-wars-explora...@googlegroups.com
Claro, añadiendo otro ADC externo a la placa, por I2C ó SPI, se pueden tener más canales analógicos.

El mié., 5 jun. 2019 16:50, Foxy CTG21 <cristia...@gmail.com> escribió:
Bueno, aquí entra la gracia de las limitaciones físicas de fabricación de las placas.
Es posible ampliar los potenciometros, con un I2c externo? Hay alguna forma de ampliarlo en si?

FoxyCTG21

El miércoles, 5 de junio de 2019, 16:41:23 (UTC+2), Eladio Delgado escribió:
Sólo los pines A0 a A3, el ADC tiene 4 canales.

Saludos,  Eladio 

El mié., 5 jun. 2019 16:37, Foxy CTG21 <cristia...@gmail.com> escribió:
Obijuan, si el bloque ADC se modifica es posible usar los pines desde el A0 asta el A5? El chip I2c abarca la totalidad de uso de todos esos pines? O solo es posible usar 4 de ellos con potenciometros?

El viernes, 14 de diciembre de 2018, 18:36:20 (UTC+1), Obijuan escribió:
Hola!

Acabo de hacer una primera implementación del bloque conversor A/D  para leer los 4 canales analógicos de las placas Alhambras (I y II)


No he tenido tiempo de preparar documentación, ni de hacerle un icono. El SAV es muy fuerte, y quería compartir el bloque preliminar con vosotros :-)


Para implementarlo he hecho un core Máster de I2C (el conversor AD está conectado a la FPGA por un bus i2c). Este I2C lo he hecho con bloques de Icestudio para que sea fácil de entender y modificar, aunque todavía no he hecho la documentación. En cuanto pueda iré subiendo las documentaciones de los periféricos: SPI, I2C, ADC, etc...

El ejemplo del vídeo, y el bloque están en la colección Jedi, en este repo:


Esta colección es una amplicación de la última que he hecho para los tutoriales (la 30) y que comentaré en el tutorial de despedida

En este primer bloque ADC, se lee sólo un canal, seleccionado mediante la entrada ch de 2 bits (y que en el vídeo he conectado a 2 switches).  Ahora un core para leer los 4 canales de forma independiente es ya fácil, y también lo tengo en la lista de tareas pendientes.

Ya podemos introducir muestras en nuestros circuitos, y esto nos abre la vía para aprender sobre filtros digitales, controladores PID digitales, etc.... de una forma práctica

Saludos, Obijuan


--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

charli va

unread,
Jun 5, 2019, 11:38:15 AM6/5/19
to fpga-wars-explora...@googlegroups.com
Eso es Foxy, sepueden encadenar muchísimos chips.

Foxy CTG

unread,
Jun 5, 2019, 11:39:22 AM6/5/19
to fpga-wars-explora...@googlegroups.com
Sería muy interesante eso. Espero más avances de esto. Sería genial poder recrear una pequeña mesa de luces.

From: fpga-wars-explora...@googlegroups.com <fpga-wars-explora...@googlegroups.com> on behalf of Eladio Delgado <email...@gmail.com>
Sent: Wednesday, June 5, 2019 5:37:02 PM

To: fpga-wars-explora...@googlegroups.com
Subject: Re: [Alhambra][Icestudio][ADC] Bloque Analógico-Digital en icestudio para la Alhambra

charli va

unread,
Jun 5, 2019, 11:49:38 AM6/5/19
to fpga-wars-explora...@googlegroups.com
Es un proyecto muy intersante pero no damos más de si :)   yo el i2c lo tengo en prioridad alta así que epsero pronto tener avances.



Foxy CTG

unread,
Jun 5, 2019, 11:50:39 AM6/5/19
to fpga-wars-explora...@googlegroups.com
Gracias Charli espero resultados pacientemente.

From: fpga-wars-explora...@googlegroups.com <fpga-wars-explora...@googlegroups.com> on behalf of charli va <char...@gmail.com>
Sent: Wednesday, June 5, 2019 5:49:25 PM

Juan Perona

unread,
Jun 6, 2019, 12:45:32 AM6/6/19
to FPGAwars: explorando el lado libre
Creo que deberías empezar a trabajar con ARDUINO, tiene todo lo que necesitas para tu proyecto.

Las FPGA son herramientas muy potentes y demasiado técnicas por el momento y pueden traerte más de un calentamiento de cabeza innecesario teniendo disponibles herramientas más completas

Foxy CTG

unread,
Jun 6, 2019, 1:43:54 AM6/6/19
to fpga-wars-explora...@googlegroups.com
Entonces pierde la gracia de usar algo nuevo, crear algo desde casi de cero.
Yo sé que en Arduino incluso existe un acoplamiento para ponerle al Arduino UNO que es directamente para DMX, que incluso un compañero de clase lo uso para hacer un proyecto de síntesis.
Pero yo quiero partir de la FPGA, aún teniendo que crear las propias herramientas.

From: fpga-wars-explora...@googlegroups.com <fpga-wars-explora...@googlegroups.com> on behalf of Juan Perona <tid...@gmail.com>
Sent: Thursday, June 6, 2019 6:45:32 AM
To: FPGAwars: explorando el lado libre

Subject: Re: [Alhambra][Icestudio][ADC] Bloque Analógico-Digital en icestudio para la Alhambra
Creo que deberías empezar a trabajar con ARDUINO, tiene todo lo que necesitas para tu proyecto.

Las FPGA son herramientas muy potentes y demasiado técnicas por el momento y pueden traerte más de un calentamiento de cabeza innecesario teniendo disponibles herramientas más completas

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para publicar una publicación en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

Carlos Marco

unread,
Jun 6, 2019, 3:48:59 AM6/6/19
to fpga-wars-explora...@googlegroups.com
Hola Foxy CTG,
Yo tambien estoy empezando con FPGA y entiendo como te sientes, persiste seguro que lo consigues.

Ánimo!!!

Carlos

Libre de virus. www.avast.com

Para publicar en este grupo, envía un correo electrónico a fpga-wars-explora...@googlegroups.com.

jasonmp40

unread,
Jun 20, 2019, 1:21:04 AM6/20/19
to FPGAwars: explorando el lado libre
Hola!

Empece hacer pruebas con la upduino y el Bloque A/D. Estoy utilizando un ADS1115 16-Bit 4 canales el cual trabaja por el bus i2c, revisando el diagrama de conexión del ADC del Alhambra II pude ver que los convertidores tienen sus diferencias pero en teoría trabajan igual, la cosa es que no esta funcionando, utilice un analizador lógico para comprobar que el protocolo y la transmisión de datos se correcta pero solo obtengo el  start y stop sin ningún dato.

Hay alguna descripción de hardware pre grabada en la FPGA del Alhambra o algún pin especifico para controlar el ADC? 

Democrito

unread,
Nov 10, 2019, 1:16:02 AM11/10/19
to FPGAwars: explorando el lado libre
Hola!

Acabo de terminar una versión para el conversor analógico/digital que viene en las Alhambras (el ADS7924). Estuve mirando el datasheet pero creo que en un millón de años igual hubiese comprendido algo. Así que eché mano del diseño que hizo Obijuan y el analizador lógico (Saleae Logic) para poder hacer esta versión. 

Comento pros y contras de esta versión.

Pros: Hasta el momento, todas las pruebas que le he hecho han sido satisfactorias.
Contras: Consume muchos recursos; he utilizado el primer diseño que hice de i2c porque era el que mejor podía adaptarlo para evitar el ibuprofeno o el paracetamos (metáfora de cuando es complicado y difícil de sacar adelante un proyecto).
Medio-medio: No tiene entrada de "Start", la lectura es continua. Lo he hecho del tirón, igual más adelante se lo pongo. La resolución es de 8 bits, pese a que creo que puede dar 12 bits, pero no he sido capaz de extraer esos bits de más; de todas formas esos bits sobrantes estarían bailando todo el rato.

Adjunto tres ficheros:

DRV_ADS7924.ice       Es el driver en sí, el que maneja el ADS7924.
Ejemplo_AD_leds.ice   Es un ejemplo donde se visualiza los datos del conversor por los leds de la alhambra.
Ejemplo_AD_serial.ice Es un ejemplo donde se visualiza los datos por el puerto serie. Se puede utilizar cualquier terminal, le puse un conversor binario a ASCII.

Y recordad que en la Icezum Alhambra, para poder hacer el tri-estado (sólo hace falta para el pin ADC_SDA) hay que usar los pines amarillos (GPx), y en la Alhambra-II puedes usar el pin que quieras.

Se puede usar los 4 canales que tiene.

Canales analogicos de la FPGA Alhambra.PNG


Saludos.


DRV_ADS7924.ice
Ejemplo_AD_leds.ice
Ejemplo_AD_serial.ice

JAVI Barbero

unread,
Nov 10, 2019, 6:12:07 AM11/10/19
to 'ANDRES AMAUTA GONZALESZAPATA' via FPGAwars: explorando el lado libre
Buenos días.
Estoy probando tus ejemplos y en el que utiliza los led de la Alhambra, he colocado una fotoresistencia entre 3,3v y la SDA(DDO) y funciona perfecto. Estoy intentado invertir la señal, de forma que cuanto menos luz detecte, mas leds se enciendan. Ahora funciona menos luz, menos leds. Intento intercalar una puerta NOT en la SDA, pero no me deja.
¿Cómo puedo hacerlo?
Gracias, saludos y buen trabajo.


<Canales analogicos de la FPGA Alhambra.PNG>


Saludos.


--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/78563a00-cbd3-43e2-9fb5-2154200f9a1b%40googlegroups.com.
<DRV_ADS7924.ice><Ejemplo_AD_leds.ice><Ejemplo_AD_serial.ice><Canales analogicos de la FPGA Alhambra.PNG>

Obijuan

unread,
Nov 10, 2019, 6:41:22 AM11/10/19
to FPGAwars: explorando el lado libre
¡Estupendo Demócrito!  ¡Muchísimas gracias por el aporte!  :-)

En cuanto pueda lo pruebo

No te preocupes por los recursos. Lo importante primero es tener componentes que funcionen bien, y aprender a realziarlos. Luego llegarán las optimizaciones para gastar menos recursos

Saludos, Obijuan

Democrito

unread,
Nov 10, 2019, 9:08:41 AM11/10/19
to FPGAwars: explorando el lado libre
Obijuan: Si se observa largo rato a veces se ve un cambio muy fugaz, casi imperceptible, de leds que cambian y no me refiero a los más bajos. He estado probando a cambiar la frecuencia de muestreo y la velocidad de I2C, pero lo sigue haciendo. Y la señal I2C es perfecta en el envío de comandos y configuración pero justo al final, en la lectura, no conseguí hacer el bit de stop.

Javi: La primera vez que intenté sacar la señal de I2C me pasó lo mismo y me saltaba un error. Esa misma señal se puede tomar o invertir desde "din" del tri-estado. Si hace clic al driver verás lo siguiente:

Invertir señal.PNG


En la imagen sale ya modificado para que invierta y funcione como tu deseas. Se le añade la puerta not ahí, en la entrada del registro de desplazamiento.

Otra forma de hacer, para evitar tocar las entrañas de circuitos complejos sería esta:

otra forma de invertir la señal.PNG


Y si deseas poder tener las dos opciones (invertido o no invertido), puedes hacer lo siguiente:


Invertido y no invertido.PNG


Y una forma muy chula de hacer invertido y no invertido es aprovechas las propiedades de la puerta xor.


toggle.PNG

Muchas gracias por ponerlo a prueba Javi, la idea de la fotorresistencia es interesante.


Saludos!


 

 

Democrito

unread,
Nov 10, 2019, 11:08:17 AM11/10/19
to FPGAwars: explorando el lado libre
En el momento de leer tu comentario (sobre invertir el valor) no caí en la cuenta de que esto mismo se puede hacer de manera muy sencilla y no hace falta añadir nada. Se trata de la construcción resistencia/fotoresistencia para hacer que algo sea "normal" o "invertido", según se mire.

inversion por construccion.PNG

En este tipo de construcción (en bruto) los valores estarán dentro de un rango relativamente estrecho. Para tener el rango completo habría que poner un transistor. La resistencia de base está para limitar la corriente y así evitar accidentes si el potenciómetro de ajuste estuviese cercano a 0 ohmios.

ldr_transistor.png



Democrito

unread,
Nov 10, 2019, 11:12:24 AM11/10/19
to FPGAwars: explorando el lado libre
Donde digo, en la parte derecha de la imagen "Cuanta menos luz más alto será el valor de salida" quise decir "Cuanta menos luz menos valor de salida".

JAVI Barbero

unread,
Nov 10, 2019, 12:32:17 PM11/10/19
to 'ANDRES AMAUTA GONZALESZAPATA' via FPGAwars: explorando el lado libre
Joer!!!!
Qué claridad de ideas!!!!!
¿Cómo intercalas la puerta not en las 7 lineas? ¿Es un bloque? 
Gracias por tu tiempo.



El 10 nov 2019, a las 17:12, Democrito <spo...@gmail.com> escribió:

Donde digo, en la parte derecha de la imagen "Cuanta menos luz más alto será el valor de salida" quise decir "Cuanta menos luz menos valor de salida".

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Democrito

unread,
Nov 10, 2019, 1:13:50 PM11/10/19
to FPGAwars: explorando el lado libre
Es un bloque que puedes añadir si te instalas la Colección Jedi (última versión): https://github.com/FPGAwars/Collection-Jedi/releases


bloque not de 8 bits.PNG


JAVI Barbero

unread,
Nov 10, 2019, 2:12:23 PM11/10/19
to fpga-wars-explora...@googlegroups.com
Ok. Muchas gracias por tu tiempo. Cada vez me sorprendo mas de todo lo que se puede hacer, con Icestudio y la placa Alhambra. Saludos. 


Enviado desde mi iPhone

El 10 nov 2019, a las 19:13, Democrito <spo...@gmail.com> escribió:


Es un bloque que puedes añadir si te instalas la Colección Jedi (última versión): https://github.com/FPGAwars/Collection-Jedi/releases

<bloque not de 8 bits.PNG>


--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Democrito

unread,
Nov 10, 2019, 5:36:02 PM11/10/19
to FPGAwars: explorando el lado libre
He estado haciendo más pruebas y quizás el tiempo que le puse de 50ms de muestreo sea demasiado poco tiempo.

Adjunto un zip con los ficheros anteriores mejorados y comentados para que sea más comprensible ver el funcionamiento.

La frecuencia máxima de I2C para el ADS7924 es de 400KHz. Lo he "overclockeado" hasta 3MHz, a 4MHz ya petaba (no funcionaba). Pues a 3MHz sigue funcionando igual de bien, es algo que me ha sorprendido.

Saludos.
ADS7924.zip
Reply all
Reply to author
Forward
0 new messages