В других форумах довольно часто спрашивают о IR-протоколе вспышек Nikon - отвечаю: еще год назад я помещал эту информацию у Осипова, но она где-то затерялась.
И вот она снова: IR protocol.pdf (76 kb)
Firmware SB-600: firmware_sb600.zip
Дисассемблировать с помощью IDA5.2 модуль NEC 78k0 процессор uPD78F0338.
Удачи!
Протокол IR управления вспышками SB600, SB800 фирмы Nikon.
При исследовании прошивок D70, D80, D200 "проявился" протокол IR управления вспышками
в режиме "Commander Mode". В данном документе описываются команды только
режима "Manual", т.к. в режимах "i-TTL" и "AA" требуется
обратная связь по последовательному протоколу через "горячий башмак".
В общем виде формат соманды выглядит следующим образом:
S KK CCCC DD…где: S - стартовый импульс KK - код номера канала управления CCCC - команда управления DD.. - данные команды (если требуются) На приведенном рисунке изображена последовательность S KK
Данные DD… кодируются следующим образом:
"1" - интервал + импульс 10 uS
"0" - интервал 150 uS без импульса
Для "Manual" режима пригодны три команды:
"InitMode" устанавливает режим удаленной вспышки для групп A,B.C
S KK 0110 1011 1011 1011
"SetPower" устанавливает мощность импульса вспышки для групп A.B.C
S KK 0011 1aaaaaaa 1bbbbbbb 1ccccccc
где aaaaaaa, bbbbbbb, ccccccc – (7 бит) мощность(1/1 – 1/128) для группы A, B, C соответственно (1/1 = 0000000; 1/128 =
1111111; 1/64 = 1111110; 1/32 = 1111100; …)
"Flash" дает команду произвести вспышку
S KK 0111
Для начала работы требуется последовательность:
"InitMode" Pause "SetPower" Pause
После этого можно подавать последовательность:
"Flash"
Или при смены мощности вспышки:
"SetPower" Pause "Flash"
Примечание:
Проводить опыты с протоколом можно про помощи программы "winlirc" и простейшего передатчика на инфакрасном светодиоде
(дальность – 5-10 см).
При реализации в виде устройства на микроконтроллере, следует учитывать слабую чувствительность светоприемника SB600, SB800 –
поэтому передатчик необходимо делать на импульсной лампе с управлением на IGBT.