Aleksei_Rostov 0 22 июня, 2015 Опубликовано 22 июня, 2015 (изменено) · Жалоба Здравствуйте. Подскажите кто работал с протоколом 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? Изменено 22 июня, 2015 пользователем farbius Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aat_81 0 23 июня, 2015 Опубликовано 23 июня, 2015 · Жалоба Здравствуйте. Подскажите кто работал с протоколом 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 23 июня, 2015 Опубликовано 23 июня, 2015 · Жалоба Правильно разложить вот так: 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 0 23 июня, 2015 Опубликовано 23 июня, 2015 · Жалоба Рекомендую посмотреть этот документ. В нем есть подробное описание как работает OSERDESE2 с временными диаграммами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 2 сентября, 2015 Опубликовано 2 сентября, 2015 · Жалоба Каким образом необходимо раскладывать 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 1 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Каким образом необходимо раскладывать 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 +/-. Добрый день. Надеюсь, вам это пригодится. Удачи. CameraLinkOfficial.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksei_Rostov 0 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Добрый день. Надеюсь, вам это пригодится. Удачи. Спасибо. Все получилось. Проблема была не в раскладке сигнала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться