Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2014:cam-ov7670

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2014:cam-ov7670 [2015/01/17 14:18]
Petr Machala [Konfigurace kamery]
2014:cam-ov7670 [2015/01/18 14:14] (aktuální)
Petr Machala [Kamera OV7670 se STM periferií DCMI]
Řádek 1: Řádek 1:
 ====== Kamera OV7670 se STM periferií DCMI ====== ====== Kamera OV7670 se STM periferií DCMI ======
- --- //​[[xmacha49@stud.feec.vutbr.cz|Petr Machala]], ​17.1.2015//+ --- //​[[xmacha49@stud.feec.vutbr.cz|Petr Machala]], ​18.1.2015//
  
 ===== Zadání ===== ===== Zadání =====
Řádek 55: Řádek 55:
  
 ==== Ovládací jádro ==== ==== Ovládací jádro ====
-Samotné jádro firmwaru (FW) je koncipováno jako jednoduchá nekonečná smyčka s blokujícím programovým obsahem společně s obsluhou použitých přerušení. Blokující obsah představuje např. standardní obsluhu FW nebo zobrazování na displej. Jako přerušení jsou použity interrupt request (IRQ) kanály pro čítače/​časovače (TIM), které zajišťují obsluhu uživatelského tlačítka a odpočítávání a DMA řadič pro indikaci kompletního přenosu mezi DCMI sběrnicí a pamětí. Zjednodušenou funkci FW přípravku ilustruje vývojový diagram na Obr. 5 níže.+Samotné jádro firmwaru (FW) je koncipováno jako jednoduchá nekonečná smyčka s blokujícím programovým obsahem společně s obsluhou použitých přerušení. Blokující obsah představuje např. standardní obsluhu FW nebo zobrazování na displej. Jako přerušení jsou použity interrupt request (IRQ) kanály pro čítače/​časovače (TIM), které zajišťují obsluhu uživatelského tlačítka a odpočítávání a DMA řadič pro indikaci kompletního přenosu mezi DCMI sběrnicí a pamětí. Jako obrazový formát snímků byl zvolen barevný model RGB565 a rozlišení 320x240 px (QVGA), který je podporován kamerou i použitým displejem. Zjednodušenou funkci FW přípravku ilustruje vývojový diagram na Obr. 5 níže.
  
 {{:​2014:​cam-ov7670:​vyvojovy_diagram_sw.png?​650|Obr. 5: Vývojový diagram jádra obslužného FW}} {{:​2014:​cam-ov7670:​vyvojovy_diagram_sw.png?​650|Obr. 5: Vývojový diagram jádra obslužného FW}}
Řádek 240: Řádek 240:
 </​code>​ </​code>​
  
-Zde můžeme vidět např. resetování všech registrů do výchozího stavu nebo nastavení synchronizačních signálů pro zajištění korektní synchronizace na základě zvoleného formátu ​jednotlivých snímku. Jak již bylo zmíněno výšebyl zvolen obrazový formát ​RGB565 ​a rozlišení 320x240 px (QVGA), který je podporován kamerou i použitým displejem. Kompletní nastavení kamery obsahuje celkem 122 konfiguračních registrů, ​kterou ​je možné nalézt zde {{:​2014:​cam-ov7670:​ov7670_settings.zip| Kompletní konfigurace kamery}}.+Zde můžeme vidět např. resetování všech registrů do výchozího stavu nebo nastavení synchronizačních signálů pro zajištění korektní synchronizace na základě zvoleného formátu ​(QVGA, RGB565) ​jednotlivých snímků. Kompletní nastavení kamery obsahuje ​úpravu ​celkem\\ 122 konfiguračních registrů, ​které ​je možné nalézt zde {{:​2014:​cam-ov7670:​ov7670_settings.zip| Kompletní konfigurace kamery}}.
 ==== Dosažené výsledky ==== ==== Dosažené výsledky ====
-Nyní můžeme přejít přímo k demonstraci dosažených výsledků, tedy zobrazení získaných snímků. Pro názornost ​je uvedeno ​více nastavení modulu kamery pro demonstraci vlivů jednotlivých nastavení na kvalitu výsledného snímku. Jedná se o čistá obrazová data, která byla získána pomocí komunikace vývojové desky ve virtual COM port (VCP) módu se softwarem (SW) //MATLAB// na PC. Problematika ​komunikace je opět rozsáhlejší a je nad rámec tohoto projektu, takže je záměrně vynechána, nicméně lze říct, že je opět založena na oficiální předloze USB VCP. Získané obrazové výsledky lze tedy vidět na Obr. 6 až Obr. 9 níže.+Nyní můžeme přejít přímo k demonstraci dosažených výsledků, tedy zobrazení získaných snímků. Pro názornost ​zde můžeme nalézt ​více nastavení modulu kamery pro demonstraci vlivů jednotlivých nastavení na kvalitu výsledného snímku. Jedná se o čistá obrazová data, která byla získána pomocí komunikace vývojové desky ve virtual COM port (VCP) módu se softwarem (SW) //MATLAB// na PC. Tato komunikace\\ je opět rozsáhlejší ​problematikou ​a je nad rámec tohoto projektu, takže je záměrně vynechána. Nicméně lze říct, že je opět založena\\ na oficiální předloze USB VCP. Získané obrazové výsledky lze tedy vidět na Obr. 6 až Obr. 9 níže.
  
-{{:​2014:​image_default.png | Obr. 6: Získaný snímek pro výchozí konfiguraci kamery}}+{{:2014:cam-ov7670:​image_default.png | Obr. 6: Získaný snímek pro výchozí konfiguraci kamery}}
  
-{{ :​2014:​image_no_AWB_AGC_AEC.png | Obr. 7: Získaný snímek pro kompletní konfiguraci (mimo AGC, AEC a AWB)}}+{{:2014:cam-ov7670:​image_no_AWB_AGC_AEC.png| Obr. 7: Získaný snímek pro kompletní konfiguraci (mimo AGC, AEC a AWB)}}
  
-{{:​2014:​image_no_0xb0.png | Obr. 8: Získaný snímek pro kompletní konfiguraci (mimo registru 0xb0)}}+{{:2014:cam-ov7670:​image_no_0xb0.png | Obr. 8: Získaný snímek pro kompletní konfiguraci (mimo registru 0xb0)}}
  
-{{ :​2014:​image_full.png | Obr. 9: Získaný snímek pro kompletní konfiguraci}}+{{:2014:cam-ov7670:​image_full.png| Obr. 9: Získaný snímek pro kompletní konfiguraci}}
  
-Video demonstrující funkci přípravku v kontinuálním režimu kamery lze vidět níže.+Video demonstrující funkci přípravku v kontinuálním režimu kamery lze vidět níže, nicméně se jedná o velmi špatnou nahrávku, kde zářící displej vývojového kitu činí obraz velmi nekvalitnímProto je lepší kvalitu jednotlivých snímků posuzovat podle obrázků uvedených výše. ​  
 + 
 +{{youtube>​REiaTWDaZpU?​large}}
  
    
 ===== Závěr ===== ===== Závěr =====
-Na této stránce byla postupně nastíněna problematika týkající propojení vývojové desky 32F429IDISCOVERY a moduu kamery OV7670 pomocí DCMI sběrnice. Modul kamery byl nakonfigurován do požadovaného stavu pomocí SCCB sběrnice, kde poté byly získávána obrazová data pomocí DCMI sběrnice v kontinuálním nebo jedno-snímkovém ​módu, kde pomocí DMA řadiče ​byly přijatá obrazová data esouvány ​do paměti MCU. Tato data byla poté jednoduše vizualizována na displej vývojové desky pomocí SPI sběrnice. Tímto způsobem byla úspěšně otestována a demonstrována funkčnost použitého modulu kamery a vývojové desky a jejich vzájemného propojení. Tento popis tedy představuje solidní základovou platformu pro další vývoj ​požadovaného FW. Celý programový kód včetně projektu v prostředí Keil MDK-ARM uVision5 lze nalézt zde {{:2014:mpoa_projekt.zip| MPOA Keil projekt}}.+Na této stránce byla postupně nastíněna problematika týkající propojení vývojové desky 32F429IDISCOVERY a modulu ​kamery OV7670 pomocí DCMI sběrnice. Modul kamery byl nakonfigurován do požadovaného stavu pomocí SCCB sběrnice ​a následně byla získávána obrazová data pomocí ​výše zmíněné ​DCMI sběrnice v kontinuálním nebo jedno-snímkovém ​režimu. Tyto obrazová data byla poté pomocí DMA řadiče přesouvána ​do paměti MCU, odkud následně ​byla jednoduše vizualizována na displej vývojové desky pomocí SPI sběrnice. Tímto způsobem byla úspěšně otestována a demonstrována funkčnost ​propojení ​použitého modulu kamery a vývojové desky. Tento popis tedy představuje solidní základovou platformu pro další vývoj ​programového kódu a realizaci libovolné aplikace v praxi. Celý programový kód včetně projektu\\ v prostředí ​//Keil MDK-ARM uVision5// lze nalézt zde {{:2014:cam-ov7670:​mpoa_keil_projekt.zip| MPOA Keil projekt}}.
2014/cam-ov7670.1421500705.txt.gz · Poslední úprava: 2015/01/17 14:18 autor: Petr Machala