Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Camera Link Base
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Alexey_Rostov
Здравствуйте. Подскажите кто работал с протоколом Camera link Base. Не совсем ясно следующее:
Сделал сериализатор, чтобы отправить данные с платы на фреймграббер.
На вход сериализатора поступают данные 28 бит (байты с port A, B, C и FVAL, DVAL, LVAL и SPARE). На выходе по clk7x данные сериализуются по 4-м сигналам.

Как правильно разложить входной 28-битный сигнал по 4-м сигналам? Просто выдавать последовательно в первый tx_data[6.. 0], во второй tx_data[13.. 7] и т.д.?

Какой клок выдавать по LVDS clk1x или clk7x?
aat_81
Цитата(farbius @ Jun 22 2015, 22:56) *
Здравствуйте. Подскажите кто работал с протоколом Camera link Base. Не совсем ясно следующее:
Сделал сериализатор, чтобы отправить данные с платы на фреймграббер.
На вход сериализатора поступают данные 28 бит (байты с port A, B, C и FVAL, DVAL, LVAL и SPARE). На выходе по clk7x данные сериализуются по 4-м сигналам.

Как правильно разложить входной 28-битный сигнал по 4-м сигналам? Просто выдавать последовательно в первый tx_data[6.. 0], во второй tx_data[13.. 7] и т.д.?

Какой клок выдавать по LVDS clk1x или clk7x?

Правильно разложить вот так:
o_lval <= s_x_serdes_data(18);
o_fval <= s_x_serdes_data(19);
o_dval <= s_x_serdes_data(20);
o_spare <= s_x_serdes_data(27);
o_porta <= s_x_serdes_data(22) & s_x_serdes_data(21) & s_x_serdes_data(5 downto 0);
o_portb <= s_x_serdes_data(24) & s_x_serdes_data(23) & s_x_serdes_data(11 downto 6);
o_portc <= s_x_serdes_data(26) & s_x_serdes_data(25) & s_x_serdes_data(17 downto 12);

Ну а клок понятное дело clk1x.
Это для фреймграббера. В обратную сторону аналогично но клок уже будет clk7x
Alexey_Rostov
Цитата(aat_81 @ Jun 23 2015, 09:17) *
Правильно разложить вот так:
o_lval <= s_x_serdes_data(18);
o_fval <= s_x_serdes_data(19);
o_dval <= s_x_serdes_data(20);
o_spare <= s_x_serdes_data(27);
o_porta <= s_x_serdes_data(22) & s_x_serdes_data(21) & s_x_serdes_data(5 downto 0);
o_portb <= s_x_serdes_data(24) & s_x_serdes_data(23) & s_x_serdes_data(11 downto 6);
o_portc <= s_x_serdes_data(26) & s_x_serdes_data(25) & s_x_serdes_data(17 downto 12);


Спасибо. Можно немного по подробнее. Постараюсь уточнить вопрос. Я понял следующее сигналы с o_porta, o_portb, o_portc, o_lval , o_fval, o_spare собираются в 28 битный сигнал s_x_serdes_data, который меняется по клоку clk1x. Причем каждый бит s_x_serdes_data соответствует определенному биту из сигналов o_porta, o_portb, o_portc, o_lval , o_fval, o_spare(как вы описали выше). По clk7x данный сигнал раскладывается по 4-м линиям, например tx_A, tx_B, tx_C, tx_D.

Вопрос вот в чем: как последовательно во времени раскладывается s_x_serdes_data по 4-м линиям?

Например
в tx_A выдаю s_x_serdes_data(0), s_x_serdes_data(1), s_x_serdes_data(2), s_x_serdes_data(3), s_x_serdes_data(4),..., s_x_serdes_data(6)
в тоже время в tx_B выдаю s_x_serdes_data(7), s_x_serdes_data(8), s_x_serdes_data(9), s_x_serdes_data(10), s_x_serdes_data(11),..., s_x_serdes_data(13)
и т.д.

или как то иначе?
aat_81
Рекомендую посмотреть этот документ. В нем есть подробное описание как работает OSERDESE2 с временными диаграммами.
Alexey_Rostov
Каким образом необходимо раскладывать 28 бит по четырем линиям? В частности интересуют служебные сигналы FVAL, LVAL, DVAL.
В разных источниках указано по разному, например

https://en.wikipedia.org/wiki/Camera_Link#Signal_data
http://www.volkerschatz.com/hardware/clink.html
Служебные сигналы подаются в X3 +/-.

https://en.wikipedia.org/wiki/File:Camera_l...rialization.jpg
Служебные сигналы подаются в X2 +/-.



Andrew Su
Цитата(farbius @ Sep 2 2015, 16:31) *
Каким образом необходимо раскладывать 28 бит по четырем линиям? В частности интересуют служебные сигналы FVAL, LVAL, DVAL.
В разных источниках указано по разному, например

https://en.wikipedia.org/wiki/Camera_Link#Signal_data
http://www.volkerschatz.com/hardware/clink.html
Служебные сигналы подаются в X3 +/-.

https://en.wikipedia.org/wiki/File:Camera_l...rialization.jpg
Служебные сигналы подаются в X2 +/-.

Добрый день.
Надеюсь, вам это пригодится.
Удачи.
Alexey_Rostov
Цитата(Andrew Su @ Sep 4 2015, 19:22) *
Добрый день.
Надеюсь, вам это пригодится.
Удачи.

Спасибо. Все получилось. Проблема была не в раскладке сигнала.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.