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

 
 
> Проблемы конфигурации AD9959 по SPI, Не могу запустить микросхему AD9959
ks007
сообщение Jan 13 2014, 02:07
Сообщение #1


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

Группа: Участник
Сообщений: 76
Регистрация: 1-02-11
Из: Томск
Пользователь №: 62 613



Всем добрый день. У меня такая проблема не могу запустить AD99559. Питание в норме, тактую от внешнего генератора.
Проделываю следующие действия:

1. Включаю питание
2. Засылаю данные по SPI

Данные SPI
Код
//Данные инструкции
spi (0x00);
spi (0xF2);

spi (0x01);
spi (0xD0);
spi (0x00);
spi (0x00);

spi (0x02);
spi (0xA0);
spi (0x00);

spi (0x03);
spi (0x00);
spi (0x03);
spi (0x04);

//Данные настройки частоты
spi (0x04);
spi (0x02);
spi (0x8F);
spi (0x5C);
spi (0x29);

В ответ на каналах тишина.
Временная диаграмма записи в SPI показана на рисунке.

Что не так не пойму, может кто-то работал с данной микросхемой?

C пином RESET что делать?
Заранее благодарен
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ant_m
сообщение Jan 13 2014, 05:40
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



1) сбрасывать обязательно.
2) Читайте про FR2 внимательно.
IO_Update применяете?

Код
   /* Write CSR */
  DDS_SendByte(0x00);
  DDS_SendByte(0xF2); // channel 0-3 enable; single-bit serial (3-wire mode)
  DDS_Update(); // Need for switch in 3-wire mode
  //---------------------
  /* Write FR1 */
#ifdef Generator125M_clk
  DDS_SendByte(0x01); // CMD
  DDS_SendByte(0x90); /* FR1 = 0x900000: VCO = High, PLL = 4 */
  DDS_SendByte(0x00);
  DDS_SendByte(0x00);
#endif //Generator125M_clk
  /* Write FR2 */
  DDS_SendByte(0x02); // CMD
  DDS_SendByte(0x00);
  DDS_SendByte(0x00);

  DDS_SendByte(0x00); // CMD
  DDS_SendByte(0x32); // channel 0,1 enable; single-bit serial (3-wire mode)

  /* Write CFR */
  DDS_SendByte(0x03); // CMD
  DDS_SendByte(0x40); //40 amplitude modulation!!
  DDS_SendByte(0x03);
  DDS_SendByte(0x20);

  /* Write Amplitude control register (ASR) */
  DDS_SendByte(0x06); // CMD
  DDS_SendByte(0x00);
  DDS_SendByte(0x00); // set amplitude 0
  DDS_SendByte(0x00);

  /* Profile registers */
  DDS_SendByte(0x0A); // CMD
  DDS_SendByte(0xFF); // set amplitude 1023
  DDS_SendByte(0xFF);
  DDS_SendByte(0x00);
  DDS_SendByte(0x00);
  
  DDS_Update();
Go to the top of the page
 
+Quote Post



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

 


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


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