cyber205の日記: CanonのEFマウント制御プロトコルは68HC05をベースにしている?
いつか解析してやろうと思ってたのだが、既に情報がネット上に出回っている模様。
Kzar.net Wiki より
Photo » Canon EF Protocol
1. VBAT(モーター用動力電源)
2. P-GND(ピン2及び3は共通でモーター用動力電源グランド)
3. P-GND (pins 2 & 3 are common on the lens)
4. VDD(制御回路ロジック用電源)
5. DCL(ボディ側からレンズ側への通信線)
6. DLC(レンズ側からボディ側への通信線)
7. LCLK(通信同期用クロック[おそらくボディ側からレンズ側へ])
8. D_GND(制御回路ロジック用電源グランド)
# Data protocol: Motorola SPI; 8 bit serial; Such as the protocol used with the 68HC05 chip.
モトローラSPI方式シリアルインタフェイスの通信プロトコルを採用している。
"EF232 Lens Interface Protocol"と名付けられているようだ。
> コマンドの形式は3段で行う- format of commands is <xx><val><cr>
>コマンドの文字な大文字小文字を区別しない- <xx> is a case insensitive two character string (a..z,A..Z)
>最後に改行を入れる- <cr> represents a byte with the value 13 , and will latch a command and reset the input stream.
>数値は必要なら追加、符号付きを認識する- <val> represents an optionally-signed decimal number (-,0..9).
>空白を入れてはいけない- White space is not permitted.
>送信した情報は全てエコーバックする- The adapter echoes all characters sent.
>通信速度は19200bps、8ビットノンパリティストップビット1- Communication is 19.2Kbps, 8 data bits, no parity, on stop bit (8n1).
>この解析結果はCanonが製造するおよそ124本のレンズのうち34本でテスト済み- This release was tested with 34 of approximately 124 lenses manufactured by Canon.
>Ver.31及びそれ以前の情報はリンク先参照- Version 31 and previous can be found at the following location: Link
コマンドの一覧
IdentifyLens
HardwareVersion
DefineFocusAxis
MoveFocusInfinity
MoveFocusZero
MoveFocusAbsolute
MoveFocusIncremental
PositionOfFocus
FocusDistance
SetFocusCounter
Initialize
DefineApertureAxis
MoveApertureOpen
MoveApertureClosed
MoveApertureAbsolute
MoveApertureIncremental
PostionOfAperture
DefineZoom
ImageStabilization
ShutterState
ShutterEnable
ShutterOpen
ShutterClose
ShutterHWInput
ShutterHWOutput
ShutterHWInputPolarity
ShutterHWOutputPolarity
ShutterTime
ShutterVoltage
BaudRate
BaudStore
SetResponseMode
XModem
SerialNumber
VersionNumber
VersionString
LibraryVersion
レンズのファームウェアを書き換える用途でもあるのか、XMODEM通信まで可能らしい。
こういうのをキッチリ制御しきると、例えばm4/3でEFレンズを自在に制御するマウントアダプタが作れたり、
(残念ながらEFマウントは消費電力が大きいのでm4/3カメラの本体が持つ供給電力では足りないそうだ)
逆にマニュアルフォーカスのレンズをCPUチップ付きフォーカスエイド付きで使えたりするわけで。
(そう、あの電子マウントアダプターというやつである。(ダンデライオン[タンポポ]チップが有名だね))
個人的には、シグマの古いレンズたちをデジカメ対応にして復活させてみたいという、ひそかな野望も…。
キャノンのEFマウントにレンズを供給している社外レンズメーカーとして、シグマとかタムロンがあるが、
どうもタムロンはライセンス料金払ってでもキャノンのチップを自社のレンズに積んだらしく、
タムロンのレンズはキャノンの発売する、どのボディに付けて使ってもトラブルは起こさないようなのだが、
シグマは独自解析でEFマウントに対応したようで、カメラボディがバージョンアップすると
頻繁にエラーを起こして動かなくなるケースがあった。絞りを動作させるとアウトなんだとか。
シグマはその度にユーザから動かなくなったレンズを送りつけてもらい、ファームウェアを無償で
バージョンアップして対応してきたのだけど、いくら頑張ってサポートしたくとも、企業として限度があるわな。
最近は補修部品がなくなってきて、チップの交換ができなくなってサポート不能となるケースが多い。
まぁ、半導体製品がディスコンになるのはよくある話なわけで。
昔のようにマスクROM品じゃ最近のFlash積んだマイコンと違って書き換え不可だろうしねぇ。
憎たらしいことに、EOSのデジタル機でも特にEOS Kissデジタル以降に大きな断絶があり、
自分が所有してるのがKissデジタルそのものだったりするわけで。
例えばズームマクロ改造で遊びまくれるSIGMA ZOOM 28-80mm F3.5-5.6 MACRO ASPHELICALとか、
EOS Kiss(銀塩)では定番の標準ズームレンズとして売られまくったのだけど、EOS Kiss Digital以降に対応しない。
おかげで中古価格は捨て値。レンズ性能だけ見ればこれほどコストパフォーマンスのいいレンズは無い。
自分もコレが二千円以上の値段で売られているのを見たことがない。
CanonのEFマウント制御プロトコルは68HC05をベースにしている? More ログイン