|
Ваделение клока из данных., Кто знает как выделить частоту из приходящих данных. |
|
|
|
 |
Ответов
|
Nov 15 2005, 19:53
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
//Как я и говорил, с данными я не могу ничего сделать. Они мне идут "как есть". Схема предложенная в книге "Синхронизация в телекоммуникационных сетях" на стр. 244 рис 9.7 работает не так как хотелось бы - иногда проскакивает лишний клок. Я думаю что это из за несовпадения частот данных и задающего кварца. Может стоит увеличить частоту кварца или это не поможет?// Как схема, объясняющая принцип работы , она верна. Она действительно выделяет синхроимпульсы из потока данных, вот только без данных эти синхроимпульсы никому не нужны, а эти данные не имеют начала и конца. Фактически это только инструмент подстройки внутренних часов по любому перепаду во входном потоке данных. А значит и поток данных может быть только манчестерским, что позволяет подстраивать эти часы в каждом бите входной последовательности. При этом в начале посылки обязательно должен быть синхроимпульс длительностью в три такта битовой посылки. Если данные принимать на сдвигающий регистр минимального размера в 6 разрядов на удвоенной относительно несущей частоте, то значения 000111 или 111000 однозначно говорит о наличии синхроимпульса (в Манчестере таких данных не бывает), а дальше можно отсчитать необходимое количество данных. Это четные или нечетные отсчеты сдвигающего регистра. Вот фактически таже схема. module decoder_manchester ( input in_data, // 1 mHz input clk, // 12 mHz output [5:0] out_data );
reg [2:0] shift_data; reg [2:0] ct; reg [5:0] shift_rg;
wire s_clr;
always @(posedge clk) begin shift_data <= {shift_data[1:0], in_data}; end
assign s_clr = shift_data[1] ^ shift_data[2];
always @(posedge clk) // делитель на 6 begin if (s_clr) ct <= 3'h0; else if (ct == 3'h5) ct <= 3'h0; else ct <= ct + 1'b1; end
always @(posedge clk) begin if (ct == 3'h2) // 2 mHz shift_rg <= {shift_rg[4:0], shift_data[2]}; end
assign out_data = shift_rg;
endmodule Если использовать принцип приема данных как в rs232, то без старт стоповых битов тоже не обойтись. Понятно, что здесь синхронизируются по середине стартового бита на всю длину посылки и нарезают биты на несущей частоте. Уровень молчания это стоп бит (инверсный стартовому). Если нет возможности каким либо образом идентифицировать начало посылки данных, Вы будете терять данные. Исходя из этих соображений если поток манчестерский, то для 2Мбит 16 мГц маловато.
|
|
|
|
Сообщений в этой теме
shamray Ваделение клока из данных. Nov 14 2005, 14:24 one_man_show Вы про данные подробнее дайте описание. Какой форм... Nov 14 2005, 14:43 shamray С данными я ничего сделать не могу. Кодировка - NR... Nov 14 2005, 15:38 MosAic Цитата(shamray @ Nov 14 2005, 18:38) С да... Jan 13 2006, 07:08 maksya Такая штука вроде носит название CDR - Clock Data ... Nov 14 2005, 18:35 line Можно для начала посмотреть Сухман и др. "Син... Nov 15 2005, 03:09 lutik вот так делали и все работало при соотношении скор... Nov 15 2005, 08:50 Builder Бросается в глаза: 8 бит данных на 248 бит нулевых... Nov 15 2005, 11:32 DSIoffe ЦитатаЕсли кому-то надо, могу выложить на местный ... Nov 15 2005, 11:56 Jools Цитата(DSIoffe @ Nov 15 2005, 14:56) Цита... Nov 15 2005, 12:28 shamray Цитата(Builder @ Nov 15 2005, 15:32) Брос... Nov 15 2005, 14:40 sazh Хммм а может байт стафинг и на вход коррелятор ??
... Nov 16 2005, 09:16 des00 Цитата(sazh @ Nov 16 2005, 04:16) К сожал... Nov 18 2005, 05:59  woodman2 Цитата(des00 @ Nov 18 2005, 08:59) Цитата... Jan 13 2006, 02:47   des00 Я имел в виду немного другое, а именно в любом бит... Jan 13 2006, 05:38 Magnum Для начала всёже хлтелось бы узнать поподробнее о ... Nov 18 2005, 05:13 Builder Цитата(shamray @ Nov 15 2005, 18:40) Цита... Nov 18 2005, 08:16 handy А такое не подойдет: Устройство для вычитания пер... Nov 21 2005, 13:41 woodman2 des00:
///Я имел в виду немного другое, а именно ... Jan 13 2006, 07:35 sazh Подстройка фазы этого окна в цикле. А как это сдел... Jan 13 2006, 08:20 woodman Цитата(sazh @ Jan 13 2006, 11:20) Подстро... Jan 14 2006, 15:54 MosAic Вандер - это baseline wander - эффект плавания сре... Jan 13 2006, 11:19 woodman Цитата(MosAic @ Jan 13 2006, 14:19) Ванде... Jan 14 2006, 16:17 MosAic ЦитатаСпасибо за вандер, не попадался такой термин... Jan 14 2006, 17:33 woodman2 [/quote]
В условиях нет ни слова о синхроимпульсах... Jan 16 2006, 00:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|