реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Передача большого потока, Передача большого потока из платы в плату
Maverick
сообщение Dec 16 2015, 07:46
Сообщение #16


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Алексей_1990 @ Dec 16 2015, 09:28) *
То есть передающее устройство помимо стартовых и стоповых битов передаёт сначала какую-то постоянную последовательность? Есть смысл залезть в datasheet сериалайзера за этой последовательностью?

Можно взять пример проекта и попробовать например SerialLite или любой другой промоделировать


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 16 2015, 08:03
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Алексей_1990 @ Dec 16 2015, 10:28) *
То есть передающее устройство помимо стартовых и стоповых битов передаёт сначала какую-то постоянную последовательность? Есть смысл залезть в datasheet сериалайзера за этой последовательностью?

Не знаю, как работает данный сериалайзер, наверное стоит. Для всех ядер на базе трансиверов есть "ручной" режим выравнивания слова на основе тестовой последовательности если используется half duplex (про старт/стоп биты не встречал, тут наверное свой word aligner придётся сделать). Для АЦП с последовательным LVDS интерфейсом (например ADS6445) используется метод выравнивания на основе тестовой последовательности (для этого есть режим, когда АЦП гонит на линии тестовые данные по которым синхронизируется приёмник).

Расскажите, что за сериалайзер используется?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Dec 16 2015, 09:03
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Скорее всего TC использует чтото типа DS92LV18.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 16 2015, 10:11
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(RobFPGA @ Dec 16 2015, 12:03) *
Скорее всего TC использует чтото типа DS92LV18.

Тогда вообще хз, как его синхронизировать с приёмником.
Go to the top of the page
 
+Quote Post
Алексей_1990
сообщение Dec 16 2015, 12:43
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934



Цитата(doom13 @ Dec 16 2015, 12:03) *
Не знаю, как работает данный сериалайзер, наверное стоит. Для всех ядер на базе трансиверов есть "ручной" режим выравнивания слова на основе тестовой последовательности если используется half duplex (про старт/стоп биты не встречал, тут наверное свой word aligner придётся сделать). Для АЦП с последовательным LVDS интерфейсом (например ADS6445) используется метод выравнивания на основе тестовой последовательности (для этого есть режим, когда АЦП гонит на линии тестовые данные по которым синхронизируется приёмник).

Расскажите, что за сериалайзер используется?

Сериалайзер DS92LV18. И да, спасибо Вам, что отзываетесь.

Цитата(doom13 @ Dec 16 2015, 14:11) *
Тогда вообще хз, как его синхронизировать с приёмником.

В datasheet я обнаружил такое понятие, как sync pattern. То есть последовательность для синхронизации, как я понял. Так вот она представляет собой "a fixed pattern with 9-bits of data high followed by 9-bits of data low".

Да и ещё на сериалайзер приходит sync, который к тому же приходит на десериалайзер. Судя по всему, когда sync = 0 с выходов идёт фиксированная последовательность 9 нулей 9 единиц. А когда sync = 1, на выход идут данные.
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 16 2015, 13:02
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Алексей_1990 @ Dec 16 2015, 15:43) *
Да и ещё на сериалайзер приходит sync, который к тому же приходит на десериалайзер. Судя по всему, когда sync = 0 с выходов идёт фиксированная последовательность 9 нулей 9 единиц. А когда sync = 1, на выход идут данные.

Тогда немного понятнее (бегло просмотрел доку и не заметил, какая последовательность используется для синхронизации). Для выравнивания слова используете последовательность FFC00, когда поймаете переходите в рабочий режим. Какое ядро на базе трансивера подойдёт лучше - смотрите доку (немного смущает разрядность слова 20 бит, но, думаю, можно будет подобрать параметры ядра).

Цитата(Алексей_1990 @ Dec 16 2015, 15:43) *
Да и ещё на сериалайзер приходит sync, который к тому же приходит на десериалайзер. Судя по всему, когда sync = 0 с выходов идёт фиксированная последовательность 9 нулей 9 единиц. А когда sync = 1, на выход идут данные.

Наоборот, 1 - sync pattern.
Go to the top of the page
 
+Quote Post
Алексей_1990
сообщение Dec 16 2015, 14:17
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934



Цитата(doom13 @ Dec 16 2015, 17:02) *
Тогда немного понятнее (бегло просмотрел доку и не заметил, какая последовательность используется для синхронизации). Для выравнивания слова используете последовательность FFC00, когда поймаете переходите в рабочий режим. Какое ядро на базе трансивера подойдёт лучше - смотрите доку (немного смущает разрядность слова 20 бит, но, думаю, можно будет подобрать параметры ядра).


Наоборот, 1 - sync pattern.

Так вот у меня как раз проблема в выборе ядра. Какую документацию посоветуете посмотреть?
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 16 2015, 14:35
Сообщение #23


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Алексей_1990 @ Dec 16 2015, 17:17) *
Так вот у меня как раз проблема в выборе ядра. Какую документацию посоветуете посмотреть?

xcvr_user_guide
Если железо есть, то тут можно и опытным путём пойти.
Думаю, можете Custom PHY смотреть и не прогадаете. Глянул доку - ширина слова в 20 бит есть, так что должно работать.
Go to the top of the page
 
+Quote Post
Алексей_1990
сообщение Dec 16 2015, 17:22
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934



Цитата(doom13 @ Dec 16 2015, 18:35) *
xcvr_user_guide
Если железо есть, то тут можно и опытным путём пойти.
Думаю, можете Custom PHY смотреть и не прогадаете. Глянул доку - ширина слова в 20 бит есть, так что должно работать.

А в этом случае не могли бы прояснить следующий момент: Ширина слова 20 бит, а word alignment в этом случае либо 7, либо 10 бит. Почему так? Да и в datasheet на сериалайзер указан 18 битный фиксированный код для синхронизации. Как быть?
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 16 2015, 18:21
Сообщение #25


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Алексей_1990 @ Dec 16 2015, 20:22) *
А в этом случае не могли бы прояснить следующий момент: Ширина слова 20 бит, а word alignment в этом случае либо 7, либо 10 бит. Почему так? Да и в datasheet на сериалайзер указан 18 битный фиксированный код для синхронизации. Как быть?

18+start+stop = 20, итого Ваше синхрослово 20 бит, после приёма в рабочем режиме будете два крайних выбрасывать.

Из вышеуказанной доки для Custom PHY:
Цитата
Word Alignment Parameters
The word aligner restores word boundaries of received data based on a predefined alignment pattern. This
pattern can be 7, 8, 10, 16, 20, or 32 bits long. The word alignment module searches for a programmed
pattern to identify the correct boundary for the incoming stream.
Go to the top of the page
 
+Quote Post
Алексей_1990
сообщение Dec 17 2015, 03:43
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934



Цитата(doom13 @ Dec 16 2015, 22:21) *
18+start+stop = 20, итого Ваше синхрослово 20 бит, после приёма в рабочем режиме будете два крайних выбрасывать.

Из вышеуказанной доки для Custom PHY:

Ага, с этим разобрался. А вот при конфигурации ядра, когда выбираешь ширину слова 20 бит, он предлагает word alignment либо 7, либо 10 бит. Или мне стоит выбрать режим 10 бит и задать все единицы?
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 17 2015, 07:47
Сообщение #27


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Алексей_1990 @ Dec 17 2015, 06:43) *
Ага, с этим разобрался. А вот при конфигурации ядра, когда выбираешь ширину слова 20 бит, он предлагает word alignment либо 7, либо 10 бит. Или мне стоит выбрать режим 10 бит и задать все единицы?

Да, какая-то ерунда получается, в доке одно написано, а GUI ядра не даёт выставить нужные настройки (QII v14.0). Возможно более новая версия QII поможет или можно попробовать сгенерить ядро, а потом вручную задать нужные параметры для топ модуля.
Go to the top of the page
 
+Quote Post
Алексей_1990
сообщение Dec 18 2015, 10:25
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934



Цитата(doom13 @ Dec 17 2015, 11:47) *
Да, какая-то ерунда получается, в доке одно написано, а GUI ядра не даёт выставить нужные настройки (QII v14.0). Возможно более новая версия QII поможет или можно попробовать сгенерить ядро, а потом вручную задать нужные параметры для топ модуля.

А если решать задачу немного другого характера: есть ацп, выход которого последовательный дифференциальный с фреймовой синхронизацией. Разрядность ацп 16-битная. В этом случае легче? И нужна ли фиксированная последовательность для синхронизации?
Go to the top of the page
 
+Quote Post
doom13
сообщение Dec 18 2015, 10:45
Сообщение #29


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Алексей_1990 @ Dec 18 2015, 13:25) *
А если решать задачу немного другого характера: есть ацп, выход которого последовательный дифференциальный с фреймовой синхронизацией. Разрядность ацп 16-битная. В этом случае легче? И нужна ли фиксированная последовательность для синхронизации?

Я бы сказал, что это более правильный вариант, данные АЦП попадают в FPGA без "посредников". В данном случае для приёма данных с АЦП используется ядро ALT_LVDS RX. Режим синхронизации будет необходим при старте. По SPI (может какой другой интерфейс для чтения/записи регистров АЦП) загоняете АЦП в режим синхронизации, выбираете sync pattern, его ловите на стороне FPGA (сдвигаете принятое слово пока не совпадёт с sync pattern) и переходите в рабочий режим.

Если железо ещё только проектируется, то я бы остановился на данном варианте, ещё можно попробовать АЦП с более новым JSD204B.
Go to the top of the page
 
+Quote Post
Алексей_1990
сообщение Dec 18 2015, 19:58
Сообщение #30


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 20-10-15
Пользователь №: 88 934



Цитата(doom13 @ Dec 18 2015, 14:45) *
Я бы сказал, что это более правильный вариант, данные АЦП попадают в FPGA без "посредников". В данном случае для приёма данных с АЦП используется ядро ALT_LVDS RX. Режим синхронизации будет необходим при старте. По SPI (может какой другой интерфейс для чтения/записи регистров АЦП) загоняете АЦП в режим синхронизации, выбираете sync pattern, его ловите на стороне FPGA (сдвигаете принятое слово пока не совпадёт с sync pattern) и переходите в рабочий режим.

Если железо ещё только проектируется, то я бы остановился на данном варианте, ещё можно попробовать АЦП с более новым JSD204B.

Железо уже оговорено, к сожалению. Вы упомянули про altlvds-rx. А если скорость порядка 800 Mbps, разве altlvds-rx адекватно будет воспринимать данные?
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th June 2025 - 08:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01504 секунд с 7
ELECTRONIX ©2004-2016