Ana Sayfa > Ben yaptım oldu! ***

ARDUINO AD9850 KODLARI

<< < (2/2)

TA3ALS:
Engin Bey,
AD9851 ile ilgili bahsettiğim sorunu araştırınca şöyle bir sayfa buldum.

http://www.kr1st.com/serialdds.htm

burda yazılana göre AD9851 güç verildiği zaman bazen test moduna girmekte imiş. Bu durumda çıkış vermiyormuş.

Yukarıda  verilen program AD9850 yi  6 çarpanı ile çalıştırabilir gözüküyor. " tfr_byte(freq1 & 0xFF); " kod parçasındaki FF yani 255 işlemciye gönderilen ilk biti 1 yapacağı için (eğer dds test modunda değilse) 30MHz osilatör ile dds yi 180 MHz clock hızında çalıştırabilir. Tamamen tesadüf yani.

Eğer AD 9851 kullanacaksanız dds ye önce 40 bit 0 gönderin, Sonra 0b00000001 ve peşinden 32 bit formülile  hesaplanan frekans verisi. LSB ilk olacak şekilde kaydırma yapılacak.

eğer ilk baytı 0b00000000 yaparsanız bu durumda da 1 multiplier çalışıyor.

Kod içeriğindeki 255 ise, niye böyle seçilmiş bilmiyorum. Zira ilk bitin 1 olması AD9850 için anlamsız olmakta. Geri kalan bitler de faz açısı ile ilgili, pek bir önemi yok.
Selamlar...



TA2GC:
@Ali Şahin  bey
ilginize teşekkürler ben bu sorunu zamanında reset bacağınıda MCU ya girerek son derece kararlı hale getirmiştim,fakat AD9850'ye uyu talimatı verince bir daha gerilimi kesip yeniden vermeden asla uyandıramadım,yabancı forumlardan aldığım önerilerde işe yaramadı varsayımlarda kaldı,bir BFO yapmıştım komütatör ile -1500 +1500 yapıyor AM yayınlarını dinleyebildiğim için BFO'yu uyutmam gerekti ,işi çözemeyince bütün registerlere FF yada 00 basarak sinyal üretmesini durdurmuştum,fakat hiç etik değildi zira DDS çipi boşta 185mA çekip duruyordu...

elinizde basic yada Proton tek frekans için paralel örneği varmı acaba ? sanırım seri stream girildiğinde uyanamıyor...

TA3ALS:
Engin bey, maalesef bulamadım. Ama protonla aşağıdaki gibi göndermiştim.

Gonder:
fq_ud=0               'normalde 1 ayarlı
portb=ayarbayt          'AD9850 için ayarbayt=0,  DDS portB ye bağlı.
clk=1             'normalde 0 ayarlı
clk=0
portb=dizi_byte.0
clk=1
clk=0
portb=dizi_byte.1
clk=1
clk=0
portb=dizi_byte.2
clk=1
clk=0
portb=dizi_byte.3
clk=1
clk=0
fq_ud=1
return

Datasheet paralel veri göndermede ilk bayt olan konfigürasyon baytının 0 ve 1. bitleri kesinlikle 0 atanmalı diyor. Power down ise 2. bit. Bu bit 1 olunca DDS kapanıyor olmalı(-denemedim-).
Paralel aktarımın avantajı çok hızlı olması. O zamanlar osilaskopla frekans sweep işleri yaptırmıştım.

TA2GC:
teşekkür ederim deneyeceğim...

Navigasyon

[0] Mesajlar

[*] Önceki Sayfa

Tam sürüme git