Protokoll einer Philips DC-3840 Kamera
Eigenschaften der Philips DC-3840 Kamera
- kleine Bauform, 25x25mm
- Bildformate 640x480, 320x240, 160x120
- 5V Spannungsversorgung
- geringe Stromaufnahme von etwa 60mA / 20µA suspend
- Geschwindigkeit: bis zu 6 FPS
- Übertragung: seriell (3,3V gegen GND)
- Chip: OV528 Serial Bridge
Befehlstabelle
Die Philips DC-3840 Unterstützt folgende Befehle (diese entsprechen in etwa der einer C328):
Command |
ID Number |
Parameter1 |
Parameter2 |
Parameter3 |
Parameter4 |
Initial |
FFFFFF01h |
Baudrate |
Preview |
Preview |
JPEG Resolution |
Get Picture |
FFFFFF04h |
Picture Type |
Picture |
00h |
00h |
Snapshot |
FFFFFF05h |
Snapshot Type |
Skip Frame |
Skip Frame |
00h |
Save Data |
FFFFFF06h |
Destination |
Length Byte0 |
Length Byte1 |
Length Byte2 |
Reset |
FFFFFF08h |
Reset Type |
00h |
00h |
00h |
Power Off |
FFFFFF09h |
00h |
00h |
00h |
00h |
Data |
FFFFFF0Ah |
Data Type |
Length Byte 0 |
Length Byte 1 |
Length Byte 2 |
SYNC |
FFFFFF0Dh |
00h |
00h |
00h |
00h |
ACK |
FFFFFF0Eh |
Command ID |
ACK counter |
00h / Package ID Byte 0 |
00h / Package ID Byte 1 |
NAK |
FFFFFF0Fh |
00h |
NAK counter |
Error Number |
00h |
Kompression |
FFFFFF10h |
00h low |
00h |
00h |
00h |
Light
|
FFFFFF12h |
00h Day |
00h |
00h |
00h |
Color | FFFFFF17h |
00h Color |
00h | 00h | 00h |
DIGITAL ZOOM |
FFFFFF18h | 01h normal 00h 2x |
00h | 00h | 00h |
Synchronisation
Zuerst wird zur Kamera ein Sync Kommando geschickt. Das kann bis zu 60mal erforderlich sein, da sich die Kamera evt. im Sleep Mode befindet:
0xFF 0xFF 0xFF 0x0D 0x00 0x00 0x00 0x00
Kamera Antwortet irgendwann mit:
0xFF 0xFF 0xFF 0x0E 0x0D 0x00 0x00 0x00
0xFF 0xFF 0xFF 0x0D 0x00 0x00 0x00 0x00
Daraufhin sendet der Host:
0xFF 0xFF 0xFF 0x0E 0x0D 0x00 0x00 0x00
Somit ist die Synchronisation abgeschlossen!
Daten anfordern/empfangen
Mit den Kommandos wird nun ein JPEG Bild abgerufen (160 x 120 Pixel):
0xFF 0xFF 0xFF 0x08 0x01 0x00 0x00 0x00
0xFF 0xFF 0xFF 0x01 0x01 0x07 0x19 0x13
0xFF 0xFF 0xFF 0x05 0x00 0x00 0x00 0x00
0xFF 0xFF 0xFF 0x04 0x01 0x00 0x00 0x00
Mit den Kommandos wird nun ein JPEG Bild abgerufen (320 x 240 Pixel):
0xFF 0xFF 0xFF 0x08 0x01 0x00 0x00 0x00
0xFF 0xFF 0xFF 0x01 0x01 0x07 0x09 0x05
0xFF 0xFF 0xFF 0x05 0x00 0x00 0x00 0x00
0xFF 0xFF 0xFF 0x04 0x01 0x00 0x00 0x00
Mit den Kommandos wird nun ein JPEG Bild abgerufen (640 x 480 Pixel):
0xFF 0xFF 0xFF 0x08 0x01 0x00 0x00 0x00
0xFF 0xFF 0xFF 0x01 0x01 0x07 0x09 0x07
0xFF 0xFF 0xFF 0x05 0x00 0x00 0x00 0x00
0xFF 0xFF 0xFF 0x04 0x01 0x00 0x00 0x00
Daraufhin sendet die Kamera die Anzahl der Bytes und die Daten:
0xFF 0xFF 0xFF 0x0A DataType Byte0 Byte1 Byte2
Daten.....................................................................
..............................................................................
Sollen die gleichen Daten noch mal gesendet werden, schickt man nur das Kommando:
0xFF 0xFF 0xFF 0x04 0x01 0x00 0x00 0x00
Ein kleiner DC-3840 Kameratreiber für einen ATmega32/644
Wichtig ist dabei, dass der Quarz mit 14,7456Mhz schwingt! Die Kamera wird dabei direkt an den USART des Prozessors angeschlossen. An Pin D.5 stehen die Daten seriell zur Verfügung (Softuart, 1 Startbit, 8 Datenbits, 1 Stoppbit, 38400Baud).
Kamera Treiber für ATmega32/644 (04.01.2008)
(Eine aktuellere Implementierung findet sich im Code zum ETH_EX)
Testbild (320 x 240 Pixel) welches ich mit der Kamera gemacht habe.
Gutes aus dem Forum
- Kamera-Leitungslänge zwanzig Meter oder mehr ohne Probleme
- Stecker und Stativ für Philips DC-3840 Kamera
- Datenblatt / Baudrate ändern
Vorherige Seite: Spectrum Viewer für HM5010
Nächste Seite: Webcam