Реверс интерфейса объектива Nikon 1

Ремонт портативной техники - телефоны, КПК, навигаторы и типа того.
Ответить
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Реверс интерфейса объектива Nikon 1

Сообщение uk8amk »

Я являюсь одним из несчастливых обладателей фотокамеры системы Nikon 1. Камера J3 со съёмными объективами.
Сама по себе тушка качественная и снимает неплохо. А вот над разработкой объективов наверное трудились китайцы. Потому что такой малый ресурс работы по другому объяснить не могу.
Первая линза отработала полгода или около 3000 фоток. Потом попросилась в сервис. В сервисе развели руками, сказали что такую штуку видят впервые, запчастей нет и отправили за новой. Сервис естественно неофициальный, представителей у нас нет.
Вторая линза не проработала и двух недель...
Хотел прицепить оптику от старого Зенита. Но есть один досадный момент. Без умного объектива выключаются практические все режимы работы камеры, даже не функционирует экспозамер и помошник фокусировки.
Изображение Изображение
Фишка от производителя, понимаешь ли. Разрешено только выставлять экспозицию наобум, съёмка в таком режиме практически неприемлема.

Решил попробовать расковырять интерфейс чтобы повторить одуванчик. Кто не знает, одуванчик - это обманка объектива на процессоре. Камера начинает думать что в неё вставили полноценный объектив и открываются все или почти все функции.
Получится ли довести до конца - не знаю. Но уже есть чем поделиться.

Интерфейс.
Изображение
12 контактов, из них реально с объективом kit 10-30мм VR работют 8.
Если смотреть на тушку, слева-направо:
1 +7V, питание аналоговой части объектива
2 GND
3 ?(CH7)
4 ?(CH6)
5 ?(CH5)
6 ?(CH4)
7 STROB CAM OUT(CH3)
8 DATA CAM IN(CH2)
9 DATA CAM OUT(CH1)
10 CLOCK CAM OUT(CH0)
11 GND
12 +3V3
Интерфейс очень похож на SPI. Тактовая частота 5МГц. Логические уровни 3,3В. Посылки идут с интервалом примерно 17,5мс.

Для записи данных сделал переходник. В тушку вкручивается байонет с контактами от старого объектива, туда паяется шлейф и идёт к контактной колодке. Она в свою очередь клеится на макрокольцо MEKE, являющееся переходником на ещё условно живой объектив.
Изображение Изображение
Лог записан анализатором Saleae Logic на 24МГц. В скобах на распиновке сверху указан номер канала анализатора.
Изображение
Обмен идёт на достаточно высокой скорости. Ширпотребные 8-битные МК могут не потянуть. Скорее всего придётся поставить Cortex.
Вложения
N13 capture.rar
Лог обмена
(505.47 КБ) 171 скачивание
Реклама
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Реверс интерфейса объектива Nikon 1

Сообщение uk8amk »

Продолжим.
Данные идут пакетами. Пакет начинается с заголовка, далее следует команда или данные. Пакет закрывается своей контрольной суммой.
Изображение
Передача дуплексная. При передаче очередного байта камера от объектива принимает байт ответа. Размер пакетов от 4-х байт.
Принятая объективом команда возвращается в камеру в момент следующей посылки. Таким образом может контролироваться отсутствие сбоев в канале. Аналогичным способом устроен обмен у зеркальных камер Никон(по информации с сайта NikonHacker).
Изображение
Пока не известен порядок битов, байтов, алгоритм вычисления контрольной суммы и её порождающий полином. Поэтому говорить о поддержании обмена на алгоритмическом уровне не приходится. Зато можно пойти другим путём. По снятым логам видно, что при инициализации идёт одинаковый набор команд. Если записать этот поток, а потом слать в камеру, то есть шанс что получится.
Реклама
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Реверс интерфейса объектива Nikon 1

Сообщение uk8amk »

Если установить настройки SPI следующим образом, то можно увидеть более осмысленные данные:
8 bit transfer
LSbit
CPOL=1
CPHA=1
Enable=Low
Изображение
Главным устройством(master) является фотоаппарат, подчинённым - объектив(slave).
Пакеты идут парами. После каждого запроса следует пакет ответа или записи новых данных.
Изображение
Пакет запроса включает в себя следующую информацию:
1. Заголовок 0x55
2. Счётчик запросов
3. Команда
4. Длина следующего блока ответа/данных
5. Контрольная сумма.

Счётчик запросов. Камера нумерует запросы. После каждого запроса счётчик увеличивается на 1. Счётчик однобайтный и поэтому при достижении 0xFF происходит переполнение в 0x00.
На следующих запросах видно как инкрементируется счётчик.

Код: Выделить всё

55 00 10 00 05 96
55 01 11 00 20 79
55 02 12 00 11 86
55 03 20 00 78 10
...
55 FF 20 00 78 14
55 00 25 00 02 84
Длина блока ответа/данных. Видимо камера обрабатывает данные как 16-битные слова. Длина блока ответа не учитывает байт заголовка и контрольной суммы.
После запроса
55 10 15 00 02 84
Будет прочитано 2 слова + 2 байта = всего 6 байт:
55 0B 00 03 00 9D

Контрольная сумма. Всё оказалось достаточно просто. Никаких CRC.
К примеру вот такой пакет:
55 32 20 00 78 E1
Считаем:
55 + 32 + 20 + 00 + 78 = 1F
Not 1F = E0
E0 + 01 = E1
Байты совпадают, пакет целый.

Очень не хватает логов с других типов объективов, например фиксов или переходника FT1.
Также многие нюансы протокола могли быть обнаружены изучением листинга дизассемблера прошивки. Однако отсутствие упоминаний об успешном дизасме говорит либо о запутанности программы, либо о том что это нафиг никому не надо. Если учесть малую популярность системы N1, то скорее второе.

Ну и напоследок картинка объектива 10-30VR со снятым байонетом.
Изображение
Аватара пользователя
anatol378
Мудрый кот
Сообщения: 1833
Зарегистрирован: Вс окт 04, 2009 13:23:12
Откуда: н. новгород

Re: Реверс интерфейса объектива Nikon 1

Сообщение anatol378 »

[uquote="uk8amk",url="/forum/viewtopic.php?p=3303524#p3303524"].... Если учесть малую популярность системы N1, то скорее второе....[/uquote]
Думаю что попали в точечку. А смысл простой. Мал размер матрицы объектива и, как следствие, рабочий отрезок где -то 16,5 мм, кроп 2.7. таким образом стандартная широкораспостраненная оптика 50 мм будет для вашего фотика как 13 мм. И самое главное старая мануальная оптика не даст того разрешения как хочется, будет "мыло". а качественные объективы это другие деньги. Мжно попытаться использовать объектив от кинокамер 16мм пленки.
Есть для вашего фотика переходник FT-1. Ему сделать реверс инжиниринг.
Порядок обмена начинается с проверки наличия объектива, потом какой объектив и дистанция фокусировки. далее команды управления фокусировкой и установка диафрагмы перед съемкой.
Желательно чтобы объектив ответил типа я "10-30мм VR", дистанция "25" работаю в мануальном режиме.
Лучше умному тупить, чем тупому умничать
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
abc
Друг Кота
Сообщения: 3686
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re: Реверс интерфейса объектива Nikon 1

Сообщение abc »

К слову, о "ширпотребных 8-битных МК".
PIC12F1822 при тактировании от внешнего кварца 20MHz обеспечит частоту SPI, равную 5 MHz.
А при тактировании от внутреннего RC-генератора при включенном PLL частота SPI будет 32/4=8MHz.
Имеет 8 ног, паябельный SOIC.
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Реклама
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Реверс интерфейса объектива Nikon 1

Сообщение uk8amk »

Есть для вашего фотика переходник FT-1.
FT-1 имел цену почти как новый аппарат. По крайней мере там где смотрел.
У этой камеры сейчас 2 пути: или заработать, или отправиться в мусорку/на запчасти.
По кропу, мылу, аберрациям и прочему. Я не профи и в принципе меня устраивает качество старого мыла фуджика за 50 долларов. Но в один момент захотелось иметь возможость управлять параметрами съёмки. Типа творческая камера.
Выбирал между самсунгом NX1000 и никоном.
Никон кит выиграл по следующим параметрам:
1. Макросъёмка. Для меня очень важно. Позже всё равно пришлось докупить макрокольцо и линзу closeup+10.
2. Оптический стаб.
Порядок обмена начинается с проверки наличия объектива,
Я так понял, что вы уже занимались этим вопросом?
Реклама
Аватара пользователя
anatol378
Мудрый кот
Сообщения: 1833
Зарегистрирован: Вс окт 04, 2009 13:23:12
Откуда: н. новгород

Re: Реверс интерфейса объектива Nikon 1

Сообщение anatol378 »

У меня были вопросы сопряжения старых объективов Sigma c Canon, а также применить объективы Canon на тушке Panasonic GH1 микро4\3 (управление диафрагмой). Там матрица поболее вашей, но результирующие картинки (с моими объективами) - не понравились. Дело до адаптера не дошло. В данный момент применяются так называемые "бустер" , т.е. переходники с линзами, уменьшающие картинку на матрице (повышают разрешающую способность и заодно светосилу). Но оптимальный вариант фотоаппарат с родной оптикой - наилучший вариант.
Другое. Теперь, в основном, все фотики и линзы делают в Китае. В результате - гавно полное. Был у меня такой Canon 700D - слава богу продал. Теперь есть, сделанный в Японии, Canon 550D. Уделывае 700 по качеству картинки. С объективами аналогично. Купленный 18-55 STM, по качеству картинки проигрывает 18-55 второй версии.
Если габариты не смущают то приобретите Nikon D80 (дороги обективы и проблематична установка сторонних из-за большого рабочего отрезка) или Canon 1100...(с переходником лезет вся советская оптика).
Если маленький и макро то Panasonic серии L..., к примеру LX3.


Инфа - https://www.ixbt.com/digimage/canonautosonyl.shtml
Лучше умному тупить, чем тупому умничать
Ответить

Вернуться в «Дохлые потаскунчики»