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

 
 
> Прием потока 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
 
Start new topic
Ответов
Serg`
сообщение Apr 15 2009, 21:06
Сообщение #2


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

Группа: Участник
Сообщений: 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
Сообщение #3


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

Группа: Модераторы
Сообщений: 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
Serg`
сообщение Apr 16 2009, 08:05
Сообщение #4


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

Группа: Участник
Сообщений: 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



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:56
Рейтинг@Mail.ru


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