четверг, 21 июля 2011 г.

Самому не забыть и другим рассказать


Почитав http://www.marsohod.org/index.php/projects/169-ethcam и посмотрев разводку своей камеры путём неимоверных мысленных усилий начал догонять как работает камера и что с этим можно поделать.
Этот пост по сути для Кирилла, читай друг мой, ты хотел это знать.
(инфа не проверенна по большому счёту просто догадки)
Итак, у нас есть камера от телефона сименс с75. Работают такие камеры по простому принципу. Есть 8-ми битная шина данных и тактовый сигнал Camera Clock, по этой шине построчно поочерёдно передаются пиксели. 1 пиксель передаётся 2-мя байтами: "первый - цветоразностные сигналы, второй - яркость" .Насколько я понял камера клок - такты подающиеся на камеру, а пиксель клок - такты передачи данных по шине.
промежуточный итог- пиксели передаются 2-мя байтами по 8-ми битной шине, 1 такт(на пиксель клок) -1 байт по шине, или что-то подобное.
Далее. Камера управляется по I2C интерфейсу, что само по себе уже круто, не понятно только как, но это можно узнать в даташите по камере(его у меня нет, т.к. не знаю модель камеры).
И самое интересное есть 2 канала строчный (9-й вывод) синхроимпульс и кадровый(10-й вывод) синхроимпульс. Насколько я понял работает это система примерно так. пиксели передаются построчно, пришёл строчный импульс - строка закончилась, начилась следующая, а когда приходит кадровый синхроимпульс - конец передачи кадра, начинается передача следующего.
Вот так.
Думаю что управление камерой позволяет не только включать и выключать её, но и преостанавливать передачу и т.д.
Быстренько прикинув как можно хранить картинку пришёл к выводу что можно это сделать так. Создаём двумерный массив, каждым элементом которого является информация по пикселю, ну и дальше всё понятно.

Комментариев нет:

Отправить комментарий