Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: передача данных по оптоволокну
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Bizkit
Всем привет!

Зашел в тупик, передо мной стоит задача передать изображение с 4-х видеокамер по одномодовому оптоволокну и соответственно принять их, и с блока вывести через видеоквадратор на аналоговый монитор. По структурной схеме передатчик выглядит так: АЦП (TDA8708A 8bit) - ALTERA (Cyclone EP1C3) - SERIALAYSER (ds92lv1023 10 bit) - ПОМ (передающий оптический модуль 622МБит\с), приемник ПРОМ- DESERIALAYSER (ds92lv1224) - ALTERA (Cyclone EP1C3) - ЦАП (TDA8702T)

Столкнулся с проблемой появления артефактов при передаче и приеме сигнала, как будто изображение с одного канала немного переходит на другой канал и второй вопрос как сделать синхронизацию по каналам.

Кто может подсказать чего еще не хватает в block схеме прошивки (языками verilog и VHDL не владею). Графические файлы прошивки находятся во вложении.
Bakradze
Устраивает ли такое решение?

http://www.netexpert.by/products/planet/ti...fobor/VF-102KIT

Или вот тут:

http://www.armosystems.ru/system/cctv_optic_systems.ahtm
Bizkit
Такое решение не устраивает.
Может кто-то возьмется доделать проект, готов заплатить.
Denisnovel
Как с вами связаться? ЛС не работает
Bizkit
скайп noname370102328
vadimp61
Посмотрел проект, а где синхробайт по которому в приемнике и будет определятся где какой канал?
Какая у вас тактовая GCLK в передатчике и какую полосу видеосигнала вы хотите передать? Сколько в MSPS?
Bizkit
не знаю как сделать синхронизацию, вы можете подсказать? (как ввести синхробайт в каналы), GCLK 60 мгц, 4 ацп тактовая частота 15 мгц по 8 бит

в приемнике нужен ли буфер fifo и куда его вставить до или после декодера мегафункции 10b8b, и правильно реализован демультиплексор???
vadimp61
Цитата(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мбит.
Bizkit
10b8b применяется для выравнивания последовательности лог. 0 и 1, т.к. если подряд идет больше 10 лог. 1 то лазерный диод уходит в насыщение и часть данных теряется, а мегафункция делает так, чтобы подряд не шло больше 5 лог. 1 .
Попробую реализовать вашу идею по поводу синхробайта, но не знаю хватит ли мозгов у меня
andrewkrot
вот здесь посмотрите - http://dfs-group.ru/products/video/video-chetirehkanalnie/
уже готовое и думать не надо =)
vadimp61
Цитата(Bizkit @ Dec 18 2011, 14:55) *
10b8b применяется для выравнивания последовательности лог. 0 и 1, т.к. если подряд идет больше 10 лог. 1 то лазерный диод уходит в насыщение и часть данных теряется, а мегафункция делает так, чтобы подряд не шло больше 5 лог. 1 .
Попробую реализовать вашу идею по поводу синхробайта, но не знаю хватит ли мозгов у меня


Чтобы не было длинных последовательностей 0 или 1 , можно применить так-же и скремблирование.
А какой драйвер светодиода вы используете? Может проще применить SFP модуль как для передачи так и для приема? И ещё я что-то не увидел схему восстановления тактовой частоты для приемника, если вы тактируетесь от локального генератора то это не правильно, будут скольжения частот, сто приведет к потере байта данных для АЦП и срыв синхронизации.
Bizkit
Цитата(andrewkrot @ Dec 18 2011, 15:44) *
вот здесь посмотрите - http://dfs-group.ru/products/video/video-chetirehkanalnie/
уже готовое и думать не надо =)


думает начальство, а я разрабатываю

Цитата(vadimp61 @ Dec 18 2011, 16:37) *
Чтобы не было длинных последовательностей 0 или 1 , можно применить так-же и скремблирование.
А какой драйвер светодиода вы используете? Может проще применить SFP модуль как для передачи так и для приема? И ещё я что-то не увидел схему восстановления тактовой частоты для приемника, если вы тактируетесь от локального генератора то это не правильно, будут скольжения частот, сто приведет к потере байта данных для АЦП и срыв синхронизации.


скремблирование оказалось малоэффективным, поэтому перешел на мегафункцию. Так и стоит модуль приема и модуль передачи (ПОМ 663 и ПРОМ 375). Восстанавливает тактовую частоту десириалайзер.
Bizkit
Цитата(Bizkit @ Dec 19 2011, 13:54) *
думает начальство, а я разрабатываю



скремблирование оказалось малоэффективным, поэтому перешел на мегафункцию. Так и стоит модуль приема и модуль передачи (ПОМ 663 и ПРОМ 375). Восстанавливает тактовую частоту десириалайзер.



Допустим я реализую синхронизацию по каналам, но больше меня волнует появление артефактов, кто подскажет какой элемент нужно поставить. Я посмотрел на структурную схему микросхем реализующих высокоскоростную передачу и прием информации, так там после декодера 8b10b стоит elasticity buffer, как я понял это и есть FIFO??? или я ошибаюсь. Мое предположение что LPM_LATCH некорректно заполняется, кто подскажет так ли это
andrewkrot
Цитата(Bizkit @ Dec 19 2011, 14:14) *
Допустим я реализую синхронизацию по каналам, но больше меня волнует появление артефактов, кто подскажет какой элемент нужно поставить.

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

Все-таки рекомендую начать с попытки смоделировать поведение схемы, тогда половина вопросов по поводу появления артефактов отпадет. Со второй половиной будете бороться с помощью формул по расчету линий передачи и выбором оптической пары.
Удачи!
Massi
ну что...молодежь...пора и ночь не поспать...лови книгу
приемопередатчики собирал на HDTR
сериалайзере/десериалайзеры на MAX- ком комплекте для SDH/SONET 622

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

Все-таки рекомендую начать с попытки смоделировать поведение схемы, тогда половина вопросов по поводу появления артефактов отпадет. Со второй половиной будете бороться с помощью формул по расчету линий передачи и выбором оптической пары.
Удачи!


Я наверное немного не правильно изначально пояснил про артефакты: артефакты появляются только при подключении четвертой камеры к передатчику (при уже подключенных трех) причем артефакты появляются уже на всех каналах приемника, а когда подключены только 3 камеры артефактов практически нет. Позже могу выложить скрины.

1. просто перегнал проект в квадратус 10.0 потому что только из него шьется с мегафункцией 8b10b а modelsim до сих пор не получается оседлать, сам моделирую проект в квадратусе 8.0 и смотрю диаграммы с помощью встроенного компилятора
2. Почему не очень подходящий вариант? А какой приблизительно вариант я увижу?
3. На 2-х слойной печатной плате, да скрость где-то 720 мбит\с (интересовался у разработчиков модулей диод стоит на 2 гбит\с). Линия согласована в соответствии с документацией на модули
4. Синхронизацию буду делать путем вставки неприведенного полинома в каналы данных ацп в межстроковые паузы, а потом их удалять.
5. Тогда посоветуйте какие нужно использовать АЦП ЦАП для аналогово видео, просто этот АЦП заточен под оцифровку видео
6. стоит CYCLONE II. проблема согласования с АЦП решается резисторами

Цитата(Massi @ Dec 19 2011, 23:15) *
ну что...молодежь...пора и ночь не поспать...лови книгу
приемопередатчики собирал на HDTR
сериалайзере/десериалайзеры на MAX- ком комплекте для SDH/SONET 622

спокойной ночи

передачтики HDTR не подходят по температуре, в ТЗ температура -40..+60
Спасибо большое за литературу!!!
andrewkrot
Артефакты появляются из-за потери синхронизации приемником. Посмотрите осциллографом вывод LOCK в десериализаторе. Скорее всего это происходит из-за наличия постоянной составляющей в данных (длинные последовательности 0 или 1). Если 8/10 кодировка правильная, то такого быть не должно. Как вариант проверки - попробуйте соединить приемник и передатчик коротким проводом (шнуром SERIAL ATA) дабы исключить влияние оптики. Когда добьетесь нормальной работы тогда и оптику можно прикрутить.

1. Прикурите к проекту сигналтап и посмотрите, что там передается на самом деле, и принимается и сравните это с тем, что Вы хотите от схемы ожидать.

2. Увидите не вариант, а разницу в работе китайских и постсоветских модулей. Кстати, если хорошо поискать, то можно найти такие трансиверы, которые могут передавать длинные последовательности нулей и единиц. У этих модулей отсутствуют конденсаторы по входу сигнала и на модуляции лазера. Это немного улучшит ситуацию, но полностью не избавит от проблем с восстановлением тактовой в десериализаторе

3. Линия сама по себе должна иметь определенное волновое сопротивление, и именно с ним нужно согласовывать вход/выход трансивера. Конкретно - ищите в доках на LVDS. Правда, если расстояние от сериализатора до лазерного модуля маленькое (не более 1 дюйма) то по поводу расчета микрополосковых линий можно не париться.

4. Какие полиномы там у Вас живут, если 8b10b используется???

5. AD9280 хотя бы. Гораздо достойнее вариант, хотя и без АРУ видео. И еще, как получаете CLKA, CLKB при использовании TDA8708?

6. Запитайте AD9280 от 3.3В и проблема согласования уровней отпадет сама собой

Если внимательно посмотреть на сайте HIOPTEL, то и на Ваши температуры там варианты найдутся.
Bizkit
Цитата(andrewkrot @ Dec 20 2011, 13:53) *
Артефакты появляются из-за потери синхронизации приемником. Посмотрите осциллографом вывод LOCK в десериализаторе. Скорее всего это происходит из-за наличия постоянной составляющей в данных (длинные последовательности 0 или 1). Если 8/10 кодировка правильная, то такого быть не должно. Как вариант проверки - попробуйте соединить приемник и передатчик коротким проводом (шнуром SERIAL ATA) дабы исключить влияние оптики. Когда добьетесь нормальной работы тогда и оптику можно прикрутить.

1. Прикурите к проекту сигналтап и посмотрите, что там передается на самом деле, и принимается и сравните это с тем, что Вы хотите от схемы ожидать.

2. Увидите не вариант, а разницу в работе китайских и постсоветских модулей. Кстати, если хорошо поискать, то можно найти такие трансиверы, которые могут передавать длинные последовательности нулей и единиц. У этих модулей отсутствуют конденсаторы по входу сигнала и на модуляции лазера. Это немного улучшит ситуацию, но полностью не избавит от проблем с восстановлением тактовой в десериализаторе

3. Линия сама по себе должна иметь определенное волновое сопротивление, и именно с ним нужно согласовывать вход/выход трансивера. Конкретно - ищите в доках на LVDS. Правда, если расстояние от сериализатора до лазерного модуля маленькое (не более 1 дюйма) то по поводу расчета микрополосковых линий можно не париться.

4. Какие полиномы там у Вас живут, если 8b10b используется???

5. AD9280 хотя бы. Гораздо достойнее вариант, хотя и без АРУ видео. И еще, как получаете CLKA, CLKB при использовании TDA8708?

6. Запитайте AD9280 от 3.3В и проблема согласования уровней отпадет сама собой

Если внимательно посмотреть на сайте HIOPTEL, то и на Ваши температуры там варианты найдутся.


До того как стоял скремблер действительно такая проблема присутствовала, после применения 8b10b длинные последовательности исключились и на выходе LOCK всегда лог.0 По поводу соединения проводом уже над этим думал, но подключив осел (MSO 5204) к lvds шине передатчика и приемника логическая последовательность переданных и принятых байт соответствует. Т.е. дело не в оптике.

1. С Сигналтап не разобрался, нету времени уже совсем (взял бесплатно в аренду осел MSO 5204)
2. Я думаю вставлять полином в 1-ый канал АЦП до мультиплексора, чтобы в приемнике делать сброс декодера по приему этого полинома, чтобы данные с 1-го канала передатчика были на 1-ом канале приемника ...... и т.д.
3. да расстояние около дюйма
5. платы уже готовы и отлажены и применять AD9280 и другие оптические модули нету ни времени ни желания.
CLKA, CLKB получается делением GCLK
P.S. делал оборудование в течении года и что-то либо кардинально менять уже не получится, за исключением прошивки ALTERA


Большое спасибо за советы
Bakradze
Мне кажется - такой вариант был бы проще: частота оптических импульсов модулируется видеосигналом, а на обратной стороне волокна, соответственно, демодулируется. Ни тебе плисов, ни тебе ПО для них и прочих цифровых заморочек.
andrewkrot
Цитата(Bakradze @ Dec 21 2011, 09:32) *
Мне кажется - такой вариант был бы проще: частота оптических импульсов модулируется видеосигналом, а на обратной стороне волокна, соответственно, демодулируется. Ни тебе плисов, ни тебе ПО для них и прочих цифровых заморочек.


Ага=) Только каналов то 4, а волокно одно. Что на это скажете?
Bakradze
Да? Тогда сложнее...Тогда, если камеры расположены недалеко друг от друга - может, есть возможность их оцифровывать видеосервером и пускать в оптоволокно в стандарте Ethernet?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.