So funktioniert das SONY LANC™-Protokoll |
How SONY LANC™ protocol works | |
Die LANC™-Schnittstelle ist eine bidirektionale
serielle open-collector Schnittstelle, auf der zwei Geräte miteinander
kommunizieren können. Der Camcorder erhält darüber Steuerbefehle und gibt
Zählerstand, Laufwerkstatus und andere Daten zurück. Der Master gibt den
Rahmen des Telegramms vor, indem er 8 Startbits generiert, denen jeweils 8
Bits (1 Byte) folgen. Anschliessend folgt ein (langes) Stopbit und das
Spiel beginnt von vorn. Ein Bit hat die Länge von 104µs. Der Abstand
zwischen zwei Startbits kann je nach Gerät zwischen 1200µs und 1400µs
schwanken. Der Abstand zweier Telegramme beträgt 20ms für PAL/625 und
16,6ms für NTSC/525. Natürlich ist über die Schnittstelle auch der Service Mode einstellbar, ich gehe aber nicht darauf ein. Im Internet findet man dafür fertige Geräte zum Kauf. |
LANC™ is a bidirektional serial open collector
communication port, where two devices can communicate with each other. The
camcorder gets its commands and sends back counter, status and other data.
The master generates the telegram frame, creating 8 startbits, followed
each by 8 bits (1 byte) and a (long) stopbit. Then everything starts
again. One bit has a duration of 104µs. The distance between two startbits can vary between 1200µs and 1400µs depending on the device. The distance between two telegrams is 20ms for PAL/625 and 16.6ms for NTSC/525. Of course also the service mode is accessable, but I won't enter into this. In the internet you will find ready-to-use devices to buy. |
LANC™ protocol - timing diagram |
Navigation: [Byte 0] [Byte 1] [Byte 2/3] [Byte 4] [Byte 5] [Byte 6/7] [Links]
Connections: | ||
Voltage depends on model and
battery. CTL only sometimes (VCR control signal) Connect Pin 3 to GND for >140 ms to power on/off. Or connect LANC to GND for >140 ms to power on. Cable length can be >10 m. | ||
2.5 mm stereo "Klinke" | Mini-DIN |
Ausser LANC™ (CTRL-L) gibt es bei SONY die
CTRL-S Schnittstelle und natürlich die Möglichkeit der IR Bedienung. Die
Command-Codes sind überall die gleichen, bei CTRL-S und IR benötigt man
noch einen Geräte-Code. Ausserdem sind die Codes verglichen mit LANC™ um
ein Bit nach rechts verschoben. SIRCS entspricht im Timing dem CTRL-S, aber SIRCS wird mit 40 kHz gepulst. Ein Befehl ist erst nach 3 oder 4 Telegrammen gültig. |
Except LANC™ (CTRL-L) there is also a CTRL-S
plug at some SONY devices and of course the infrared control. The command
codes are the same, but for CTRL-S and IR you need an additional device
code and they are shifted right one bit, compared to LANC™. SIRCS and CTRL-S have the same timing, but SIRCS is pulsed with 40 kHz. A command is valid after 3 or 4 telegrams. |
Sub-Command for Byte 1.
Binary code | Description |
---|---|
0001 1000 | Normal command to VTR or Camera |
0010 1000 | Special command to Camera |
0011 1000 | Special command to VTR |
"Low-Nibble": Device Code
"High-Nibble": Guide Code
Sub-Command in Byte 0: | 0001 1000 (bin) |
---|
The following table shows the actual Command-Codes to the device. Only valid with the corresponding Sub-Command in Byte 0.
command (hex) | action |
---|---|
00 | program 1 |
02 | program 2 |
04 | program 3 |
06 | program 4 |
08 | program 5 |
0A | program 6 |
0C | program 7 |
0E | program 8 |
10 | program 9 |
12 | program 0 (10: SL-HF950 MKII) |
14 | program 11 (SL-HF950 MKII) |
16 | enter, program 12 (SL-HF950 MKII) |
18 | program 13 |
1A | program 14 |
1C | program 15 |
1E | program 16 |
20 | program + |
22 | program - |
24 | |
26 | |
28 | x2 |
2A | power (or viewfinder) off |
2B | photo write |
2C | eject |
2E | main/sub |
30 | stop |
32 | pause |
33 | start/stop |
34 | play |
35 | tele (only CCD-V90) |
36 | rew |
37 | wide (only CCD-V90) |
38 | fwd |
39 | photo capture |
3A | rec |
3C | rec-pause (some devices) |
3E | |
40 | still |
42 | |
44 | x1/10 |
46 | x1/5 (sometimes: vis. scan) |
48 | |
4A | x14 |
4C | x9 |
4E | tracking auto/manual |
50 | search - |
52 | search + |
54 | TV/VTR |
56 | |
58 | |
5A | VTR |
5B | date search / photo search / photo scan |
5C | |
5E | power off |
60 | rev frame |
62 | fwd frame |
64 | |
65 | edit-search - |
66 | x1 |
67 | edit-search + |
68 | |
69 | rec-review (not i.e. TR-2200) |
6A | |
6C | sleep |
6E | tracking normal |
70 | |
72 | |
74 | rew+play |
76 | |
78 | AUX |
7A | slow + |
7C | slow - |
7E | |
80 | |
82 | display mode |
84 | menu up |
86 | menu down |
88 | tracking/fine + |
8A | tracking/fine - |
8C | counter reset |
8E | zero mem |
90 | index mark |
92 | index erase |
94 | shuttle edit + |
96 | shuttle edit - |
98 | data code or goto |
99 | data code or recording parameters |
9A | menu |
9C | |
9E | input select |
A0 | |
A2 | execute |
A4 | quick timer |
A6 | index |
A8 | |
AA | |
AC | index search + |
AE | index search - |
B0 | tape speed |
B2 | goto zero / tape return (not DV) |
B4 | counter display, data screen |
B6 | open/close (SL-HF950), replay (FauHaEss) |
B8 | timer display |
BA | |
BC | |
BD | date display off |
BE | |
BF | date display on |
C0 | timer set |
C2 | menu right, next |
C4 | menu left |
C6 | timer clear |
C8 | timer check |
CA | timer record |
CC | |
CE | |
D0 | audio dub |
D2 | |
D4 | edit assemble |
D6 | edit mark |
D8 | synchro edit |
DA | |
DC | digital off (VCR), print (DV) |
DE | speed + |
E0 | speed - |
E2 | stop motion |
E4 | |
E6 | |
E8 | channel scan / flash motion |
EA | |
EC | voice boost |
EE | |
F0 | |
F2 | |
F4 | |
F6 | |
F8 | digital scan |
FA | high-speed-rew |
FC | still/shuttle (EV-S880) |
FE |
Sub-Command in Byte 0: | 0010 1000 (bin) |
---|
The following table shows the actual Command-Codes to the device. Only valid with the corresponding Sub-Command in Byte 0.
command (hex) | action |
---|---|
00 | variable speed zoom Tele: slowest speed |
02 | variable speed zoom Tele: faster than 00 |
04 | variable speed zoom Tele: faster than 02 |
06 | variable speed zoom Tele: faster than 04 |
08 | variable speed zoom Tele: faster than 06 |
0A | variable speed zoom Tele: faster than 08 |
0C | variable speed zoom Tele: faster than 0A |
0E | variable speed zoom Tele: fastest speed |
10 | variable speed zoom Wide: slowest speed |
12 | variable speed zoom Wide: faster than 10 |
14 | variable speed zoom Wide: faster than 12 |
16 | variable speed zoom Wide: faster than 14 |
18 | variable speed zoom Wide: faster than 16 |
1A | variable speed zoom Wide: faster than 18 |
1C | variable speed zoom Wide: faster than 1A |
1E | variable speed zoom Wide: fastest speed |
25 | Fader |
27 | rec start (DV) |
29 | rec stop (DV) |
30 | variable speed zoom Tele (avoiding digital zoom, some cameras): slowest speed |
32 | variable speed zoom Tele (avoiding digital zoom, some cameras): faster than 30 |
34 | variable speed zoom Tele (avoiding digital zoom, some cameras): faster than 32 |
35 | Zoom Tele slow (working all cameras since approx. 1996) |
36 | variable speed zoom Tele (avoiding digital zoom, some cameras): faster than 34 |
37 | Zoom Wide slow (working all cameras since approx. 1996) |
38 | variable speed zoom Tele (avoiding digital zoom, some cameras): faster than 36 |
39 | Zoom Tele fast (working all cameras since approx. 1996) |
3A | variable speed zoom Tele (avoiding digital zoom, some cameras): faster than 38 |
3B | Zoom Wide fast (working all cameras since approx. 1996) |
3C | variable speed zoom Tele (avoiding digital zoom, some cameras): faster than 3A |
3E | variable speed zoom Tele (avoiding digital zoom, some cameras): fastest speed |
41 | Auto-Focus on/off (not if there is a real switch at the camera) |
45 | Focus manual far |
47 | Focus manual near |
49 | White balance toggle (not if white balance is selected via menu) |
4B | Backlight (not DV) |
51 | Backlight (DV) |
53 | Exposure |
61 | Shutter |
77 | White balance reset (not if white balance is selected via menu) |
85 | Memory impose (models of the early 90's) |
87 | Color / Mode (models of the early 90's) |
89 | Superimpose (models of the early 90's) |
The significant Guide Code for Byte 3 is found in the "High-Nibble" of
Byte 2.
The following table shows the known codes.
Some cameras show up a
sort of ID in Byte 2 and 3, but I did not find any systematic order.
Has
anybody an idea concerning the meaning of these values?
Guide Code |
Description | Byte 3, L-N | Byte 3, H-N |
9 | channel / tuner | AV or OFF: 1010 channel: One's No Tuner: 0000 and H-N 0000 |
AV or OFF: 1010 channel: Ten's (at 0: 0000 or 1010) No Tuner: 0000 and L-N 0000 |
A | channel / tuner | AV or OFF: 1010 channel: Hundred's No Tuner: 0000 |
Tuner-Type 1: 00 Tuner-Type 2: 01 Tuner-Type 3: 10 |
Status-Code from the connected device.
L-N H-N |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
0 | initial | is eject | stop | fwd | rec | play | play/pause fwd | AL insert | |
1 | dew cass. out | load | rec/ pause | frame fwd | AL ins-pause | ||||
2 | ejecting | cassette busy | timer-rec | x1 fwd | 1/5 fwd | AR insert | |||
3 | unload | low-battery | go zero/play f. | timer-rec s. | x1 rev | 1/5 rev | AR ins-pause | ||
4 | dew stop | fwd mem stop | AV insert | cue | 1/10 fwd | AL+V insert | |||
5 | emergency | AV ins.-pause | rev | 1/10 rev | AL+V ins-ps | ||||
6 | tape end | video insert | x2/x3 fwd | frame fwd | AR+V insert | ||||
7 | tape top | video ins.-ps | x2/x3 rev | frame rev | AL+R ins-ps | ||||
8 | rew | audio dub | edit search+ | x9 fwd | |||||
9 | stp after zero | a.dub pause | edit search- | x9 rev | play/pause rev | ||||
A | load emer. | auto-play | cam rec | edit-s fwd | frame sea. cue | ||||
B | unload emerg. | stop emerg. 1 | go zero/play r. | cam stby | edit-s rev | frame sea. rev | |||
C | stop emerg. 2 | rew mem stop | x14 fwd | ||||||
D | hi-speed rew | x14 rev | |||||||
E | stop NC | ||||||||
F | edit pause |
Bit | Description |
---|---|
0 | 1 = invalid transmitted code |
1 | 1 = rec protection (old models: tape pre-end) |
2 | 1 = battery low |
3 | 1 = zero mem / zero found |
4...7 | Guide Code for Byte 6 and 7 |
The significant Guide Code for Byte 6 and 7 is found in the
"High-Nibble" of Byte 5.
The following table shows the known codes.
Guide Code |
Description | Byte 6, L-N | Byte 6, H-N | Byte 7, L-N | Byte 7, H-N |
0 | |||||
1 | Status V8 and Hi8 | 0+1: tape speed 00=SP, 01=LP 2: standard FM-sound 3: PCM-sound |
0: camera-mode 1: rec protection / tape pre-end 2: ME (0=MP) 3: 13µm (0=10µm) |
0: 1: camera-mode 2: 3: servo / mechanics on |
0+2: input
select (00=tuner, 01=sim, 11=line) |
2 | decimal Counter | One's | Ten's | Hundred's | Thousand's |
3 | real time Counter, picture Counter |
Seconds One's, Picture One's |
Seconds Ten's, Picture Ten's |
Minutes One's, Picture Hundred's |
Minutes Ten's, Picture Thousand's |
4 | real time Counter | Hours One's | Hours Ten's | Frames One's or Day One's (or 0000/1111) ("Day" only seen in CCD-V90E!) |
0+1: Frames Ten's or Day
Ten's 2: RCTC 3: sign (1=negativ) (or 0000/1111) |
5 | remain time | Minutes One's | Minutes Ten's | Hours One's | 2: 0=calculating (old devices: 1111) |
6 | |||||
7 | Status Betamax or DV | Betamax: 0+1: tape speed 00=BI, 01=BII, 10=BIII 2: Beta Hifi 3: servo/ mechanics on DV: 0+1: tape-speed 00=SP, 01=LP 2: audio (0=12bit, 1=16bit) 3: servo / mechanics on |
0: 0=Betamax, 1=DV 1: rec protection 2+3: Byte 7 DV mode: 00=DV input 01=ext. Status DV in a Camera 10= 11=ext. Status DV in a VTR |
Betamax: 0+1: Audio L+R insert 2: Video insert 3: assemble DV mode 00: input tuner: 0000, input Line: 0101, input DV: 1010 DV mode 01: mode: 0000=player, 0011=camera |
Betamax: 0: edit 1: preview 2: EE 3: DV mode 00: Line 1: 0000 Line 3: 1010 Line 2: 0101 Line 4: 1111 |
8 | Data Guide | DC: 4 | DC: 1 | DC: 3=Date, 4=Time | DC: 0 |
9 | Data-Code (Tape + Picture) |
Date: Year One's Time: Hour One's |
Date: Year Ten's Time: Hour Ten's |
Date: Month One's Time: Minutes One's |
Date: Month Ten's Time: Minutes Ten's |
A | Data-Code (Tape + Picture) |
Date: Day One's Time: Seconds One's |
Date: Day Ten's Time: Seconds Ten's |
DC: 1111 sometimes 1000 |
DC: 1111 sometimes 1001/1011 |
B | |||||
C | Status Hi8, DV (+GC1) |
Hi8: 0100 DV: 0010 or 0001 |
Hi8: 0100 DV: 0010 or 0000 |
0: camera mode / CTL
found 1: 2: edit on 3: auto Hi8 |
0000 |
D | |||||
E | Status Photo | 0: 1=photo mode selected 1: 1=memorystick™ inserted 2: 1=memorystick™ write-protected |
0: 1=memorystick™ play 1: 1=memorystick™ search 2: 1=memorystick™ full 3: 1=camera with memorystick™ |
0: 1=photo mode available | |
F |
Wer mit dem Lötkolben umgehen kann, kann sich für ca. 20 Euro eine Videoschnittlösung mit integrierter lernfähiger Infrarotfernbedienung bauen. Das Ding heisst IRdeo und ist hier sehr ausführlich beschrieben. Mit IRdeo ist es auch möglich, eigene Programme zu entwerfen, die LANC™ (CTRL-L) empfangen und Befehle an Sony Equipment aussenden. |
If you are familiar with a soldering iron you can construct your own video editing solution with integrated learning remote control for only EUR 20. It is called IRdeo and is described here very comprehensive. With IRdeo it is possible to design your own software for Sony devices to receive and send LANC™ (CTRL-L) commands. |
"LANC™" und "memorystick" sind eingetragene
Warenzeichen von SONY
"LANC™" and
"memorystick™" are registered trademarks of SONY
Zum
Seitenanfang Zurück zur Protokollübersicht Zurück zur Hauptseite |
To Page
Begin Back to protocol overview Back to Main Page |
legend: | location - world wide web | www.boehmel.de | ||
location - global position | Lat Lng |
48.73963° N 10.10936° E | ||
communication - electronic mail | ||||
communication - line | Fon Fax |
+49-7328-919044 - offline (spam) | ||
communication - cellular / sms | Cel | +49-172-8656777 | ||
July 1997 - |
communication - snail
mail location - real address |
Manfred
Boehmel Am Toebele 2 89551 Koenigsbronn Germany (South) |