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

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

1 61 189

Ищите, всё-ж-таки ваше предложение, а у нас инициатива всегда наказывается

На весовом ОУ можно было бы сделать, но как обеспечить точность младших разрядов, вот вопрос вопросов. Не так всё просто в этом мире.

 

Для madgrey!
Простите за назойливость, но Вы с прошивой не разбирались?

 

GM: Ну а тиня 2313 может аппаратно дать регулируемые с дискретом в 50 нс период и заполнение от 150 нс до 3275 мкс.

Это с частотами, примерно, от 3МГц до 150Гц?
Верхняя - более чем достаточна, а вот нижняя - маловато будет...
Нельзя ли нижнюю частоту понизить за счёт верхней до 0,1Гц, что бы период был от 10 секунд?
Шим, вроде, больше на низких частотах нужен... или нет?

GM: Двойные нули получат в любом случае.

Объясните, наконец, что такое "двойные нули"?

GM: Но народ как-то в штыки воспринял идею компаратора, отсюда и решение оставить таблицу меандра.

Ну давайте поднимем этот вопрос...
Прикинем, что получаем и теряем в одном или другом вариантах получения меандра.

Мне, например, хватило одного Вашего замечания про джитер при формировании его методом DDS. В то же время получить меандр из синуса - пара пустяков.
А вот иметь ШИМ - это да, это нужно. А его уже из синуса просто так не получишь.

 

из доступных 8-битных - AD7524 (250нс), AD7801 (2мкс), TLC7528 (100нс, двойной).
имхо цифровой ШИМ лучше формировать таймером, 2 канала с раздельным регулированием.
выход цифра/аналог переключать низкоомными ключиками (74lvc1g66/3157, ts5a3159).

 

GM: ATMega8 до 16 МГц работает, надо 20.

может все-ж на мегу48 (88) те-же 20MIPS
там и флеша по-более, и оперативки 512 (1024) .
а если места во флеше не хватает - использовать внешнюю ЕЕПРОМ в которой
держать все таблицы, и по мере надобности переносить в RAM.

ЗЫ. таблицы можно и перезаписывать, custom made, если с компом связь будет и софт позволит.

думаю, что 100000 циклов хватит кому хош на эксперименты.

 

GM: ATMega8 до 16 МГц работает, надо 20.
А 88A не подойдет? Она до 20. Без А снимаются и могут быть не доставабельны.

 

Alexey: А 88A не подойдет? Она до 20. Без А снимаются и могут быть не доставабельны.
Решающим аргументом в прошлый раз было сопоставление цены тиньки и прочих контроллеров. Во вторник закупил 2 тиньки по 2$, продавец сказала, что поставщик в новой партии цену поднимет в полтора раза.
Для новоприбывших : давайте не будем критиковать архитектуру прибора, а постараемся внести свой посильный вклад в его развитие. Чем активнее будем это делать, тем оперативнее он получится.
DWD: Объясните, наконец, что такое "двойные нули"?
Это первая десятка тех, кто проголосовал за старт этого проекта. Вы по моим подсчетам 002 (ну или 001, если считать GM {человека, который поднял быстрый код для тинек} 000, как он просил ), Tadas вообще 007 и т.д.

deepzone: Для madgrey!
Простите за назойливость, но Вы с прошивой не разбирались?

Это Вы меня извините за неспешность. Сейчас поужинаю и приступлю

 

DWD: Нельзя ли нижнюю частоту понизить за счёт верхней до 0,1Гц, что бы период был от 10 секунд?
Есть предделитель на N=8/64/256/1024 у таймера, но тогда дискрет упадёт, будет не 50 нс, 50*N нс, подходит?

 

GM есть вопросы по теме "шимогенератора", затронутой GM:
1. А можно его будет научить генерить пачки с требуемым количеством импульсов в пачке и межпачечным (во сказанул ) зазором
2. А можно сделать этому девайсу интерфейс управления, аналогичный Вашуму DDS. Ну чтобы он стал еще одной платой в довесок к проекту?

По DDS1:
Есть идеи, как делать фиксированный фазовый сдвиг при работе двух тинек? Когда-то был разговор про квадратуры, сегодня, пока собирал схему, вспомнил его. Ведь если задаваться временным сдвигом, то теряется возможность перестройки частоты с сохранением фазового сдвига между сигналами. Фазу в принципе может считать мастер, но как ее передать ведомым? Хочется услышать Ваше мнение

 

madgrey: Есть идеи, как делать фиксированный фазовый сдвиг при работе двух тинек?
настройки передавать по посл.каналу, синхронизировать можно например переходом слейва в Sleep, мастер подает импульс на вн.прерывание слейва, тот просыпается и синхронно оба запускают таймеры.