Autor Tema: dsPIC VGA-GEN  (Leído 77263 veces)

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

Desconectado ascii

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 131
Re: dsPIC VGA-GEN
« Respuesta #30 en: 20 de Febrero de 2007, 14:19:36 »
 :mrgreen: Lo que dice picmouse es cierto puedes programar en modo grafico tipo esquematico el programa lo puedes bajar desde http://www.xilinx.com/

Desconectado Sirkius

  • PIC10
  • *
  • Mensajes: 27
Re: dsPIC VGA-GEN
« Respuesta #31 en: 21 de Febrero de 2007, 12:13:01 »
Pues ya estoy trabajando en ello. Yo di algo de VHDL en la universidad, y si bien no es muy complicado (lo hace todo el software), no tengo experiencia para hacer un proyecto de tamaño medio de forma modular, sólo se hacer tonterías.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: dsPIC VGA-GEN
« Respuesta #32 en: 21 de Febrero de 2007, 22:04:47 »
Amigo sikius, todos empezamos haciendo tonterias. Y sin miedo a quivocarme todos empezamos con el tipico. Hacer parpadear un LED. jajaja  :D No te preocupes que la experiencia se toma en el camino.

Saludos!

adbensi

  • Visitante
Re: dsPIC VGA-GEN
« Respuesta #33 en: 27 de Junio de 2007, 19:00:21 »
Ola Migos,

Una duda, tiene alguno site que venda GLCD de 320x240 pixels con mejor oferta?
Pergunto porque en farnell del brasil pedem 150 dollares !  :shock:

En projecto dsPIC VGA-GEN, tienes alguna relacion de MIPs vs Pixels? Por ejemplo, como calculo el resolucion vs memória para gerar un sinal de video P/B con un PIC @ 48MHz ~ 12MIPs / 16K ?

Gracias pelo aprendizado,
Gran Saludos!!

Desconectado zimanka

  • PIC10
  • *
  • Mensajes: 7
Re: dsPIC VGA-GEN
« Respuesta #34 en: 04 de Julio de 2007, 21:20:25 »
tengo una pregunta y es con respecto al ccs en el pic c 4.023 hay una libreria llamada  SED1335.c   para una lcd Ampire   AG-320240A1 ¿alguno de ustedes la ha usado para una lcd de este tipo?

¿sirve con cualquier 18?

gracias

Desconectado Sispic

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
Re: dsPIC VGA-GEN
« Respuesta #35 en: 26 de Febrero de 2008, 09:21:58 »
Que guay lo ha hecho este señor .

No es una dirección de youtube válida

Desconectado el_legal

  • PIC12
  • **
  • Mensajes: 65
    • LINAP SRL
Re: dsPIC VGA-GEN
« Respuesta #36 en: 26 de Febrero de 2008, 22:57:24 »
Hola:
Está espectacular lo logrado por este señor.
Sinceramente desconozco el potencial de los dsPIC. Pero creo que para estas aplicaciones seria mucho mas favorable el empleo de una FPGA ya que la velocidad de estos dispocitivos es mucho mayor.
En cuanto a la progrmacion. No comparto la idea de hacerlo a traves de el modo esquemático ya que de esta manera el compilador genera un codigo VHDL que no siempre es el mas optimo. Por eso la manera de sacarle el jugo a estos dispocitivo es programarlos en VHDL que no es para nada complicado.
Un saludo Luciano
"Si alguno quiere ser el primero, que se haga el último de todos y el servidor de todos."
 Mc 9.35

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: dsPIC VGA-GEN
« Respuesta #37 en: 27 de Febrero de 2008, 06:57:42 »
Que yo sepa,las primitivas y macros de esquemático son ya modelos vhdl,por lo que usarlos o prescindir de ellos y  hacerlo todo mediante vhdl a pelo es lo mismo desde el punto de vista del resultado que se obtiene.
Lo que sí es cierto es que cuando el diseño empieza a tener cierta envergadura,el no hacer uso de los esquemáticos  para poder tener una visión clara de lo que se está haciendo y cómo se está haciendo dificulta la tarea hasta el punto de que pueda resultar imposible.Aunque sea en un papel se precisa tener un esquema visual...y si la herramienta ya te lo proporciona y además te ahorra algún que otro modelo,  declaración de componentes  y descripción de conexionado ¿por qué no usarlo?
« Última modificación: 27 de Febrero de 2008, 07:00:54 por Modulay »

Desconectado el_legal

  • PIC12
  • **
  • Mensajes: 65
    • LINAP SRL
Re: dsPIC VGA-GEN
« Respuesta #38 en: 27 de Febrero de 2008, 10:56:14 »
hola :
Para aclarar el tema voy a contar una experiencia que tuve al respecto.
En la catedra de vhdl nos pedian hacer un codigo que relizara la operacion de un contador binario sincrono. Luego, como los profesores son los mismo que los de la catedra FPGA , nos pidieron hacer un contador binario sincrono pero atravez del diagrama esquematico.
El resultado no fue el esperado, ya que todos imaginavamos que este contador iva a tener un codigo igual al VHDL pero no fue asi.... El codigo generado al compilar el esquematico fue menos eficiente que el VHDL que relizamos.
Lo sucedido es comparable con el hecho de programar un PIC en leguaje C o en assembler.
Los dos funcionan bien pero optimiza mejor los recursos el assebler.
Por ultimo podrimos decir que se utilice el lenguaje que uno mas domine a modo de proyecto, pero si lo que se quiere es sacar el maximo potencial, recomiendo el VHDL. 
Un saludo luciano
"Si alguno quiere ser el primero, que se haga el último de todos y el servidor de todos."
 Mc 9.35

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: dsPIC VGA-GEN
« Respuesta #39 en: 27 de Febrero de 2008, 16:41:25 »
Si construyes el circuito de un contador síncrono a base de puertas lógicas y biestables es normal que salga poco optimizado (además de ser un trabajo de chinos), no creo que ese ejemplo sea muy ilustrativo.
El uso de esquemáticos no tiene la finalidad de modelar (aunque permite hacerlo) bloques de bajo nivel jerárquico,sino que se usa para interconectarlos entre sí y tener una visión conjunta del sistema.

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: dsPIC VGA-GEN
« Respuesta #40 en: 27 de Febrero de 2008, 16:52:29 »
Ahora que leo los mensajes de los otros compañeros entiendo tu punto de vista.
¡Ponerse a diseñar para fpga sin usar vhdl es una locura!
Para cosas sencillas vale,pero a poco que aumente la complejidad del cacharro,se puede convertir en una odisea.
Como ya han comentado,no es tan complicado aprender vhdl,y si ya se tienen nociones de programación y electrónica digital,pues aún menos

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: dsPIC VGA-GEN
« Respuesta #41 en: 13 de Agosto de 2008, 20:44:33 »
Tengo unas dudas respecto a las 2 imagenes que se muestran al inicio de este post, en la primera imagen la data de los pixeles se encuentran en la RAM y la segunda imagen tiene la data en la Flash? es asi? la data es sacada de un archivo BMP?

Seria posible alguna breve explicación del envio de los colores? de forma mas concreta solo las 3 o 4 lineas del programa que me imagino es la parte repetitiva que se encarga de enviar la data y colores a la pantalla.

Saludos.

Javicho.

Desconectado Sispic

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
Re: dsPIC VGA-GEN
« Respuesta #42 en: 14 de Agosto de 2008, 02:07:15 »
Quizas el post de este hilo te pueda orientar un poco

http://www.todopic.com.ar/foros/index.php?topic=20464.40




http://www.epanorama.net/documents/pc/vga_timing.html
http://www.ece.msstate.edu/~reese/EE4743/lectures/displays/displays.pdf

Yo no se explicar muy bien las cosas pero lo intentare Meta .
Por ejemplo esta imagen estava en la memoria flash del pic32.




En la ram del pic no caven todos los bytes y por eso le puse 2 rams externas de 128kb en el PARALLEL MASTER PORT
Suficiente para los 640x480pixels -> 16 colorines .

Este ejemplo es valido para cualquier pic , incluso un 16f84 .
naturalmente no llegara a esa resolucion pero el principio es el mismo.

Código: C
  1. #define  _PULSO_VSINC   60   //  0,06 ms                                                                            
  2. #define  _PULSO_HSINC    4   //  +- 3.77 us
  3.  
  4. #define  _lineas_periodo   525
  5. #define  _lineas_superior   26
  6. #define  _lineas_Video     480
  7. #define  _Bytes_por_linea (640/2) // pixel de 4 bits
  8.  
  9. #define PULSO_HORIZONTAL() { \
  10.                  HORIZONTAL_SINC_BIT = 0;  \
  11.                  delay_us(_PULSO_HSINC);   \
  12.                  HORIZONTAL_SINC_BIT = 1; }
  13.  
  14.  
  15. unsigned long Linea,Offset_Bytes;
  16. /******************************************************/
  17. void main(void){
  18. /******************************************************/
  19.  
  20. Configuramos_laInterrupcion__del_Timer1( para que salte cada 31,75 us  -> 31500 Hz +-);
  21.  
  22. while(1){ /* pintamos caracteres en la ram etc */ }
  23.  
  24. }
  25.  
  26. /******************************************************/
  27. void __ISR(_TIMER_1_VECTOR, ipl2) Timer1Handler(void){
  28. /******************************************************/
  29.  
  30. // Borramos el flag de interrupcion
  31.   mT1ClearIntFlag();
  32.  
  33.  
  34.  if (Linea++ == _lineas_periodo){/* nueva pantalla */
  35.  
  36.      VERTICAL_SINC_BIT = 0;      /* pulso vertical */
  37.  
  38.         PULSO_HORIZONTAL();     /* aprovechamos y le damos el pulso Horizontal */  
  39.  
  40.      VERTICAL_SINC_BIT = 1;
  41.  
  42.      Linea=0;          
  43.      Offset_Bytes=0;         /* offset de la ram o flash a cero*/
  44.  
  45.     goto sal;
  46. }
  47.  
  48.  
  49. PULSO_HORIZONTAL();
  50.  
  51. if(Linea < _lineas_superior)goto Fin_Linea;                 /* respeta Top Border */
  52. if(Linea > _lineas_Video + _lineas_superior)goto Fin_Linea; /* respeta Bottom Border */
  53.  
  54.  
  55. Display_video_time:
  56. /*  delay(x) si es necesario para left border */
  57.  
  58. /* Aqui cuanto mas corramos mas pixels pintaremos */
  59. /* hay que usar asm y ahorrar el maximo de ciclos  */
  60.  
  61. /* Ejemplo 4 pixels en los pines PORTx 7..4 */
  62. valor = ram[Offset_Bytes++]
  63. PORT_VIDEO = valor;        /* pixel 1 */
  64. valor = valor >> 4;
  65. PORT_VIDEO = valor;        /* pixel 2 */
  66.  
  67. valor = ram[Offset_Bytes++]
  68. PORT_VIDEO = valor;        /* pixel 3 */
  69. valor = valor >> 4;
  70. PORT_VIDEO = valor;        /* pixel 4 */
  71.  
  72.  
  73. PORT_VIDEO = 0; /* Bottom Border , Right Border*/
  74.  
  75. Fin_Linea:
  76.  
  77.  
  78. }

Para conectar el monitor al PIC usaremos los siguientes pines

http://www.pchardware.org/HWB/co_VGA15.html

13  HSYNC   
14  VSYNC   
1  RED   
2  GREEN   
3  BLUE     
y todos los GND a vss.

Una forma chapucera de convertir 4bits del puerto port 7..4 a R-GB  para 16 colores lo hice asi .



Y los valores de las resistencias se pueden ir ajustando hasta conseguir los colores originales .

FACIL NO ......... ?
THE END .





Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: dsPIC VGA-GEN
« Respuesta #43 en: 14 de Agosto de 2008, 15:19:17 »
Gracias por la respuesta Sispic, conoces algún chip que decodifique un archivo mpeg o jpeg o algo asi? porque tu usas bastante memoria y me imagino que con un decoder podrias ganar espacio.

Javicho.

Desconectado Sispic

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
Re: dsPIC VGA-GEN
« Respuesta #44 en: 20 de Agosto de 2008, 15:10:25 »
No conozco el chip que codifique . Solo ley los bytes del bitmap sin comprimir y a la flash o ram  para provar .