Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
17.07.2011, 13:50
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
ad9951
Здравствуйте. Может вы мне подскажите. Собираю генератор на базе AD9951 и у меня есть небольшая проблема. не могу получить импульсы на выходе микрухи. Общение с ней правильное т.к. я включаю выключаю генерацию на ногах выхода кристала и на выходе синхронизации. может подскажите какие биты надо включить. вот моя конфигурация
Цитата:
|
CFR1=0;
///////////////////CFR1////////////////////////////////////////
Sync_Clock_PIN_disable
SDIO_Input_Only_2_WARE
Enable_COS_Output
Autoclear_Phase_Accum_ON
Automatic_Sync_Disable
Load_ARR_I_O_UD_ON
OSK_Enable_ON
Auto_OSK_Keying_ON
/////////////////////////////////////////////////////////////
CFR2=0;
///////////////////CFR2/
High_Speed_Sync_Enable_OFF
Hardware_Manual_Sync_Enable_OFF
CRYSTAL_OUT_Pin_Active_Off
PLL_Multiplication_Factor=5;
/////////////////////////////////////////////////////////////
AD9954_WRITE (cfr1,DDS_AD9951_CFR1);DELAY_MS(5);
CFR2=CFR2|((INT32)PLL_Multiplication_Factor‹‹3);
AD9954_WRITE (CFR2,DDS_AD9951_CFR2);DELAY_MS(5);
AD9954_WRITE (0x0fff,DDS_AD9951_Amplitude_Scale_Factor);DELAY_M S(5);
AD9954_WRITE (0x0f,DDS_AD9951_Amplitude_Ramp_Rate);DELAY_MS(5);
AD9954_WRITE (0x00ffff,DDS_AD9913_FTW);DELAY_MS(5);
|
|
|
|
Эти 2 пользователя(ей) сказали Спасибо Gladkih за это сообщение:
|
|
|
17.07.2011, 18:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: ad9951
Есть ли понимание того, что приведено в тексте поста?
Если есть, читали ли даташит на 9951?
Если читали, гляньте на значения констант (FTW, ASF, ARR), которые вы пишете в кристалл и сравните с даташитом.
И вы все увидите сами.
Если же есть трудности с пониманием - начните со второго пункта.
Это нормальный путь в освоении DDS. Если он покажется долгим и трудным - продолжайте спрашивать. Обязательно помогут, если вопросы будут конкретными.
|
|
|
|
17.07.2011, 18:34
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Re: ad9951
Огромное спасибо за ответ. Я уже три дня вожусь с ним и никак не рожу. Перед этим возился с АД9913 там все отлично работало.
Есть вопросы
1. что вы имеете ввиду под словом константа?
2. Назначение регистра АРР я так и не понял. а насчет остальных двух регистров я не пойму что не так вы видите?
и еще как узнать что пропаяна подложка. как я понял из документации что подложка это общий для цапа. у меня сейчас на выводе прямом все время висит 1в. Прямой вывод сидит через 56 ом на 1.8в инверсный не задействован.
Огромное спасибо еще раз.
|
|
|
Сказали "Спасибо" Gladkih
|
|
|
17.07.2011, 22:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: ad9951
Сообщение от Gladkih
|
1. что вы имеете ввиду под словом константа?
|
Тут я немного поторопился с советом. Я сначала не понял, что вы работаете с библиотечными функциями, передавая им эти константы как параметры.
Цитата:
|
2. Назначение регистра АРР я так и не понял
|
Попробуйте выключить два регистра вообще. Тогда вы не сможете программно управлять амплитудой, но на период отладки оно вам и не нужно.
В приложении привел цитаты из PDF по этим двум регистрам.
Касательно FTW - попробуйте его сначала просчитать по приведенной в доке формуле и загрузите именно его. Чтобы увидеть, правильно ли у вас синтезируется частота. Посмотрите правильно ли у вас выбран множитель клока.
Цитата:
|
и еще как узнать что пропаяна подложка. как я понял из документации что подложка это общий для цапа.
|
Плата не вашего изготовления? Вы не знаете, пропян ли термопэд? Тестром прозвоните. Во вложении цитата рекомендации паять его на аналоговую землю. Если у вас обе земли соединены вместе - особо не заморачивайтесь, паяйте на ту, которая ближе. Однако, при "ловле блох" эта рекомендация важна.
Цитата:
|
сейчас на выводе прямом все время висит 1в. Прямой вывод сидит через 56 ом на 1.8в инверсный не задействован.
|
Не дисбалансируйте токовые зеркала. Подключите нагрузку на второй выход.
|
|
|
|
17.07.2011, 23:06
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Re: ad9951
спасибо за ответ. но как узнать пропаяна земля или нет. дело в том что заливка под микрухой есть и она общая для аналоговой и цифровой земли
|
|
|
Сказали "Спасибо" Gladkih
|
|
|
16.01.2012, 11:50
|
|
Прохожий
Регистрация: 16.01.2012
Сообщений: 6
Сказал спасибо: 3
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: ad9951
ut1wpr, А можно ваши исходники глянуть? Очень нужно подключить синтезатор ad9951, а не получается нифига((
|
|
|
|
17.01.2012, 01:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: ad9951
Сообщение от warpez
|
ut1wpr, А можно ваши исходники глянуть? Очень нужно подключить синтезатор ad9951, а не получается нифига((
|
Их нет у меня.. И вообще, если исходники, то для какого класса МК? Исходников как таковых просто не бывает. Надо же язык программирования и тип МК указывать.
Эти синтезаторы хорошо продокументированы, и если следовать рекомендациям по управлению, все должно работать. Это не контроллер, его программировать не надо, все на уровне включил-выключил.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
20.02.2012, 12:35
|
|
Прохожий
Регистрация: 16.01.2012
Сообщений: 6
Сказал спасибо: 3
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: ad9951
Да уж... Тем не менее тоже рожаю долго))) Учитывая что с такими микрухами до этого вобще не работал.
Я отправляю пакеты данных по SPI (режим SPI = 0), делаю IO_update длительностью в 10 мкс.
Записываю сначала адрес регистра, потом данные (по MSB), после io update. Но этот проклятый синтезатор так и не хочет работать. Я знаю, что где-то ошибка, но где она именно - не могу найти.
Вот что я туда отправлял:
0x00, 0x00200008 //CFR1 Control function register 1
0x01, 0x1802A4 //CFR2 Control function register 2
0x02,0xC450 //ASF Amplitude scale factor register
0x03,0xFC //ARR Amplitude ramp rate register
0x04,0x2A0070A3 //FTW0 Frequency tuning word register
К сообщению прилагаю на всякий исходный код моей программы для микроконтроллера atmega8 (написанно в среде codevision AVR) и графики с логического анализатора.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:21.
|
|