|
передача данных по оптоволокну |
|
|
|
Dec 9 2011, 08:16
|
Группа: Участник
Сообщений: 11
Регистрация: 24-08-07
Пользователь №: 30 031

|
Всем привет! Зашел в тупик, передо мной стоит задача передать изображение с 4-х видеокамер по одномодовому оптоволокну и соответственно принять их, и с блока вывести через видеоквадратор на аналоговый монитор. По структурной схеме передатчик выглядит так: АЦП (TDA8708A 8bit) - ALTERA (Cyclone EP1C3) - SERIALAYSER (ds92lv1023 10 bit) - ПОМ (передающий оптический модуль 622МБит\с), приемник ПРОМ- DESERIALAYSER (ds92lv1224) - ALTERA (Cyclone EP1C3) - ЦАП (TDA8702T) Столкнулся с проблемой появления артефактов при передаче и приеме сигнала, как будто изображение с одного канала немного переходит на другой канал и второй вопрос как сделать синхронизацию по каналам. Кто может подсказать чего еще не хватает в block схеме прошивки (языками verilog и VHDL не владею). Графические файлы прошивки находятся во вложении.
|
|
|
|
|
Dec 14 2011, 16:24
|
Группа: Участник
Сообщений: 11
Регистрация: 24-08-07
Пользователь №: 30 031

|
Такое решение не устраивает. Может кто-то возьмется доделать проект, готов заплатить.
|
|
|
|
|
Dec 16 2011, 18:58
|
Группа: Участник
Сообщений: 11
Регистрация: 24-08-07
Пользователь №: 30 031

|
скайп noname370102328
|
|
|
|
|
Dec 17 2011, 17:52
|
Группа: Участник
Сообщений: 11
Регистрация: 24-08-07
Пользователь №: 30 031

|
не знаю как сделать синхронизацию, вы можете подсказать? (как ввести синхробайт в каналы), GCLK 60 мгц, 4 ацп тактовая частота 15 мгц по 8 бит
в приемнике нужен ли буфер fifo и куда его вставить до или после декодера мегафункции 10b8b, и правильно реализован демультиплексор???
|
|
|
|
|
Dec 18 2011, 07:48
|
Знающий
   
Группа: Участник
Сообщений: 599
Регистрация: 28-08-08
Из: Ростов папа
Пользователь №: 39 872

|
Цитата(Bizkit @ Dec 17 2011, 21:52)  не знаю как сделать синхронизацию, вы можете подсказать? (как ввести синхробайт в каналы), GCLK 60 мгц, 4 ацп тактовая частота 15 мгц по 8 бит
в приемнике нужен ли буфер fifo и куда его вставить до или после декодера мегафункции 10b8b, и правильно реализован демультиплексор??? Чтобы сделать синхронизацию надо в передаваемый поток добавить еще один байт с заранее известной последовательностью бит после сериализатора, например 10100011b, и потом его искать в приемнике. Передаваемый поток будет выглядеть след. образом 10100011 (8бит 1АЦП) (8бит 2АЦП) (8 бит 3АЦП) (8бит 4АЦП) 10100011 (8бит 1АЦП) и т.д. Далее в приемнике ловите 10100011 раз потом пропускаете 4х8=32 бита, проверяете синхробайт ещё раз, если совпал то синхронизация найдена, сбрасываете счетчик бит и пошли счтитать принятые биты данных АЦП, первые8 бит принадлежат каналу1, вторые 8 канал2 ну итд. 10b8d вы применяете для восстановления тактов на приеме? Да, еще бы я добавил скремблер. Посмотрите принцип формирования синхронных потоков Е1, STM-1 Там тоже самое только со скоростью 64 кбит на канал, а у вас 15*8=120мбит.
|
|
|
|
|
Dec 18 2011, 10:55
|
Группа: Участник
Сообщений: 11
Регистрация: 24-08-07
Пользователь №: 30 031

|
10b8b применяется для выравнивания последовательности лог. 0 и 1, т.к. если подряд идет больше 10 лог. 1 то лазерный диод уходит в насыщение и часть данных теряется, а мегафункция делает так, чтобы подряд не шло больше 5 лог. 1 . Попробую реализовать вашу идею по поводу синхробайта, но не знаю хватит ли мозгов у меня
|
|
|
|
|
Dec 18 2011, 12:37
|
Знающий
   
Группа: Участник
Сообщений: 599
Регистрация: 28-08-08
Из: Ростов папа
Пользователь №: 39 872

|
Цитата(Bizkit @ Dec 18 2011, 14:55)  10b8b применяется для выравнивания последовательности лог. 0 и 1, т.к. если подряд идет больше 10 лог. 1 то лазерный диод уходит в насыщение и часть данных теряется, а мегафункция делает так, чтобы подряд не шло больше 5 лог. 1 . Попробую реализовать вашу идею по поводу синхробайта, но не знаю хватит ли мозгов у меня Чтобы не было длинных последовательностей 0 или 1 , можно применить так-же и скремблирование. А какой драйвер светодиода вы используете? Может проще применить SFP модуль как для передачи так и для приема? И ещё я что-то не увидел схему восстановления тактовой частоты для приемника, если вы тактируетесь от локального генератора то это не правильно, будут скольжения частот, сто приведет к потере байта данных для АЦП и срыв синхронизации.
|
|
|
|
|
Dec 19 2011, 09:54
|
Группа: Участник
Сообщений: 11
Регистрация: 24-08-07
Пользователь №: 30 031

|
Цитата(andrewkrot @ Dec 18 2011, 15:44)  думает начальство, а я разрабатываю Цитата(vadimp61 @ Dec 18 2011, 16:37)  Чтобы не было длинных последовательностей 0 или 1 , можно применить так-же и скремблирование. А какой драйвер светодиода вы используете? Может проще применить SFP модуль как для передачи так и для приема? И ещё я что-то не увидел схему восстановления тактовой частоты для приемника, если вы тактируетесь от локального генератора то это не правильно, будут скольжения частот, сто приведет к потере байта данных для АЦП и срыв синхронизации. скремблирование оказалось малоэффективным, поэтому перешел на мегафункцию. Так и стоит модуль приема и модуль передачи (ПОМ 663 и ПРОМ 375). Восстанавливает тактовую частоту десириалайзер.
Сообщение отредактировал Bizkit - Dec 19 2011, 09:55
|
|
|
|
|
Dec 19 2011, 11:14
|
Группа: Участник
Сообщений: 11
Регистрация: 24-08-07
Пользователь №: 30 031

|
Цитата(Bizkit @ Dec 19 2011, 13:54)  думает начальство, а я разрабатываю
скремблирование оказалось малоэффективным, поэтому перешел на мегафункцию. Так и стоит модуль приема и модуль передачи (ПОМ 663 и ПРОМ 375). Восстанавливает тактовую частоту десириалайзер. Допустим я реализую синхронизацию по каналам, но больше меня волнует появление артефактов, кто подскажет какой элемент нужно поставить. Я посмотрел на структурную схему микросхем реализующих высокоскоростную передачу и прием информации, так там после декодера 8b10b стоит elasticity buffer, как я понял это и есть FIFO??? или я ошибаюсь. Мое предположение что LPM_LATCH некорректно заполняется, кто подскажет так ли это
|
|
|
|
|
Dec 19 2011, 17:24
|
Местный
  
Группа: Участник
Сообщений: 306
Регистрация: 11-11-04
Из: Москва
Пользователь №: 1 106

|
Цитата(Bizkit @ Dec 19 2011, 14:14)  Допустим я реализую синхронизацию по каналам, но больше меня волнует появление артефактов, кто подскажет какой элемент нужно поставить. 1. Где результаты моделирования проекта? 2. Те модули которые Вы применяете не очень подходящий вариант. Когда передатчик выйдет из строя не поленитесь и вскройте. Интересно будет узнать Ваше мнение как разработчика. Настоятельно рекомендую взять что-нибудь самое дешевое китайское для экспериментов. Результат Вы сами увидите при первом же включении. 3. На какой печатной плате все это собрано? У вас скорость 720 МБит/сек. .. От сериализатора к передающему модулю линию передачи рассчитывали? Как там с согласованием? 4. Синхронизацию по каналам можно по К28.5 делать, если таковые в потоке присутствуют. При этом нужно подумать с какой частотой их в поток вставлять, чтобы не было искажения видео. 5. Выбранные АЦП и ЦАП не самый лучший вариант, хотя бы потому что они уже лет 10 как сняты с производства. А то, что можно сейчас найти на стоках - откровенное фуфло. Правда, можно случайно нарваться и на хорошо работающий экземпляр. 6. Не смог открыть Ваши проекты - видать на какой-нибудь последней версии квартуса нарисованы, и не понятно с какими альтерами имеете дело. Судя по всему не МАХ7000? все остальные кристаллы, насколько я помню не очень толерантны к 5 вольтам по входу. А АЦП 5-вольтовая... Все-таки рекомендую начать с попытки смоделировать поведение схемы, тогда половина вопросов по поводу появления артефактов отпадет. Со второй половиной будете бороться с помощью формул по расчету линий передачи и выбором оптической пары. Удачи!
|
|
|
|
|
Dec 19 2011, 19:15
|

Профессионал
    
Группа: Свой
Сообщений: 1 007
Регистрация: 24-01-06
Из: Киев
Пользователь №: 13 556

|
ну что...молодежь...пора и ночь не поспать...лови книгу приемопередатчики собирал на HDTR сериалайзере/десериалайзеры на MAX- ком комплекте для SDH/SONET 622 спокойной ночи
--------------------
Motobaza.kiev.ua
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|