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

 
 
> Восстановление данных, Как думаете получится?
Shumok
сообщение Oct 12 2007, 07:10
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 57
Регистрация: 18-05-07
Пользователь №: 27 804



Входной поток со скоростью 270Мбит/с. Кодировка 8В/10В.
Если я подам на вход DCM тактовый сигнал с частотой 270 МГц, а на вход CLKFB данные, и на выходе триггер, тактируемый CLK180, то по идее данные должны восстанавливаться и одновременно тактовый сигнал будет подстраиваться под частоту потока данных. Смоделировал в ModelSim вроде работает, но будет ли это работать в железе? И еще вопрос - как определить начало прихода данных?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rloc
сообщение Oct 12 2007, 08:34
Сообщение #2


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Цитата(Shumok @ Oct 12 2007, 11:10) *
Входной поток со скоростью 270Мбит/с. Кодировка 8В/10В.
Если я подам на вход DCM тактовый сигнал с частотой 270 МГц, а на вход CLKFB данные, и на выходе триггер, тактируемый CLK180, то по идее данные должны восстанавливаться и одновременно тактовый сигнал будет подстраиваться под частоту потока данных. Смоделировал в ModelSim вроде работает, но будет ли это работать в железе? И еще вопрос - как определить начало прихода данных?

В ModelSim заложена очень упрощенная модель DCM'а. В реальности DCM - это полноценная петля ФАПЧ (точнее две ФАПЧ), имеющая как минимум фазовый детектор, интегрирующую цепочку и ГУН. Принцип работы ФАПЧ - это подстройка частоты ГУНа к частоте входного сигнала (в DCM). Так к чему будет подстраиваться частота DCM, если нет обратной связи? Возможны два варианта: либо частота DCM настроится на крайние частоты, либо DCM определит сбой и вообще отключит ГУН. Подавать на вход CLKIN поток 8B/10B также не имеет смысла т.к. в общем случае он псевдослучайный без выраженной спектральной составляющей на частоте 270M.
Go to the top of the page
 
+Quote Post
Shumok
сообщение Oct 12 2007, 08:43
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 57
Регистрация: 18-05-07
Пользователь №: 27 804



Цитата(rloc @ Oct 12 2007, 11:34) *
В ModelSim заложена очень упрощенная модель DCM'а. В реальности DCM - это полноценная петля ФАПЧ (точнее две ФАПЧ), имеющая как минимум фазовый детектор, интегрирующую цепочку и ГУН. Принцип работы ФАПЧ - это подстройка частоты ГУНа к частоте входного сигнала (в DCM). Так к чему будет подстраиваться частота DCM, если нет обратной связи? Возможны два варианта: либо частота DCM настроится на крайние частоты, либо DCM определит сбой и вообще отключит ГУН. Подавать на вход CLKIN поток 8B/10B также не имеет смысла т.к. в общем случае он псевдослучайный без выраженной спектральной составляющей на частоте 270M.

Жаль конечно, значит придется делать как в xapp224. В принципе там все ясно, но есть одно но...
Частота тактового генератора приемника и информационного потока будут в любом случае отличаться и современем это приведет к ошибке при выделении информации. Так вот хотелось бы как то время от времени синхронизироваться с информационным потоком.
Go to the top of the page
 
+Quote Post
rloc
сообщение Oct 12 2007, 09:11
Сообщение #4


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Цитата(Shumok @ Oct 12 2007, 12:43) *
Жаль конечно, значит придется делать как в xapp224. В принципе там все ясно, но есть одно но...
Частота тактового генератора приемника и информационного потока будут в любом случае отличаться и современем это приведет к ошибке при выделении информации. Так вот хотелось бы как то время от времени синхронизироваться с информационным потоком.

А на что Вам код 8B/10B? Как раз для того, чтобы корректировать ошибки.
Цитата из xapp224:
Цитата
If the received data is coded in some method such as 8b/10b, this will not be a problem, because an adequate number of transitions will exist.
Go to the top of the page
 
+Quote Post
Shumok
сообщение Oct 12 2007, 10:32
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 57
Регистрация: 18-05-07
Пользователь №: 27 804



Цитата(rloc @ Oct 12 2007, 12:11) *
А на что Вам код 8B/10B? Как раз для того, чтобы корректировать ошибки.
Цитата из xapp224:

Это если один из символов в байте ошибочный. А если мы примем на один бит больше или наоборот один пропустим? А это вполне вероятно при разных частотах. Ну если на один больше это ладно - можно выкинуть и добить следующим, а если пропустим ? Куда его добивать? Или можно отследить место где пропущен?
Go to the top of the page
 
+Quote Post
rloc
сообщение Oct 12 2007, 17:30
Сообщение #6


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Цитата(Shumok @ Oct 12 2007, 14:32) *
Это если один из символов в байте ошибочный. А если мы примем на один бит больше или наоборот один пропустим? А это вполне вероятно при разных частотах. Ну если на один больше это ладно - можно выкинуть и добить следующим, а если пропустим ? Куда его добивать? Или можно отследить место где пропущен?

Похоже Вы еще не до конца разобрались. Поток, который идет с декодирующей схемы (см. Figure 6 из xapp224) нужно подавать на 10-битный сдвиговый регистр. Причем в подавляющем большинстве случаев в этот регистр нужно будет задвигать по 1 биту за такт, и иногда либо пропускать, либо задвигать сразу 2 бита за такт (надеюсь, как это делать, объяснять не надо). Как только накапливается 10 бит, подаете на вход схемы декодера 8B/10B, и получаете на выходе 8 бит. Для того, чтобы все это корректно работало, на странице 7 в разделе "Lock Requirements" подробно расписано, как частота появления ошибочного бита связана с разностью частот приемника и передатчика. Плюс прилагается еще исходный код, чтобы можно было это проверить на практике. Люблю Xilinx, всегда очень грамотно и понятно расписывают свои приложения.
Go to the top of the page
 
+Quote Post
Shumok
сообщение Oct 12 2007, 19:03
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 57
Регистрация: 18-05-07
Пользователь №: 27 804



Цитата(rloc @ Oct 12 2007, 20:30) *
Похоже Вы еще не до конца разобрались. Поток, который идет с декодирующей схемы (см. Figure 6 из xapp224) нужно подавать на 10-битный сдвиговый регистр. Причем в подавляющем большинстве случаев в этот регистр нужно будет задвигать по 1 биту за такт, и иногда либо пропускать, либо задвигать сразу 2 бита за такт (надеюсь, как это делать, объяснять не надо). Как только накапливается 10 бит, подаете на вход схемы декодера 8B/10B, и получаете на выходе 8 бит. Для того, чтобы все это корректно работало, на странице 7 в разделе "Lock Requirements" подробно расписано, как частота появления ошибочного бита связана с разностью частот приемника и передатчика. Плюс прилагается еще исходный код, чтобы можно было это проверить на практике. Люблю Xilinx, всегда очень грамотно и понятно расписывают свои приложения.

Спасибо за помощь. Просто у меня мягко говоря проблемы с английским (я французский изучал), а на русском такой инфы не нашел. Поэтому такие туповатые вопросы и возникаютsmile.gif Буду дальше разбираться.
Go to the top of the page
 
+Quote Post
rloc
сообщение Oct 12 2007, 19:14
Сообщение #8


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Цитата(Shumok @ Oct 12 2007, 23:03) *
Спасибо за помощь. Просто у меня мягко говоря проблемы с английским (я французский изучал), а на русском такой инфы не нашел. Поэтому такие туповатые вопросы и возникаютsmile.gif Буду дальше разбираться.

Посмотрите, как Xilinx делает 1Gb Ethernet, можете кодер и декодер 8b/10b взять оттуда, или все остальное. Выудил из последнего IP1 для ISE v9.2i (расширение .rar потом удалить).
[attachment=14404:attachment]
Go to the top of the page
 
+Quote Post
Shumok
сообщение Oct 12 2007, 19:58
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 57
Регистрация: 18-05-07
Пользователь №: 27 804



Цитата(rloc @ Oct 12 2007, 22:14) *
Посмотрите, как Xilinx делает 1Gb Ethernet, можете кодер и декодер 8b/10b взять оттуда, или все остальное. Выудил из последнего IP1 для ISE v9.2i (расширение .rar потом удалить).
[attachment=14404:attachment]

Благодарю. Декодер 8B/10B я сгенерировал в CoreGenerator. А остальное гляну.

Цитата(Shumok @ Oct 12 2007, 22:54) *
Благодарю. Декодер 8B/10B я сгенерировал в CoreGenerator. А остальное гляну.

Еще один глупый вопрос. Что со скачаным файлом делать. Просто удалить .rar? А что это получится за файл?
Go to the top of the page
 
+Quote Post
rloc
сообщение Oct 13 2007, 10:33
Сообщение #10


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Цитата(Shumok @ Oct 12 2007, 23:58) *
Благодарю. Декодер 8B/10B я сгенерировал в CoreGenerator. А остальное гляну.

В том ядре, что я давал, он лучше, сделан на блочной памяти: маленький и быстрый. Да и потом корегенератор Вам исходников не дает, ограничивая в совместимости и гибкости использования. Сравните с тем, что Вы взяли:
Прикрепленный файл  encode_8b10b_xst.zip ( 4.59 килобайт ) Кол-во скачиваний: 139

Прикрепленный файл  decode_8b10b_xst.zip ( 9.44 килобайт ) Кол-во скачиваний: 129

Цитата
Еще один глупый вопрос. Что со скачаным файлом делать. Просто удалить .rar? А что это получится за файл?

Останется файл с расширением .7z (архиватор 7zip, к сожалению такое расширение не прикрепляется)
Go to the top of the page
 
+Quote Post
Shumok
сообщение Oct 13 2007, 11:20
Сообщение #11


Участник
*

Группа: Новичок
Сообщений: 57
Регистрация: 18-05-07
Пользователь №: 27 804



Цитата(rloc @ Oct 13 2007, 13:33) *
В том ядре, что я давал, он лучше, сделан на блочной памяти: маленький и быстрый. Да и потом корегенератор Вам исходников не дает, ограничивая в совместимости и гибкости использования. Сравните с тем, что Вы взяли:
Прикрепленный файл  encode_8b10b_xst.zip ( 4.59 килобайт ) Кол-во скачиваний: 139

Прикрепленный файл  decode_8b10b_xst.zip ( 9.44 килобайт ) Кол-во скачиваний: 129


Останется файл с расширением .7z (архиватор 7zip, к сожалению такое расширение не прикрепляется)

Я так понял на первый взгляд что приемопередатчик сделан на базе RocketIO? Просто мне для ASI интерфейса нужен только приемник. Там непрерывный транспортный поток MPEG2. Поэтому хотелось бы без использования RocketIO. Мне кажется я намучаюсь с его настройкой. Или я не прав?
Есть просто xapp514, там показано как они делают ASI. Так вот там два варианта: один из них на RocketIO. Так вот мне кажется что этот вариант посложнее, хотя может быть лучше.

Сообщение отредактировал Shumok - Oct 13 2007, 11:31
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Oct 13 2007, 13:49
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(Shumok @ Oct 13 2007, 14:20) *
Я так понял на первый взгляд что приемопередатчик сделан на базе RocketIO? Просто мне для ASI интерфейса нужен только приемник. Там непрерывный транспортный поток MPEG2. Поэтому хотелось бы без использования RocketIO. Мне кажется я намучаюсь с его настройкой. Или я не прав?
Есть просто xapp514, там показано как они делают ASI. Так вот там два варианта: один из них на RocketIO. Так вот мне кажется что этот вариант посложнее, хотя может быть лучше.

Делали свой ASI приёмник для spartan. XAPP514 писал индус какой-то, лучше за основу брать альтеровский и делать свой блок восстановления данных, с выборкой через сдвинутые по фазе выходы DCM (линия задержки - плохое решение из-за сложностей с разводкой и разбросом задержек в разных кристаллах). Классика блока восстановления данных - XAPP224
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 15 2007, 06:31
Сообщение #13


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(dmitry-tomsk @ Oct 13 2007, 17:49) *
Классика блока восстановления данных - XAPP224.

Я вот внимательно читаю и никак не могу понять, что же с этим блоком будет, когда фаза входного сигнала совпадет с фазой внутреннего тактового. Допустим, на А будет единица, а на B - фронт, который поймается как 0. Блок скажет - отлично, давайте работать по B и D, а на D тоже придется фронт, который поймается неправильно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Shumok   Восстановление данных   Oct 12 2007, 07:10
- - DmitryR   Я что-то не понял. Допустим, на вход идет поток да...   Oct 12 2007, 08:13
||- - DmitryR   Цитата(Shumok @ Oct 12 2007, 14:32) Это е...   Oct 12 2007, 13:25
|||- - Shumok   Цитата(DmitryR @ Oct 12 2007, 16:25) Это ...   Oct 12 2007, 13:43
||||- - dmitry-tomsk   Цитата(DmitryR @ Oct 15 2007, 09:31) Я во...   Oct 15 2007, 06:56
||||- - DmitryR   Цитата(dmitry-tomsk @ Oct 15 2007, 10...   Oct 15 2007, 11:39
||||- - dmitry-tomsk   Цитата(DmitryR @ Oct 15 2007, 14:39) Ой. ...   Oct 15 2007, 12:27
||||- - DmitryR   Цитата(dmitry-tomsk @ Oct 15 2007, 16...   Oct 15 2007, 12:33
||||- - Shumok   Цитата(dmitry-tomsk @ Oct 15 2007, 15...   Oct 18 2007, 08:25
||||- - dmitry-tomsk   Цитата(Shumok @ Oct 18 2007, 11:25) А поч...   Oct 22 2007, 03:58
||||- - Shumok   Цитата(dmitry-tomsk @ Oct 22 2007, 06...   Oct 22 2007, 05:57
|||- - rloc   В первую очередь хочу принести извенения, два посл...   Oct 13 2007, 14:55
|||- - Shumok   Цитата(rloc @ Oct 13 2007, 17:55) В перву...   Oct 13 2007, 16:52
|||- - dmitry-tomsk   Цитата(Shumok @ Oct 13 2007, 19:52) У нас...   Oct 14 2007, 06:19
|||- - Shumok   Цитата(dmitry-tomsk @ Oct 14 2007, 09...   Oct 14 2007, 14:10
|||- - dmitry-tomsk   Цитата(Shumok @ Oct 14 2007, 17:10) А что...   Oct 14 2007, 14:39
|||- - Shumok   Цитата(dmitry-tomsk @ Oct 14 2007, 17...   Oct 14 2007, 15:55
||- - Al Jumper   Цитата(Shumok @ Oct 12 2007, 23:58) Еще о...   Oct 13 2007, 17:14
||- - Shumok   Цитата(Al Jumper @ Oct 13 2007, 20:14) Зд...   Oct 13 2007, 22:21
|- - alex5991   Цитата(Shumok @ Oct 12 2007, 11:43) Жаль ...   Oct 12 2007, 10:35
|- - Shumok   Цитата(alex5991 @ Oct 12 2007, 13:35) У A...   Oct 12 2007, 11:04
|- - alex5991   Цитата(Shumok @ Oct 12 2007, 14:04) А где...   Oct 12 2007, 13:35
- - Shumok   Кстати ее один вопросик. Прилагаемые к xapp224 фай...   Oct 18 2007, 12:56
|- - Shumok   Цитата(Shumok @ Oct 18 2007, 15:56) Кстат...   Oct 21 2007, 18:11
- - stu   а может кто-нить ответить на следующий вопрос: к п...   Dec 23 2011, 11:06


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 03:14
Рейтинг@Mail.ru


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