Свежие обсуждения
Измерения

DDS-генератор на AVR - нужна помощь

1 180 189

GM: производительность нужна далеко не всегда. И потребление далеко не всегда важно. Например, многие разработки в своё время перевёл с 51-х на AVR. Процессор стал на порядок быстрее, но устройства ничуть лучше не стали - они как и раньше просто выполняли свои функции. Теперь такая же картина будет при переходе на ARM. Совершенно лишняя вычислительная мощность, но процессор слабее стоит дороже. Безумный мир.

Насчет ПДП я тоже сначала возлагал надежды, но в задаче DDS не вижу ему применения. И неопределенность с IO тоже в ARM-ах отпугивает. А еще ужасная сложность инициализации периферии - те же задачи теперь придется делать дольше. Хотя, говорят, таймеры у STM32 классные. Только на них надежда в плане получения удовольствия от нового семейства. Ах, да, еще АЦП и ЦАП 12-разрядные на борту, этого очень не хватало, например, в проекте лабораторного источника питания.

 

GM: Для DDS пдп реально даст замедление, увы.
Возможно и так, но если делать попеременно вывод из двух блоков памяти во встроенный цап, а проц будет подготавливать теневой блок , может повезти.
А вот здесь написано про 5 тактов : http://www.gaw.ru/html.cgi/txt/doc/micros/arm/cortex_arh/4_2_3.htm

 

Так и есть. Простая арифметика. Программа подготовила текущую выборку, осталось только выдать её в порт - одна однотактовая команда OUT. Вместо этого вы предлагаете выдать текущую выборку не в порт, а в память с тем, чтобы пдп в дальнейшем выдал её в порт. Как правило, пдп требуется два такта на выдачу выборки, к тому же он приостанавливает работу процессора. Где тут выигрыш? Нету, только проигрыш тактов.

 

ЛИ: GM: производительность нужна далеко не всегда. И потребление далеко не всегда важно. Например, многие разработки в своё время перевёл с 51-х на AVR. Процессор стал на порядок быстрее, но устройства ничуть лучше не стали - они как и раньше просто выполняли свои функции

Ну, это вам такие задачи попадались...А вот у меня пример из далёких 80-х. Некто Багдян, мастер радиоспорта, опубликовал схему, которая принимала код Морзе, преобразовывала в алфавитно-цифровые символы и выводила на дисплей. Схема была, чтобы не соврать, на 33 микросхемах малой степени интеграции. На вход поступали импульсы кода Морзе, чтобы получить эти импульсы, предлагалась другая схема - аналоговый интерфейс, которая превращала радиоимпульсы с частотой заполнения 1 кГц в видеоимпульсы, ну там фильтрация, ограничение, защита от импульсных помех и т.д., тоже порядка 20 корпусов. Можете сами посчитать, сколько всего микросхем потребовалось. Потом была опубликована схема на ПЯТИ микросхемах (включая микроконтроллер), которая заменяла багдяновские 33 мксх. А потом ваш покорный слуга взял и написал программу для аврки, которая ОДНА заменила все вышепомянутые мксх. Т.е., выход приёмника напрямую подключался к встроенному АЦП, далее фильтрация, подстройка скорости и амплитуды сигнала, преобразование кода Морзе в символы и выдача их на дисплей мобильного телефона осуществлялась непосредственно в цифровом виде. Не последнюю роль здесь играла производительность проца. Так-то.

ЛИ:И неопределенность с IO тоже в ARM-ах отпугивает. А еще ужасная сложность инициализации периферии - те же задачи теперь придется делать дольше

Неопределённости больше нет. В армах NXP есть настройки FASTIO, которые позволяют выводить 32 бита в порт за один такт. Да и сложность периферии вами преувеличена, надо только ЧЁТКО уяснить принципы построения периферии...

 

Господа, товарищи, гуру.
Опять вас понесло в сторону.
Конкретно, будет генератор, или как?
А Багдяна я помню, в Радио журнале шум стоял.

 

Здесь есть DDS генераторы на AD9851 0-50мгц
http://radiokit-e.ru

 

Леонид Иванович: flower: а вот эта моя конструкция не подойдет? http://www.530.ru/electronics/projects.php?do=p072

А будет этот (и этот (http://www.530.ru/electronics/projects.php?do=p035)) генераторы работать с ATTINY2313 и как этот МК запрограммировать при такой замене?

 

ZXC: будут. Фузами нужно выбрать работу от внешнего кварца без деления на 8.
А вообще, схемы эти очень старые, если интересует что-то поновее, пишите на почту.

 

Спасибо, Леонид Иванович.
Да, интересует, сейчас только ваш адрес почты найду.

 

GM: Вместо этого вы предлагаете выдать текущую выборку не в порт, а в память
Таки да !
А где у АРМ нашлась "однотактовая команда OUT" ?
GM: Как правило, пдп требуется два такта на выдачу выборки,
Здесь 5 , в лучшем случае.
GM: к тому же он приостанавливает работу процессора
У Кортекса, якобы, нет.