Autor Tema: Se aceptan ladrillos por la cabeza  (Leído 3028 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado monitor

  • PIC10
  • *
  • Mensajes: 24
Se aceptan ladrillos por la cabeza
« en: 28 de Enero de 2012, 00:32:41 »
Hola, disculpen lo que voy a preguntar, pero intenté leer toda internet y sigo sin captar el concepto.

Puedo inyectar en tres pines distintos de un PIC apropiadamente rápido las señales R, G y B de una placa de video (pines 1, 2 y 3 de una VGA), codificarlos con el ADC y sacar la info por otros 3 pines?

Estuve viendo los proyectos de generar una señal VGA y está todo bien. Estoy intentando aprender y lo que vengo haciendo son borradores y pruebas aisladas, pero me encantaria lograr que de los 640x480 del VGA, se mande la información en pulsos o de alguna forma digital, y presionar un pulsador y sacarle una foto a la pantalla que esté entrando en ese momento y hacer algo, como guardarla en una eeprom o transferirla a la compu sin formato por ahora, solo los bits de RGB.

El pixel clock del modo 640x480 60Hz VESA es de 25.175 MHz pero a mi parecer con muestrear a 10Hz bajaría mi pixel clock a cerca de 4MHz (lo que tendría que hacer es a partir del pulsador esperar el próximo cuadro  que tarda menos de 17 ms y capturar lo que viene del ADC hasta completar el cuadro).

Qué buen delirio me pegué, pero pensandolo me siento como un chico jugando y pensé en consultar acá, quizá alguien me despierta o me dice que es posible.

Un abrazo para todos!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Se aceptan ladrillos por la cabeza
« Respuesta #1 en: 28 de Enero de 2012, 02:58:08 »
Esa tarea es demasiado rápida para un pequeño PIC. Incluso muy alta para un micro de más prestaciones. El ADC es un periférico "lento", su frecuencia de trabajo suele medirse en torno a los miles de KHz.
Y en el caso de que consiguieras muestrear la señal a la frecuencia suficiente, habría un montón de tareas que hacer con la información para lo que el micro debería ir muchísimo más rápido.

Si quieres jugar con VGA, te recomiendo que primero intentes generar una imagen. Eso te aportará mucha experiencia como para acometer luego otras fases de tu proyecto.

Aquí tienes un ejemplo con PIC18F

Y aquí un magnífico tutorial escrito por el amigo Ariel

Desconectado monitor

  • PIC10
  • *
  • Mensajes: 24
Re: Se aceptan ladrillos por la cabeza
« Respuesta #2 en: 28 de Enero de 2012, 12:22:16 »
Estimado, muy atento, gracias por las nociones y referencias de lectura que me diste.

Lo de generar la imagen me resultó entretenido pero no sabía qué hacer a partir de ahí.

Seguro que haciendo lo que me sugerís, voy a aprender cosas nuevas así que manos a la obra hoy sábado!

Un abrazo!

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Se aceptan ladrillos por la cabeza
« Respuesta #3 en: 28 de Enero de 2012, 21:11:44 »
si va a 25Mhz como dices y necesitas un adc a esa velocidad dificil con un pic. De todas formas la señal de VGA es analogica? Lo pregunto porque nunca he andado con nada de esto, si fuese digital con un pic rapido podrias hacerlo, ya sea un dspic33 o un pic32

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Se aceptan ladrillos por la cabeza
« Respuesta #4 en: 29 de Enero de 2012, 03:36:05 »
Sí, cada canal R-G-B es una señal analógica. Puedes escribir nivel alto o nivel bajo como hace Ariel y conseguirás sólo 8 colores y 2 niveles de brillo, pero en analógico es como se consigue toda la gama de colores.

Desconectado jorsss

  • PIC10
  • *
  • Mensajes: 28
Re: Se aceptan ladrillos por la cabeza
« Respuesta #5 en: 29 de Marzo de 2012, 07:51:04 »
Hola monitor continuando con el aporte de Nocturno, recpecto a lo que dijiste de guardar la imagen en algun almacen... aca te dejo algo interesante sobre memorias SD

FAT al desnudo

y aca te dejo, de un foro de la misma pagina, el aporte de un usuario trabajandolas con los PIC18F

Manejo de memorias SD

Ojala te sirvan los links y puedas proseguir con tu proyecto, se ve bastante interesante!!
Cuando lo logres por favor no olvides postear toda tu experiencia! Un abrazo!!

Desconectado monitor

  • PIC10
  • *
  • Mensajes: 24
Re: Se aceptan ladrillos por la cabeza
« Respuesta #6 en: 16 de Abril de 2012, 12:26:48 »
Hola jorsss perdón, nunca vi tu respuesta. Gracias por la info, la voy a estudiar!
Estoy renegando con un protoboard para controlar un motorcito, habiendo dejado este proyecto en stand by, aunque NO abandonado.

Yo estaba soñando al parecer... aún con un dspic me quedo cortísimo en la frecuencia de muestreo (4 mega muestras/seg), ni hablar del procesamiento de la señal.

Estoy pensando que no me va a salir porque veo 2 caminos:

1) Sin procesar la señal, con un AD9283 por canal puedo sacar la info digital pero no me da la velocidad de nada para capturarla, por lo tanto lo único que puedo hacer es transferirla digitalmente a otro lado, cosa que se escapa a este proyecto.

2) FPGA.... y bueh, se me fue el costo a las nubes y también se escapa del proyecto.

Lo quiero seguir por alguno de los dos caminos pero por ahora estoy renegando con un 16F877A que es más sensible que actriz de telenovela. Un abrazo!!

Desconectado jorsss

  • PIC10
  • *
  • Mensajes: 28
Re: Se aceptan ladrillos por la cabeza
« Respuesta #7 en: 16 de Abril de 2012, 17:53:40 »
Hola monitor como va?? tanto tiempo...

se me ocurrio algo un poco bizarro pero puede que funcione... decis tener 3 señales analogicas (RGB) y necesitas procesarlas pero no te da la frecuencia...

El PIC16F877 puede trabajar hasta 20MHz lo ke te da un procesamiento de 5mips (mega instrucciones por segundo) no me he puesto a calcular la velocidad del conversor... pero si decis que no te da, podria ser de usar un VCO con esas señales analogicas y sacar una cuadrada para medir las variaciones de frecuencia de cada canal (proporcional a la señal analoga entrante)

Aca te dejo un link de un proyecto de un capacimetro/inductometro que trabaja de la manera que te comento... quizas te pueda guiar...

otra solucion seria usar, por ejemplo, un PIC18F2550 que con el PLL interno puede llegar a los 48MHz

Saludos!! cualquier problema o avance no dudes en postear  :mrgreen: