Полная версия этой страницы:
DDS AD9958
Всем привет.
Пытаюсь запустить данный девайс в режиме 2-wire (т.е. по-умолчанию).
Вот только он игнорирует все мои потуги.
Записываю по spi данные в регистр задания выходной частоты или в любой другой, после этого даю сигнал update. Реакции ноль.
Использую следующие сигналы: CSn, SDIO_0, SCLK, IO_UPDATE.
А обязательно использовать сигналы reset и SDIO_3, который в этом случае выполняет непонятную фнкцию SYNC_IO?
S_Alex
Nov 24 2012, 17:27
Цитата(torik @ Nov 20 2012, 09:34)

Всем привет.
Пытаюсь запустить данный девайс в режиме 2-wire (т.е. по-умолчанию).
Вот только он игнорирует все мои потуги.
Записываю по spi данные в регистр задания выходной частоты или в любой другой, после этого даю сигнал update. Реакции ноль.
Использую следующие сигналы: CSn, SDIO_0, SCLK, IO_UPDATE.
А обязательно использовать сигналы reset и SDIO_3, который в этом случае выполняет непонятную фнкцию SYNC_IO?
C 58 не работал, а 59 использовали (там 4 канала а не 2) - насколько помню там была тонкость с разрешением работы каналов - после задания режимов работы их необходимо было или разрешить заного или пересбросить - точнее отпишу в понедельник - посмотрю на работе исходники.
S_Alex
Nov 26 2012, 05:36
Используем в single bit 3-wire (SDI, SDO, SCLK, CS, reset) использование reset необходимо, так как нет soft reset. SYNCIO неиспользуем - жёстко 0,
программмируем сначала CSR - разрешаем нужный канал - делаем для него установки FR1 FR2- запрещаем канал CSR, разрешаем следующий канал - делаем установки - запрещаем, - разрешаем все каналы.
Я пытаюсь в режиме 2-wire запустить.
1) Reset у меня посажен на "0" через резистор. Надо обязательно подавать ресет перед записью по SPI?
2) SYNCIO - это выход SYNC_CLK? На нем я наблюдаю вчетверо меньшую частоту, чем на входе, как положено.
3) Насчет порядка работы с CSR понял.
4) В даташите нет диаграммы записи регистров с разрядностью более 8 бит. Написано лишь, что пишите сколько надо, он сам адресует. А как писать - младшим байтом вперед?
Вообще, он никаким образом не реагирует на мои обращения. Делаю так:
- пишу в регистр 04 некое число
- пишу в регистр 1 последовательность 0х50, 0х00, 0х00.
- даю импульс на IO_UPDATE
Должен хотя бы наблюдать, что PLL завелась, однако на выходе все таже входная частота, деленная на 4.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.