Jag har hittat en bra förklarande manual för OV7670. Jag laddar upp den här så den inte försvinner:
Jag misstänker att jag måste sätta array control.
Och bestämma hur signalerna ska tolkas som.
Men jag kanske behöver bara använda standardinställningar för att få en bild? Eller hur?
Hur mycket data från jag nu från DCMI hos OV7670? Får jag EXAKT 320*240 bytes, eller får jag 320*240*2 bytes?
Den visar bland annat vilka register man ska välja, för att få en viss funktion. Jag har valt QVGA med 30 FPS och RGB för att QVGA har storleken 320x240, precis som min LCD har RGB. Sedan med RGB så kan man få YUV där Y är 8-bit
Formeln för att hitta Y
Okej! Då vet jag detta. Men vad är det mer jag behöver göra för OV7670?Någon som har hållit på med DCMI förut?
Re: Någon som har hållit på med DCMI förut?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Någon som har hållit på med DCMI förut?
Kameran stöder ju https://en.wikipedia.org/wiki/ITU-R_BT.656 aka CCIR-656, vilket är YUV422 så du kan slippa RGB->YUV
Re: Någon som har hållit på med DCMI förut?
Men jag har en LCD ILI9341 som hanterar RGB färger. Därför måste kameran ge mig RGB. Men det där Y:et ska jag använda för bildigenkänning.
Re: Någon som har hållit på med DCMI förut?
Här är min mätning på 24 MHz oscillatorn för OV7670. Matningen på oscillatorn är 3.3V.
Volts/Div är på 0.1V. Time/Div är på 0.2 uS.
Volts/Div är på 0.1V. Time/Div är på 0.2 uS.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
- Swech
- EF Sponsor
- Inlägg: 4714
- Blev medlem: 6 november 2006, 21:43:35
- Ort: Munkedal, Sverige (Sweden)
- Kontakt:
Re: Någon som har hållit på med DCMI förut?
Det är nog rekord i mest antika oscilloskop... 20MHz
Har du inget bättre?
Swech
Har du inget bättre?
Swech
Re: Någon som har hållit på med DCMI förut?
Nej. Jag har inge bättre. Men det viktigaste är att jag få en signal. Om det vore helt dött, ja då hade jag hittat min problemkälla. Men nu vet jag att det är inget problem. Så jag antar att oscillatorn är OK.
Edit:
Jag har uppmätt signalerna på OV7670 med oscilloskopet.
Så jag antar att min kamera är OK då.
Då är problemen:
- I2C kommunikationen måste jag jobba vidare på
- Förstå hur jag ska skriva i STM32CubeIDE så jag kan använda DCMI med DMA. Ska man exempelvis ha FIFO aktiverad exempelvis. Vad är det för mystisk sak?
En fråga till er:
Om jag får att VSYNC ger ofta 0:or och någon 1:a och HREF är liksom motsatsen till VSYNC. Borde jag då ha denna inställning Vertical Synchronization = High, Horizontal Synchronization = Low?
Edit:
Jag har uppmätt signalerna på OV7670 med oscilloskopet.
Kod: Markera allt
3.3V = Visar 3.3V
GND = Visar 0V.
SOIC = Ingen signal då jag inte har kopplat in klockan.
SOID = Ingen signal då jag har inte kopplat in data-linjen.
VSYNC = Jag får en signal från skåpet. Mest 0:or och någon 1:a
HREF = Jag får signal från skåpet. Mest 1:or och någon 0:a
PCLK = Hög signal på många MHz. Går knappt att se. Men signal ger den.
XCLK = Hög signal på många MHz. Går knappat att se. Men signal ger den.
D7 = Denna ger PWM signal. Denna påverkas inte av linsskyddet.
D6 = Denna ger PWM signal. Den går bara 0:or när kamerans linsskydd är ditsatt.
D5 = Denna ger PWM signal. Den går bara 0:or när kamerans linsskydd är ditsatt.
D4 = Denna ger PWM signal. Den går bara 0:or när kamerans linsskydd är ditsatt.
D3 = Denna ger PWM signal. Den går bara 0:or när kamerans linsskydd är ditsatt.
D2 = Denna ger PWM signal. Den går bara 0:or när kamerans linsskydd är ditsatt.
D1 = Denna ger PWM signal. Den går bara 0:or när kamerans linsskydd är ditsatt.
D0 = Denna ger PWM signal. Den går bara 0:or när kamerans linsskydd är ditsatt.
RESET = Denna ger 3.3V. När RESET = 0V så slutar ALLA utom XCLK att ge signal.
PWDN = Denna ger 0V.
Då är problemen:
- I2C kommunikationen måste jag jobba vidare på
- Förstå hur jag ska skriva i STM32CubeIDE så jag kan använda DCMI med DMA. Ska man exempelvis ha FIFO aktiverad exempelvis. Vad är det för mystisk sak?
En fråga till er:
Om jag får att VSYNC ger ofta 0:or och någon 1:a och HREF är liksom motsatsen till VSYNC. Borde jag då ha denna inställning Vertical Synchronization = High, Horizontal Synchronization = Low?