реклама на сайте
подробности

 
 
> ATmega16 и ЦАП по SPI, Вопрос по подключению к AVR ЦАП AD7303
pev
сообщение Jul 11 2006, 10:48
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 19-09-05
Пользователь №: 8 710



Мне нужно подключить к ATmega16 ЦАП AD7303 по SPI интерфейсу.
Схему включения взял из datasheet на AD7303.
Код для МК писал в WinAVR.
Проблема возникла в том, что на выходе ЦАП появляется только первое значение, занесенное в ЦАП.
А последующие значение ничего не изменяют.
Может у кого-нибудь есть пример кода на С. Помогите пожалуйста.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Yura_K
сообщение Jul 11 2006, 15:49
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 5-05-06
Из: Ekaterinburg, Russia
Пользователь №: 16 821



В datasheet на DAC сказано, что вовремя передачи по SPI данных сигнал SYNC, держать в низком состоянии (GND). Если у Вас точно такой же код:
Код
  PORTB |= DAC_CS;     //Разрешаем работу ЦАП
  .....
  PORTB &= ~DAC_CS;     //Разрешаем работу ЦАП

то это неверно, т.к. PORTB |= DAC_CS устанавливает высокий уровень на SYNC во время передачи, а надо наоборот:
Код
  PORTB &= ~DAC_CS;  //Синхронизация записи в ЦАП (SYNC='0')

  SPI(HI_byte);                  //Передаем настройки ЦАП
  SPI(LO_byte);                  //Передаем данные для ЦАП

  PORTB |= DAC_CS;    // (SYNC='1')


--------------------
Чудес не бывает - бывает мало знаний и опыта!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016