Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как синхронизировать два генератора?
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Цифровые схемы, высокоскоростные ЦС
_Alfred_
Здравствуйте!

Стоит следующая задача:
Нужно генерировать сигнал и излучать передающим датчиком. Сигнал трансформируется и принимается приемным датчиком, после чего оцифровывается при помощи АЦП. Данные с АЦП передаются в процессор и по ним производятся вычисления (рис.1). Из-за помех решено использовать несколько замеров, а их результаты суммировать (метод накопления).

Проблема в следующем: в качестве генератора используется AVR (тактовая до 16 (20) МГц), должна быть возможность более-менее плавно регулировать его частоту от 50% до 100%. АЦП должно работать на частотах 100МГц и более. Ес-но генераторы тактового сигнала у них разные и при многократном суммировании данные будут "плыть", а это очень сильно влияет на качество результата. Нужно, что бы в момент запуска фронты обоих тактовых совпадали (рис. 2) или расстояние между этими фронтами было постоянным.

Напрашивается ФАПЧ с несколькими выходами, но с ними никогда не работал, поэтому и прошу совета - ткните носом, что использовать help.gif

P.S. Конечно логично бы было запустить генератор на той же частоте что и АЦП - но это либо ставить дорогой МК, либо ПЛИС, а с ПЛИСами никогда не работал...
SFx
А вы последовательность какую то передаете на АЦП?

Если вы будете передавать перед непосредственной предачей сигнала некоторую известную последовательность с хорошей автокорреляционной функцией (хотя бы последовательность баркера) то вы можете построить на приемнной стороне схему подстройки частоты так, что одновренный запуск не будет нужен. собственно во всех системах связи используются подобные преамбулы.
_Alfred_
Цитата(SFx @ Nov 29 2008, 00:05) *
А вы последовательность какую то передаете на АЦП?

На генератор подается меандр + управление системой передачи (там с нескольких ног генерируется). Можно еще несколькими ногами генерировать под другие нужды - свободные ноги есть. На АЦП подается сигнал с приемника, который прошел через "среду". Принятый сигнал от АЦП подается на процессор и там по этому сигналу определяются параметры этой "среды".

Цитата(SFx @ Nov 29 2008, 00:05) *
Если вы будете передавать перед непосредственной предачей сигнала некоторую известную последовательность с хорошей автокорреляционной функцией (хотя бы последовательность баркера) то вы можете построить на приемнной стороне схему подстройки частоты так, что одновренный запуск не будет нужен. собственно во всех системах связи используются подобные преамбулы.

Тут не совсем пойму...
Если сдвиг будет на n целых тактов, и n будет немного меняться, это не страшно. Я пытаюсь избавится от ситуации, когда болтаться будет в пределах такта АЦП. Т.е. синхронизировать нужно тактовый сигнал АЦП (см. рис. 1). Кружками показаны такты АЦП.
Тут можно синхронизировать начало тактового АЦП и от генератора (рис. 2) - но задача остается...
Alex11
А Вы не хотите взять один 100 МГц генератор, использовать его для АЦП, и заодно поделить на 5 на одном чипе серии 74AC и использовать для тактирования процессора. Дальше уже значительно легче.
_Alfred_
Цитата(Alex11 @ Nov 29 2008, 22:49) *
А Вы не хотите взять один 100 МГц генератор, использовать его для АЦП, и заодно поделить на 5 на одном чипе серии 74AC и использовать для тактирования процессора. Дальше уже значительно легче.

Делить я смогу только целочисленно. Если беру Мегу16 которая до 16МГц, следовательно получу
8,333333333333
9,090909090909
10
11,11111111111
12,5
14,28571428571
16,66666666667
Это получается слишком грубый шаг. Для Меги желательно иметь возможность устанавливать частоту с шагом 0.1МГц.
Alex11
Что-то я не понял. Так Вы хотите менять частоту меандра, крутя генератор, питающий контроллер?
_Alfred_
Цитата(Alex11 @ Dec 1 2008, 22:04) *
Что-то я не понял. Так Вы хотите менять частоту меандра, крутя генератор, питающий контроллер?

Ну да. Чтоб плавно менять его частоту. Ведь меандр должен быть частотой около 7МГц, и естественно программно на 16ти мегагерцовом контроллере особо не по подстраиваешся.
alexkok
Цитата(_Alfred_ @ Nov 28 2008, 23:56) *
Напрашивается ФАПЧ с несколькими выходами, но с ними никогда не работал, поэтому и прошу совета - ткните носом, что использовать help.gif

P.S. Конечно логично бы было запустить генератор на той же частоте что и АЦП - но это либо ставить дорогой МК, либо ПЛИС, а с ПЛИСами никогда не работал...

Самое простое решение - использовать для синхронизации АЦП LC генератор с ударным возбуждением.
Если стабильность устроит, конечно.
андр
а как относятся тактовые частоты АЦП и процессора
например: тактовая частота процессора от 8МГц до 16МГц, при этом
тактовая частота АЦП всегда 100МГц, я правильно понял??
Alex11
Тогда Ваша задача не имеет решения теоретически. Ибо два генератора, один из которых с фиксированной частотой, а другой с плавно меняющейся не могут быть синхронны во всех точках по частоте.
Могу предложить только, если это Вас устроит, защелкнуть меандр 100 МГц клоками, при этом средняя частота сохранится, но положения фронтов будут гулять +-5нс, зато будут синхронны с АЦП.
Кроме того, если отклик среды похож на то, что изображено на картинке, то Вам не хватает частоты АЦП раз в десять, чтобы это измерить. Если же это вч шум, то его хорошо бы отфильтровать аналогом до АЦП, особенно при такой амплитуде.
андр
Возможно не всё правильно понял, но если использовать ADF4360-8
две штуки то очень даже легко получить два когерентных синфазных сигнала от 65МГц до 400МГц каждый.
_Alfred_
Цитата(андр @ Dec 2 2008, 10:11) *
а как относятся тактовые частоты АЦП и процессора
например: тактовая частота процессора от 8МГц до 16МГц, при этом
тактовая частота АЦП всегда 100МГц, я правильно понял??
Да. Желательно что бы АЦП всегда работал на максимальной частоте или близкой к ней.

Цитата(Alex11 @ Dec 2 2008, 10:20) *
Кроме того, если отклик среды похож на то, что изображено на картинке, то Вам не хватает частоты АЦП раз в десять, чтобы это измерить. Если же это вч шум, то его хорошо бы отфильтровать аналогом до АЦП, особенно при такой амплитуде.
Сигнал имеет другой вид. Это я нарисовал для пояснения сути. В принимаемом сигнале есть узкие пики которые собственно говоря и нужно отслеживать. Синхронизация нужна что бы пики не "смазывались". Ну и шум тоже там в широкой полосе, иногда по амплитуде больше самих пиков.

Цитата(андр @ Dec 2 2008, 10:39) *
Возможно не всё правильно понял, но если использовать ADF4360-8
две штуки то очень даже легко получить два когерентных синфазных сигнала от 65МГц до 400МГц каждый.
Спасибо, сегодня посмотрю с чем их едят smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.