Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
06.11.2012, 14:33
|
|
Частый гость
Регистрация: 06.11.2012
Сообщений: 10
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Помогите разобраться с программированием AD9854 по SPI!!!!
Добрый день, форумчане!!!
Возникла проблема с программированием AD9854 по SPI. Вроде все делаю по даташиту...но не работает. Пробовал программить по параллельному интерфейсу, все работает. Особенно интересует сигнал Upd_Clk. После master reset c него идут импульсы с определенной частотой (я как понял это так работает внутренний апдейт). Пытаюсь настроить апдейт внешний, записывая нужную конфигурацию в control register, ничего не меняется, импульсы с этой ноги продолжают идти. Всю голову сломал . Помогите пожалуйста разобраться, может кто сталкивался с данной микросхемой!!!!!
|
|
|
|
12.11.2012, 13:10
|
|
Частый гость
Регистрация: 06.11.2012
Сообщений: 10
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите разобраться с программированием AD9854 по SPI!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
12.11.2012, 14:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Помогите разобраться с программированием AD9854 по SPI!!!!
Сообщение от Knio9705
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
Ну чего кричим? Гугл забанили?
http://home.comcast.net/~aa0zz/hfvfo...6F877-519b.asm
Надеюсь, там все понятно?
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
12.11.2012, 16:42
|
|
Частый гость
Регистрация: 06.11.2012
Сообщений: 10
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите разобраться с программированием AD9854 по SPI!!!!
Уже видел и пробовал, не работает....
|
|
|
|
12.11.2012, 16:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Помогите разобраться с программированием AD9854 по SPI!!!!
Сообщение от Knio9705
|
Уже видел и пробовал, не работает....
|
Какие ваши предложения в этом случае? У людей работает. У вас нет. Просите людей о помощи, может подскочат, проинициализируют... Если на это нет надежды, помучайте их письменно. Поиск выхода из этой ситуации за вами.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
13.11.2012, 08:59
|
|
Частый гость
Регистрация: 06.11.2012
Сообщений: 10
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите разобраться с программированием AD9854 по SPI!!!!
Сообщение от ut1wpr
|
Какие ваши предложения в этом случае? У людей работает. У вас нет. Просите людей о помощи, может подскочат, проинициализируют... Если на это нет надежды, помучайте их письменно. Поиск выхода из этой ситуации за вами.
|
Я все же не понимаю как этот Upd Clk работает. Порт процессора, который управляет этим сигналом, настроен как выход. А импульсы, идущие с ноги Upd Clk DDS-ки, не прыгают выше 1 В, так как эта нога у DDS настроена тоже ,соответственно, как выход после Master Reset. Так, как я понимаю, если бы внешний Upd Clk заработал, импульсы с этой ножки DDS, получается, перестали бы идти????
А также непонятно последовательность операций, необходимых для записи в CR после того, как Master Reset перевели из 0--››1 и потом из 1---››0 (когда и куда дергать IOReset и Upd Clk)!!!!!!
|
|
|
|
13.11.2012, 09:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Помогите разобраться с программированием AD9854 по SPI!!!!
Сообщение от Knio9705
|
Я все же не понимаю как этот Upd Clk работает. Порт процессора, который управляет этим сигналом, настроен как выход. А импульсы, идущие с ноги Upd Clk DDS-ки, не прыгают выше 1 В, так как эта нога у DDS настроена тоже ,соответственно, как выход после Master Reset. Так, как я понимаю, если бы внешний Upd Clk заработал, импульсы с этой ножки DDS, получается, перестали бы идти????
А также непонятно последовательность операций, необходимых для записи в CR после того, как Master Reset перевели из 0--››1 и потом из 1---››0 (когда и куда дергать IOReset и Upd Clk)!!!!!!
|
Я же вам дал ссылку на работающую программу. Вы не можете самостоятельно проанализировать подпрограмму инициализации, сравнивая ее с текстом даташита? Да и каменты в программе присутствуют. У вас с английским как? Не надо сердиться, я хочу помочь, потому и спрашиваю.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
13.11.2012, 11:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Помогите разобраться с программированием AD9854 по SPI!!!!
Сообщение от Knio9705
|
Я все же не понимаю как этот Upd Clk работает. Порт процессора, который управляет этим сигналом, настроен как выход. А импульсы, идущие с ноги Upd Clk DDS-ки, не прыгают выше 1 В, так как эта нога у DDS настроена тоже ,соответственно, как выход после Master Reset.
|
Сигнал апдейта, выводимый наружу, служит для синхронизации записи во входной регистр сдвига. Так как вы не собираетесь пользоваться этой синхронизацией, просто не обращайте внимания на эти имульсы. Можете поставить в разрыв провода между выводом МК и DDS резистор Ом 20-30. Он какие-то миллисекунды будет ограничивать ток. После инициализации DDS этот вывод апдейта станет "на ввод".
Цитата:
|
А также непонятно последовательность операций, необходимых для записи в CR после того, как Master Reset перевели из 0--››1 и потом из 1---››0 (когда и куда дергать IOReset и Upd Clk)!!!!!!
|
Ту вы вообще тормозите. Перед вами готовая процедура, в которой абсолютно (!) ясно написано, что, когда и куда дергать.
Код:
|
init_DDS
;
; Pulse the Master Reset to initialize the DDS chip.
;
bsf PORTD,DDS_mreset ; Raise the master reset
call wait_8ms ; Wait a long time
bcf PORTD,DDS_mreset ; Drop the master reset
call wait_8ms ; Wait a long time
;
; Now pulse the IO reset
;
bsf PORTD,DDS_ioreset ; Raise the IO reset
call wait_8ms ; Wait a long time
bcf PORTD,DDS_ioreset ; Drop the IO reset
;
; Send the command to Write the CR register.
;
movlw CR_write_cmd ; Get the write CR bytes command
movwf byte2send ; Pass it
call send_DDS_byte ; Send it
;
; Send the four CR bytes.
;
movlw CR_byte_0 ; Get the first DDS CR byte
movwf byte2send ; Pass it
call send_DDS_byte ; Send it
movlw CR_byte_1 ; Get the second DDS CR byte
movwf byte2send ; Pass it
call send_DDS_byte ; Send it
movlw CR_byte_2 ; Get the third DDS CR byte
movwf byte2send ; Pass it
call send_DDS_byte ; Send it
movlw CR_byte_3 ; Get the 4th DDS CR byte
movwf byte2send ; Pass it
call send_DDS_byte ; Send it
;
; External Update is now set. The 4th byte probably not sent,
; so need a new IO Reset and new command
;
; Now pulse the IO reset to start a new command
;
bsf PORTD,DDS_ioreset ; Raise the IO reset
call wait_8ms ; Wait a long time
bcf PORTD,DDS_ioreset ; Drop the IO reset
;
; Send the command to Write the CR register again.
;
movlw CR_write_cmd ; Get the write CR bytes command
movwf byte2send ; Pass it
call send_DDS_byte ; Send it
;
; Send the four CR bytes again.
;
movlw CR_byte_0 ; Get the first DDS CR byte
movwf byte2send ; Pass it
call send_DDS_byte ; Send it
movlw CR_byte_1 ; Get the second DDS CR byte
movwf byte2send ; Pass it
call send_DDS_byte ; Send it
movlw CR_byte_2 ; Get the third DDS CR byte
movwf byte2send ; Pass it
call send_DDS_byte ; Send it
movlw CR_byte_3 ; Get the 4th DDS CR byte
movwf byte2send ; Pass it
call send_DDS_byte ; Send it
;
; Now we need to send external update to make the entire Init "take"
;
bsf PORTD,DDS_ioud ; Raise the IO update
call wait_10_inst ; Wait 10 instructions
bcf PORTD,DDS_ioud ; Drop the IO update
;
ret |
Очень похоже на то, что вы не рассматривали программу по моей ссылке вообще. Зачем я старался и искал?
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
13.11.2012, 13:33
|
|
Частый гость
Регистрация: 06.11.2012
Сообщений: 10
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите разобраться с программированием AD9854 по SPI!!!!
Я делал те же самые операции как и описано в примере (кстати этот пример я еще и находил до вас), на выходах DAC все равно ничего... Возможно дело то и не в программе, а в железе (после разводки платы и пайки элементов микросхема почему то жрала аж ампер!!! и сильно грелась). 29 нога микросхемы (FSK/BPSK/HOLD) первоначально была посажена на землю, после того как ее подняли микросхема стала потреблять порядка 100-120 мА. Может ей настал конец??!?!
|
|
|
|
13.11.2012, 19:18
|
|
Вид на жительство
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
|
Re: Помогите разобраться с программированием AD9854 по SPI!!!!
Вообщет у нее по даташиту нормальное потребление больше ампера может быть.
Например для AD9854ASVZ 1050мА тип. 1210мА макс.
|
|
|
Сказали "Спасибо" Alecsej
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:38.
|
|