Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: emrahmrcn - 11 Mart 2006, 01:34:18

Başlık: Audio DAC 16bit
Gönderen: emrahmrcn - 11 Mart 2006, 01:34:18
Elimde AD1851 var.Ben bunu aşağıdaki kodla çalıştırmayı denedim ama sonuç sıfır.Datasheet indeki diagram da bi yanlışlıkmı var acaba


serial (unsigned int output_data)
{

unsigned char index;
 
for(index = 0; index < 16; index++)          // Send 16 bits to
{


       if (output_data & 0x8000)
DATA=1;      
    else
DATA=0;
      output_data  <<= 1;
   

CLK=0;
CLK=1;
CLK=0;

}
   
LE=1;
LE=0;
                               LE=1;
       

}


(http://img528.imageshack.us/img528/6253/untitled8tl.jpg)
Başlık: codec
Gönderen: ipek - 12 Mart 2006, 16:09:18
hadi hoca'lar meraktan catladik yokmu fikri olan????????
Başlık: Audio DAC 16bit
Gönderen: emrahmrcn - 12 Mart 2006, 16:30:15
Arkadaşlar sabahlamama rağmen çözemedim ,,ama gece saat 2 de analog devicesa bi mail attım ,adamlar üşenmemiş pazar günü olmasına rağmen cevap yazmışlar (müşteri memnuniyeti bu olsa gerek).Sonuçta
bu aleti çalıştırmayı başardım vede açıklamaları ile yazıorum umarım yardımcı olur başka meraklılara.

Kullandığım kod ve çalışan hali şu ...

serial (unsigned int output_data)

{

unsigned char index;


LE=0;
if(output_data & 0x8000)
     DATA=1;
else
 DATA=0;
       
      output_data <<= 1;
   
   
       
CLK=0;
CLK=1;
CLK=0;

LE=1;


for( index = 0; index < 15 ; index++ )          // Send 15 bits to

{
 
   
 if(output_data & 0x8000)
     DATA=1;
else
 DATA=0;
       
      output_data <<= 1;
   
   
       
CLK=0;
CLK=1;
CLK=0;

}
       
       LE=0;

     
}


Burda dikkat edilmesi gereken husus ; çıkışın +3V ve -3V aralığında çalışması.Yani +3V almak için gereken değer Decimal olarak 32767  , -3V almak için gereken değer 32768 yine decimal olarak.Kısacası 0V dan +3V olan aralık 0-32767 ,-3V dan 0 olan aralık 65535 den 32768 denk gelmekte.Daha iyi anlaşılması için grafik veriorum


(http://img202.imageshack.us/img202/2628/untitledo2fp.jpg)