L-873d.A0 phyCAM-P / phyCAM-S+ VM-012 Global Shutter Anleitung
Table of Contents
Im Buch verwendete Bezeichnungen für Erzeugnisse, die zugleich ein eingetragenes Warenzeichen darstellen, wurden nicht besonders gekennzeichnet. Das Fehlen der ã Markierung ist demzufolge nicht gleichbedeutend mit der Tatsache, dass die Bezeichnung als freier Warenname gilt. Ebenso wenig kann anhand der verwendeten Bezeichnung auf eventuell vorliegende Patente oder einen Gebrauchsmusterschutz 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 juristische Verantwortung oder irgendeine Haftung für Folgeschäden übernimmt, die auf den Gebrauch oder den Inhalt dieses Handbuches zurückzufü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 weder 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 Ankü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 reproduziert, verarbeitet, vervielfältigt oder verbreitet werden.
| EUROPE | NORTH AMERICA | FRANCE | INDIA | CHINA |
Address: | PHYTEC Messtechnik GmbH | PHYTEC America LLC | PHYTEC France | PHYTEC Embedded Pvt. Ltd | PHYTEC Information Technology (Shenzhen) Co. Ltd. |
Ordering Information: | +49 6131 9221-32 | +1 800 278-9913 | +33 2 43 29 22 33 | +91-80-4086 7046/48 sales@phytec.in | +86-755-3395-5875 sales@phytec.cn |
Technical Support: | +49 6131 9221-31 | +1 206 780-9047 | +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://phytec.in | http://www.phytec.cn |
phyCAM-P VM-012 Global Shutter
Hinweis
Die Standardeinstellungen in diesem Handbuch sind durch fettgedruckte, blaue Schrift gekennzeichnet.
Technische Daten
Charakteristische Merkmale
- 1,3 MPixel – Sensor (1.310.720 Pixel)
- monochrom (VM-012-BW) oder color (VM-012-COL)
- phyCAM-P – Schnittstelle
- Framerate: 37 fps (volle Auflösung)
- Framerate: 130 fps bei VGA
- Global Shutter und Rolling Shutter (umschaltbar)
- Externer Trigger und Strobe
- zusätzlicher Steckverbinder mit Trigger, Strobe (optional)
VM-012 (phyCAM-P) (Vorderseite / Rückseite)
Spezifikation
Funktion | VM-012-BW[1] | VM-012-COL[2] |
Kameracharakteristik | ||
Auflösung | 1,3 MPixel | 1,3 MPixel |
Auflösung (H x V) | 1280 x 1024 | 1280 x 1024 |
Sensorgröße | 1/2" 6,18 mm x 4,95 mm | 1/2" 6,18 mm x 4,95 mm |
Pixelgröße | 4,8 µm x 4,8 µm | 4,8 µm x 4,8 µm |
Farbe / monochrom | monochrom | color |
Sensortechnologie | CMOS | CMOS |
Sensorchip | ON Semiconductor VITA 1300 | ON Semiconductor VITA 1300 |
Scan-System | progressive | progressive |
Shutter-Typ | global oder rolling | global oder rolling |
Bildrate (fps) | 37 fps (volle Auflösung) | 37 fps (volle Auflösung) |
130 fps bei VGA | 130 fps bei VGA | |
Video-Auflösung | n/a | n/a |
Empfindlichkeit | 4,6 V/lux.sec (bei 550 nm) | 4,6 V/lux.sec (bei 550 nm) |
Dynamikbereich | 60 dB (Rolling Shutter Mode) | 60 dB (Rolling Shutter Mode) |
hoher Dynamikbereich | 90 dB | 90 dB |
Belichtungszeit | programmierbar | programmierbar |
Verstärkung | programmierbar | programmierbar |
AEC | ja, abschaltbar | ja, abschaltbar |
AGC | ja, abschaltbar | ja, abschaltbar |
Gammakorrektur | n/a | n/a |
Weißabgleich/AWB | n/a | n/a |
ext. Trigger / Sync. | Trigger / Strobe | Trigger / Strobe |
ROI | ja, bis zu 8 | ja, bis zu 8 |
Skipping | 2x2 | 2x2 |
Binning | 2x2 | 2x2 |
Mirror | n/a | n/a |
Image Processor | n/a | n/a |
LED-Beleuchtung | n/a | n/a |
Sonderfunktionen | siehe Sonderfunktionen | siehe Sonderfunktionen |
elektrisches Interface | ||
Videoausgang Typ | digital | digital |
Anschluss | phyCAM-P | phyCAM-P |
Datenformat | 8 / 10 Bit parallel | 8 / 10 Bit parallel |
Interface-Mode | Y8 / Y10 | 8 / 10 Bit RGGB (Bayer) |
Dataline-Shifting | n/a1 | n/a1 |
Kameraeinstellung | I²C | I²C |
Versorgungsspannung | 3,3 V | 3,3 V |
Leistungsaufnahme | 450 mW | 450 mW |
Leistungsaufn. Standby | 26 mW | 26 mW |
mechanische Daten | ||
Objektivanschluss | kein / M12 / C-CS | kein / M12 / C-CS |
Objektiv | n/a | n/a |
Gehäuse | n/a | n/a |
Abmessungen (mm) | 34 x 34 | 34 x 34 |
Befestigung | 4 x M2.5 | 4 x M2.5 |
Gehäusefarbe | n/a | n/a |
Gewicht (PCB) | 5 g | 5 g |
Betriebstemperatur | -25...85°C | -25...85°C |
Anschlüsse | ||
Signalausgang | FFC 33 pol. | FFC 33 pol. |
Trigger / Sync. | FFC + JST 3 pol. | FFC / JST 3 pol. |
Iris-Ansteuerung | n/a | n/a |
Sonderfunktionen | n/a | n/a |
VM-012 (phyCAM-P) Technische Daten
1. | n/a: nicht zutreffend. Alle Angaben können technischen Änderungen unterliegen |
2. | WARN: short cite used before fully qualified cite |
Interface-Charakteristik
| Symbol | min. | typ. | max. | Einheit |
Betriebsspannung | VCAM | 3,1 | 3,3 | 3,6 | V |
Stromaufnahme | ICAM | tbd | 450 | tbd | mA |
Input high voltage | VIH | 2 | - | VCAM +0,3 | V |
Input low voltage | VIL | -0,3 | - | 0,8 | V |
Output high voltage | VOH | 2,4 | - | - | V |
Output low voltage | VOL | - | - | 0,5 | V |
Voltage Set Resistor | R31 | - | 0 | 2 | W |
Betriebstemperatur[2] | TOP | -25 | - | 85 | °C |
Lagertemperatur[2] | TSTG | -25 | - | 85 | °C |
| Symbol | min. | typ. | max. | Einheit |
Masterclock Frequenz | fMCLK | 20 | - | 62 | MHz |
Clock Tastverhältnis | dutycyleMCLK | 40 | 50 | 60 | % |
Input Clock jitter | tj | - | 20 | - | ps |
MCLCK zu PCLK delay | tCP | tbd. | ns | ||
PCLK zu data valid | tPD | tbd. | ns | ||
PCLK zu FV high | tPFH | tbd. | ns | ||
PCLK zu FV low | tPFL | tbd. | ns | ||
PCLK zu LV high | tPLH | tbd. | ns | ||
PCLK zu LV low | tPLL | tbd. | ns | ||
I²C Taktrate[3] | fI2C | - | 100 | 400 | kHZ |
2. | WARN: short cite used before fully qualified cite |
3. | -30°C ohne die optionale Trigger/Strobe-Buchse |
Datenformate
monochrom (VM-012-BW):
- Y8 : 8 Bit Graustufenauflösung
- Y10: 10 Bit Graustufenauflösung
color (VM-012-COL):
- RGGB (Bayer-Pattern) 8 Bit Farbtiefe
- RGGB (Bayer-Pattern) 10 Bit Farbtiefe
Hinweis
Durch entsprechende Beschaltung des Interfaces kann eine niedrigere Farb- / Graustufenauflösung erzielt werden.
Dazu werden die niederwertigen unteren Datenleitungen der Kamera nicht verbunden und die höherwertigen rechtsbündig an das Controllerinterface angeschlossen. Manche Controller erlauben auch eine softwaremäßige Konfiguration der Schnittstelle.
Spektrale Empfindichkeit
VM-012-BW / COL (phyCAM-P) Spektrale Empfindlichkeit
Hinweis
Detaillierte technische Daten entnehmen Sie bitte dem Datenblatt des Kamerasensors.
Feature Pins
Signal | Pin | Funktion | I/O | Konfiguration |
|
| offen | - | J11:NOMT |
I²C-Adress-Select | I | J11:1+2 | ||
Monitor Out | O | J11:2+3 | ||
|
| GND | - | J5:1+2 |
Trigger Input | I | J5:2+3 | ||
offen | - | J5:NOMT | ||
CAM_RST | 3 | /Camera Reset | I | aktiv low |
CAM_OE | 32 | intern / reserviert | - | default: Eingang ohne Funktion |
|
| Master Clock | I | J1:2+4 |
offen | - | J1:1+2 |
VM-012 (phyCAM-P) Feature Pins
Hinweise
Konfiguration: Interne Konfiguration des Kameramoduls, um diese Funktion zu aktivieren.
Sonderkonfigurationen können bei Serienlieferungen von PHYTEC vorkonfiguriert werden. Bitte sprechen Sie dazu mit unseren Vertriebsmitarbeitern.
NOMT = not mounted = unbestückt
„nicht x+y“ = dieser Jumper muss sich in einer anderen als der angegebenen Stellung befinden.
Jumperplan
VM-012 (phyCAM-P) Jumperplan (PL1420.1)
Pixelreinhefolge
Bedingt durch den internen Aufbau des Kamerasensors VITA 1300 werden Pixel nicht konsekutiv sequenziell entsprechend der physikalischen Anordnung auf dem Sensor entsprechend ausgegeben.
Die Zeilen des Pixel-Arrays sind vielmehr in so genannte Kernels unterteilt, die Gruppen aus jeweils 8 Pixeln darstellen (8 Pixel in x-Richtung je Zeile):
VM-012 (phyCAM-P) Anordnung der Pixel-Kernel auf dem Sensor-Array
Die Reihenfolge, in der die Pixeldaten ausgegeben werden, ist an den Kernels orientiert und abhängig vom Subsampling-Modus.
Kein Subsampling
Die Pixelreihenfolge ist in geraden und ungeraden Kerneln unterschiedlich entsprechend der folgenden Grafik:
VM-012 (phyCAM-P) Pixelreihenfolge ohne Subsampling
Mit Subsampling (monochromer Sensor)
Im Subsampling-Modus werden zwei benachbarte Kernels zu einem Kernel zusammengefasst (siehe Grafik). Dadurch wird die Anzahl der ausgegebenen Pixel halbiert. Es werden immer die geraden Pixel entnommen.
Im Gegensatz zur Betriebsart ohne Subsampling gibt es keinen Unterschied in der Pixelreihenfolge von geraden und ungeraden Kernels.
VM-012 (phyCAM-P) Pixelreihenfolge mit Subsampling im Monochrome-Modus
Mit Subsampling (Color Sensor)
Im Subsampling-Modus werden zwei benachbarte Kernels zu einem Kernel zusammengefasst (siehe Grafik). Dadurch wird die Anzahl der ausgegebenen Pixel halbiert. Es werden immer 2 benachbarte Pixel entnommen und dann 2 Pixel übersprungen.
Im Gegensatz zur Betriebsart ohne Subsampling gibt es keinen Unterschied in der Pixelreihenfolge von geraden und ungeraden Kernels.
VM-012 (phyCAM-P) Pixelreihenfolge mit Subsampling im Color-Modus
Hinweise
Die ausgegebenen Pixel müssen durch die nachfolgende Verarbeitungseinheit (in der Regel durch Software) in die richtige Reihenfolge gebracht werden bzw. die Pixelreihenfolge bei der Verarbeitung berücksichtigt werden.
Bei der Definition einer ROI auf dem Sensor-Array müssen die ROI-Ränder mit den Kernel-Grenzen übereinstimmen. Idealerweise wird der Beginn einer ROI so organisiert, dass er immer auf den gleichen Kernel-Typ (gerade Kernels) fällt.
PHYTEC liefert eine Bibliotheks- und GStreamer-Funktion zum Sortieren der Kernels mit den Development-Kits mit.
Weitere Informationen dazu finden Sie in der Application Note „VM-012 Remapping“.
I2C Adressen
|
| Konfiguration | ||||
CAM_CTRL1 | J11 | J9 | J10 | Variante | ||
| 0x90 | GND | 1-2 | 2-4 | 1-2 |
|
x | x | 2-3 | ||||
0x98 | VCAM | 1-2 | 2-4 | 1-2 | ||
x | x | 1-2 | ||||
0xB0 | GND | 1-2 | 2-4 | 2-3 | ||
x | x | 2-3 | ||||
0xB8 | VCAM | 1-2 | 2-4 | 2-3 | ||
x | x | 1-2 |
VM-012 (phyCAM-P) I2C Adressen
|
| Konfiguration |
| ||
J2 | J3 | J4 | |||
| 0xA0 | 1+2 | 1+2 | 1+2 |
|
0xA2 | 2+3 | 1+2 | 1+2 | ||
0xA4 | 1+2 | 2+3 | 1+2 | ||
0xA6 | 2+3 | 2+3 | 1+2 | ||
0xA8 | 1+2 | 1+2 | 2+3 | ||
0xAA | 2+3 | 1+2 | 2+3 | ||
0xAC | 1+2 | 2+3 | 2+3 | ||
0xAE | 2+3 | 2+3 | 2+3 |
VM-012 (phyCAM-P) EEPROM Adressen
Default-Konfiguration des Kamerasensors (fett gedruckt): 0x90 (CAM_CTRL1 = low).
Die I²C-Adressen sind hexadezimal in 8 Bit – Darstellung angegeben. In Linux wird ggf. mit 7 Bit – Darstellung gearbeitet. In diesem Fall ist der Adresswert eine Stelle nach rechts zu shiften.
Die Angabe bezieht sich auf die Schreibadresse (Bit 0 = 0), die Leseadresse ist entsprechend Bit 1 = 1 um 1 erhöht.
Beschreibung des I2C Interface
Die phyCAM Schnittstellen besitzen zur Kommunikation mit den Komponenten auf den Kameramodul (Sensor, EEPROM, usw.) eine I²C Schnittstelle. Diese ist sowohl bei phyCAM-P als auch bei phyCAM-S(+) vorhanden.
Von der CPU können über die I²C-Schnittstelle alle Register des Kamerasensors entsprechend der gewünschten Konfiguration eingestellt werden.
Der auf der VM-012 befindliche Sensor VITA 1300 verwendet ein SPI-Interface für den Zugriff auf seine Register. Auf der VM-012 sorgt ein zusätzlicher Microcontroller für die Umsetzung des I²C-Busses auf den SPI-Bus.
Daraus ergeben sich einige Besonderheiten, die beim I²C Zugriff auf den Kamerasensor beachtet werden müssen.
Die I²C Schnittstelle der VM-012 ist mit einer Wortbreite von 8 Bit organisiert:
- 8 Bit Deviceadresse
- 8 Bit Registeradresse
- 2 x 8 Bit Datenzugriffe
Der Zugriff auf die I²C Schnittstelle der VM-012 erfolgt immer als 16-Bit Write- oder 16-Bit Read-Sequenz.
Entsprechend der I²C Spezifikation werden Schreib- und Lesezugriffe durch den Zustand des LSB in der Deviceadresse unterschieden.
- Schreibzugriff: LSB in der Deviceadresse = 0
- Lesezugriff: LSB in der Deviceadresse = 1
16-Bit Schriebsequenz
Eine typische Bytefolgezum Schreiben in ein16 Bit-Register des Kamerasensors ist unten gezeigt. Die Sequenz wird vom Master durch das Startbiteingeleitet, gefolgt von der Registeradresse und zwei Daten-Bytes. Dabei wird der höherwertige Teil des 16 Bit breiten Datenwerts zuerst gesendet und dann der niederwertige Teil.
Die VM-012liefert nach jedem Byte die Empfangsbestätigung (ACK). Alle 16 Datenbits müssenübertragen werden, bevordas Registeraktualisiert wird.Der Masterbeendet den Schreibvorgang durch Senden des Stop-Bits.
Schreiben des Wertes 0x0284 auf Register 0x09 an Device 0x90
Hinweis
Erst nach der vollständigen Übernahme der beiden Daten-Bytes wird der Datenwert über die SPI-Schnittstelle in das angegebene Register des Kamerasensors übertragen.
Ein weiterer I²C-Zugriff darf erst nach Beendigung des internen SPI-Schreibzugriffs erfolgen. Zur Einhaltung dieser Vorgabe können zwei Methoden verwendet werden:
Methode 1:
Es wird eine feste Zeit nach einem I²C Schreibzugriff gewartet, bevor ein nächster I²C-Befehl gesendet wird. In der Firmware-Version V0.4 der VM-012 müssen mindestens 250µs nach einem I²C-Write-Befehl gewartet werden.
Methode 2:
Verwendung des Statusflags „SPI_WRITE“ im VM012_STATUS-Register 0x99. Das Statusflag wird vom Microcontroller des Kameramoduls verwaltet.
Nach dem Erkennen eines Schreibbefehls wird dieses Bit automatisch gesetzt und nach Beendigung des SPI-Schreibvorgangs zurückgenommen. Das Status-Register wird im nachfolgenden Abschnitt beschrieben.
Note
Der Zugriff auf die Register: VM012-STATUS, VM012-CONTROL und auf VM012_FIRMWARE ist ohne Einhaltung von Wartezeiten möglich. Weiterhin ist der Zugriff auf diese Register auch während der noch aktiven SPI-Schreibsequenz möglich.
16-Bit Lesesequenz
Eine typische 16-Bit Lesesequenzist unten dargestellt.Zunächst muß derMaster die Adresses des Registers senden, dessen Inhalt gelesen werden soll. Dazu wird in einerSchreibsequenz nur die Registeradresse an das Kameramodul gesendet.
Danach wird vom Master ein Lesevorgang über einen 16 Bit-Wert begonnen, indem er ein erneutes Start-Bitund die Deviceadresse mit gesetztem LSB (Lesekennung) sendet.
Mit den folgenden Clock-Takten sendet das Kameramodul in zwei Datenbytes den 16 Bit breiten Registerinhalt. Dabei wird zuerst das High-Byte und dann das Low-Byte übertragen.Der Master sendetnach jeder8-Bit-Übertragung einBestätigungs-Bit (ACK). Die Datenübertragung wirdbeendet, indem derMaster einNo-Acknowledge-Bit (NACK) nach den 16 Bit Daten sendet.
Lesen des Wertes 0x0284 aus Register 0x09 von Device 0x90
Hinweis
Nach dem einleitenden Schreibbefehl innerhalb der Lesesequenz muss keine Wartezeit eingehalten werden. Es kann sofort der nachfolgende Lesebefehl begonnen werden.
Nachdem der Microcontroller der VM-012 den einleitenden I²C-Write-Befehl und die Deviceadresse mit gesetztem Lesebit empfangen hat, benötigt er in der Regel ca. 200µs zur Bearbeitung des internen SPI-Lesebefehls. In dieser Zeit muß der Master an der I²C- Schnittstelle warten, bevor er mit dem Einlesen der Daten beginnen kann. Dazu wird vom Microcontroller der VM-012 der Mechanismus des „Clock-Stretching“ verwendet. Das „Clock-Stretching“ wird nur einmal vor dem ersten Datenbyte verwendet. Das zweite Datenbyte wird sofort nach Anforderung gesendet.
Hinweis
Der I²C-Master muss das Verfahren des Clock-Stretching unterstützen.
I2C Registerzuordnung
Paging
Der Kamerasensor VITA 1300 auf der VM-012 besitzt eine Registermap mit 511 Registern. Eine Vielzahl von I²C-Routinen unterstützen jedoch nur einen Adressraum von 255 Registern.
Deshalb wurde der I²C-Adressraum auf der VM-012 durch Verwendung eines Page-Bits erweitert.
Page-Bit | I²C-Registeradresse der VM-012 | Registeradresse des VITA 1300 Kamerasensors |
0 | 0x00 bis 0xFF | 0x000 bis 0x0FF |
1 | 0x00 bis 0xFF | 0x100 bis 0x1FF |
Die adressierte Registeradresse des Kamerasensors entspricht also der an der I²C-Schnittstelle übergebenen Registeradresse zuzüglich des Werts des Page-Bits als MSB:
Sensor-Registeradresse = Page-Bit . 0x100 + I²C-Register-Adresse.
Das „PAGE_BIT“ befindet sich im „VM012_CONTROL“ Register.
Informationen zu den Registern des Kamerasensors VITA 1300 finden Sie im Datenblatt des Sensors.
Control- und Statusregister
Hinweis
Die folgende Registerbeschreibung bezieht sich auf die Firmware-Version V0.5
Zur Steuerung des Microcontrollers auf dem Kameramodul und zum Auslesen von Statusinformationen werden in die Registermap des Kamerasensors drei zusätzliche Register eingeblendet.
Über den Lese- bzw. Schreibzugriff auf diese Register kann der I²C-Master direkt den Microcontroller der VM-012 ansprechen. Dafür werden drei Adressen verwendet, die im Adressraum des VITA 1300 nicht belegt sind.
I²C Register Adresse der VM-012 | Page-Bit[4] | Read | Write | Funktion |
0x97 | x | ja | nein | Firmware-Version der VM-012 |
0x98 | x | ja | ja | VM_012_CONTROL Register |
0x99 | x | ja | nein | VM_012_STATUS Register |
4. | x=keinen Einfluss |
Diese drei Adressen werden nicht an das SPI Interface des Kamerasensors weitergeleitet, sondern nur im Microcontroller ausgewertet. Diese drei Register unterliegen keinen Wartezeiten beim Lesen oder Schreiben auf der I²C Schnittstelle.
Registerbeschreibung VM012_FIRMWARE; 0x97 (151 dezimal).
0x97 – VM012_FIRMWARE | |||||
Bit | Bit Name | Bit Beschreibung | Default Hex (Dec) | Zulässige Werte (Dec) | Read/Write |
7...0 | MINOR_REVISION | Version Firmware Nachkommastelle | - | 0...255 | R |
15...8 | MAJOR_REVISION | Version Firmware Vorkommastelle | - | 0...255 | R |
Registerbeschreibung VM012_CONTROL; 0x98 (152 dezimal).
0x98 – VM012_CONTROL | |||||
---|---|---|---|---|---|
Bit | Bit Name | Bit Beschreibung | Default Hex (Dec) | Zulässige Werte (Dec) | Read/Write |
0 | PAGE_BIT | Auswahl Register-Page des Kamerasensors: 1 = Register 0x100 bis 0x1FF Der Zustand des PAGE_BITs bleibt nach dem Kamerareset erhalten | 0 | 0 ; 1 | R/W |
1 | AUTO_SENSOR_RESET | Auto Software-Reset Kamerasensor 0 = Grundzustand 1 = Reset Kamerasensor auslösen Es wird das Reset-Signal des Kamerachips aktiviert und die Spannungsversorgungen des Kamerachips abgeschaltet. Nach einer Wartezeit von 100ms werden die Spannungen wieder zugeschaltet und der Reset wieder deaktiviert. Danach wird das Bit selbstständig zurückgesetzt. | 0 | 0 ; 1 | R/W |
2 | SENSOR_RESET | Bildsensor Reset aktivieren 0 = Grundzustand 1 = Es wird das Reset-Signal des Kamerachips aktiviert und die Spannungsversorgungen des Kamerachips abgeschaltet. Erst wenn das Bit vom Anwender zurückgesetzt wird, werden die Spannungen wieder zugeschaltet und der Reset deaktiviert. Diese Funktion kann benutzt werden, um das Kameramodul in einen energiesparenden Modus zu versetzen. | 0 | 0 ; 1 | R/W |
3...7 | RESERVED | reserviert für interne / zukünftige Funktionen | - | - | - |
8 | VM-012_RESET | Software-Reset Kamerasmodul 0 = Grundzustand 1 = Reset Kameramodul auslösen Wenn dieses Bit gesetzt wird, dann erfolgt ein Reset des Kamerasensors und der Microcontroller auf dem Sensorboard führt ein Softwarereset durch. Danach stehen alle Register wieder auf den Default-Werten. | 0 | 0 ; 1 | R/W |
9...15 | RESERVED | reserviert für interne / zukünftige Funktionen | - | - | - |
Registerbeschreibung VM012_STATUS; 0x99 (153 dezimal).
0x99 – VM012_STATUS | |||||
Bit | Bit Name | Bit Beschreibung | Default Hex (Dec) | Zulässige Werte (Dec) | Read/Write |
|
| 0 = SPI-READ-Vorgang ist inaktiv 1 = SPI-READ-Vorgang läuft. Es darf nur auf die Register 0x97, 0x98 und 0x99 zugegriffen werden. Hinweis: Beim Verwendung von Clock-Stretching erfolgt die Bearbeitung innerhalb des I²C Zugriffszyklus. Eine besondere Beachtung des Flags ist nicht erforderlich. | ' |
|
|
|
| 0 = SPI-WRITE-Vorgang ist inaktiv 1 = SPI-WRITE-Vorgang läuft. Es darf nur auf die Register 0x97, 0x98 und 0x99 zugegriffen werden. |
|
|
|
2..15 | RESERVED | reserviert für interne / zukünftige Funktionen | - | - | - |
Sonderfunktionen
Windowing / ROI
Der Kamerasensor der VM-012 ermöglicht – wie andere phyCAM-Module auch – die Verringerung der effektiven Bildauflösung durch Definition von Auslesefenstern (Window oder ROI = Region of Interest). Dadurch lässt sich auch die erzeugte Datenmenge optimal an die Anforderungen der Anwendung anpassen. Durch die Reduzierung der Auflösung kann außerdem die Bildwiederholrate erhöht werden.
Abhängig von der Betriebsart können mehrere ROIs definiert werden:
- Global Shutter Mode: bis zu 8 ROIs
- Rolling Shutter Mode: bis zu 1 ROI
Beachten Sie, daß bei Verwendung mehrerer ROIs die Ausgabereihenfolge der Pixel nach wie vor von der Lage der Pixel auf dem Sensor bestimmt wird. ROIs maskieren also den Sensor, sie bestimmen aber nicht die Reihenfolge der Pixel. Gegebenenfalls werden die aktiven Pixel mehrerer ROIs verschachtelt.
Trigger
Der Triggereingang stellt folgende Sonderfunktionen zur Verfügung:
- Triggered Shutter Master Mode
In diesem Modus wird der Zeitpunkt der Bildaufnahme durch das Trigger-Signal gesteuert. Eine steigende Flanke Triggereingang löst eine Bildaufnahme aus. Die Belichtungszeit wird durch die Registereinstellungen des Sensors gesteuert.
- Pipelined Shutter Slave Mode
In diesem Modus wird der Zeitpunkt der Bildaufnahme und die Belichtungszeit über den Triggereingang gesteuert. Eine steigende Flanke startet die Bildaufnahme, eine fallende Flanke beendet die Aufnahme.
Hinweise
Der Trigger darf nicht in der Frame Overhead Time (FOT) aktiviert werden. Zur Erkennung des Bildanfangs kann die First Line Indication des Monitor-Signals verwendet werden, s. unten.
Einzelheiten zur Triggerung finden Sie im Datenblatt des Kamerasensors.
Der Triggereingang ist am CAM_CTRL2 – Pin des phyCAM-P Steckers verfügbar (wenn J5 auf 2+3 steht). Weiterhin ist er zusätzlich an Pin 1 des Erweiterungssteckers X2 vorhanden.
Pin | Dir | Funktion |
1 | I | TRIGGER0_IN |
2 | - | GND (Signalmasse) |
3 | O | MONITOR_OUT |
VM-012 (phyCAM-P) Belegung des Erweiterungssteckers X2
Steckverbinder-Typ: JST BM03B-SRSS-TB
passende Steckergehäuse: JST SHR-03V-S
Monitor-Out
Der Monitor-Ausgang kann wahlweise auf das Monitor0 oder Monitor1 – Signal des VITA1300 konfiguriert werden:
Signal | Funktion | I/O | Konfiguration |
MONITOR_OUT | MONITOR0 | O | J7:2-3 |
MONITOR1 | O | J7:1-2 |
Das Signal MONITOR_OUT ist an folgenden Steckverbindern verfügbar:
- CAM_CTRL1 - Pin 7 des phyCAM-P Steckers (optional, abhängig von der Konfiguration des Kameramoduls: J11 = 2-3)
- Pin 3 des Erweiterungssteckers X2
Die Funktion des Signals kann im Register MONITOR_SELECT des Sensors eingestellt werden.
Übersicht über die Funktionen:
Funktion | Monitor0 | Monitor1 | Bemerkung |
0 | x | x | konstant low |
Integration Time | x | 1 während Belichtung | |
ROT Indication | x | x | ‘1’ during ROT, ‘0’ outside |
Dual/Triple Slope Integration | x | asserted during DS/TS FOT sequence | |
Start of x-Readout Indication | x | x | |
Black Line Indication | x | ‘1’ during black lines, ‘0’ outside | |
Frame Start Indication | x | ||
Start of ROT Indication | x | ||
First Line Indication | x | ‘1’ during first line, ‘0’ for all others | |
Start of X-readout Indication for Black Lines | x | ||
Start of X-readout Indication for Image Lines | x |
(ROT = Row Overhead Time; FOT = Frame Overhead Time)
Reset
Ein Low-Pegel am Reset-Eingang versetzt den Bildsensor in den Reset-Zustand. Alle Register des Bildsensors werden auf die Default-Einstellungen gesetzt.
Der Eingang sollte mit dem /RESET-Signal des Microcontroller-Boards verbunden werden. Das /RESET Signal sollte erst nach Anlegen der Spannung und MCLK deaktiviert wird. Während des Betriebs des Kamerasensors muss das Reset-Signal High-Pegel besitzen.
Durch Aktivierung des Signals wird ein Reset des Kamera-Sensors ausgelöst und die Sensor-Spannungsversorgung abgeschaltet. Die Sensorversorgung bleibt ausgeschaltet so lange das Reset-Signal aktiv (low) gehalten wird. Wird das Reset-Signal inaktiv (high) so ist ein I²C-Zugriff auf die VM-012 Register nach ca. 100 ms möglich.
Ein Sensor-Reset kann auch durch Software ausgelöst werden. Dazu wird das Bit AUTO_SENSOR_RESET auf 1 gesetzt. Das Bit wird nach Ende des Sensor-Reset-Zyklus’ automatisch zurückgesetzt.
Der Bildsensor kann per Software dauerhaft in den Reset-Zustand versetzt werden wobei die Stromversorgung des Sensors abgeschaltet ist. Dies kann beispielsweise dazu genutzt werden, die Stromaufnahme des Kameramoduls zu reduzieren.
Dieser Zustand kann erreicht werden, indem das Bit SENSOR_RESET auf 1 gesetzt wird. Der Sensor bleibt in dem Zustand, bis das Bit wieder auf 0 gesetzt wird. Danach wird die Versorgungsspannung des Bildsensors wieder eingeschaltet und der Reset deaktiviert. Nach ca. 100 ms ist ein Zugriff auf den Sensor wieder möglich.
Hinweis
Nach einem Sensor-Reset sind alle Register des Bildsensors auf ihre Default-Werte gesetzt.
Führen Sie keine Registerzugriffe auf den Bildsensor aus, während sich der Sensor im Resetzustand befindet. Auf die in die Register-Map eingeblendeten Kontroll- und Statusregister kann auch während eines Sensor-Resets zugegriffen werden.
Ein vollständiger Reset des Kameramoduls kann ausgelöst werden durch:
- Aus- und Einschalten der Betriebsspannung des Kameramoduls
- per Software durch Aktivierung des Bits VM-012_RESET
Der vollständige Reset kann durch Setzen des Bits VM-012_RESET ausgelöst werden. Danach führen der Bildsensor und der interne Microcontroller einen Reset durch.
Alle Register werden auf ihre Default-Werte zurückgesetzt. Das Bit VM-012_RESET wird automatisch zurückgesetzt.
Eine Änderung der I²C-Adresse wird erst nach Durchführung eines vollständigen Reset übernommen.
Output-Enable
Der Output-Enable – Eingang (Pin 32) besitzt bei diesem Kameramodul keine Funktion. Daten- und Signalleitungen sind unabhängig vom Zustand dieses Eingangs immer aktiv. Der Pin ist intern kontaktiert und besitzt die gleiche Eingangscharakteristik wie die übrigen Eingangspins.
I2C-EEPROM (optional)
Das Kameramodul VM-012 kann optional mit einem EEPROM ausgestattet werden. In diesem können anwendungsspezifische Daten (z.B. Kalibrierungsdaten) gespeichert werden.
Das EEPROM ist vom Typ M24C02-RMC6TG und besitzt eine Speichergröße von 2 kBit. Die Default I2C-Adresse lautet 0xAE. Alternative Adressen können per Jumper eingestellt werden (siehe I2C Adressen). Datenübertragungsrate: 100 kHz Standard Mode / 400 kHz Fast Mode.
Weitere Informationen finden Sie im Datenblatt des EEPROMs.
Onboard MCLK Erzeugung
Bei Bedarf besteht die Möglichkeit, einen Oszillator auf dem Kameramodul zu bestücken. Dieser kann den Masterclock MCLK für den Kamerasensor erzeugen. Damit ist es nicht mehr erforderlich, den MCLK-Takt über Pin 29 des phyCAM-P – Steckers einzuspeisen.
Zur Verwendung des internen Masterclocks muss OZ1 bestückt sein und Jumper J1 auf 1+2 gesetzt werden.
Entwicklungskits
Zur Inbetriebnahme der Kamera und Unterstützung der Entwicklung sind Entwicklungskits für verschiedene Controller-Plattformen und Betriebssysteme erhältlich. Das Sortiment an passenden Kits wird ständig erweitert.
Bitte informieren Sie sich auf unserer Webseite über aktuell erhältliche Kits. Der PHYTEC-Vertrieb berät sie gerne bei der Zusammenstellung von Kits und Komponenten.
phyCAM-S+ VM-012 Global Shutter
Technische Daten
Charakteristische Merkmale
- 1,3 MPixel – Sensor (1.310.720 Pixel)
- monochrom (VM-012-LVDS-BW) oder color (VM-012-LVDS-COL)
- phyCAM-S+ – Schnittstelle
- Framerate: 37 fps (volle Auflösung)
- Framerate: 130 fps bei VGA
- Global Shutter und Rolling Shutter (umschaltbar)
- Externer Trigger und Strobe
- zusätzlicher Steckverbinder mit Trigger, Strobe (optional)
VM-012 (phyCAM-S) (Vorderseite / Rückseite)
Spezifikation
Funktion | VM-012-LVDS-BW[5] | VM-012-LVDS-COL[5] |
Kameracharakteristik | ||
Auflösung | 1,3 MPixel | 1,3 MPixel |
Auflösung (H x V) | 1280 x 1024 | 1280 x 1024 |
Sensorgröße | 1/2" 6,18 mm x 4,95 mm | 1/2" 6,18 mm x 4,95 mm |
Pixelgröße | 4,8 µm x 4,8 µm | 4,8 µm x 4,8 µm |
Farbe / monochrom | monochrom | color |
Sensortechnologie | CMOS | CMOS |
Sensorchip | ON Semiconductor VITA 1300 | ON Semiconductor VITA 1300 |
Scan-System | progressive | progressive |
Shutter-Typ | global oder rolling | global oder rolling |
Bildrate (fps) | 37 fps (volle Auflösung) | 37 fps (volle Auflösung) |
130 fps bei VGA | 130 fps bei VGA | |
Empfindlichkeit | 4,6 V/lux.sec (bei 550 nm) | 4,6 V/lux.sec (bei 550 nm) |
Dynamikbereich | 60 dB (Rolling Shutter Mode) | 60 dB (Rolling Shutter Mode) |
hoher Dynamikbereich | 90 dB | 90 dB |
Belichtungszeit | programmierbar | programmierbar |
Verstärkung | programmierbar | programmierbar |
AEC | ja, abschaltbar | ja, abschaltbar |
AGC | ja, abschaltbar | ja, abschaltbar |
Gammakorrektur | n/a | n/a |
Weißabgleich/AWB | n/a | n/a |
ext. Trigger / Sync. | Trigger / Strobe | Trigger / Strobe |
ROI | ja, bis zu 8 | ja, bis zu 8 |
Skipping | 2x2 | 2x2 |
Binning | 2x2 | 2x2 |
Mirror | n/a | n/a |
Image Processor | n/a | n/a |
LED-Beleuchtung | n/a | n/a |
Sonderfunktionen | Siehe Sonderfunktionen | Siehe Sonderfunktionen |
elektrisches Interface | ||
Videoausgang Typ | digital | digital |
Anschluss | phyCAM-S+ | phyCAM-S+ |
Datenformat | 8 Bit seriell LVDS | 8 Bit seriell LVDS |
Interface-Mode | Y8 | 8 Bit RGGB (Bayer) |
Dataline-Shifting | n/a | n/a |
Kameraeinstellung | I²C | I²C |
Versorgungsspannung | 3,3 V | 3,3 V |
Leistungsaufnahme | 620 mW | 620 mW |
Leistungsaufn. Standby | 85 mW | 85 mW |
mechanische Daten | ||
Objektivanschluss | kein / M12 / C-CS | kein / M12 / C-CS |
Objektiv | n/a | n/a |
Gehäuse | n/a | n/a |
Abmessungen (mm) | 34 x 34 | 34 x 34 |
Befestigung | 4 x M2.5 | 4 x M2.5 |
Gehäusefarbe | n/a | n/a |
Gewicht (PCB) | 5 g | 5 g |
Betriebstemperatur | -25...85°C | -25...85°C |
Anschlüsse | ||
Signalausgang | Hirose 8 pol. Crimp | Hirose 8 pol. Crimp |
Trigger / Sync. | JST 3 pol. Crimp | JST 3 pol. Crimp |
Iris-Ansteuerung | n/a | n/a |
Sonderfunktionen | n/a | n/a |
VM-012-xxx-LVDS (phyCAM-S+) Technische Daten
5. | n/a: nicht zutreffend. Alle Angaben können technischen Änderungen unterliegen |
Interface-Charakteristik
| Symbol | min. | typ. | max. | Einheit |
Betriebsspannung | VCAM | 3,0 | 3,3 | 3,6 | V |
Stromaufnahme | ICAM | - | 200 | - | mA |
Input high voltage[6] | VIH | 2 | - | VCAM +0,3 | V |
Input low voltage[6] | VIL | -0,3 | - | 0,8 | V |
Output high voltage[6] | VOH | 2,8 | - | - | V |
Output low voltage[6] | VOL | - | - | 0,2 | V |
Betriebstemperatur[7] | TOP | -25 | - | 70 | °C |
Lagertemperatur[7] | TSTG | -25 | - | 70 | °C |
| Symbol | min | typ | max | Einheit |
Masterclock Frequenz | fMCLK | 20 | - | 62 | MHz |
Clock Tastverhältnis | dutycycleMCLK | 40 | 50 | 60 | % |
I²C Taktrate[8] | fI2C | - | 100 | 400 | kHz |
| Symbol | min | typ | max | Einheit |
LVDS-Treiber | |||||
Output differential voltage | IVODI | 200 | 290 | - | mV |
Output offset voltage | VOS | 1,05 | 1,1 | 1,3 | mV |
VOS change between complementary out states | DVOS | - | - | 35 | mV |
Output current when short to GND | IOS | - | -56 | -90 | mA |
Output current in Tri-State | IOZ | -10 | ±1 | +10 | µA |
LVDS-Empfänger | |||||
Input differential, positive | VIDTH+ | - | - | 100 | mV |
Input differential, negative | VIDTH– | -100 | - | - | mV |
Abschlusswiderstand | RSHUNT | 100 | W |
6. | CAM_SDA, CAM_SCL, I=+/-100µA |
7. | auf -30°C erweiterbar ohne die optionale Trigger/Strobe-Buchse X2 |
8. | der I²C-Master muss das Verfahren des Clock-Streching unterstützen |
Datenformate
monochrom (VM-012-BW-LVDS):
- Y8 : 8 Bit Graustufenauflösung
color (VM-012-COL-LVDS):
- RGGB (Bayer-Pattern) bis 8 Bit Farbtiefe
Spektrale Empfindlichkeit
VM-012-xxxx-LVDS (phyCAM-S+) Spektrale Empfindlichkeit
Hinweis
Detaillierte technische Daten entnehmen Sie bitte dem Datenblatt des Kamerasensors.
Jumperplan
VM-012-xxxx-LVDS (phyCAM-S+) Jumperplan (PL1420.1)
Pixelreihenfolge
Bedingt durch den internen Aufbau des Kamerasensors VITA 1300 werden Pixel nicht konsekutiv sequenziell entsprechend der physikalischen Anordnung auf dem Sensor entsprechend ausgegeben.
Die Zeilen des Pixel-Arrays sind vielmehr in so genannte Kernels unterteilt, die Gruppen aus jeweils 8 Pixeln darstellen (8 Pixel in x-Richtung je Zeile):
VM-012-xxxx-LVDS (phyCAM-S+) Anordnung der Pixel-Kernel auf dem Sensor-Array
Die Reihenfolge, in der die Pixeldaten ausgegeben werden, ist an den Kernels orientiert und abhängig vom Subsampling-Modus.
Kein Subsampling
Die Pixelreihenfolge ist in geraden und ungeraden Kerneln unterschiedlich entsprechend der folgenden Grafik:
VM-012-xxxx-LVDS (phyCAM-S+) Pixelreihenfolge ohne Subsampling
Mit Subsampling (monochromer Sensor)
Im Subsampling-Modus werden zwei benachbarte Kernels zu einem Kernel zusammengefasst (siehe Grafik). Dadurch wird die Anzahl der ausgegebenen Pixel halbiert. Es werden immer die geraden Pixel entnommen.
Im Gegensatz zur Betriebsart ohne Subsampling gibt es keinen Unterschied in der Pixelreihenfolge von geraden und ungeraden Kernels.
VM-012-xxxx-LVDS (phyCAM-S+) Pixelreihenfolge mit Subsampling im Monochrome-Modus
Mit Subsampling (color Sensor)
Im Subsampling-Modus werden zwei benachbarte Kernels zu einem Kernel zusammengefasst (siehe Grafik). Dadurch wird die Anzahl der ausgegebenen Pixel halbiert. Es werden immer 2 benachbarte Pixel entnommen und dann 2 Pixel übersprungen.
Im Gegensatz zur Betriebsart ohne Subsampling gibt es keinen Unterschied in der Pixelreihenfolge von geraden und ungeraden Kernels.
VM-012-xxxx-LVDS (phyCAM-S+) Pixelreihenfolge mit Subsampling im Color-Modus
Hinweise
Die ausgegebenen Pixel müssen durch die nachfolgende Verarbeitungseinheit (in der Regel durch Software) in die richtige Reihenfolge gebracht werden bzw. die Pixelreihenfolge bei der Verarbeitung berücksichtigt werden.
Bei der Definition einer ROI auf dem Sensor-Array müssen die ROI-Ränder mit den Kernel-Grenzen übereinstimmen. Idealerweise wird der Beginn einer ROI so organisiert, dass er immer auf den gleichen Kernel-Typ (gerade Kernels) fällt.
PHYTEC liefert eine Bibliotheks- und GStreamer-Funktion zum Sortieren der Kernels mit den Development-Kits mit. Weitere Informationen dazu finden Sie in der Application Note „VM-012 Remapping“.
I2C Adressen
|
| Konfiguration |
| |
J9 | J10 | |||
| 0x90 | 2+3 | 1+2 |
|
0x98 | 1+2 | 1+2 | ||
0xB0 | 2+3 | 2+3 | ||
0xB8 | 1+2 | 2+3 |
VM-012-xxxx-LVDS (phyCAM-S+) I2C Adressen
|
| Konfiguration |
| ||
J2 | J3 | J4 | |||
| 0xA0 | 1+2 | 1+2 | 1+2 |
|
0xA2 | 2+3 | 1+2 | 1+2 | ||
0xA4 | 1+2 | 2+3 | 1+2 | ||
0xA6 | 2+3 | 2+3 | 1+2 | ||
0xA8 | 1+2 | 1+2 | 2+3 | ||
0xAA | 2+3 | 1+2 | 2+3 | ||
0xAC | 1+2 | 2+3 | 2+3 | ||
0xAE | 2+3 | 2+3 | 2+3 |
VM-012-xxxx-LVDS (phyCAM-S+) Feature Pins
Die I²C-Adressen sind hexadezimal in 8 Bit – Darstellung angegeben. In Linux wird ggf. mit 7 Bit – Darstellung gearbeitet. In diesem Fall ist der Adresswert eine Stelle nach rechts zu shiften.
Die Angabe bezieht sich auf die Schreibadresse (Bit 0 = 0), die Leseadresse ist entsprechend Bit 1 = 1 um 1 erhöht.
Beschreibung des I2C Interface
Die phyCAM Schnittstellen besitzen zur Kommunikation mit den Komponenten auf den Kameramodul (Sensor, EEPROM, usw.) eine I²C Schnittstelle. Diese ist sowohl bei phyCAM-P als auch bei phyCAM-S(+) vorhanden.
Von der CPU können über die I²C-Schnittstelle alle Register des Kamerasensors entsprechend der gewünschten Konfiguration eingestellt werden.
Der auf der VM-012 befindliche Sensor VITA 1300 verwendet ein SPI-Interface für den Zugriff auf seine Register. Auf der VM-012 sorgt ein zusätzlicher Microcontroller für die Umsetzung des I²C-Busses auf den SPI-Bus.
Daraus ergeben sich einige Besonderheiten, die beim I²C Zugriff auf den Kamerasensor beachtet werden müssen.
Die I²C Schnittstelle der VM-012 ist mit einer Wortbreite von 8 Bit organisiert:
- 8 Bit Deviceadresse
- 8 Bit Registeradresse
- 2 x 8 Bit Datenzugriffe
Der Zugriff auf die I²C Schnittstelle der VM-012 erfolgt immer als 16-Bit Write- oder 16-Bit Read-Sequenz.
Entsprechend der I²C Spezifikation werden Schreib- und Lesezugriffe durch den Zustand des LSB in der Deviceadresse unterschieden.
- Schreibzugriff: LSB in der Deviceadresse = 0
- Lesezugriff: LSB in der Deviceadresse = 1
16-Bit Schreibsequenz
Eine typische Bytefolgezum Schreiben in ein16 Bit-Register des Kamerasensors ist unten gezeigt. Die Sequenz wird vom Master durch das Startbiteingeleitet, gefolgt von der Registeradresse und zwei Daten-Bytes. Dabei wird der höherwertige Teil des 16 Bit breiten Datenwerts zuerst gesendet und dann der niederwertige Teil.
Die VM-012liefert nach jedem Byte die Empfangsbestätigung (ACK). Alle 16 Datenbits müssenübertragen werden, bevordas Registeraktualisiert wird.Der Masterbeendet den Schreibvorgang durch Senden des Stop-Bits.
Schreiben des Wertes 0x0284 auf Register 0x09 an Device 0x90
Hinweis
Erst nach der vollständigen Übernahme der beiden Daten-Bytes wird der Datenwert über die SPI-Schnittstelle in das angegebene Register des Kamerasensors übertragen.
Ein weiterer I²C-Zugriff darf erst nach Beendigung des internen SPI-Schreibzugriffs erfolgen. Zur Einhaltung dieser Vorgabe können zwei Methoden verwendet werden:
Methode 1:
Es wird eine feste Zeit nach einem I²C Schreibzugriff gewartet, bevor ein nächster I²C-Befehl gesendet wird. In der Firmware-Version V0.4 der VM-012 müssen mindestens 250µs nach einem I²C-Write-Befehl gewartet werden.
Methode 2:
Verwendung des Statusflags „SPI_WRITE“ im VM012_STATUS-Register 0x99. Das Statusflag wird vom Microcontroller des Kameramoduls verwaltet.
Nach dem Erkennen eines Schreibbefehls wird dieses Bit automatisch gesetzt und nach Beendigung des SPI-Schreibvorgangs zurückgenommen. Das Status-Register wird im nachfolgenden Abschnitt beschrieben.
Hinweis
Der Zugriff auf die Register: VM012-STATUS, VM012-CONTROL und auf VM012_FIRMWARE ist ohne Einhaltung von Wartezeiten möglich. Weiterhin ist der Zugriff auf diese Register auch während der noch aktiven SPI-Schreibsequenz möglich.
16-Bit Lesesequenz
Eine typische 16-Bit Lesesequenzist unten dargestellt.Zunächst muß derMaster die Adresses des Registers senden, dessen Inhalt gelesen werden soll. Dazu wird in einerSchreibsequenz nur die Registeradresse an das Kameramodul gesendet.
Danach wird vom Master ein Lesevorgang über einen 16 Bit-Wert begonnen, indem er ein erneutes Start-Bitund die Deviceadresse mit gesetztem LSB (Lesekennung) sendet.
Mit den folgenden Clock-Takten sendet das Kameramodul in zwei Datenbytes den 16 Bit breiten Registerinhalt. Dabei wird zuerst das High-Byte und dann das Low-Byte übertragen.Der Master sendetnach jeder8-Bit-Übertragung einBestätigungs-Bit (ACK). Die Datenübertragung wirdbeendet, indem derMaster einNo-Acknowledge-Bit (NACK) nach den 16 Bit Daten sendet.
Lesen des Wertes 0x0284 aus Register 0x09 von Device 0x90
Hinweis
Nach dem einleitenden Schreibbefehl innerhalb der Lesesequenz muss keine Wartezeit eingehalten werden. Es kann sofort der nachfolgende Lesebefehl begonnen werden.
Nachdem der Microcontroller der VM-012 den einleitenden I²C-Write-Befehl und die Deviceadresse mit gesetztem Lesebit empfangen hat, benötigt er in der Regel ca. 200µs zur Bearbeitung des internen SPI-Lesebefehls. In dieser Zeit muß der Master an der I²C- Schnittstelle warten, bevor er mit dem Einlesen der Daten beginnen kann. Dazu wird vom Microcontroller der VM-012 der Mechanismus des „Clock-Stretching“ verwendet. Das „Clock-Stretching“ wird nur einmal vor dem ersten Datenbyte verwendet. Das zweite Datenbyte wird sofort nach Anforderung gesendet.
Hinweis
Der I²C-Master muss das Verfahren des Clock-Stretching unterstützen.
I2C Registerzuordnung
Paging
Der Kamerasensor VITA 1300 auf der VM-012 besitzt eine Registermap mit 511 Registern. Eine Vielzahl von I²C-Routinen unterstützen jedoch nur einen Adressraum von 255 Registern.
Deshalb wurde der I²C-Adressraum auf der VM-012 durch Verwendung eines Page-Bits erweitert.
Page-Bit | I²C-Registeradresse der VM-012 | Registeradresse des |
0 | 0x00 bis 0xFF | 0x000 bis 0x0FF |
1 | 0x00 bis 0xFF | 0x100 bis 0x1FF |
Die adressierte Registeradresse des Kamerasensors entspricht also der an der I²C-Schnittstelle übergebenen Registeradresse zuzüglich des Werts des Page-Bits als MSB:
Sensor-Registeradresse = Page-Bit . 0x100 + I²C-Register-Adresse.
Das „PAGE_BIT“ befindet sich im „VM012_CONTROL“ Register.
Informationen zu den Registern des Kamerasensors VITA 1300 finden Sie im Datenblatt des Sensors.
Control - und Statusregister
Zur Steuerung des Microcontrollers auf dem Kameramodul und zum Auslesen von Statusinformationen werden in die Registermap des Kamerasensors drei zusätzliche Register eingeblendet.
Über den Lese- bzw. Schreibzugriff auf diese Register kann der I²C-Master direkt den Microcontroller der VM-012 ansprechen.
Dafür werden drei Adressen verwendet, die im Adressraum des VITA 1300 nicht belegt sind.
I²C Register Adresse der VM-012 | Page-Bit[9] | Read | Write | Funktion |
0x97 | x | ja | nein | Firmware-Version der VM-012 |
0x98 | x | ja | ja | VM_012_CONTROL Register |
0x99 | x | ja | nein | VM_012_STATUS Register |
9. | x=keinen Einfluss |
Hinweis
Diese drei Adressen werden nicht an das SPI Interface des Kamerasensors weitergeleitet, sondern nur im Microcontroller ausgewertet. Diese drei Register unterliegen keinen Wartezeiten beim Lesen oder Schreiben auf der I²C Schnittstelle.
Registerbeschreibung VM012_FIRMWARE; 0x97 (151 dezimal).
0x97 – VM012_FIRMWARE | |||||
Bit | Bit Name | Bit Beschreibung | Default Hex (Dec) | Zulässige Werte (Dec) | Read/Write |
7...0 | MINOR_REVISION | Version Firmware Nachkommastelle | - | 0...255 | R |
15...8 | MAJOR_REVISION | Version Firmware Vorkommastelle | - | 0...255 | R |
Registerbeschreibung VM012_CONTROL; 0x98 (152 dezimal).
0x98 – VM012_CONTROL | |||||
Bit | Bit Name | Bit Beschreibung | Default Hex (Dec) | Zulässige Werte (Dec) | Read/Write |
|
| Auswahl Register-Page des Kamerasensors: 1 = Register 0x100 bis 0x1FF Der Zustand des PAGE_BITs bleibt nach dem Kamerareset erhalten |
|
|
|
|
| Auto Software-Reset Kamerasensor 0 = Grundzustand 1 = Reset Kamerasensor auslösen Es wird das Reset-Signal des Kamerachips aktiviert und die Spannungsversorgungen des Kamerachips abgeschaltet. Nach einer Wartezeit von 100ms werden die Spannungen wieder zugeschaltet und der Reset wieder deaktiviert. Danach wird das Bit selbstständig zurückgesetzt. |
|
|
|
|
| Bildsensor Reset aktivieren 0 = Grundzustand 1 = Es wird das Reset-Signal des Kamerachips aktiviert und die Spannungsversorgungen des Kamerachips abgeschaltet. Erst wenn das Bit vom Anwender zurückgesetzt wird, werden die Spannungen wieder zugeschaltet und der Reset deaktiviert. Diese Funktion kann benutzt werden, um das Kameramodul in einen energiesparenden Modus zu versetzen. |
|
|
|
3...7 | RESERVED | reserviert für interne / zukünftige Funktionen | - | - | - |
|
| Software-Reset Kamerasmodul 0 = Grundzustand 1 = Reset Kameramodul auslösen Wenn dieses Bit gesetzt wird, dann erfolgt ein Reset des Kamerasensors und der Microcontroller auf dem Sensorboard führt ein Softwarereset durch. Danach stehen alle Register wieder auf den Default-Werten. |
|
|
|
9...15 | RESERVED | reserviert für interne / zukünftige Funktionen | - | - | - |
Registerbeschreibung VM012_STATUS; 0x99 (153 dezimal).
0x99 – VM012_STATUS | |||||
Bit | Bit Name | Bit Beschreibung | Default Hex (Dec) | Zulässige Werte (Dec) | Read/Write |
|
| 0 = SPI-READ-Vorgang ist inaktiv 1 = SPI-READ-Vorgang läuft. Es darf nur auf die Register 0x97, 0x98 und 0x99 zugegriffen werden. Hinweis: Beim Verwendung von Clock-Stretching erfolgt die Bearbeitung innerhalb des I²C Zugriffszyklus. Eine besondere Beachtung des Flags ist nicht erforderlich. |
|
|
|
|
| 0 = SPI-WRITE-Vorgang ist inaktiv 1 = SPI-WRITE-Vorgang läuft. Es darf nur auf die Register 0x97, 0x98 und 0x99 zugegriffen werden. |
|
|
|
2..15 | RESERVED | reserviert für interne / zukünftige Funktionen | - | - | - |
Sonderfunktionen
Windowing / ROI
Der Kamerasensor der VM-012 ermöglicht – wie andere phyCAM-Module auch – die Verringerung der effektiven Bildauflösung durch Definition von Auslesefenstern (Window oder ROI = Region of Interest). Dadurch lässt sich auch die erzeugte Datenmenge optimal an die Anforderungen der Anwendung anpassen. Durch die Reduzierung der Auflösung kann außerdem die Bildwiederholrate erhöht werden.
Abhängig von der Betriebsart können mehrere ROIs definiert werden:
- Global Shutter Mode: bis zu 8 ROIs
- Rolling Shutter Mode: bis zu 1 ROI
Beachten Sie, daß bei Verwendung mehrerer ROIs die Ausgabereihenfolge der Pixel nach wie vor von der Lage der Pixel auf dem Sensor bestimmt wird. ROIs maskieren also den Sensor, sie bestimmen aber nicht die Reihenfolge der Pixel. Gegebenenfalls werden die aktiven Pixel mehrerer ROIs verschachtelt.
Trigger / Monitor
Der Triggereingang stellt folgende Sonderfunktionen zur Verfügung:
- Triggered Shutter Master Mode
In diesem Modus wird der Zeitpunkt der Bildaufnahme durch das Trigger-Signal gesteuert. Eine steigende Flanke Triggereingang löst eine Bildaufnahme aus. Die Belichtungszeit wird durch die Registereinstellungen des Sensors gesteuert.
- Pipelined Shutter Slave Mode
In diesem Modus wird der Zeitpunkt der Bildaufnahme und die Belichtungszeit über den Triggereingang gesteuert.
Eine steigende Flanke startet die Bildaufnahme, eine fallende Flanke beendet die Aufnahme.
Hinweis
Der Trigger darf nicht in der Frame Overhead Time (FOT) aktiviert werden. Zur Erkennung des Bildanfangs kann die First Line Indication des Monitor-Signals verwendet werden, s. unten. Einzelheiten zur Triggerung finden Sie im Datenblatt des Kamerasensors.
Der Triggereingang ist an Pin 1 des Erweiterungssteckers X2 vorhanden.
Pin | Dir | Funktion |
1 | I | TRIGGER0_IN |
2 | - | GND (Signalmasse) |
3 | O | MONITOR_OUT |
VM-012-xxx-LVDS (phyCAM-S+) Belegung des Erweiterungssteckers X2
Steckverbinder-Typ: JST BM03B-SRSS-TB
passende Steckergehäuse: JST SHR-03V-S
Monitor Out
Der Monitor-Ausgang kann wahlweise auf das Monitor0 oder Monitor1 – Signal des VITA1300 konfiguriert werden:
Signal | Funktion | I/O | Konfiguration |
MONITOR_OUT | MONITOR0 | O | J7:2-3 |
MONITOR1 | O | J7:1-2 |
Das Signal MONITOR_OUT ist an Pin 3 des Erweiterungssteckers X2 verfügbar.
Die Funktion des Signals kann im Register MONITOR_SELECT des Sensors eingestellt werden.
Übersicht über die Funktionen:
Funktion | Monitor0 | Monitor1 | Bermerkung |
0 | x | x | konstant low |
Integration Time | x | 1 während Belichtung | |
ROT Indication | x | x | ‘1’ during ROT, ‘0’ outside |
Dual/Triple Slope Integration | x | asserted during DS/TS FOT sequence | |
Start of x-Readout Indication | x | x | |
Black Line Indication | x | ‘1’ during black lines, ‘0’ outside | |
Frame Start Indication | x | ||
Start of ROT Indication | x | ||
First Line Indication | x | ‘1’ during first line, ‘0’ for all others | |
Start of X-readout Indication for Black Lines | x | ||
Start of X-readout Indication for Image Lines | x |
(ROT = Row Overhead Time, FOT = Frame Overhead Time)
Reset
Bei Anlegen der Versorgungsspannung wird ein Reset-Zyklus des Kamera-Sensors ausgelöst. Nachdem der interne Resetzyklus durchgeführt wurde ist ein I²C-Zugriff auf die VM-012 Register nach ca. 100 ms möglich.
Ein Sensor-Reset kann auch durch Software ausgelöst werden. Dazu wird das Bit AUTO_SENSOR_RESET auf 1 gesetzt. Das Bit wird nach Ende des Sensor-Reset-Zyklus’ automatisch zurückgesetzt.
Der Bildsensor kann per Software dauerhaft in den Reset-Zustand versetzt werden wobei die Stromversorgung des Sensors abgeschaltet ist. Dies kann beispielsweise dazu genutzt werden, die Stromaufnahme des Kameramoduls zu reduzieren.
Dieser Zustand kann erreicht werden, indem das Bit SENSOR_RESET auf 1 gesetzt wird. Der Sensor bleibt in dem Zustand, bis das Bit wieder auf 0 gesetzt wird. Danach wird die Versorgungsspannung des Bildsensors wieder eingeschaltet und der Reset deaktiviert. Nach ca. 100 ms ist ein Zugriff auf den Sensor wieder möglich.
Hinweis
Nach einem Sensor-Reset sind alle Register des Bildsensors auf ihre Default-Werte gesetzt. Führen Sie keine Registerzugriffe auf den Bildsensor aus, während sich der Sensor im Resetzustand befindet. Auf die in die Register-Map eingeblendeten Kontroll- und Statusregister kann auch während eines Sensor-Resets zugegriffen werden.
Ein vollständiger Reset des Kameramoduls kann ausgelöst werden durch:
- Aus- und Einschalten der Betriebsspannung des Kameramoduls
- per Software durch Aktivierung des Bits VM-012_RESET
Der vollständige Reset kann durch Setzen des Bits VM-012_RESET ausgelöst werden. Danach führen der Bildsensor und der interne Microcontroller einen Reset durch.
Alle Register werden auf ihre Default-Werte zurückgesetzt. Das Bit VM-012_RESET wird automatisch zurückgesetzt.
Hinweis
Eine Änderung der I²C-Adresse wird erst nach Durchführung eines vollständigen Reset übernommen.
I2C-EEPROM (optional)
Das Kameramodul VM-012 kann optional mit einem EEPROM ausgestattet werden. In diesem können anwendungsspezifische Daten (z.B. Kalibrierungsdaten) gespeichert werden.
Das EEPROM ist vom Typ M24C02-RMC6TG und besitzt eine Speichergröße von 2 kBit. Die Default I2C-Adresse lautet 0xAE. Alternative Adressen können per Jumper eingestellt werden (siehe I2C Adressen).
Datenübertragungsrate: 100 kHz Standard Mode / 400 kHz Fast Mode.
Weitere Informationen finden Sie im Datenblatt des EEPROMs.
Onboard MCLK Erzeugung
Bei Bedarf besteht die Möglichkeit, einen Oszillator auf dem Kameramodul zu bestücken. Dieser kann den Masterclock MCLK für den Kamerasensor erzeugen. Damit ist es nicht mehr erforderlich, den MCLK-Takt über die Pins 3/6 des phyCAM-S – Steckers einzuspeisen. Zur Verwendung des internen Masterclocks muss OZ1 bestückt sein und Jumper J1auf 1+2 gesetzt werden.
Entwicklungskits
Zur Inbetriebnahme der Kamera und Unterstützung der Entwicklung sind Single-Board-Computer (SBC-Kits) für verschiedene Controller-Plattformen erhältlich. Das Sortiment an passenden Kits wird ständig erweitert. Bitte informieren Sie sich auf unserer Webseite über aktuell erhältliche Kits. Der PHYTEC-Vertrieb berät sie gerne bei der Zusammenstellung von Kits und Komponenten.
Revisionhistorie
Date | Version # | Changes in this manual |
01.03.2021 | Manual L-873d.A0 | New Release |