Страница 1 из 1

Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Пт май 20, 2011 20:05:26
UA3MQJ
Подскажите, возможно ли создать управляемый напряжением генератор с диапазоном частот от 8 до 16 МГц для того, чтобы тактировать AVR и на ходу менять частоту? Зависимость частоты от напряжения - линейная. Точность установки большого значения не имеет. Возможно есть спец. микросхемы.

Прошу дать совет.

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Сб май 21, 2011 07:30:05
maglev
Можно. И микросхемы есть.
А зачем?

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Сб май 21, 2011 19:03:12
borys
Это возможно. Была небольшая заметка на эту тему в английском журнале "Elektor", не помню
номер за 2009 (или 2010) год.

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Сб май 21, 2011 19:12:03
Rimsky
В AVR семейства ATmega48_88_168, есть замечательный регистр (CLKPR – Clock Prescale Register) который позволяет на ходу в широких пределах делить тактовую частоту ядра.

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вс май 22, 2011 14:41:30
borys
Уважаемый Rimsky!
Топикстартеру требуется возможность плавно и непрерывно менять тактовую частоту. Регистр, на
который Вы ссылаетесь, этого не может.

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вс май 22, 2011 14:50:10
МитяРа
Мяу всем..
UA3MQJ поищи, есть микрухи в DIP-металлическом корпусе, так называемые VCO, управляемые напряжением генераторы...

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вс май 22, 2011 16:30:25
bolek
Из широко распространенных - 74HC4046, там кроме генератора есть еще пара фазовых детекторов, так что можно и слежение по частоте организовать.

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Пн май 23, 2011 14:29:21
МитяРа
Только щас вспомнил, в ТТЛ есть микруха К531ГГ1, это ГУН и там два канала..
Конечно греется падла, но работает нормально...

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вт май 24, 2011 07:58:29
UA3MQJ
Спасибо за советы - буду искать по тому, что нашли.
Микроконтроллер будет в качестве генератора звуковых частот. Менять частоту тактового генератора хочу как раз для того, чтобы плавно смещать сетку генерируемых частот.

Вот только вопрос: не появятся ли сбои в работе при изменении частоты?

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вт май 24, 2011 08:42:25
uk8amk
не появятся ли сбои в работе при изменении частоты?
Работает нормально. Делал ради забавы петлевой синтезатор частот где МК работал как ДПКД. VCO -> на вход заместо кварца. Правда частоты были далеко не звуковые:)
Кстати, в AVRках есть внутренний генератор, который нехило гуляет от температуры. Сбоев ядра от этого, как вы догадываетесь, не наблюдается.

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вт май 24, 2011 10:37:22
Мастер Ломастер
сами Атмеловцы говорят, что сбоев не будет, если изменение периода тактовой частоты (меандр) от периода к периоду будет не более 15% (точно не помню) - в общем, главное, чтобы не было скачков от 8 к 16 МГц например или похожего. а при плавном и небыстром изменении сбоев быть не должно.
ну и, наверное (лично предположение) в процессе изменения частоты не стоит что-то записывать в EEPROM и FLASH...

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вт май 24, 2011 12:08:37
UA3MQJ
Остановлюсь, пожалуй, на 4046. Нашел к ней калькулятор:
http://www.changpuak.ch/electronics/calc_03.php
Он считает какие будут диапазоны частот от заданных значений резисторов.
Открыл код страницы, а там расчет весь есть на JScript.
Но нет расчета от заданных диапазонов частот -> значения резисторов.
Решать системы уравнений мне лениво, по графикам в даташите тоже точность низкая. Поэтому написал расчет в Дельфи и полным перебором а потом уточнением вычислил:

r1=7; r2=34,7; C=40; F.MIN=8005,312; F.MAX=16009,95
r1=7; r2=34,67; C=40,06; F.MIN=8000,415; F.MAX=16000,266
r1=7; r2=34,675; C=40,059; F.MIN=8000,085; F.MAX=16000,117

Остается еще вопрос: как данные передавать в МК? Если UART завязан на частоту работы, то скорость порта тоже уплывет.

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вт май 24, 2011 12:12:16
Мастер Ломастер
UA3MQJ писал(а):Остается еще вопрос: как данные передавать в МК? Если UART завязан на частоту работы, то скорость порта тоже уплывет.
а почему вы избрали такой странноватый путь - генерацию сигналов МК путем изменения его тактовой частоты? не проще ли и не правильнее ли генерировать нужные вам сигналы при помощи МК, работающего на фиксированной частоте, т.е. менять частоту выходных сигналов ПРОГРАММНО?

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вт май 24, 2011 13:41:53
UA3MQJ
Если в двух словах, то в связи с тем, что так требует "техническое задание". Ну или "достигнуть требуемых результатов было решено именно таким способом".

Просто МК зациклен и постоянно выдает на свои выходы 12 меандров разных частот, которые расчитываются по принципу DDS. То есть есть аккумулятор, к нему прибавляется значение и выводится на порты. Программа получается с фиксированным количеством тактов, поэтому получается известная дискретизация. Плюс к этому нужно обеспечить частотную модуляцию этих сигналов - входным аналоговым сигналом. Допустим сигнал от 0 до 1 вольта. При достужении 1-го вольта все частоты будут увеличены уже в 2 раза. По идее можно было бы этот сигнал оцифровать и в соответствии с ним увеличивать шаг. Но тут потребуется операция умножения шага на коэффициент от 1 до 2. Но это умножение - и оно очень медленно вычисляется на МК.

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вт май 24, 2011 13:52:51
Мастер Ломастер
UA3MQJ писал(а):Но тут потребуется операция умножения шага на коэффициент от 1 до 2. Но это умножение - и оно очень медленно вычисляется на МК.
ну не так уж и медленно, если у вас не attiny какой-нибудь - в мегах есть аппаратный умножитель...

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вт май 24, 2011 14:20:30
UA3MQJ
Как раз тини. Передачей данных от основного контроллера думаю решить через USI, или через USART в синхронном режиме.

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вт май 24, 2011 19:31:01
Bilbo
А если по прерываниям? VCO вешаете на внешнее прерывание, а таковая - как обычно, сколько надо для UART'а. Ну и по прерываниям работаете...

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Вт май 24, 2011 20:19:14
UA3MQJ
Пробовал, там результаты по точности генерируемых частот получились не особо удовлетворительными.

Re: Тактовый генератор 8-16 МГц (VCO) для AVR

Добавлено: Ср май 25, 2011 14:53:06
МитяРа
UA3MQJ, а может те в сторону МАХ038 посмотреть, она как раз до 20МГц..
http://www.terraelectronica.ru/catalog_ ... 6_1&Open=1

P.S. Или вот случайно нашёл, у SiLabs-ф оказывается тоже есть VCO-шки: http://www.electrosnab.ru/silabs/Silabs_4_2.htm