1 -------------------------------------------------------------------------------
2 Sony E-mount camera/lens
3 -------------------------------------------------------------------------------
5 These are dumps from a Sony E-mount camera/lens.
8 https://en.wikipedia.org/wiki/Sony_E-mount
10 These were taken using a modified 16mm Meike extension tube that brings out
11 each lens contact to a 10-pin ribbon cable.
13 Pinout of the mount is as follows (these pins are from left to right
14 looking at a lens from the rear):
16 1: LENS_GND - Lens motor GND
18 2: LENS_POWER - Lens motor power
19 Can be either 5.0V or unregulated Vbat (7.4V nominal) - This is somehow
20 negotiated between body and lens.
22 3: LOGIC_GND - Ground for lens logic circuitry
24 4: BODY_VD_LENS - As-of-yet unknown body->lens signalling
25 In nearly all cases, it is normally high but pulses low at a very low duty
26 cycle at 60 Hz (is it 50 in EU?).
28 5: LOGIC_VCC - Lens logic power
29 3.15V. All data lines described below are 3.15V logic high.
31 6: LENS_CS_BODY - Handshaking line from lens to body
32 Always high when RXD is transferring data, normally low.
34 7: RXD - Serial data from lens to body
35 Starts at 750 kbaud, usually negotiates up to 1.5 Mbaud during init.
38 8: TXD - Serial data from body to lens
41 9: BODY_CS_LENS - Handshaking line from body to lens
42 Always high when TXD is transferring data.
44 10: LENS_XDETECT - (weakly) pulled high by the body
45 Grounded to LOGIC_GND by the lens, or sometimes via 680 Ohm resistor
46 (Viltrox EF-NEX II). Used to detect presence of a lens. Body will not
47 output power unless this is grounded.
53 The logic analyzer used was an fx2lafw board (at 6MHz):
55 http://www.amazon.com/gp/product/B00ZOC23TK
58 ----------------------
70 Protocol (quick summary):
72 Data is only transmitted when a CS line goes high. Only one frame of data is
73 transmitted per high CS period. All frames start with 0xF0, followed by a
74 command ID byte. All frames end with 0x55, this is preceded by a 16-bit
75 checksum of the command ID byte plus all payload bytes. Checksum is least
76 significant byte first. Frames from body to lens are sometimes padded with
77 additional 0x00 bytes beyond 0x55.
79 A CS line can go high without any data being transmitted. This has so far
80 only been seen during a speed change.
82 The protocol appears to assume fixed frame lengths for a given command ID.
83 Occurrences of 0x55 within a frame are NOT escaped.
85 During "idle" operation, a low pulse of BODY_VD_LENS appears to trigger two
86 status response frames from the lens to the body, followed by two frames from
89 Summary of hardware used:
91 - Body: Sony ILCE-A6000
92 - Probe breakout: Meike 16mm macro extension tube with all pins wired out
95 - Sony SEL55210 55-210mm zoom lens, initialization captured at both 55mm
96 and 210mm zoom settings
97 - Viltrox EF-NEX II adapter - Canon EF to Sony E mount electronic adapter
98 - Canon EF 50mm/1.8 STM - Used with Viltrox adapter
99 - Canon EF-S 24mm/2.8 STM - Used with Viltrox adapter
100 - Sony SELP1650 16-50mm Power Zoom lens - Initialization only captured at
101 the lens' default power-on focal length due to PZ + retractable lens
103 More details can be found in the dpreview thread at:
104 http://www.dpreview.com/forums/post/56133485