Перейти к содержанию
    

Camera Link Base

Здравствуйте. Подскажите кто работал с протоколом 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?

Изменено пользователем farbius

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. Подскажите кто работал с протоколом 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Правильно разложить вот так:

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)

и т.д.

 

или как то иначе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендую посмотреть этот документ. В нем есть подробное описание как работает OSERDESE2 с временными диаграммами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каким образом необходимо раскладывать 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 +/-.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каким образом необходимо раскладывать 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день.

Надеюсь, вам это пригодится.

Удачи.

Спасибо. Все получилось. Проблема была не в раскладке сигнала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...