Autor Tema: Camara OV7670  (Leído 29793 veces)

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

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #75 en: 10 de Noviembre de 2016, 16:10:10 »
estos son los datos con los que configuro la camara:

dt   0x11,0x01, 0x12,0x01, 0x0c,0x00, 0x3e,0x00, 0x70,0x3A, 0x71,0x35, 0x72,0x11, 0x73,0xf0, 0xa2,0x02, 0x42,0x00
dt   0x11,0x80, 0x6b,0x0a, 0x2a,0x00, 0x2b,0x00, 0x92,0x00, 0x93,0x00, 0x3b,0x0a, 0x24,0x95, 0x25,0x33, 0x26,0xe3
dt   0xaa,0x00, 0xc9,0x60, 0x33,0x0b, 0x34,0x11, 0x21,0x02, 0x22,0x91, 0x37,0x1d, 0x38,0x71, 0x39,0x2a, 0xb1,0x0c
dt   0xb3,0x82, 0x17,0x13, 0x18,0x01, 0x32,0xb6, 0x19,0x02, 0x1a,0x7a, 0x03,0x0a, 0x12,0x01, 0x3a,0x04, 0xb0,0x8c
dt   0x13,0xe7, 0x6f,0x9f, 0x14,0x10, 0x01,0x40, 0x02,0x40, 0x6a,0x40, 0x41,0x3d, 0x4c,0x00, 0x77,0x00, 0x3f,0x00
dt   0x75,0x03, 0x76,0xe1


los he puesto de dos en dos.el primer byte es la direccion.el segundo el dato.ya los revise y no encontre ningun error.


es lo mismo que esto: tu configuracion.


Código: [Seleccionar]
;Configuración de cámara para VGA Bayer    
;CLKRC     (0x11)=0x01     //Prescaler interno sobre clock
;COM7     (0x12)=0x01     //Formato de salida "Bayer Raw"
;COM3     (0x0c)=0x00
;COM14     (0x3E)=0x00
;SCALING_XSC     (0x70)=0x3A
;SCALING_YSC     (0x71)=0x35
;SCALING_DCWCTR     (0x72)=0x11
;SCALING_PCLK_DIV   (0x73)=0xF0
;SCALING_PCLK_DELAY (0xA2)=0x02
;COM17     (0x42)=0x00     //Color bar=0x08
;
;Configuración de cuadros por segundo
;CLKRC     (0x11)=0x80     //Sin prescaler interno sobre clock.
;DBLV     (0x6b)=0x0A     //PLL desactivado.
;EXHCH     (0x2a)=0x00
;EXHCL     (0x2b)=0x00
;DM_LNL     (0x92)=0x00
;DM_LNH     (0x93)=0x00
;COM11     (0x3b)=0x0A
;Configuración de Exposición automática
;AEW     (0x24)=0x95
;AEB     (0x25)=0x33
;VPT     (0x26)=0xE3

;HAECC7     (0xAA)=0x00     //Algoritmo de promedios. *******************************
;SATCTR     (0xc9)=0x60
;CHLF     (0x33)=0x0B
;ARBLM     (0x34)=0x11
;ADCCTR1     (0x21)=0x02
;ADCCTR2     (0x22)=0x91
;ADC     (0x37)=0x1D
;ACOM     (0x38)=0x71
;OFON     (0x39)=0x2A
;ABLC1     (0xb1)=0x0C     //Habilita función ABLC

;THL_ST     (0xb3)=0x82     //Objetivo ABLC
;Windowing
;HSTART     (0x17)=0x13
;HSTOP     (0x18)=0x01
;HREF     (0x32)=0xB6
;VSTRT     (0x19)=0x02
;VSTOP     (0x1a)=0x7A
;VREF     (0x03)=0x0A
;Configuración de cámara para salida "Processed Bayer RGB"
;COM7     (0x12)=0x01     //Configuro formato de salida. Color bar=0x03 o 0x07
;TSLB     (0x3a)=0x04     //Configuro secuencia de datos.
;RSVD     (0Xb0)=0x8C     //Registro reservado.

;//EscribirOV7670(COM13,0x08);      //Gamma deshabilitado "no fijado en codigo"
;COM8     (0x13)=0xE7
;AWBCTR0     (0x6f)=0x9F
;COM9     (0x14)=0x10
;BLUE     (0x01)=0x40
;RED     (0x02)=0x40
;GGAIN     (0x6a)=0x40
;COM16     (0x41)=0x3D
;DNSTH     (0x4c)=0x00
;REG77     (0x77)=0x00
;EDGE     (0x3f)=0x00

;REG75     (0x75)=0x03
;REG76     (0x76)=0xE1
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado luismh

  • PIC16
  • ***
  • Mensajes: 149
Re:Camara OV7670
« Respuesta #76 en: 10 de Noviembre de 2016, 16:22:55 »
Has leído los registros de la cámara y confirmado que efectivamente se están guardando los valores que le indicas?

Podrías leer unos 5 al azar y confirmar que contienen el valor que le mandas y no el valor por defecto que indica la hoja de datos.

Recuerda que aplicar un reset o quitar la alimentación a la cámara resetea todo por defecto

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #77 en: 10 de Noviembre de 2016, 18:39:41 »
estos son los datos que leo despues de un reset:



y estos cuando le cargo la nueva configuracion:



puede notarse que los bytes que se han modificado estan en rojo.


bueno.algunos registros como el de ganancia 0x00 varia segun la luz que entre por el objetivo.y otros como el 0x11 varia segun que configuracion estemos
realizando.

por lo que vi otra vez.solo hay un registro que lo configuramos con un valor y este cambia a otro.el registro 0xc9 que se le introduce el valor 0x60
y aparece el 0x6b.

pero como algunos registro o la mayoria trabajan con bits de entrada como de salida.es dificil saber que valores son fijos o cuales van a variar.
« Última modificación: 11 de Noviembre de 2016, 10:49:54 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #78 en: 11 de Noviembre de 2016, 11:59:33 »
me he dado cuenta de una cosa que puede que sea el fallo que me esta ocurriendo.he comprobado que cuando inicio la simulacion.desde el principio del codigo.
en cada secuencia se producen dos imagenes diferentes referente a los datos recibidos de la camara.

los 256bytes de la direccion 0x100 son los registros internos.
y apartir de la 0x200 son los datos de la FIFO





y siempre sale lo mismo.incluso los datos se envian por el puert serie y son identicos.asi que no se pierden datos por el camino.
estos datos son de la generacion de las barras de colores.
« Última modificación: 11 de Noviembre de 2016, 12:01:37 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado luismh

  • PIC16
  • ***
  • Mensajes: 149
Re:Camara OV7670
« Respuesta #79 en: 11 de Noviembre de 2016, 12:10:13 »
porqué los registros internos cambian?

Será que tal vez estás ordenando mal los datos de la FIFO?

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #80 en: 11 de Noviembre de 2016, 17:26:52 »
los registros internos se cargan desde el bus SCCB a partir de la direccion 0x100.y los datos leidos de la FIFO a partir de la direccion 0x200.
la direccion 0x00 es el valor de ganancia.y este cambia segun la luz ambiental.supongo que abra otros registros que tambien cambian por otros motivos.

a ti no te ocurre esto con tu camara?que cambien los registros.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #81 en: 11 de Noviembre de 2016, 18:28:33 »
en esta pagina: http://embeddedprogrammer.blogspot.com.es/2012/07/hacking-ov7670-camera-module-sccb-cheat.html

dicen que para configurar los registros internos.priimero hay que leerlos y luego modificar los valores pertinentes.pero no sobreescribirlos sin mas.luismh a ti te hizo falta implementar
esta opcion en el codigo?

tambien dicen algo de una prueba con la camara tapada.la he tapado y he obtenido algo curioso.empezo a crear una imagen en negro.para luego en mitad de la image
empezar a cambiar casi como si hubieramos configurado la camara para visualizar las barras.

voy a tener que revisar esto.haber cual es el problema que esta ocurriendo.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #82 en: 12 de Noviembre de 2016, 10:49:14 »
he hecho unas pruebas.y estos son los registros que cambian cada vez que se leen los registros internos.con la configuracion RAW BAYER.

            valores aleatorios.
0x00   GAIN            ;varia segun obstruccion de la lente
0x01   BLUE         ;varia segun obstruccion de la lente
0x05   BAVE         ;varia segun obstruccion de la lente
0x06   GbAVE         ;varia segun obstruccion de la lente
0x08   RAVE         ;varia segun obstruccion de la lente
0x2f   YAVE         ;varia segun obstruccion de la lente
0x4c   DNSTH         ;07 es el mas comun
0x6a   GGAIN         ;varia segun obstruccion de la lente
0xbe   AD-CHB         ;00,01,02
0xbf   AD-CHR         ;00,01,02
0xc0   AD-CHGb         ;42,43,44
0xc1   AD-CHGr         ;42,43,44

ademas he comprobado que con la configuracion por defecto al tapar la lente la salida D7 sigue mandando datos.y D0..D6 no mandan datos.
sin embargo con la configuracion RAW BAYER D0..D2 envian datos y D3..D7 no envia.

es decir despues de un reset.los datos de la imagen solo se utilizan las salidas D0..D6
y con la configuracion RAW BAYER.solo se utilizan las salidas D3..D7  almenos estas son las mediciones que me salen.

supongo que depende de la configuracion que le pongamos a la camara esta trabaja de una forma u otra con el sensor de imagen.



respecto a los archivos que se modifican solos aunque los hayamos configurado.son el 0x01 BLUE y el 0x4c DNSTH.
los demas no se inmutan.

incluso puedo decir que con el objetivo tapado.apenas cambian los valores de los registros.

« Última modificación: 12 de Noviembre de 2016, 12:14:33 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #83 en: 12 de Noviembre de 2016, 17:33:38 »

parece que cometi un error enorme.no se como no me di cuenta.lo tenia delante y no lo vi.

para recibir los datos de la fifo. uso el programa Serial Port Monitor.y cuando recivo los datos no hay nada raro.



los datos recividos se guardan en un archivo.

pero al abrir el archivo con Hexplorer:



se ve como los datos han cambiado.siendo separados por el dato 0x00.
todabia no se que programa voy a utilizar para obtener un archivo limpio de estos ceros.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #84 en: 12 de Noviembre de 2016, 18:57:26 »

ya encontre la forma.

se selecciona todo el texto de la ventana Termina view del programa Serial Port Monitor.y se pega en el Bloc de notas.y se guarda con la extencion .raw
esto es lo que he conseguido.ya estoy muy cerca.


Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #85 en: 12 de Noviembre de 2016, 19:20:05 »
por lo que veo la secuencia de las barras de colores es: blanco , cyan , amarillo , verde , magneta , azul , rojo , negro
lo que no se porque salen las barras de colores desincronizadas.pero en grupos.es muy raro.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #86 en: 13 de Noviembre de 2016, 13:53:26 »
por fin  :-/.aqui esta el resultado:



no se porque la barra blanca esta cortada.pero me da la impresion de que es realmente lo que genera la camara.

he cometido varios errores hasta llegar a este objetivo.los he ido solucionando realizando multitud de pruebas.
y los he encontrado de pura casualidad.

el ultimo de los fallos que he descubierto es que despues de habilitar WEN hay que ponerle un retardo para que a la camara
le de tiempo a estabilizarse.si no se desincroniza todo.
« Última modificación: 13 de Noviembre de 2016, 13:56:40 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Camara OV7670
« Respuesta #87 en: 13 de Noviembre de 2016, 14:39:21 »
Felicidades groundman!

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Camara OV7670
« Respuesta #88 en: 13 de Noviembre de 2016, 16:05:56 »
gracias.ahora estoy liado con la imagen.pero no encuentro un programa con el que pueda recibir datos por el puerto serie.copiar los datos y pegarlos o crear un archivo directamente.

la mayoria de los que he visto al copiar y pegar se modifican los datos y los corrompen.aveces los copia bien y otras no.por eso he tardado tanto en hacer que funcione.
si no ya estaria todo funcionando.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado luismh

  • PIC16
  • ***
  • Mensajes: 149
Re:Camara OV7670
« Respuesta #89 en: 13 de Noviembre de 2016, 16:56:02 »
Excelente!  ((:-)) ((:-)) ((:-)) :-/ :-/ :-/