ЦАП R-2R

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 17
Зарегистрирован: Вс мар 09, 2008 22:17:36
Откуда: Ростов НД

Сообщение topor »

Хочу синус. Не вдупляю как прогу на AVR написать. (8 -разрядов)
Три проекта посмотрел--везде таблицы разные...один вообще 1/4 периода в pgm записал остальное вычисляет.
Для чайника объясните пожалуйста и поподробнее :cry:
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина

Сообщение Krik99 »

Создаеш массив типа с значениями порта, а потом через определённое время почередно выводиш масиив в порт к которому подключена ЦАП.
Изображение
Контактная информация:
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев

Сообщение BCluster »

Да можно и не создавать таблицу если время есть.

Код: Выделить всё

int pi = 3.14;
while(1)
for (i=0;i<360;i++)
{
PORTA=(int)((1+sin(i*pi/180))*128); //синус будет в области [0;2]
}
Контактная информация:
Родился
Сообщения: 17
Зарегистрирован: Вс мар 09, 2008 22:17:36
Откуда: Ростов НД

Сообщение topor »

спасибо за ответы.
времени скорее всего не будет .120-150кгц(причем надо дуть туды сюды тоже очень быстро) ген качающ частоты.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Сообщение ELcat »

О, а я подобное на ПЛИСке делал :)) Табличка калькулятором посчитанная на 1/4 периода и перебираешь взад-вперёд, старший знак ЦАП используешь как +/-, вобщем в 72 ячейковую всё поместилось с схемой синхронизации и бооольшим запасом :)
Реклама
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

ELcat
а с котами поделиться? :wink:
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Сообщение ELcat »

Чем именно поделиться? Проект делался по работе поэтому не могу, секрет :) Что касается принципа, то я вроде понятно его описал. Делишь частоту кварца до нужного значения, ею тактируешь "адресный" счётчик, с него адрес идёт на "таблицу" с 1/4-тью периода синусоиды. Кроме того есть счётчик четвертей, который управляет направлением счёта "адресного" счётчика и старшим битом ЦАПа. Маленькая "хитрость", этим же старшим битом инвертируются данные с выхода таблицы.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»