|
Как правильно вывести сигнал на несущую частоту? |
|
|
|
Feb 14 2010, 12:43
|
     
Группа: Участник
Сообщений: 3 650
Регистрация: 1-02-09
Из: Киев
Пользователь №: 44 237

|
Цитата(Shaienn @ Feb 14 2010, 15:38)  А не применяются ли идеи как в аналоговом телевидении? Там, насколько я помню, перед началом каждого кадра передается несколько импульсов для синхронизации развертки. Строчка, вроде как, за счет амплитудной селекции и узкополосного ФАПа, кадровая - самая низкая частота - ФНЧ чуть ли не первого порядка - и синхронизируемый генератор. По-моему малоприемлемо здесь Берете 2 любых контроллера с последовательным портом и связываете их, пусть, даже, ATiny2313 - на проверить Вам протокол пофиг. Демодулятор, тот что Вы говорили должен подойти, сформировать только КМОП уровни придется. Но зачем это все все равно не понимаю.
Сообщение отредактировал ledum - Feb 14 2010, 13:16
|
|
|
|
|
Feb 14 2010, 14:25
|
Частый гость
 
Группа: Участник
Сообщений: 103
Регистрация: 21-06-09
Пользователь №: 50 494

|
Цитата(ledum @ Feb 14 2010, 16:43)  Строчка, вроде как, за счет амплитудной селекции и узкополосного ФАПа, кадровая - самая низкая частота - ФНЧ чуть ли не первого порядка - и синхронизируемый генератор. По-моему малоприемлемо здесь Берете 2 любых контроллера с последовательным портом и связываете их, пусть, даже, ATiny2313 - на проверить Вам протокол пофиг. Демодулятор, тот что Вы говорили должен подойти, сформировать только КМОП уровни придется. Но зачем это все все равно не понимаю. Ну, я вижу такую проблему: Допустим, демодулирую я последовательность из единиц. С точки зрения сигнала - это все время колебание с одной и той же частотой. Как понять, сколько же единиц пришло? Хорошо бы иметь клок и по нему снимать значения.
Сообщение отредактировал Shaienn - Feb 14 2010, 14:32
|
|
|
|
|
Feb 14 2010, 16:32
|
.NET developer
  
Группа: Свой
Сообщений: 218
Регистрация: 20-10-07
Из: Новосибирск
Пользователь №: 31 532

|
Цитата Допустим, демодулирую я последовательность из единиц. С точки зрения сигнала - это все время колебание с одной и той же частотой. Как понять, сколько же единиц пришло? Хорошо бы иметь клок и по нему снимать значения. в начале пакета желательно передавать синхронизирующую последовательность... Относительно нее можно будет реализовать символьную синхронизацию. http://en.wikipedia.org/wiki/High-Level_Data_Link_Controlвот здесь хорошо описано касательно пакетной синхронизации... там речь идет про 3 вещи: флаги, ограничивающие пакеты, бит-стаффинг и NRZI кодирование... NRZI кодирование и битстаффигн решает проблему повторения одинаковых символов. скремблирование, думаю, будет лишним...
Сообщение отредактировал Andron_ - Feb 14 2010, 16:35
|
|
|
|
|
Feb 15 2010, 02:23
|
.NET developer
  
Группа: Свой
Сообщений: 218
Регистрация: 20-10-07
Из: Новосибирск
Пользователь №: 31 532

|
Цитата Зато скремблирование скремблирование вместе с битстаффингом может применяться... у них разное назначение...
|
|
|
|
|
Feb 24 2010, 17:44
|
Частый гость
 
Группа: Участник
Сообщений: 103
Регистрация: 21-06-09
Пользователь №: 50 494

|
Здравствуйте.
Вроде бы решил проблему восстановления синхросигнала, но есть вопросы по реализации.
Хочу применить PLL. На входе приемника при приеме логического нуля будет приниматься комбинация 0001101, а при приеме единицы инверсная ей 1110010. То есть на каждый информационный бит у меня будет 3 перепада фазы, по которым я могу контролировать фазу генератора тактовых импульсов в приемнике.
Теперь вопросы по реализации. Не нашел PLL на низкие частоты, максимум - 1 МГц, это значит, что если у меня тактовая частота ниже, то либо этот мегагерц счетчиком уменьшать, либо восстанавливать синхросигнал на высокой частоте и потом также переносить его по спектру вниз.
Может быть это все делается совсем по другому?
Спасибо.
Сообщение отредактировал Shaienn - Feb 24 2010, 17:49
|
|
|
|
|
Feb 24 2010, 20:23
|
     
Группа: Участник
Сообщений: 3 650
Регистрация: 1-02-09
Из: Киев
Пользователь №: 44 237

|
Цитата(Shaienn @ Feb 24 2010, 20:44)  На входе приемника при приеме логического нуля будет приниматься комбинация 0001101, а при приеме единицы инверсная ей 1110010. То есть на каждый информационный бит у меня будет 3 перепада фазы, по которым я могу контролировать фазу генератора тактовых импульсов в приемнике.
Теперь вопросы по реализации. Не нашел PLL на низкие частоты, максимум - 1 МГц, это значит, что если у меня тактовая частота ниже, то либо этот мегагерц счетчиком уменьшать, либо восстанавливать синхросигнал на высокой частоте и потом также переносить его по спектру вниз. Непонятно зачем такая избыточность. Я уже говорил - возьмите пару любых контроллеров с UART (ATtiny2313 - куда уж проще) и тренируйтесь поначалу на кошках. Что касается НЧ PLL - дайте в Гугле 74hc4046 ну или, в крайнем случае, 4046 и будете удивлены, но опять-таки я давал фазовый детектор, нечувствительный к отсутствию переходов
Сообщение отредактировал ledum - Feb 24 2010, 20:25
|
|
|
|
|
Feb 25 2010, 07:19
|
Частый гость
 
Группа: Участник
Сообщений: 103
Регистрация: 21-06-09
Пользователь №: 50 494

|
Цитата(ledum @ Feb 24 2010, 23:23)  Непонятно зачем такая избыточность. Я уже говорил - возьмите пару любых контроллеров с UART (ATtiny2313 - куда уж проще) и тренируйтесь поначалу на кошках. Что касается НЧ PLL - дайте в Гугле 74hc4046 ну или, в крайнем случае, 4046 и будете удивлены, но опять-таки я давал фазовый детектор, нечувствительный к отсутствию переходов Это код Баркера - условие задачи. Попробуем поиграть с 74hc4046. Спасибо за информацию. Про нечувствительность к отсутствию. Я так понимаю, придется это учитывать в пакете данных, типа флаг "пакет закончен".
|
|
|
|
|
Feb 25 2010, 12:32
|
Частый гость
 
Группа: Участник
Сообщений: 103
Регистрация: 21-06-09
Пользователь №: 50 494

|
Подумал о нечувствительности к отсутствию переходов. Так как у меня всегда не более чем через три бода идет изменение фазы, вроде не должно ничего слетать. Сейчас немного не понимаю следующий момент. Допустим тактовая частота 1 Мгц. Я ее точно знаю и нужно ее задать через VCO и поправить ее фазу в соответствии с поступающими последовательностями. Смотря в даташит на 74hc4046 вижу следующее: Цитата The VCO requires one external capacitor C1 (between C1A and C1B) and one external resistor R1 (between R1 and GND) or two external resistors R1 and R2 (between R1 and GND, and R2 and GND). Resistor R1 and capacitor C1 determine the frequency range of the VCO. Resistor R2 enables the VCO to have a frequency offset if required. See logic diagram, Figure 1. Так вот, мой тактовый мегагерц задается резистором R2 или просто выставляется напряжением смещения на VCOIN?
Сообщение отредактировал Shaienn - Feb 25 2010, 13:23
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|