|
Генерация частот не кратных входной, ищу идеи, Spartan 6 |
|
|
|
Aug 10 2011, 06:03
|

Местный
  
Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897

|
Цитата(akorud @ Aug 10 2011, 02:51)  Здравствуйте, не уверен что форум правильный, но попробую. Задача: делаю модулятор, символьная скорость 364kHz, частота дискретизации ЦАП 364*56 = 20384kHz. ПЛИС Spartan 6. Проблема в том, что символьная скорость должна точно соответствовать входному потоку битов, а с ним идут два клока - 1024kHz и 8192kHz. Ума не приложу как все это синхронизировать. НОК(8192, 20384) > 5GHz - PLL не потянет. Пока единственная идея - синхронизировать только символьную скорость (364 из 1024 легко на DCM можно сделать) и где-то в процессе интерполяции делать переход в другой клоковый домен - т.е. частоту дискретизации ЦАП генерировать локальным генератором. DDS не подойдет?
--------------------
Курильщик даташитов со стажем
|
|
|
|
|
Aug 10 2011, 06:25
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842

|
Цитата(des00 @ Aug 10 2011, 06:10)  ресамплер дробный поставить и не париться %) Если можно вопрос - в каком именно месте? Я только учусь, математику процесса знаю (модулятор заработал с первого раза), но вот практики маловато. На сегодня модулятор работает от локального генератора и FIFO на стыке генератора символов и модулятора регулярно или переполняется или опустошается - как ветер подует. Цитата DDS не подойдет? DDS естественно есть, проблема в том чем его тактировать. Задача не в генерации выходного сигнала, а в получении CLK или CE для генератора
|
|
|
|
|
Aug 10 2011, 08:19
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(akorud @ Aug 10 2011, 00:25)  Если можно вопрос - в каком именно месте? я ставлю на выходе демодулятора перед ЦАПОМ. Это позволяет мне, правда за счет усложнения модулятора (возможно вам потребуется его правка), работать на любой частоте ЦАП. в частности делал модемы с ресамплингом на 14/15, 49/50, 20/21. %) Найдите описание на чип от фирмы Provigent, там из блок схемы поймете как делать и куда ставить ресамплер. Цитата На сегодня модулятор работает от локального генератора и FIFO на стыке генератора символов и модулятора регулярно или переполняется или опустошается - как ветер подует. потому что гун локальный привязывать надо %)
--------------------
|
|
|
|
|
Aug 10 2011, 09:28
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842

|
Цитата(des00 @ Aug 10 2011, 10:19)  потому что гун локальный привязывать надо %) Так про это и вопрос - как  . Спасибо за идею, буду разбиратся.
|
|
|
|
|
Aug 10 2011, 10:35
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842

|
Цитата(petrov @ Aug 10 2011, 12:11)  Почему? Приемник не мы делаем. И работает он как работает - изменить нельзя. Ни символьную скорость ни то, что по получении первых N отсчетов начинает играть звук в реальном времени.
|
|
|
|
|
Aug 10 2011, 16:31
|
Знающий
   
Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107

|
akorud
Вообще говоря, если источник имеет тактирование с частотой, которая отличается от частоты тактирования в приемнике, ну хоть на 0.1%, то совершенно независимо от устройства промежуточных каналов связи Вы обречены на одно из двух: либо придется рвать поток, чтобы регулировать длину очереди на playback, либо он будет рваться сам (частота дискретизации в передатчике меньше, чем в приемнике) или, наоборот, наращивать задержку и переполнять буфера (частота дискретизации в передатчике больше, чем в приемнике). Слушатели по-любому должны будут проглотить нестыковку.
Я в свое время пошел по первому пути и подводил часы в приемнике в периоды тишины. Я думаю, что если Вы решите для себя этот вопрос, то у Вас автоматом появится схема FIFO с двумя асинхронными клоками, которое будет на одном из концов пропускать иногда такты, чтобы сбалансировать поток.
Сообщение отредактировал Hoodwin - Aug 10 2011, 16:34
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|