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

 
 
 
Reply to this topicStart new topic
> Прием потока 2 Мб/с, Как принять без збоев
Serg`
сообщение Apr 15 2009, 16:54
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 25-06-07
Пользователь №: 28 668



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

Ко мне приходит поток 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 не синтезабельна из за отсутствия возможности синхронизации!!

ВОПРОС как поймать фазу!!Сделать привязку к фазе!!Вообще я за вариант с тактовой по-моему так проще!!Кто сталкивался подскажите!!ЖДУ!!
Go to the top of the page
 
+Quote Post
Builder
сообщение Apr 15 2009, 19:05
Сообщение #2


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(Serg` @ Apr 15 2009, 19:54) *
Вопрос состоит в седеющем из за нестабильности генераторов на приемной и передающих платах погодных условий и космического ветра)) Может произойти перекос фаз и за сутки накопится неслабая ошибка! Поэтому я хотел бы захватывать фазу сигнала каждый предний фронт я придумал два пути в общем то это 1 путь просто в немного разных исполнениях

Не совсем понял в чём нужнапридумывать что-то новое, с ходу видится 2 стандартных варианта:
1) как в обычном UART;
2) с испльзованием цифрового ФАПЧ;
Чем они не устраивают?
Покапайте поиском оба подхода.
Для того что-б решить что лучше, мало информации: как информация кодирутся, какие опорные частоты есть и т.п.
Go to the top of the page
 
+Quote Post
wolfman
сообщение Apr 15 2009, 19:27
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032



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

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


--------------------
Россия это даже не страна.
Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
Go to the top of the page
 
+Quote Post
Serg`
сообщение Apr 15 2009, 21:06
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 25-06-07
Пользователь №: 28 668



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

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

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

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

А что за захват частоты в обычном уарте??Там же протоколсвой есть стартоывй стоповый зачем там это ФАПЧ в смысле??!???
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 16 2009, 02:25
Сообщение #5


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Serg` @ Apr 15 2009, 15:06) *
Да там все просто идет непрерывный поток 2 Мб/с надо его правильно принять и отослать накомп по изернету.
Информация никак не кодируется тоесть: лог 1 = 1, лог 0 = 0 вот и все просто главное не сбиться


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

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


--------------------
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 16 2009, 04:20
Сообщение #6


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Serg` @ Apr 15 2009, 22:06) *


Ещё посмотрите в сторону эластичного буфера,он как раз применяется в подобных ситуациях(при плезиохронной связи).
Go to the top of the page
 
+Quote Post
Builder
сообщение Apr 16 2009, 07:11
Сообщение #7


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(Serg` @ Apr 16 2009, 00:06) *
Информация никак не кодируется тоесть: лог 1 = 1, лог 0 = 0 вот и все просто главное не сбиться

Так не пойдёт, по крайней мере для DPLL (для UART можно и так), т.к. будет сбиваться чифровая ФАПЧ.
Как вариант, кодирование 8b/10b, что-бы небыло много последовательных нулей или единиц, или ещё Манчестерский код.

Цитата(Serg` @ Apr 16 2009, 00:06) *
И кстати гже можно почитать про 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
Go to the top of the page
 
+Quote Post
Serg`
сообщение Apr 16 2009, 08:05
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 25-06-07
Пользователь №: 28 668



Цитата(des00 @ Apr 16 2009, 06:25) *
хмм, ну какой то протокол у вас должен же быть. Как-то же вы должны были синхронизовать потоки.

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


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

Цитата(Builder @ Apr 16 2009, 11:11) *
Так не пойдёт, по крайней мере для 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???

Сообщение отредактировал Serg` - Apr 16 2009, 08:05
Go to the top of the page
 
+Quote Post
Builder
сообщение Apr 16 2009, 08:28
Сообщение #9


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(Serg` @ Apr 16 2009, 11:05) *
Так дело все и в том что поток синхронизировать по переднему фронту больше не за что зацепиться!!
8b/10b???

И??? Что не понятно?
Если кратко: UART, фронт используется для старта синхронизации, в процессе приёма коррекция часов не происходит.
Поэтому приём длинных сообщений невозможен из-за рассинхронизации: при приеме каждого байта синхронизация
ловится заново.
ФАПЧ - используются внутренние часы с автоподстройкой, для автоподстройки используется информация от тех-же фронтов.
Синхронизация отслеживается постоянно. Поэтому, для тго, что-б часы не рассинхронизировались, фроныты нужны более менее
постоянно. Много последовательных нулей или единиц могут привести к рассинхронизации и сбою.
Для того что-б этого не происходило, используют специальные приёмы кодирования, например 8b/10b.

Вы лучше прочитайте ссылки на материалы, котрые я привёл, описание UART, после чего думаю отпадут многие вопросы...
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 16 2009, 17:03
Сообщение #10


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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

Цитата(Builder @ Apr 16 2009, 02:28) *
Синхронизация отслеживается постоянно. Поэтому, для тго, что-б часы не рассинхронизировались, фроныты нужны более менее
постоянно. Много последовательных нулей или единиц могут привести к рассинхронизации и сбою.


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


--------------------
Go to the top of the page
 
+Quote Post
Builder
сообщение Apr 16 2009, 19:09
Сообщение #11


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(des00 @ Apr 16 2009, 20:03) *
если есть доступ к источнику и хороший кабель то самое простое перевести все HDB3 и резать на тактовой в 4-8 раз выше.

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

Цитата(des00 @ Apr 16 2009, 20:03) *
пройтись скремблером 7 кой самосинхронным, нарезать на тактовой в 4-8 раз выше и собрать сигнал(в доках у хилых такое есть) %).

Не использовал, ткните носом, где почитать для общего развития, если не трудно.
Go to the top of the page
 
+Quote Post
Serg`
сообщение Apr 16 2009, 20:23
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 25-06-07
Пользователь №: 28 668



Цитата(des00 @ Apr 16 2009, 21:03) *
если есть доступ к источнику и хороший кабель то самое простое перевести все HDB3 и резать на тактовой в 4-8 раз выше.



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


HDB3???

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

Цитата(Builder @ Apr 16 2009, 23:09) *


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

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

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

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

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

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

Сообщение отредактировал Serg` - Apr 16 2009, 20:42
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 17 2009, 03:17
Сообщение #13


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Serg` @ Apr 16 2009, 15:23) *
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 нужно сначала зацепитьсяза фазу а уж потом алгоритм свой пускать!


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

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


--------------------
Go to the top of the page
 
+Quote Post
Serg`
сообщение Apr 17 2009, 10:38
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 111
Регистрация: 25-06-07
Пользователь №: 28 668



Цитата(des00 @ Apr 17 2009, 07:17) *
Надо закодировать сигнал на передающей стороне!!! кодирование на приемной смысла не имеет.

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


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

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

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

Спасиби за содействие и информащию!!
Go to the top of the page
 
+Quote Post

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

 


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


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