Отвлекся я тут малость от своего «основного» проекта — танчика, и побыстрому сварганил небольшой апгрейд своего плеера в машинку.
Прилепил к нему видео вход, и, как уже стало понятно из названия, подал на этот видео вход сигнал с камеры заднего вида. Вот об этом и расскажу тут.
Ну, началось все как обычно с того, что сидя вечером в «избе-читальне», посетила меня мысль: «А почему бы не поискать на одном известном интернет магазине что-либо, что может смотреть назад, и показывать это на перёд?»
Быстрые поиски выдали ну просто огромное количество всяческих вариантов, так как братья наши китайцы не дремлют, и клепают сии поделки тоннами.
Были как с дисплеями, так и без оных. У меня особо вариантов в машине нет, куда еще один дисплей воткнуть, вот я и подумал, а почему бы и не попробовать модернизировать плеер так, чтоб он еще и видео сигнал показывать умел.
Немного покопавшись в описаниях форматов видео сигнала, стало понятно, что силами проца, который уже загружен под самый край считыванием mp3 файлов и их транспортировкой декодеру, а так же отображением уже некоторой информации, такую задачу, как оцифровка и показ видео сигнала, он не потянет.
Еще пара дней поисков показала, что есть вариант попробовать применить уже аппаратный декодер TVP5150AM1 , который оцифровывает PAL сигнал и выдает его в виде ITU-R BT.656.
Еще малость покопавшись там же нашел некоторые реализации декодеров из ITU-R BT.656 в RGB888, который понимает дисплей моего плеера.
И таким вот нехитрым образом было принято решение — делаем!
Побыстренькому накидал схемку, которая в виде блоков выглядит примерно так:
Там можно видеть, что между дисплеем и процессором встала FPGA, которая принимает видео поток либо от проца в виде стандартного RGB888, либо от видео декодера в виде ITU-R BT.656, и перенаправляет это все на дисплей.
Т.е. у нее два режима работы — «видео с проца» или «видео с декодера».
FPGA взял от Xilinx'ов, Spartan 3E (XC3S250E), ну нравится мне Xilinx, да и с этой серией уже работал я, есть некоторые наработки.
Взял в (относительно) большом корпусе TQ144, чтоб ног хватило на два раза RGB888 и один раз от декодера (8 бит шина + несколько синхротактов и такт пикселя).
Схемку нарисовал, платку развел, друзья китайцы быстренько ее сделали и прислали в количестве 5-ти штук.
Основной трудностью было расположить почти все детали на одной стороне, так как плата должна быть расположена между основной платой плеера и десплеем, и при этом в плотную к дисплею. А вот ближе к краю, где будет видео штекер, наоборот.
В качестве штекера взял обычный микро USB, по нескольким причинам:
- — размер. В плеере не так уж и много места осталось, и обычный тюльпан туда уже не воткнешь.
- — к видео сигналу еще добавляется питание камеры. У микро USB 5 проводников. И все держат до 1 Ампера.
Ну чтож, надо бы все запаять... Но случилась досадная ошибка при создании футпринта для видео декодера, и вышел вот такой казус:
Хм. Хотел было по быстрому кинуть 48 проводочков. Уже было припаял первые 8, но потом плюнул. Фигня получается. Нарисовал так же по быстрому небольшой переходник:
Отправил китайцам. А они спрашивают: «точно резать по виасам?».
— «Точно, точно».
И еще через недельки две:
и
Ну тут дело пошло веселей, так как более ошибок в схеме не наблюдалось, и потом после пары дней набросков прошивки FPGA можно уже было наблюдать изображение от проца:
И теперь стал вопрос имплементации декодера ITU-R BT.656. На просторах интернетов была найдена работа кого — то, но расчитанная на плату, которая принимает нормальный VGA сигнал, Т.е. нифига не RGB888. Добился максимум вот такого результата:
(там рука моя, если что ).
Повозился я с ней дня три, потом случайно заглянул в даташитку дисплея этого и обнаружил вот такую вот надпись:
Потом быстренько полистал даташитку на видео декодер и там обнаружил вот такую вот надпись:
Ну так это ж то, что доктор прописал!
Быстренько переделал прошивку FPGA так, что весь поток с декодера напрямую идет в дисплей, с добавлением HSync сигнала (я их все предусмотрительно развел на плате), подправил инициализацию декодера, чтоб тот выдавал именно этот формат, и вуаля, картинка с видео камеры проявилась на дисплее!
Соответствующее видео можно посмотртеть (как сейчас модно говорить) на моем инстаграмм-канале (линк под картинкой)
Ну и вот так выглядит все в сборе:
Ах да. На основной плате пришлось малость поколхозить, так как от проца к дисплею ранее были разведены только самые необходимые сигналы, а тут вдруг добавилась платка между ними, и ей надо было добавить еще пару сигналов: I2C для конфигурации декодера, SPI и CS для конфигурации режимов FPGA, CS для конфигурации самой FPGA, точнее FLASH памяти для нее, и урпавляющие сигналы спроса и пере-конфигурации FPGA.
И еще добавилась колхозная платка выключателья питания камеры на базе P-канального мосфета.
В общем вот пара фоток этого колхоза:
Так как к основному штекеру теперь добавлися «видео-USB» штекер, то необходимо было переделать и сам штекер, что уже в машине идет к голове, и теперь к камере:
Ну, и осталась только самая малость... Вкорячить это все в машину...
Фоток вкорячивания я делать не стал, так как было холодно в гараже (в принципе, тепло, +9 градусов), и я хотел уже по быстрому все сделать. Скажу только, что если взять Мазду 6 купе (2006-го года), и тянуть кабель от заднего нормерного знака через кабельный канал около правого шарнира, потом влево и по левому нижнему лонжерону, к блоку предохранителей в салоне (слева от водителя внизу), потом под рулем, там по основному жгуту кабелей, и в отдел бардачка верхнего, с небольшим запасом уйдет 7.5 метров.
Ну и до этого я конечно искал на просторах интернета инфу, как разобрать салон Мазды так, чтобы его потом можно было обратно собрать, и наткнулся на небольшой блог одного блоггера, который в точно такую же Мазду вкорячивал точно такую же камеру что и у меня : https://m6luzie.wordpress.com/2013/11/03/ruckfahrkamera/.На немецком.
Ну и результат всего этого ... эмм, ну сами придумайте название сего действия... виден опять же у меня на инстаграмм канале (линк под картинкой):
Ну и собственно и все, в этом году, теперь можно вернуться к моему «основному» проекту — танчику.
Всем добра!
Оставить комментарий или два
Пожалуйста, зарегистрируйтесь для комментирования.