Измерения | DDS-генератор на AVR - нужна помощь |
|
---|---|---|
AlexPivkin |
|
|
GM писал: Хочу очень. |
|
|
Кто подскажет. |
|
|
Какие искажения, фронты завалились что ли? |
|
|
Да, прямо с выхода контроллера, и с вывода HS тоже. |
|
|
AlexPivkin Можете отфоткать эти самые искажения для более точного диагноза? AlexPivkin: и с вывода HS тоже. А вот это очень даже интересно, т.к. по схеме HS прямиком с порта контроллера идеть... |
|
|
AlexPivkin: GM писал: Не маловат диапазон генератора, всего 65 кГц? Есть простой способ расширить диапазон до 125 кГц при тех же минимальных 16 выборках на период (это на 125 кГц, на 65 кГц будет 32 выборки). Не хотите попробовать? Хочу очень. И фузы в CVAVR можно уточнить В программе надо найти строчки if ((0xFFFF-SG.freq)>=SG.deltafreq) и заменить на if ((0x1FFFF-SG.freq)>=SG.deltafreq). Верхняя частота должна измениться вдвое. По поводу завалов частоты, возможно, виноват ОУ LM358N - слишком большая входная ёмкость. Вообще, он плохо работает от 5В, попробуйте запитать его от 12В. Сделал себе ввод частоты от клавиатуры, причем НЕ ПРЕРЫВАЯ генерации. Мне показалось, что так удобнее. |
|
|
Собирал этот генератор примерно год назад. Просьба к GM. |
|
|
Ну никак не могу прикрепить картинку с фузами. в рабочем окне CodeVisionAVR |
|
|
К сожалению, у меня другая схема генератора, правда, добавил кварц 20 МГц. Как видите, там нет дисплея, есть только 3 кнопки и 4 светодиода. Отсюда и программа другая, так что прошивка для ATtiny2313 вряд ли вам поможет. Fuse High Byte = 0xDF, разрешён SPIEN, остальные фьюзы оставлены непрошитыми, т.е.в единичках. Прога написана на ассеблере. Работаю я в AVRstudio4.18, прошиваю программу драконом. Немного о моей программе. Частота выдачи fS= 2Мвыб/с, 32-битный аккумулятор фазы, занимает 780 байт флеши. Одной кнопкой изменяется шаг перестройки Df: fMIN, 100Гц, 1кГц, 10кГц, 100кГц, загорается соответствующий диод, двумя другими "+" и "-" изменяется частота f=f±Df. Ещё есть антидребезг на кнопки, плюс имеется возможность ввода любой частоты по последовательному каналу. Естественно, при нажатии на кнопки или при вводе частоты генерация не прерывается. Интересно наблюдать на осцилле, как генератор мгновенно переходит с одной частоты на другую. Что касается вашей программы. Программа не совсем оптимальна с точки зрения основной функции - генерации синуса. Цикл занимает 10 тактов, что при 16 МГц кварце даёт fS=1.6Мвыб/с, и всё это при 24-разрядном аккумуляторе. Можно было бы сделать 7 тактов, что дало бы fS=2.28Мвыб/с и, в свою очередь, увеличило бы максимальную частоту генерируемого синуса без потери качества. |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |