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

 
 
> программирование AD9954 через SPI посредством ADSP21364
WreWolf
сообщение Aug 25 2009, 16:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 10-11-07
Пользователь №: 32 211



В каком формате данные должны посылаться в ДДС,
и что необходимо для начала генерации.

ставлю I/O Synk в 1
Посылаю в MSBF
данные по 3-Wire в CFR1
I/O Update
данные PLL в CFR2
I/O Update
Записываю FTW0
снова I/O Update

где ошибка?
пробовал предварительно записать во все регистры 0x00
не помогло.

Смотрел времянку по которой с ДДС общаеться родной софт от АД. ничего нового не вижу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
WreWolf
сообщение Sep 15 2009, 08:47
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 10-11-07
Пользователь №: 32 211



Ну в исходники, то я сразу залез. Но много непонятного.
Просто из чтения даташита на ДДС.
Если установить бит автоматической очистки фазового акумулятора, то при перезаписи FTW0 автоматически должна поменяться частота генерации.
Итак. Программируем ДДС с компа(через родной софт) 1Мгц( 0x00AAAAAB),при частоте клока 48Мгц и коэф. х8 и влюченным VCO и Auto Clear Phase Accum.
отключаем плату DDS от LPT порта. Ставим ставим джампер на ресет(в землю) и переводим плату на ручное программирование(собственно мы отключаем буферные регистры(они дополнительно распаяны для программирования через ЛПТ)).
и шлем на SPI
0x04 // т.е. адресс FTW
и затем еще 32бита
0x01555555 т.е. частота 2МГц
затем дергаем I/O Update( он же FUD ) к единице на 20мкс и опускаем в 0
по даташиту Должна начаться генерация на новой частоте(2Мгц), но этого не происходит, частота как стояла на 1Мгц так и стоит...

куда копать уже не знаю.

Вот кусок даташита.
Пример программирования на генерацию
Цитата
SINGLE-TONE MODE
In this example, the part is programmed to output a 122 MHz
single-tone carrier, the device is clocked with a 20 MHz crystal
oscillator, and the clock multiplier is used to push the internal
system clock up to 400 MHz. Phase offsets are then added to
the carrier.
The programming steps include the following:
1. Write to Control Register 1 instructing the part to autoclear
the phase accumulator whenever the phase offset word
changes and issues an I/O update. Set Bit 13 in the CFR1
register. The address for CFR1 is 0; therefore, an instruction
byte of 0x00 is sent and 0x00 00 00 20 for data. Note that
users must write to all four bytes of the register.
2. Write to Control Register 2 setting the clock multiplier value
to 20, and the VCO range bit to its upper value. In CFR2,
Bit 7 to Bit 3 control the multiply value. To get a multiplied
value of 20 from 5 bits, the binary value is 10100. As
previously mentioned, also send Bit 2 to put the VCO into its
upper range (to get 400 MHz). Therefore, the instruction byte
is 0x01 and 0x00 00 A4 for data.
3. Calculate the tuning word to generate a 122 MHz output
from a 400 MSPS clock, load it into FTW0, and latch the
data written to the I/O buffers into their respective registers.
The frequency tuning word equation becomes (122 MHz/
400 MHz) × 232
, which yields 0x4E 14 7A E1. Send the
Instruction Byte 0x04 and four data bytes of 0x4E 14 7A E1.
Issue an I/O update, which transfers the data into the part.

Whenever a phase change is desired, calculate and write the
phase offset word to the part and issue an I/O update. For
example, if the first value is 45°, the phase offset word is
(45/360) × 214
, or in decimal, 2048. Therefore, write an
instruction byte of 0x05 and Data Byte 0x0800. When an
I/O update is issued, the phase accumulator clears, which
starts it from a known phase of 0°. It again accumulates at a
122 MHz rate, except now phase shifting each and every
sample by 45°.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- WreWolf   программирование AD9954 через SPI посредством ADSP21364   Aug 25 2009, 16:16
- - Genadi Zawidowski   Не забыть снять в 0 IOSYNC сразу после установки п...   Aug 26 2009, 05:46
- - Adlex   На всякий случай проверьте, не загоняете ли ДДС в ...   Aug 26 2009, 19:55
|- - Genadi Zawidowski   Цитата(Adlex @ Aug 26 2009, 23:55) На вся...   Aug 26 2009, 20:45
- - DpInRock   Формат описан абсолютно однозначно. Как минимум, ...   Aug 26 2009, 20:07
- - WreWolf   Ну скажем используються 2 платы EZ-LITE и Эвалюш...   Aug 29 2009, 07:23
|- - Genadi Zawidowski   Цитата(WreWolf @ Aug 29 2009, 11:23) Ну с...   Aug 29 2009, 08:17
- - WreWolf   про iosync попробую в понедельник. а spi работает...   Aug 29 2009, 08:34
- - Genadi Zawidowski   Понедельник прошёл... Как дела с синтезатором?   Sep 2 2009, 06:30
- - WreWolf   ну тип процессора ADSP-21364 стоит на плате EZ-Li...   Sep 4 2009, 11:06
- - WreWolf   я уже ничего не понимаю. посмотрел все сигналы иду...   Sep 8 2009, 09:04
- - Genadi Zawidowski   Цитата(WreWolf @ Sep 8 2009, 13:04) я уже...   Sep 8 2009, 20:14
- - WreWolf   И еще вопрос, зачем делается повторное программиро...   Sep 15 2009, 11:52
- - Genadi Zawidowski   О, Вы на правильном пути! Когда у меня поначал...   Sep 15 2009, 19:12
- - WreWolf   Т.е. вы имеете в виду перед программирование выста...   Sep 16 2009, 08:24
- - Genadi Zawidowski   iosync один раз после завешения переключения интер...   Sep 16 2009, 08:33
- - WreWolf   CODE #include <def21364.h> .section/dm seg_d...   Sep 19 2009, 10:18
- - Genadi Zawidowski   Я не увидел, где в вашей программе дёргается IOUPD...   Sep 19 2009, 12:10
- - Genadi Zawidowski   Да, хотел обратить внимание, что команда чтения из...   Sep 19 2009, 14:24
- - WreWolf   Ну вот это махание ioupdate bit set flags FLG1; l...   Sep 21 2009, 07:24
- - WreWolf   Вот в конце концов родилось такое. Более читаемый...   Sep 29 2009, 09:57
- - DpInRock   Поменяйте полярность SPI. На не по даташиту.   Sep 29 2009, 10:51
- - WreWolf   Я делаю так. По пунктам. 1 Программирую DDS с комп...   Sep 29 2009, 11:17
- - DpInRock   Либо данные правильно идут в DSS, либо - неправиль...   Sep 29 2009, 12:26
- - WreWolf   ну я тогда даже не знаю пробовал подать только кло...   Sep 29 2009, 17:12
- - WreWolf   Теперь я научился вчитывать все что записал комп в...   Oct 13 2009, 07:17
|- - Ivan Panov   Цитата(WreWolf @ Oct 13 2009, 10:17) Тепе...   Oct 14 2009, 09:45
- - Genadi Zawidowski   Так и я давал исходники для любых чипв... Оригинат...   Oct 14 2009, 11:17
- - WreWolf   Все приручилось. К сожалению пока криво, но это вр...   Oct 17 2009, 09:16
- - Genadi Zawidowski   А я про стробирование перепадами в 0 говорил ещё м...   Oct 17 2009, 11:51
- - WreWolf   Да я пока не использую вычисления. Все забито рука...   Oct 18 2009, 12:44
- - Genadi Zawidowski   Значит где-т битиков не досчитались. ЦитатаAsynchr...   Oct 18 2009, 17:14
- - WreWolf   Ну с битиками то все в порядке. На осциллографе вс...   Oct 19 2009, 06:48
- - Genadi Zawidowski   ЦитатаНу с битиками то все в порядке. На осциллогр...   Oct 19 2009, 19:21
- - WreWolf   не с битиками проблем нет. все уже работает без ли...   Oct 20 2009, 12:37
- - truebest   Добрый день всем...Старая тема но уж также такаяже...   Sep 26 2010, 08:28


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

 


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


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