L-867Ad.Ax Quickstart Guide Inbetriebnahme phyCAM mit Embedded Imaging Kit Head

Table of Contents

L-867Ad.Ax Quickstart Guide Inbetriebnahme phyCAM mit Embedded Imaging KitHead
Document TitleL-867Ad.Ax Quickstart Guide Inbetriebnahme phyCAM mit Embedded Imaging Kit Head
Document TypeHardware/Software Guide
Article NumberL-867Ad.Ax
StatusHead Doc
Release Date
Is Branch ofhttps://wiki.phytec.com/x/hh9tCQ

Im Manual verwendete Bezeichnungen für Erzeugnisse, die zugleich ein eingetra­genes Warenzeichen darstellen, wurden nicht besonders gekennzeichnet. Das Fehlen der ã Markierung ist demzufolge nicht gleichbedeutend mit der Tatsa­che, dass die Bezeichnung als freier Warenname gilt. Ebenso wenig kann anhand der verwendeten Bezeichnung auf eventuell vorliegende Patente oder einen Ge­brauchsmusterschutz geschlossen werden.

Die Informationen in diesem Handbuch wurden sorgfältig überprüft und können als zutreffend angenommen werden. Dennoch sei ausdrücklich darauf verwiesen, dass die Firma PHYTEC Messtechnik GmbH weder eine Garantie noch die juristi­sche Verantwortung oder irgendeine Haftung für Folgeschäden übernimmt, die auf den Gebrauch oder den Inhalt dieses Handbuches zurück­zuführen sind. Die in diesem Handbuch enthaltenen Angaben können ohne vorherige Ankündigung geändert werden. Die Firma PHYTEC Messtechnik GmbH geht damit keinerlei Verpflichtungen ein.

Ferner sei ausdrücklich darauf verwiesen, dass PHYTEC Messtechnik GmbH we­der eine Garantie noch die juristische Verantwortung oder irgendeine Haftung für Folgeschäden übernimmt, die auf falschen Gebrauch oder falschen Einsatz der Hard- bzw. Software zurückzuführen sind. Ebenso können ohne vorherige An­kündigung Layout oder Design der Hardware geändert werden. PHYTEC Messtechnik GmbH geht damit keinerlei Verpflichtungen ein.

Copyright 2021 PHYTEC Messtechnik GmbH, D-55129 Mainz.

Alle Rechte vorbehalten. Kein Teil dieses Buches darf in irgendeiner Form ohne schriftliche Genehmigung der Firma PHYTEC Messtechnik GmbH unter Einsatz entsprechender Systeme re­produziert, verarbeitet, vervielfältigt oder verbreitet werden.

 

EUROPE

NORTH AMERICA

FRANCE

INDIACHINA

Address:

PHYTEC Messtechnik GmbH
Robert-Koch-Str. 39
D-55129 Mainz
GERMANY

PHYTEC America LLC
203 Parfitt Way SW
Bainbridge Island, WA 98110
USA

PHYTEC France
17, place Saint-Etienne
F-72140 Sillé-le-Guillaume
FRANCE

PHYTEC Embedded Pvt. Ltd
No. 1688, 25th A Cross
27th Main, 2nd Sector, Opp. PEP School
V2, HRS Layout
Bangalore 560102
INDIA

PHYTEC Information Technology (Shenzhen) Co. Ltd.
2106A, Block A, Tianxia Jinniu Square,
Taoyuan Road, Nanshan District,
518052 Shenzhen,
CHINA

Ordering Information:

+49 6131 9221-32
sales@phytec.de

+1 800 278-9913
sales@phytec.com

+33 2 43 29 22 33
info@phytec.fr

+91-80-4086 7046/48
sales@phytec.in
+86-755-3395-5875
sales@phytec.cn

Technical Support:

+49 6131 9221-31
support@phytec.de

+1 206 780-9047
support@phytec.com


support@phytec.fr

+91-80-4086 7047
support@phytec.in

support@phytec.cn

Fax:

+49 6131 9221-33

+1 206 780-9135

+33 2 43 29 22 34


+86-755-3395-5999

Web Site:

http://www.phytec.de
http://www.phytec.eu

http://www.phytec.com

http://www.phytec.fr

http://phytec.inhttp://www.phytec.cn

Einleitung

Die SBC-Kits (Single-Board-Computer) von PHYTEC stellen eine ideale Basis für die Erprobung und die ersten Design-Schritte mit phyCAM-Kameramodulen dar. Das Kit bildet die Ausgangsbasis Ihres Entwicklungsprojekts. Zum einen kann mit Hilfe des Kits bereits Anwendungssoftware entwickelt und getestet werden, bevor Ihre eigene, angepasste Hardware vorliegt. Es ist außerdem eine optimale Plattform, um spezielle Hardwareerweiterungen auszutesten, bevor Sie eine aufwändige Applikationsplatine erstellen. Dieser optionale Schritt sichert Ihr Design ab und stellt gleichzeitig der Softwareentwicklung eine Möglichkeit zur Verfügung, die Adaption der hinzugefügten Hardwarekomponenten vorzunehmen. Erweiterungen lassen sich einfach über die Erweiterungsschnittstellen der im Kit enthaltenen Basisplatinen anbinden. Im einfachsten Fall genügt ein frei verdrahteter Lochraster-Aufbau.

Für bestimmte Kombinationen aus Controllermodul, Kameramodul und Objektiv bieten wir bereits fertig zusammengestellte Kits an. Sollte die von Ihnen gewünschte Kombination nicht verfügbar sein, empfehlen wir, zunächst ein ähnlich ausgestattetes Kit in Betrieb zu nehmen und dann im zweiten Schritt die von Ihnen gewünschte Kamera an das Kit anzuschließen.

Wir beraten Sie gerne bezüglich der optimalen Vorgehensweise zur Realisierung Ihres Projektes.

Inbetriebnahme des SBC-Kits

Bevor Sie Kamera und Bildverarbeitungsfunktionen ausprobieren empfehlen wir Ihnen, sich zunächst mit den grundlegenden Funktionen des Kits und der zugehörigen Entwicklungsumgebung vertraut zu machen. Jedes Kit enthält ein Quick-Start-Manual, welches Sie durch die Installation der Software auf Ihrem Entwicklungs-PC und die Inbetriebnahme der Hardware führt.

Anschluss und Inbetriebnahme der Kamera

Hinweis

Je nach Version/Kernel-Stand kann die Inbetriebnahme der Software im Detail von der beschriebenen Vorgehensweise abweichen.
Beim Kauf des SBC-Kits erhalten Sie die PHYTEC-Inbetriebnahmegarantie. Sollten Sie während der Inbetriebnahme auf Schwierigkeiten stoßen hilft Ihnen der PHYTEC Support!

Bevor Sie beginnen

Für die Inbetriebnahme der Kamera benötigen Sie folgende Komponenten:

  • PHYTEC SBC-Kit mit Netzteil und Serieller Verbindung (RS232 oder USB)
  • Kameramodul, mit Kamerakabel, Objektivhalter und Objektiv

Wenn Sie das entsprechende Kit als Embedded Imaging Kit bestellt haben, sind bereits alle zur Inbetriebnahme notwendigen Hardwarekomponenten im Lieferumfang enthalten.

Sowohl eine Erweiterung eines vorhandenen Kits um eine Kamera als auch die Ergänzung eines bestehenden Video-Kits um weitere Kameras ist bei vorhandener phyCAM Schnittstelle in der Regel ohne Probleme möglich.

Bevor Sie die Kamera anschließen und in Betrieb nehmen, führen Sie die ersten Schritte der „Quick Start Instructions“ des jeweiligen Kits durch. Um die Skripte auf dem Modul zu starten, befolgen Sie die Punkte zum Herstellen einer seriellen Verbindung mit dem Modul. Sie können dabei das in der Anleitung vorgeschlagene Terminalprogramm oder ein eigenes Terminalprogramm verwenden.

Um gespeicherte Bilddateien an einen PC (Host) per Ethernet zu übertragen, befolgen Sie die Punkte zum Herstellen einer FTP-Verbindung. Sie können dabei den in der Anleitung vorgeschlagenen FTP-Server oder einen eigenen FTP-Server verwenden.

Kamera anschließen

phyCAM-P Kamera anschließen

Machen Sie das System spannungsfrei, bevor Sie die Kamera anschließen.

Hinweis

Gehen Sie beim Anschluss der Kameras vorsichtig vor, da die Bügel der Buchsen sonst abbrechen können.

Öffnen Sie die Verriegelung der 33-poligen FFC-Buchse an der Kamera. Prüfen Sie dazu zunächst, welche Ausführung des Steckverbinders bei Ihnen vorliegt. Das Kameramodul kann mit einem Shift-Lock-Typ oder einem Flip-Lock-Typ ausgestattet sein.

Shift-Lock-Steckverbinder:

  • Ziehen Sie den Bügel der Buchse in Richtung Kabelzuführung und heben diesen leicht an.

Kameraverbindung FFC-Buchse herstellen (phyCAM-P - Shift-Lock)

Kameraverbindung FFC-Buchse herstellen (phyCAM-P - Shift-Lock)

  • Stecken Sie dann das 33-polige FFC-Kabel mit den Kontaktflächen nach unten in die FFC-Buchse bis zum spürbaren Anschlag. Die Verstärkung des FFC-Kabels (meist farblich hervorgehoben) zeigt dabei zum Bügel der Buchse.
  • Verriegeln Sie die FFC-Buchse, indem Sie den Bügel wieder herunterdrücken und dann bis zum Anschlag hineinschieben.

Flip-Lock-Steckverbinder: 

  • Klappen Sie die Verriegelung nach oben auf.

Kameraverbindung FFC-Buchse herstellen (phyCAM-P – Flip-Lock)

  • Stecken Sie dann das 33-polige FFC-Kabel mit den Kontaktflächen nach unten in die FFC-Buchse bis zum spürbaren Anschlag. Die Verstärkung des FFC-Kabels (meist farblich hervorgehoben) zeigt dabei zum Bügel der Buchse.
  • Verriegeln Sie die FFC-Buchse, indem Sie den Bügel vorsichtig herunterdrücken.

Im Kit wird ein FFC-Kabel vom Typ A (gleichseitig abisoliert und verstärkt) mitgeliefert. Dadurch erfolgt im Kit die richtige Signalzuordnung zwischen Kamera und Basisplatine.

Die Position der Kamerabuchse auf der Basisplatine, finden Sie im Hardwaremanual des Kits. Parallel zur Steckerbezeichnung (z.B. X100) findet sich bei einigen Basisplatinen auch der Aufdruck „CAM“ auf der Platine. Bei der phyCAM-P Schnittstelle handelt es sich dabei um eine 33-polige FFC-Buchse, die auf der Platine stehend oder liegend ausgeführt sein kann.

Das Einstecken des FFC Kabels erfolgt analog zu dem Einstecken des Kabels in die Kamera FFC-Buchse.

Kameraverbindung stehende FFC-Buchse (phyCAM-P)

Kameraverbindung stehende FFC-Buchse (phyCAM-P)

Hinweis

In der stehenden Ausführung der FFC-Buchse ist die Kontaktierung ebenfalls auf der dem Bügel gegenüberliegenden Seite.

phyCAM-S Kamera anschließen

Machen Sie das System spannungsfrei, bevor Sie die Kamera anschließen.

Für die Kameraverbindung eines phyCAM-S Systems wird ein Kamerakabel mit 8-poligen Hirose-Stecker benötigt (z.B.: PHYTEC WK262‑0.2). Der Hirose Stecker wird in das passende Gegenstück auf dem Kameramodul und dem SBC gesteckt. Zur Orientierung befinden sich auf der Oberseite zwei Führungsnasen. Diese müssen beim Einstecken in den entsprechenden Aussparungen der Kamerabuchse einrasten.

Kameraverbindung Hirose (phyCAM-S/S+)

Die Position der Kamerabuchse auf dem SBC, finden Sie im entsprechenden Quick-Start-Manual des Kits. Parallel zur Steckerbezeichnung (z.B. X100) findet sich bei einigen Basisplatinen auch der Aufdruck „CAM“ auf der Platine. Bei der phyCAM-S/S+ Schnittstelle handelt es sich dabei meinst um eine Hirose Buchse analog zum Kameramodul, seltener um eine RJ-45-Buchse.

Hinweis

Auf Boards mit RJ-45 Kamerabuchse befindet sich in der Regel auch eine Ethernet RJ-45-Buchse. Vergewissern Sie sich, dass es sich bei der gewählten Kamera RJ-45-Buchse nicht um die Ethernetbuchse handelt.

Der RJ-45-Stecker des Kamerakabels wird in die RJ-45-Kamera-Buchse auf der Basisplatine gesteckt.

Kameraverbindung RJ-45 (phyCAM-S)

Kameraverbindung RJ-45 (phyCAM-S)

Der Bügel am Stecker dient dabei gleichzeitig als Verpolungsschutz und als Arretierung. Schieben Sie den RJ-45-Stecker in die Buchse, bis er hörbar einrastet.

phyCAM-M Kamera anschließen

Machen Sie das System spannungsfrei, bevor Sie die Kamera anschließen.

Hinweis

Gehen Sie beim Anschluss der Kameras vorsichtig vor, da die Bügel der Buchsen sonst abbrechen können.

Öffnen Sie die Verriegelung der 30-poligen FFC-Buchse an der Kamera, indem Sie  die Verriegelung nach oben aufklappen.

Kameraverbindung FFC-Buchse herstellen (phyCAM-M – Flip-Lock)

Stecken Sie dann das 30-polige FFC-Kabel leicht schräg und mit den Kontaktflächen nach unten in die FFC-Buchse bis zum spürbaren Anschlag. Die Widerhacken des FFC-Kabels müssen in den entsprechenden Aussparungen des FFC-Verbinders liegen. Die Verstärkung des FFC-Kabels (meist farblich hervorgehoben) zeigt zum Bügel der Buchse.

Verriegeln Sie die FFC-Buchse, indem Sie den Bügel vorsichtig herunterdrücken.

Im Kit wird ein FFC-Kabel vom Typ A (gleichseitig abisoliert und verstärkt) mitgeliefert. Dadurch erfolgt im Kit die richtige Signalzuordnung zwischen Kamera und Basisplatine.

Die Position der Kamerabuchse auf der Basisplatine, finden Sie im Hardwaremanual des Kits. Parallel zur Steckerbezeichnung (z.B. X100) findet sich bei einigen Basisplatinen auch der Aufdruck „CAM“ auf der Platine. Bei der phyCAM-M Schnittstelle handelt es sich dabei um eine 30-polige FFC-Buchse, die auf der Platine stehend oder liegend ausgeführt sein kann.

Das Einstecken des FFC Kabels erfolgt analog zu dem Einstecken des Kabels in die Kamera FFC-Buchse.

Hinweis

In der stehenden Ausführung der FFC-Buchse ist die Kontaktierung ebenfalls auf der dem Bügel gegenüberliegenden Seite.

phyCAM-L Kamera anschließen TBD

Machen Sie das System spannungsfrei, bevor Sie die Kamera anschließen.

Demoapplikationen starten

Bootloader konfigurieren

Bevor Sie die mitgelieferten Beispiele verwenden, sollten Sie sich vergewissern ob das verwendete Kameramodul korrekt in den Bootloader Environment konfiguriert ist.

Seit BSP-Version PD16.0.1 wird die Konfiguration für ein Kameramodul mit dem Programm „of_camera_selection“ vorgenommen, welches während des Bootvorgangs in einem Skript aufgerufen wird. Das Vorgehen ist in der entsprechenden Quickstart oder phy­CAM - Getting_Started Dokumentation der Linux Software beschrieben.

Hinweis

  • Die PHYTEC Embedded Video Kits sind in der Auslieferungsvariante mit der im Kit enthaltenen Kamera vorkonfiguriert.
  • Für einige Controller-Modelle sind erweiterte Dokumentationen zur Inbetriebnahme der Kameras vorhanden. Bitte prüfen Sie, ob mit Ihrem Kit eine phyCAM - Getting_Started Dokumentation in digitaler Form mitgeliefert wurde.

Allgemeine Vorgehensweise:

  1. Bootvorgang unterbrechen:

    Führen Sie einen Reset Ihres SBC aus um das Controllermodul neu zu starten.

    Während der Ausgabe von:

    Hit m for menu or any other key to stop autoboot:

    Drücken Sie ‘Enter’ um auf dem Bootloader-Prompt zu stoppen.

  2. Bootloader Environment konfigurieren:

    Geben Sie folgenden Aufruf in Ihr Terminalprogramm ein

    edit env/config-expansions

    Scrollen Sie mit der ‚Bildlauftaste-Unten’ zu der Zeile oder den Zeilen mit:

    of_camera_selection -a 0x48 -p 0 -b phyCAM-P VM-010-BW

    Programmparameter:
    -p: Portnummer des Kamerainterface [0/1]
    -b: Bustyp des Kamerainterface [phyCAM-P/phyCAM-S+]
    -a: I²C Adresse es Kameramoduls [i. d. R. 0x48 bei –p 0 / 0x5d bei –p 1] siehe

    Hardware-Manual des jeweiligen Kameramoduls
    Kamerabezeichnung VM-0xx-BW / VM-0xx-COL (VM-009 für VM-009 und VM-050 für VM-050/051 Kameramodule)

    Drücken die ‚Strg+D’ um Ihre Änderungen temporär  zu speichern und den Editor zu verlassen

  3. Speichern Sie Ihre Änderungen indem Sie folgendes ausführen:

    saveenv
  4. Kernel booten:
    Rufen Sie

    boot

    auf, um den Kernel von der Standard-Bootquelle zu booten.

Livebild starten

Wichtig

Die Scripte in dem Startverzeichnis sind nicht ­optimiert (z.B. bezüglich Framerate, Farbumrechnung, Auflösung usw. Zur optimalen Beurteilung des Kamerasensors verwenden Sie bitte die kameraspezifischen Beispiele in den Unterverzeichnissen.

Starten Sie nun das System und verfolgen den Bootvorgang auf dem Terminal ihrer seriellen Verbindung.

Start-up Boot-Bildschirm

Start-up Boot-Bildschirm

Loggen Sie sich im System ein und lassen Sie sich mit dem >ls<-Befehl die vorhandenen Dateien und Unterverzeichnisse in Ihrem Home-Verzeichnis anzeigen.

Login und Home Directory Datei /Ordnerliste

Wechseln Sie in das Unterverzeichnis mit den GStreamer - Beispielen (cd xxx mit „xxx“ = Name des Verzeichnisses). Lassen Sie sich erneut  mit >ls< den Inhalt des Verzeichnisses ausgeben.

GStreamer Datei-/Ordnerliste

Die ausführbaren Beispielskripte beginnen mit „bwcam“ bzw. „colcam“. Die Datei „func.sh“ ist ein Shell-Skript, in dem allgemeine Einstellungen für die Demoscripts durchgeführt werden. 

Dateien mit der Erweiterung .txt beinhalten erweiterte Register-Settings für das GStreamer-PlugIn  „i2c file“. Details finden Sie in dem Dokument „LAN-052-d_AppNote_Set_Cam_Register“). 

Die Demoskripte sind wie folgt aufgebaut:

  • Einbindung des Shell Skripts (z.B.: `dirname $0`/func.sh)
  • Verwendung von Funktionen aus der Shell Script
    (z.B.: init_dev) zur Parametrierung des GStreamerausrufs.
  • Konfigurieren der Kamera mit „v4l2-ctl“
  • Konfigurieren der Videopipline mit media-ctrl“
  • starten des GStreamers (z.B.: gst-launch \)
  • starten verschiedenen Funktionen des GStreamers
    (z.B.: v4l2src ! \)

Zum Start eines Scripts geben Sie die gewünschte Datei auf der Konsole ein, z.B.:

./colcam-fbdev_640x480.sh

Informationen zum freien Multimedia Framework GStreamer und dessen Funktion finden Sie unter www.gstreamer.net. Ein allgemeines Handling des GStreamers ist in dem jeweiligen BSP-Phytec-Quickstart beschrieben.

An dieser Stelle eine Auswahl einiger Demoskripte:

Demoskript

Funktion

Besonderheiten

Anzeige eines Livebilds

bwcam-fbdev_640x480.sh

Die Bilddaten einer monochromen Kamera werden kontinuierlich in den Framebuffer des Systems geschrieben und sind somit auf dem Display sichtbar.

Das Anzeigebild ist für ein Display mit 640x480 Bild­punkte ausgelegt. Bei anderen Displayauf­lösungen ist die passende Auflösung einzustellen.

colcam-fbdev_640x480.sh

Die Bilddaten einer color Kamera werden kon­tinuier­lich in den Framebuffer des Systems geschrieben und sind somit auf dem Display sichtbar.

Das Anzeigebild ist für ein Display mit 640x480 Bild­punkte ausgelegt. Bei anderen Displayauf­lösungen ist die passende Auflösung einzustellen.

alle anderen fbdev Scripte

Bilddaten in den Framebuffer des Systems schreiben.

Beispiele mit unter­schiedlichen Auflösungen und ROI Funktionen.

Speichern eines Bilds (Eine Übertragung der gespeicherten Datei an den Host-PC ist über die FTP Verbindung möglich)

bwcam-save_raw_full_res.sh

Speichert die Bilddaten einer monochromen Kamera in die Datei „bw_image.raw“.

Die Bilddaten werden ohne Overhead 1:1 in die Datei geschrieben.

colcam-save_raw_full_res.sh

Speichert die Bilddaten einer color Kamera in die Datei „col_image.raw“.

Die Bilddaten werden ohne Overhead und ohne Farbumrechnung 1:1 in die Datei geschrieben.

bwcam-save_jpg_full_res.sh

Wandelt die die Bilddaten einer monochromen Kamera in ein JPEG-Format und schreibt die Daten dann in die Datei „bw_image.jpg“.

Die Bilddaten werden im JPEG-Format gespeichert.

colcam-save_jpg_full_res.sh

Wandelt die die Bilddaten einer color Kamera in ein JPEG-Format und schreibt die Daten dann in die Datei „col_image.jpg“.

Die Bilddaten werden im JPEG-Format gespeichert.

Netzwerkübertragung von kontinuierlichen Bilddaten

bwcam_xv.sh

Übertragung eines unkomprimierten monochromen Bild-Datenstroms an einen Host.

Nur in Verbindung mit einer Ethernetverbindung und einem X-Server auf der Gegenstelle verwendbar. (vor dem Aufruf muß das Ausgabedisplay initialisiert werden „export DISPLAY=<IP>:0“).

colcam_xv.sh

Übertragung eines unkomprimierten color Bild-Datenstroms an einen X-Server (Host).Nur in Verbindung mit einer Ethernetverbindung und einem X-Server auf der Gegenstelle verwendbar. (vor dem Aufruf muß das Ausgabedisplay initialisiert werden „export DISPLAY=<IP>:0“).

bwcam_mpeg4.sh 

Hinweis

Nicht bei allen Kit-Varianten verfügbar
Wenn der Controller weitere Codecs unterstützt, finden Sie mehr Beispiele in den Unterverzeichnissen der Kameras

Übertragung eines komprimierten monochromen Bild-Datenstroms an einen X-Server (Host).

Nur in Verbindung mit einer Ethernetverbindung und passender Gegenstelle (Host mit GStreamer) verwendbar. Um dieses Beispiel Nutzen zu können sind noch Anpassungen notwendig (z.B. IP-Adresse).

Wichtig

Dieses Beispiel ist nur auf bestimmten Controllern lauffähig. Die Verwendung bedarf tiefergehender Linux- Kenntnisse!

colcam_mpeg4.sh

Hinweis

Nicht bei allen Kit-Varianten verfügbar
Wenn der Controller weitere Codecs unterstützt, finden Sie mehr Beispiele in den Unterverzeichnissen der Kameras

Übertragung eines komprimierten Farbbild-Datenstroms an einen Host.

Nur in Verbindung mit einer Ethernetverbindung und passender Gegenstelle (Host mit GStreamer) verwendbar. Um dieses Beispiel Nutzen zu können sind noch Anpassungen notwendig (z.B. IP-Adresse).

Wichtig

Dieses Beispiel ist nur auf bestimmten Controllern lauffähig. Die Verwendung bedarf tiefergehender Linux- Kenntnisse!

Beispiel-Skriptinformationen 

Hinweis

Die Scripte werden von PHYTEC fortlaufend erweitert und angepasst. Je nach Kernelversion, Controllermodul und Kameramodul kann es zu Abweichungen der genannten Beispiele kommen.

Scripte die speziell für einen Kamera/Kamerasensor erstellt worden sind, befinden sich in separaten Unterverzeichnissen die durch den Kamerasensornamen oder Beschreibungen gekennzeichnet sind.

Beachten Sie, dass einige Skripte auch abhängig von der Hardwareplattform sind (z.B. nur phyCARD oder nur phyCORE - Plattform).

Abhilfe bei Problemen

In diesem Abschnitt möchten wir Ihnen Tipps für die Schritt-für-Schritt – Fehlersuche geben, falls die Inbetriebnahme nicht gleich erfolgreich sein sollte.

Displaytest

Geben Sie auf der Konsole folgenden Befehl ein:

fbtest

Auf dem Display erscheinen verschiedene geometrische Formen und Farbmuster.

möglicher Fehler:     Es wird kein Bild auf dem Display dargestellt:

Abhilfe:

  • prüfen Sie den Anschluss zum Display/Monitor
  • prüfen Sie die die Backlight-Verbindung

Kamera-Livebild testen

Rufen Sie über die Konsole eine Datei auf, mit zu ihrer Kamera (monochrom / color) passenden Farbvariante und dem zu Ihrem Display passende Auflösung.

Beispiel:

./colcam-fbdev_640x480.sh

Beispielskript für den Livebild-Test der Kamera

Beispielskript für den Livebild-Test der Kamera

Abhängig von der BSP-Version versucht die Skript-Datei selbstständig, den richtigen Treiber zu laden bzw. prüft, ob der voreingestellte Treiber geladen werden konnte. Wird eine entsprechende Kamera gefunden so erfolgt darüber eine Meldung:

camera 0-0: Detected a MT9V022 chip ID 1313, colour sensor und das Livebild wird auf dem Bildschirm dargestellt.

möglicher Fehler:     Es wird keine Kamera erkannt.

Kein Kamerafehler

Kein Kamerafehler

Abhilfe:

  • prüfen Sie den Anschluss zur Kamera
  • Linux: prüfen Sie ob die Kamera vom Kernel unterstützt wird
  • Linux: prüfen Sie die Aktualität der GStreamer Beispiele

möglicher Fehler     Livebild wird zeitversetzt und mit langsamer Framerate dargestellt


Abhilfe:

Bedingt durch mehrere Faktoren ist eine Livebildanzeige mit höchster Framerate nicht immer möglich. Folgende Faktoren können hier eine Rolle spielen:

  • Bilddatenmengen (z.B.: Bildauflösung, Farbformat usw.)
  • zwischengeschaltete Algorithmen können viel Rechenleistung benötigen.
  • Umrechnung von Farbformaten (z.B. Bayer Pattern nach RGB) benötigt Rechenleistung.
  • unterschiedliche Rechenleistungen und Multimedia-Unterstützung der Controller. Möglicherweise werden nicht alle Multimedia-Beschleuniger von der Demo-Anwendung unterstützt.
  • Linux: GStreamer ist als modularer Framework nicht geschwindigkeitsoptimiert.

In diesem Fall sollten die Bilddatenmenge und die verwendeten Algorithmen der Aufgabenstellung angepasst werden.

Registereinstellungen der Kameramodule verändern

Die Kamerasensoren bieten vielfältige Möglichkeiten, die Bildaufnahme zu beeinflussen.

Die entsprechenden Einstellungen werden in den Registern der Kamera vorgenommen. Diese Register können durch die I²C-Schnittstelle gelesen und beschrieben werden. Viele Einstellungen werden durch den Kameratreiber bereits automatisch entsprechend der Treiberaufrufe gesetzt.

Manche spezielleren Einstellungen können nicht über Treiberfunktionen verändert werden. Der Anwendungsprogrammierer hat die Möglichkeit, direkt auf die Register der Kamera zuzugreifen und die Werte entsprechend anzupassen.

Embedded Linux

Die digitalen Kameramodule von PHYTEC werden durch die passenden Kameratreiber im PHYTEC Linux-BSP des Embedded Controllermoduls unterstützt. Die Liste der unterstützten Kameramodule wird dabei ständig erweitert. Welche Kameramodule in der jeweiligen Distribution (Kernelversion) eingebunden sind, kann im Sys-Verzeichnis des Filesystems abgefragt werden. Das Treiberverzeichnis ist versionsabhängig, zum Beispiel unter:

/sys/bus/i2c/drivers

Die Bezeichnung des Kameratreibers bezieht sich dabei meist auf den verwendetet Sensorchip.

Kamerabezeichnung

Treiberbezeichnung

VM-006-Serie (ON Semiconductor MT9M001-Sensor)

mt9m001

VM-008-Serie (Renesas TW9910 Video Decoder)

tw9910

VM-009-Serie (ON Semiconductor MT9M131-Sensor)

mt9m111

VM-010-Serie (ON Semiconductor MT9V024-Sensor)

mt9v032

VM-011-Serie (ON Semiconductor MT9P031/006-Sensor)

mt9p031

VM-012-Serie (ON Semiconductor VITA1300-Sensor)

phytec-vm012

VM-016-Serie (ON Semiconductor AR0144-Sensor)

ar0144

VM-05x-Serie (Heimann Sensor HTPAd-Sensor)

phytec-vm050

Beispiele für phyCAM-Kameramodule und Treibernamen

Die Typenbezeichnungen weiterer Kamerasensoren finden Sie in den jeweiligen Hardware-Manuals des Kameramoduls.

Der Zugriff auf den Treiber erfolgt über das Video4Linux 2 – Interface (V4L2) des Kameratreibers aus einer eigenen Applikation heraus. Andererseits können auch freie Multimedia Frameworks wie zum Beispiel der GStreamer über das V4L2 Interface auf den Treiber zugreifen.

Welche V4L2-Funktionen von den Treibern unterstützt werden, kann durch Abfragen (Capability Querying) ermittelt werden. Dieser Mechanismus und die Beschreibung der Funktionen selbst sind in den allgemeinen Beschreibungen für V4L2 erläutert (siehe Video for Linux Two API Specification).

Um schnell Kamerafunktionen zu testen und ein Kamerabild zur Anzeige zu bringen ist es von Vorteil, mit einem einfachen Tool zu arbeiten.

PHYTEC stellt zu diesem Zweck Scripts für den in der Linux-Welt verbreiteten GStreamer zur Verfügung. Der GStreamer kann ohne Programmieraufwand, durch einfache Skript-Aufrufe konfiguriert werden. Die von PHYTEC mitgelieferten Skripte verwenden den GStreamer zum Darstellen und Übertragen von Bilddatenströmen. Weiterhin können Einzelbilder oder Bildfolgen in verschiedenen Formaten gespeichert werden.

In diesen Skripten wird ebenfalls gezeigt, wie die GStreamer-Beispiele um den Zugriff auf die Kameraregister erweitert werden können. Die Wunschkonfiguration kann vom Anwender in einer editierbaren Textdatei durch An- und Abwahl der Registerzugriffe eingestellt werden. Eine Erweiterung der Datei durch den Anwender ist ebenfalls möglich.

Die Vorgehensweise ist in dem separaten Dokument erläutert: LAN-052-d_AppNote_Set_Cam_Register(pdf format)

Je nach BSP-Version gibt es viele weitere Programme und Programmierbeispiele, z.B.:

  • …\v4l2_c-examples\...
    (Zugriff auf die v4l2-Schnittstelle aus eigenen C - Programmen)
  • …\opencv_examples\...
    (Zugriff auf die v4l2-Schnittstelle aus OpenCV)
  • …\gstreamer_examples\tools\...
    (Zugriff auf die Register der Kameramodule über den I²C - Bus)

Grundlagen

Allgemeiner Zugriff auf die Kameraregister

Wichtig

Die Werte mancher Register sind für die korrekte Funktion der Kamera und die störungsfreie Bildaufnahme wichtig.

Die Veränderung dieser Registerwerte kann zu fehlerhafter Bilddarstellung oder zur Instabilität des Systems führen. Aus diesem Grund ist die direkte Beeinflussung der Register unter Linux nur im Debug-Modus möglich. Prüfen Sie vor der Veränderung von Werten daher gründlich, inwieweit dies die Funktion der Kamera oder die Stabilität des Systems beeinflussen kann.

Einige Register werden vom jeweiligen Kameratreiber verwaltet. Das heißt die Veränderung bestimmter Registerinhalte kann Auswirkungen auf den Ablauf im Treiber haben, bzw. kann der Treiber auch bestimmte Inhalte wieder zurücksetzen.

Allgemeiner Zugriff unter Linux

Um auf die Kameraregister zugreifen zu können, stehen die V4L2 APIs VIDIOC_DBG_G_REGISTER und VIDIOC_DBG_S_REGISTER  zur Verfügung.

Wichtig

Die Funktionen können nur verwendet werden, wenn der entsprechende Treiber im Debug-Modus (CONFIG_VIDEO_ADV_DEBUG) compiliert wurde.

In der PHYTEC-Distribution sind die mitgelieferten Kameratreiber bereits im Debug-Modus erstellt worden.

Die Registerfunktionen können vom Anwender in seine eigenen Applikation integriert werden. Im Vorfeld einer solchen Integration ist es von Vorteil, die Wirkung bestimmter Register-Settings zu testen und mit einfachen Tools sichtbar zu machen.

Setzen der Kameraregister durch eine Konfigurationsdatei

Während der Inbetriebnahme oder dem Anpassen der Kameraeigenschaften an eine Applikation ist es von Vorteil nicht nur einzelne Kameraregister, sondern mehrere Kameraregister in einem Schritt einzustellen.

Hierzu wird von PHYTEC eine Register Konfigurationsdatei und die entsprechenden Tools zum Verwenden dieser Datei zur Verfügung gestellt. Diese Datei kann vom Anwender selbst editiert und angepasst werden.

Aufbau der Konfigurationsdatei

Eine Beispiel-Konfigurationsdatei wird als TXT-Datei von PHYTEC für die entsprechende Kamera mitgeliefert. Der Name ist frei wählbar. Der Aufbau der Datei ist vorgegeben.

Zur einfachen Unterscheidung wurde von PHYTEC der Name des Sensors mit in den Dateiname integriert.

Beispiele:

  • „register-settings-mt9v022.txt“ (für VM-007)
  • „register-settings-mt9m001.txt“ (für VM-006)
  • „register-settings-mt9m131.txt“ (für VM-009)

Der Aufbau eines Registerzugriffs ist wie folgt gestaltet.

chip-address, register-address, value, [mode]

chip-address = I²C-Basisadresse des Kamerasensors, Format: hexadezimal 8-Bit (mt9v022 = 0x48 / mt9m001 = 0x5d)

register-address = Adresse des zu verändernden Registers in der Kamera. Format: hexadezimal 8-Bit

value = in das Register zu schreibender Wert Format: wahlweise hexadezimal 16-Bit (0x...) oder dezimal

mode = Ermöglicht eine logische Verknüpfung des aktuellen Registerinhalts mit dem als value übergebenen Wert (optional).
              Mögliche Parameter:
              a (and, logische Und-Verknüpfung)
              o (or, logische Oder-Verknüpfung),
              x (xor, logische Exklusiv-Oder-Verknüpfung)

Das Zeichen # leitet einen Kommentar ein. So kann die An- oder Abwahl durch ein der Zeile vorgesetztes „#“ erfolgen.

In den von PHYTEC vorgefertigten Beispielen zu den Kamerasensoren sind viele verschiedene Optionen bereits enthalten.

Im Folgenden soll der Gain-Wert (elektrische Signalverstärkung) des MT9V022 auf den Faktor x2 gesetzt werden. Dazu ist das #-Zeichen in den entsprechenden Zeilen entfernt worden.

---------------------------
#  set MT9V022 AGC
#  ===============
#  set AGC automatic
#0x48,0xAF,0x0002,o	# automatic = on

#  set AGC manual
0x48,0xAF,0xFFFD,a	# automatic = off
#0x48,0x35,0x0010	# set gain = 1.00
#0x48,0x35,0x0014	# set gain = 1.25
#0x48,0x35,0x0018	# set gain = 1.50
#0x48,0x35,0x001C	# set gain = 1.75
0x48,0x35,0x0020	# set gain = 2.00
#0x48,0x35,0x0024	# set gain = 2.25
#0x48,0x35,0x0028	# set gain = 2.50
#0x48,0x35,0x002C	# set gain = 2.75
#0x48,0x35,0x0030	# set gain = 3.00
…
---------------------------

Nach Verwendung der veränderten Skriptdatei wird das Bild mit einem festen Verstärkungswert Gain = 2,00 generiert. Weitere Einstellungen wie z.B. zum Abschalten der AEC und der automatischen BLC finden Sie in den von PHYTEC mitgelieferten Beispielsettings.

Weiterführende Beschreibungen der Registerbelegungen der Kamerasensoren finden Sie auf der Homepage des entsprechenden Kamerasensor-Herstellers (mt9m001, mt9v022 siehe www.onsemi.com ).

Zum einfachen Editieren der Script- und Textdateien empfiehlt sich die Verwendung einer FTP-Verbindung zum Embedded Controller. Auf diese Art und Weise können die Dateien auf den PC übertragen werden, um sie dort zu editieren.

Die Beispiel-Konfigurationsdatei für die verschiedenen Kamerasensoren finden Sie für:

  • Linux direkt im Verzeichnis wo die Beispielscripte für den GStreamer abgelegt sind:
…/gstreamer_examples/… 

Hinweis

Werden mehrere Schreiboperationen auf dem gleichen Register angegeben, so werden diese in genau dieser Reihenfolge ausgeführt.

Dies bedeutet in der Regel, dass der zuletzt geschriebene Wert in dem Register steht.

Achten Sie daher darauf, dass Sie nicht mehrere Optionen aktivieren.

Bei der Verwendung der logischen Operatoren (AND, OR, XOR) kann die Verwendung mehrerer Schreiboperationen nützlich sein, um bestimmte Teile eines Registers zu verändern.

Beispiel:
Den Wert 0x35 in das untere Byte des Registers schreiben, ohne das obere Byte zu verändern:

chip-address, register-address, 0xFF00,a # unteres Byte löschen
chip-address, register-address, 0x0035,o # Wert 0x35 dort 
einschreiben

Verwendung der Konfigurationsdatei unter Linux

Zugriff per GSteamer

In den von PHYTEC mitgelieferten Skripten wird gezeigt, wie die GStreamer-Beispiele um den Zugriff auf die Kameraregister erweitert werden können. Die Wunschkonfiguration kann vom Anwender in der editierbaren Textdatei durch An- und Abwahl der Registerzugriffe eingestellt werden. Eine Erweiterung der Datei durch den Anwender ist ebenfalls möglich.

Voraussetzungen

GStreamer - Plug-in zum direkten Registerzugriff (Bestandteil der PHYTEC Distribution).

Einbinden der Konfigurationsdatei unter Linux

Als Ausgangspunkt wird das PHYTEC-Skript mit dem GStreamer-Beispiel für die Aufnahme eines einzelnen jpeg-Bilds vom Kameramodul VM-012-BW (VITA1300) in schwarz/weiss gewählt („vita1300_bw_save_jpg_full_res.sh“).

Inhalt (gekürzt):

---------------------------
echo "start gstreamer"
echo "==============="

gst-launch-1.0 \
	v4l2src num-buffers=$NUMBER_OF_PIC device=$IPU1_CSI0_DEVICE ! \
	i2c file=`dirname $0`/../register-settings-vita1300.txt show=0 dev=$CAM_DEVICE ! \
	video/x-raw,format=GRAY8,depth=8,width=1280,height=1024 ! \
	vita1300_remapper mode=0 passthrough=false ! \
	videoconvert ! \
	jpegenc ! \
	multifilesink location=bw_$CAMERA.jpg
---------------------------

Dieses Beispiel nimmt ein Bild „bw_VM-012(vita1300).jpg“ im jpeg-Format auf. Der Kamerasensor VITA1300 arbeitet dabei im Default-Modus mit automatischen Einstellungen AGC/AEC und automatische BLC.

Um das Setzen bestimmter Register durchführen zu können, muss das Plug-in, welches die gewünschte I²C Register aus einer Datei abarbeiten kann, mit aufgeführt werden. Das Plugin „i2c file=[Name der Textdatei] show=0 dev=$CAM_DEVICE! \“ wird zu diesem Zweck zwischen Initialisierung und der Bildanforderung platziert.

---------------------------
	…
V4L2src num-buffers=1 ! \
	i2c file=`dirname $0`/../register-settings-vita1300.txt show=0 	dev=$CAM_DEVICE ! \
	video/x-raw-gray$FRAME_SIZE ! \
	…
---------------------------

Die angegebene Text-Datei (z.B.: „register-settings-vita1300.txt“) liegt im gstreamer Stammverzeichnis. Die Einstellung „show=1 bewirkt eine zusätzliche Ausgabe der Registerzugriffe auf der seriellen Schnittstelle.

Weitere Parameter des "i2c"-Plugin werden durch Eingabe des Befehls "gst-inspect i2c" aufgelistet.

Hinweis

Bei Systemen mit mehreren Kameras, kann durch den Parameter addr=[Hexadresse des Device am i2c Bus] die gleiche Textdatei für Kameras mit unterschiedlichen i2c-Adressen verwendet werden. Die in der Textdatei befindliche i2c-Device-Adresse wird durch den "addr-Parameter" überschrieben.

Beispiel für video-device_0 an Adresse 0x48 und video-device_1 an Adresse 0x4c:

- i2c addr=0x48 file=register-settings-vita1300.txt show=0 dev=/dev/video0 ! \
- i2c addr=0x4c file=register-settings-vita1300.txt show=0 dev=/dev/video1 ! \

Revisionshistorie

Datum

Version #

Änderungen in diesem Handbuch

01.03.2021

Manual L-867Ad.A0

Neue Version