Ana Sayfa > Ben yaptım oldu! ***
ARDUINO AD9850 KODLARI
TA5IHA:
Arduino nano-uno-mega-due farketmeksizin AD9850 modülünü şu kodlarla kontrolü sağlanmaktadır. kristal frekansı gibi verilerin koda yazılması gerekiyor.
#define AD9850_CLOCK 125000000
#define W_CLK 8
#define FQ_UD 7
#define DATA 6
#define RESET 5
long unsigned int freq = 1000;
long unsigned int freqOld = freq;
#define pulseHigh(pin) {digitalWrite(pin, HIGH); digitalWrite(pin, LOW); }
void tfr_byte(byte data) {
for (int i = 0; i < 8; i++, data >>= 1) {
digitalWrite(DATA, data & 0x01);
pulseHigh(W_CLK);
}
}
void sendFrequency(double frequency)
{
int32_t freq1 = frequency * 4294967295/AD9850_CLOCK;
for (int b = 0; b < 4; b++, freq1 >>= 8)
{
tfr_byte(freq1 & 0xFF);
}
tfr_byte(0x000);
pulseHigh(FQ_UD);
}
void setup()
{
pinMode(FQ_UD, OUTPUT);
pinMode(W_CLK, OUTPUT);
pinMode(DATA, OUTPUT);
pinMode(RESET, OUTPUT);
pulseHigh(RESET);
pulseHigh(W_CLK);
pulseHigh(FQ_UD);
}
void loop()
{
sendFrequency(freq);
}
TA5IHA-73
HASAN ALTINKARA
TA2GC:
güzel çalışmanızın tempo düşmeden ilerlemesini dilerim,peki elinde 9851 kiti olan x6 multipleri açabilecekmi ?
TA5IHA:
teşekkür ederim, AD9850 ile AD9851 çalışması sanırsam aynı kodlara sahip. frekans aralığı 9851 de biraz daha geniş. daha önce bununla ilgili proje paylaşmıştım. linki : http://www.telsizciler.org/index.php/topic,38199.0.html
73 TA5IHA
HASAN ALTINKARA
TA2GC:
iyi çalışmalar, AD9850 125NHz'lik bordun üzerindeki kristal osilatör ile Clok sağlıyor,AD9851 ise yine bordun üzerindeki 30MHz
kristal osilatörünü ,6'ya çarparak iç clok için 180MHz elde ediyor ,tüm devre ilk enerji verildiğinde koşullanırken x6 rate multiplerinin açılması gerekiyor,tabiki ana referans osilatörleride farklı biri 125 diğeri 180MHz belki bunlar içinde formüle etmek gerekiyor..
şimdi bunları yazmamın nedeni ,çok yönlü kullanıma açık olabilirmi ? idi,piyasadaki kit bazında ticari olarak hazırlanmış bir kaç ürünnde ,Cal düğmesine basarak enerji verdiğimizde hangi DDS çipini hangi clok'ta kullanacaksın diye soruyor,gerekli seçimi yaptığınız an iç e2'ye yani eepromuna bunu kaydediyor.
yine mini bir açıklama yapayım bu AD9850 çipini Analog Devices yetkili satıcısından almadı iseniz genellikle çin malı sahte çıkıyor, çalışmasına bir lafım yok çalışıyor,fakat bazı registerleri cevap vermiyor,çok ucuz olduğu için kimsenin umurunda değil ,hoş benimde değil,fakat AD9851 daha taklit edilemedi fiyatı ile bunuda belli ediyor, o yüzden tasarımlarınızda seçenek bulundurabilirmisiniz diye sormuştum,Allah kolaylık versin....
TA3ALS:
Her ikisi içinde 2007-2008 yıllarında hem paralel, hem de seri data aktarımı kullanarak program yazmıştım. Hatırladığım kadarı ile hem AD9850 hem de AD9851 multiplier 1 modunda sorunsuz çalıştı. AD9851 6 çarpan ile sıkıntı çıkarmış, bazen çalışmasına rağmen bazende çalışmamıştı. Sorunu initalize yaparak çözdüğümü hatırlıyorum. açılışta 1 çarpanı ile 1 Hz çıkaracak şekilde, hemen akabinde de 6 çarpanını kullanarak çalıştırmıştım.
Kişisel tecrübelerime dayanarak mümkün olduğu kadar 6 çarpanını kullanmaktan kaçınmanızı öneririm. Zira ortalık spurstan geçilmiyor.
Hazır modül de çok iyi olmuyor. Üzerindeki alçak geçireni spektrum analizörde incelerseniz rezalet ötesi olduğunu görürsünüz. Bu yüzden modül kullanmak zorunda kalırsam hep filtresiz çıkıştan alarak hariçten filtre kullandım. Bir de modülün üzerinde jitter açıksa kapatın zira harmonik kaynağıdır.
Eğer tek bantlı bir cihazda kullanacaksanız bu önerileri önemsemeyebilirsiniz, çok sorun çıkmaz.
Bu DDS entegresinin DAC çözünülürlüğü 10 bittir. Modülün fiyatı 12 doların üzerine çıkmış. Eğer yazılımla uğraşmaya kararlıysanız bununla uğraşmayın derim. 14 Bit DAC kullanan AD9951 (AD9851 değil!) 17 dolar civarında ve registerleri de karışık değil, bunu örneğin kenwood bile HF cihazlarında VFO olarak kullanıyor. Çıkışı o kadar temizdir.
Böyle bir projeye giriştiğiniz için sizi kutluyorum. Kolaylıklar dilerim.
Navigasyon
[0] Mesajlar
[#] Sonraki Sayfa
Tam sürüme git