Jump to content

    
Sign in to follow this  
Zeratul

Прием потока 2 Мб/с

Recommended Posts

Доброе время суток у меня такой вопрос

 

Ко мне приходит поток 2Мб/с причем он идет постоянно может идти сутки в принципе сам прием не сложен нарезал по тактовой на куски забил в фифо и вперед!!

 

Вопрос состоит в седеющем из за нестабильности генераторов на приемной и передающих платах погодных условий и космического ветра)) Может произойти перекос фаз и за сутки накопится неслабая ошибка! Поэтому я хотел бы захватывать фазу сигнала каждый предний фронт я придумал два пути в общем то это 1 путь просто в немного разных исполнениях

1-ый вариант

Есть 2а автомата 1 следит за фазой и обнуляет в торой по переднему фронту сигнала

2-ой Считает до середины импульса и забирает сигнал затем еще столько же и сбрасывается в 0

 

2-ойвариант

Есть 2а автомата 1 следит за фазой и обнуляет в торой в по переднему фронту сигнала

2-ой выделяет тактовую из сигнала

После чего по тактовой забираем по заднему фронту информацию.

 

Задумка то хороша!!Но исполнение!!Вот вариант №2

 

Process (Signal, CLK)

Variable st : integer range 0 to 31;

begin

 

If signal’event and signal = ‘1’ then

 

St := 0;

 

End if;

 

If ( CLK’event and CLK = ‘1’ ) then

 

--Сдесь делаем тактовую

 

Case st is

When 0 => CLK_dcm = ‘1’;st++;

When 15 =>CLK_dcm = ‘0’;st++;

When 31 =>st:=0;

When others =>st++;

End case;

 

End if;

End process;

 

Так вот Xilinx Пишет что эта конструкция с st не синтезабельна из за отсутствия возможности синхронизации!!

 

ВОПРОС как поймать фазу!!Сделать привязку к фазе!!Вообще я за вариант с тактовой по-моему так проще!!Кто сталкивался подскажите!!ЖДУ!!

Share this post


Link to post
Share on other sites
Вопрос состоит в седеющем из за нестабильности генераторов на приемной и передающих платах погодных условий и космического ветра)) Может произойти перекос фаз и за сутки накопится неслабая ошибка! Поэтому я хотел бы захватывать фазу сигнала каждый предний фронт я придумал два пути в общем то это 1 путь просто в немного разных исполнениях

Не совсем понял в чём нужнапридумывать что-то новое, с ходу видится 2 стандартных варианта:

1) как в обычном UART;

2) с испльзованием цифрового ФАПЧ;

Чем они не устраивают?

Покапайте поиском оба подхода.

Для того что-б решить что лучше, мало информации: как информация кодирутся, какие опорные частоты есть и т.п.

Share this post


Link to post
Share on other sites

а в каком виде данные то идут?

У меня есть устройство, которое принимает/передает Е1 в HDB3, вытаскиваю тактовую из потока и отдаю дальше на маппер, сбоев не было как в синхронном режиме так и в асинхронном.

 

Если у вас похожая задача могу выложить исходник, но он на AHDL и на выходе у него NRZ.

Share this post


Link to post
Share on other sites

Да там все просто идет непрерывный поток 2 Мб/с надо его правильно принять и отослать накомп по изернету.

 

а исходники посмотрел бы, выложите либо сюда либо на мыло superrodman@mail.ru если не сложно

 

Информация никак не кодируется тоесть: лог 1 = 1, лог 0 = 0 вот и все просто главное не сбиться

 

И кстати гже можно почитать про pll по русски ну или хотябы полезное что нить по английски!!

 

А что за захват частоты в обычном уарте??Там же протоколсвой есть стартоывй стоповый зачем там это ФАПЧ в смысле??!???

Share this post


Link to post
Share on other sites
Да там все просто идет непрерывный поток 2 Мб/с надо его правильно принять и отослать накомп по изернету.

Информация никак не кодируется тоесть: лог 1 = 1, лог 0 = 0 вот и все просто главное не сбиться

 

хмм, ну какой то протокол у вас должен же быть. Как-то же вы должны были синхронизовать потоки.

 

есть много вариантов. асинхронный UART самый простой, за счет расширения полосы вы получаете возможность привязки данных по фазе по старт-стоп битам. Есть варианты с канальным кодированием, есть с цифровой петлей ФАПЧ и т.д. Выбор конкретного варианта зависит от требований к реализации.

Share this post


Link to post
Share on other sites

 

Ещё посмотрите в сторону эластичного буфера,он как раз применяется в подобных ситуациях(при плезиохронной связи).

Share this post


Link to post
Share on other sites
Информация никак не кодируется тоесть: лог 1 = 1, лог 0 = 0 вот и все просто главное не сбиться

Так не пойдёт, по крайней мере для DPLL (для UART можно и так), т.к. будет сбиваться чифровая ФАПЧ.

Как вариант, кодирование 8b/10b, что-бы небыло много последовательных нулей или единиц, или ещё Манчестерский код.

 

И кстати гже можно почитать про pll по русски ну или хотябы полезное что нить по английски!!

А что за захват частоты в обычном уарте??Там же протоколсвой есть стартоывй стоповый зачем там это ФАПЧ в смысле??!???

В общем, курите поиск и описания, Вам нужно подковаться сначала, что-б вопросы были предметными.

Вот для затравки ссылки, которые когда-то собирал:

 

Chip News #9 2002 Характеристики цифровой системы автоподстройки частоты. стр 16 - 19

Chip News #1 2003 Аппаратная реализация двоичной полностью цифровой системы автоподстройки частоты. стр 40 - 42

 

Hisao Yamamoto, Shinsaku Mori

Performance of a binary Quantized All Digital Phased-Locked Loop

with a New Class of Sequantial Filter

IEEE Trans. on Communications Vol. COM-26, No.1, January 1978 pp.35-45

Приведены схема и анализ полностью цифровой ФАПЧ, рекомендую.

 

Это не помню что, но гляньте:

2)74HC4046 datasheet (Philips, Texas Instr. etc)

3)http://gtmkorea.co.kr/DATABOOK/PDF/AN8017.PDF

 

Стр. 7 (138):

http://www.e-insite.net/ednmag/archives/19...8/pdfs/24di.pdf

 

http://www.e-insite.net/ednmag/archives/19...997/13di_05.htm

Share this post


Link to post
Share on other sites
хмм, ну какой то протокол у вас должен же быть. Как-то же вы должны были синхронизовать потоки.

 

есть много вариантов. асинхронный UART самый простой, за счет расширения полосы вы получаете возможность привязки данных по фазе по старт-стоп битам. Есть варианты с канальным кодированием, есть с цифровой петлей ФАПЧ и т.д. Выбор конкретного варианта зависит от требований к реализации.

 

Так дело все и в том что поток синхронизировать по переднему фронту больше не за что зацепиться!!

 

Так не пойдёт, по крайней мере для DPLL (для UART можно и так), т.к. будет сбиваться чифровая ФАПЧ.

Как вариант, кодирование 8b/10b, что-бы небыло много последовательных нулей или единиц, или ещё Манчестерский код.

 

 

В общем, курите поиск и описания, Вам нужно подковаться сначала, что-б вопросы были предметными.

Вот для затравки ссылки, которые когда-то собирал:

 

Chip News #9 2002 Характеристики цифровой системы автоподстройки частоты. стр 16 - 19

Chip News #1 2003 Аппаратная реализация двоичной полностью цифровой системы автоподстройки частоты. стр 40 - 42

 

Hisao Yamamoto, Shinsaku Mori

Performance of a binary Quantized All Digital Phased-Locked Loop

with a New Class of Sequantial Filter

IEEE Trans. on Communications Vol. COM-26, No.1, January 1978 pp.35-45

Приведены схема и анализ полностью цифровой ФАПЧ, рекомендую.

 

Это не помню что, но гляньте:

2)74HC4046 datasheet (Philips, Texas Instr. etc)

3)http://gtmkorea.co.kr/DATABOOK/PDF/AN8017.PDF

 

Стр. 7 (138):

http://www.e-insite.net/ednmag/archives/19...8/pdfs/24di.pdf

 

http://www.e-insite.net/ednmag/archives/19...997/13di_05.htm

 

8b/10b???

Edited by Serg`

Share this post


Link to post
Share on other sites
Так дело все и в том что поток синхронизировать по переднему фронту больше не за что зацепиться!!

8b/10b???

И??? Что не понятно?

Если кратко: UART, фронт используется для старта синхронизации, в процессе приёма коррекция часов не происходит.

Поэтому приём длинных сообщений невозможен из-за рассинхронизации: при приеме каждого байта синхронизация

ловится заново.

ФАПЧ - используются внутренние часы с автоподстройкой, для автоподстройки используется информация от тех-же фронтов.

Синхронизация отслеживается постоянно. Поэтому, для тго, что-б часы не рассинхронизировались, фроныты нужны более менее

постоянно. Много последовательных нулей или единиц могут привести к рассинхронизации и сбою.

Для того что-б этого не происходило, используют специальные приёмы кодирования, например 8b/10b.

 

Вы лучше прочитайте ссылки на материалы, котрые я привёл, описание UART, после чего думаю отпадут многие вопросы...

Share this post


Link to post
Share on other sites

если есть доступ к источнику и хороший кабель то самое простое перевести все HDB3 и резать на тактовой в 4-8 раз выше.

 

Синхронизация отслеживается постоянно. Поэтому, для тго, что-б часы не рассинхронизировались, фроныты нужны более менее

постоянно. Много последовательных нулей или единиц могут привести к рассинхронизации и сбою.

 

пройтись скремблером 7 кой самосинхронным, нарезать на тактовой в 4-8 раз выше и собрать сигнал(в доках у хилых такое есть) %).

Share this post


Link to post
Share on other sites
если есть доступ к источнику и хороший кабель то самое простое перевести все HDB3 и резать на тактовой в 4-8 раз выше.

Только HDB3 - это 3 уровня, а не 2, и насколько помню, кодирование HDB3 решает ту-де проблему что и 8b/10b, только чуть по другому (http://www.ci.ru/inform16_99/p_05_bil.htm). А так да, тоже вариант. Сам не использовал, но кажись у связистов используется HDB3.

 

пройтись скремблером 7 кой самосинхронным, нарезать на тактовой в 4-8 раз выше и собрать сигнал(в доках у хилых такое есть) %).

Не использовал, ткните носом, где почитать для общего развития, если не трудно.

Share this post


Link to post
Share on other sites
если есть доступ к источнику и хороший кабель то самое простое перевести все HDB3 и резать на тактовой в 4-8 раз выше.

 

 

 

пройтись скремблером 7 кой самосинхронным, нарезать на тактовой в 4-8 раз выше и собрать сигнал(в доках у хилых такое есть) %).

 

HDB3???

 

Что значит пройтись скремблером 7 кой самосинхронным в каких доках??Есть ссылка или хотяб что нить чтоб облегчило поиск!!??

 

 

Почитал по ссылке стало немного понятнее!!тока не нашел там 8б/10б!!

 

Прочитав статью я понял что код ко мне приходит в NRZ!

 

Кстати еще Насколько я понял чтоб правильно перекодировать куданибудь из NRZ нужно сначала зацепитьсяза фазу а уж потом алгоритм свой пускать!

 

Если так то какойсмысл перекодировать!??

 

Если поймав фазу я смогу спокойно принять NRZ сигнал!??

 

Для меня главное подстраиваться каждый передний фронт под фазу входного сигнала!!Подстраевать свой клок под него!!

Edited by Serg`

Share this post


Link to post
Share on other sites
HDB3???

 

http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%...0%BE%D0%B2#HDB3

 

один из видов кодирования данных, обладающих свойством самосинхронизации, но за счет расширения полосы сигнала + есть еще пара вкусностей.

 

Что значит пройтись скремблером 7 кой самосинхронным в каких доках??Есть ссылка или хотяб что нить чтоб облегчило поиск!!??

 

кодирование 4/5, 8/10 и т.д. несет цель увеличить количество переходов в сигнале, для облегчения работы системы синхронизации. но имеет недостаток в виде расширения полосы(для передачи того же объема информации нужна тактовая выше). если расширение полосы не возможно то как вариант обработать данные аддитивным скремблером в приемнике и передатчике.

 

http://en.wikipedia.org/wiki/Scrambler

 

но в случае возникновения битовой ошибки у вас будет размножение ошибок.

 

Кстати еще Насколько я понял чтоб правильно перекодировать куданибудь из NRZ нужно сначала зацепитьсяза фазу а уж потом алгоритм свой пускать!

 

Надо закодировать сигнал на передающей стороне!!! кодирование на приемной смысла не имеет.

 

Почему я вас и спрашивал : есть ли у вас доступ к передатчику или нет, если доступа нет, то все вышеизложенное не имеет смысла.

Share this post


Link to post
Share on other sites
Надо закодировать сигнал на передающей стороне!!! кодирование на приемной смысла не имеет.

 

Почему я вас и спрашивал : есть ли у вас доступ к передатчику или нет, если доступа нет, то все вышеизложенное не имеет смысла.

 

К передатчику доступа не имею!!

 

Но вроди кое что придумал!!

 

Сейчас потестирую! Потом выложу ВД если все получится!!

 

Спасиби за содействие и информащию!!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this