From: Andrew Dodd Date: Wed, 22 Jul 2015 01:27:11 +0000 (-0400) Subject: Add dumps for Sony E-mount lens protocol X-Git-Url: https://sigrok.org/gitweb/?a=commitdiff_plain;ds=sidebyside;h=b7f9d252b5b1ca4f1d20dd6f0ca58e48c65b05bc;hp=b830256d4150125e6a84be8784b653f9dfead576;p=sigrok-dumps.git Add dumps for Sony E-mount lens protocol --- diff --git a/lens_mounts/sony_emount/README b/lens_mounts/sony_emount/README new file mode 100644 index 0000000..007c2d6 --- /dev/null +++ b/lens_mounts/sony_emount/README @@ -0,0 +1,105 @@ +------------------------------------------------------------------------------- +Sony E-mount camera/lens +------------------------------------------------------------------------------- + +These are dumps from a Sony E-mount camera/lens. + +Details: +https://en.wikipedia.org/wiki/Sony_E-mount + +These were taken using a modified 16mm Meike extension tube that brings out +each lens contact to a 10-pin ribbon cable. + +Pinout of the mount is as follows (these pins are from left to right +looking at a lens from the rear): + +1: LENS_GND - Lens motor GND + +2: LENS_POWER - Lens motor power + Can be either 5.0V or unregulated Vbat (7.4V nominal) - This is somehow + negotiated between body and lens. + +3: LOGIC_GND - Ground for lens logic circuitry + +4: BODY_VD_LENS - As-of-yet unknown body->lens signalling + In nearly all cases, it is normally high but pulses low at a very low duty + cycle at 60 Hz (is it 50 in EU?). + +5: LOGIC_VCC - Lens logic power + 3.15V. All data lines described below are 3.15V logic high. + +6: LENS_CS_BODY - Handshaking line from lens to body + Always high when RXD is transferring data, normally low. + +7: RXD - Serial data from lens to body + Starts at 750 kbaud, usually negotiates up to 1.5 Mbaud during init. + 8N1, LSB-first. + +8: TXD - Serial data from body to lens + Same speeds as above. + +9: BODY_CS_LENS - Handshaking line from body to lens + Always high when TXD is transferring data. + +10: LENS_XDETECT - (weakly) pulled high by the body + Grounded to LOGIC_GND by the lens, or sometimes via 680 Ohm resistor + (Viltrox EF-NEX II). Used to detect presence of a lens. Body will not + output power unless this is grounded. + + +Logic analyzer setup +-------------------- + +The logic analyzer used was an fx2lafw board (at 6MHz): + +http://www.amazon.com/gp/product/B00ZOC23TK + + Probe Lens mount + ---------------------- + 0 BODY_VD_LENS + 1 VCC + 2 LENS_CS_BODY + 3 RXD + 4 TXD + 5 BODY_CS_LENS + + +Data +---- + +Protocol (quick summary): + +Data is only transmitted when a CS line goes high. Only one frame of data is +transmitted per high CS period. All frames start with 0xF0, followed by a +command ID byte. All frames end with 0x55, this is preceded by a 16-bit +checksum of the command ID byte plus all payload bytes. Checksum is least +significant byte first. Frames from body to lens are sometimes padded with +additional 0x00 bytes beyond 0x55. + +A CS line can go high without any data being transmitted. This has so far +only been seen during a speed change. + +The protocol appears to assume fixed frame lengths for a given command ID. +Occurrences of 0x55 within a frame are NOT escaped. + +During "idle" operation, a low pulse of BODY_VD_LENS appears to trigger two +status response frames from the lens to the body, followed by two frames from +body to lens. + +Summary of hardware used: + + - Body: Sony ILCE-A6000 + - Probe breakout: Meike 16mm macro extension tube with all pins wired out + to a ribbon cable + - Lenses: + - Sony SEL55210 55-210mm zoom lens, initialization captured at both 55mm + and 210mm zoom settings + - Viltrox EF-NEX II adapter - Canon EF to Sony E mount electronic adapter + - Canon EF 50mm/1.8 STM - Used with Viltrox adapter + - Canon EF-S 24mm/2.8 STM - Used with Viltrox adapter + - Sony SELP1650 16-50mm Power Zoom lens - Initialization only captured at + the lens' default power-on focal length due to PZ + retractable lens + +More details can be found in the dpreview thread at: +http://www.dpreview.com/forums/post/56133485 + diff --git a/lens_mounts/sony_emount/a6000_ef50_viltrox_init.sr b/lens_mounts/sony_emount/a6000_ef50_viltrox_init.sr new file mode 100644 index 0000000..f9974c5 Binary files /dev/null and b/lens_mounts/sony_emount/a6000_ef50_viltrox_init.sr differ diff --git a/lens_mounts/sony_emount/a6000_efs24_viltrox_init.sr b/lens_mounts/sony_emount/a6000_efs24_viltrox_init.sr new file mode 100644 index 0000000..773f20d Binary files /dev/null and b/lens_mounts/sony_emount/a6000_efs24_viltrox_init.sr differ diff --git a/lens_mounts/sony_emount/a6000_sel55210_init_210.sr b/lens_mounts/sony_emount/a6000_sel55210_init_210.sr new file mode 100644 index 0000000..63d7050 Binary files /dev/null and b/lens_mounts/sony_emount/a6000_sel55210_init_210.sr differ diff --git a/lens_mounts/sony_emount/a6000_sel55210_init_55.sr b/lens_mounts/sony_emount/a6000_sel55210_init_55.sr new file mode 100644 index 0000000..7ad423b Binary files /dev/null and b/lens_mounts/sony_emount/a6000_sel55210_init_55.sr differ diff --git a/lens_mounts/sony_emount/a6000_selp1650_init.sr b/lens_mounts/sony_emount/a6000_selp1650_init.sr new file mode 100644 index 0000000..1f91f1b Binary files /dev/null and b/lens_mounts/sony_emount/a6000_selp1650_init.sr differ