Pelatihan AVR

19 Februari 2011

AIC23 Audio Codec pada DSK6455

pada modul DSK (development starter kit) 6455 terdapat beberapa modul tambahan yang digunakan untuk menjadi fitur tambahan. dan modul yang akan di bahas kali ini adalah mengenai modul audio codec (coder decoder) yang bertipe AIC23 (TLV320AIC23).

pada DSK6455, untuk pengaksesan AIC23 Codec terdapat 2 cara (tergantung pada DSK). biasanya digunakan 2 McBSP (multichannel buffered serial port) yaitu McBSP 0 dan 1. untuk McBSP0 untuk jalur control dan McBSP1 untuk jalur data. namun pada konfigurasi DSK yang lain dapat juga jalur kontrol biasanya digunakan I2C (inter integrated circuit).
untuk mendownload datasheetnya bisa di download disini

unutk pengaksesan dan setting dari AIC23 codec bisa dilakukan pada register kontrol seperti pada gambar di bawah ini

dan jika telah ditentukan nilai pada register di atas, maka nilai tersebut dapat dimasukkan untuk setting codec seperti di bawah ini

DSK6455_AIC23_Config configline = {
    
    
0x001f, // 0 DSK6455_AIC23_LEFTINVOL Left line input channel volume          0x001f, // 1 DSK6455_AIC23_RIGHTINVOL Right line input channel volume
          0x00d8, // 2 DSK6455_AIC23_LEFTHPVOL Left channel headphone volume
          0x00d8, // 3 DSK6455_AIC23_RIGHTHPVOL Right channel headphone volume
          0x0011, // 4 DSK6455_AIC23_ANAPATH Analog audio path control
          0x0001, // 5 DSK6455_AIC23_DIGPATH Digital audio path control
          0x0000, // 6 DSK6455_AIC23_POWERDOWN Power down control
          0x0043, // 7 DSK6455_AIC23_DIGIF Digital audio interface format
          0x00a2, // 8 DSK6455_AIC23_SAMPLERATE Sample rate control
          0x0001 // 9 DSK6455_AIC23_DIGACT Digital interface activation
          };
tipe variabel bentukan yang digunakan yaitu DSK6455_AIC23_Config
karena tipe bentukannya berupa array, maka diperulakan pointer, sehingga ketika menggunakannya digunakan '&'

contoh program pada AIC23

// persiapan variabel
int sampel=512;
Int16 terimakiri[sampel],terimakanan[sampel];
Int16 keluarkiri[sampel],keluarkanan[sampel];
DSK6455_AIC23_CodecHandle hCodecline;
int i; 


/* inisialisasi modul pada DSK6455 */
DSK6455_init();
 

hCodecline = DSK6455_AIC23_openCodec(0, &configline);
/* perhatikan pada penggunaan codec handle diatas, digunakan tanda '&' untuk pointer karena bentuknya array. pada prosedur diatas digunakan opencodec untuk membuka path dan menginisialisasi CODEC*/

while (1)
          {
          for (i=0; i<512;i++) {

                    while (!DSK6455_AIC23_read32(hCodecline,(Uint32 *)&terimakiri[i]));
                    // untuk mengambil data hasil kuantisasi pada AIC23 codec
                    while(!DSK6455_AIC23_write32(hCodecline,keluarkiri[i]));
                    // untuk mengeluarkan data yang akan diubah dalam bentuk analog 
                    while (!DSK6455_AIC23_read32(hCodecline,(Uint32 *)&terimakanan[i]));
                    while(!DSK6455_AIC23_write32(hCodecline,keluarkanan[i])); 
                    // secara default, urutan pengambilan dan pengeluaran data selalu dimulai dari left channel diikuti dengan right channel 
                    }; 
          // proses buffering dan pemindahan buffer 
          for (i=0;i<512;i++) { 
                    keluarkiri[i]=terimakiri[i];  
                    keluarkanan[i]=terimakanan[i]; 
                    }; 
          }


09 Februari 2011

kemana kaki ini harus melangkah?

assalamualaykum wr. wb.

saat ini saya telah menyelesaikan salah satu amanah orang tua untuk menyelesaikan kuliah sarjana di salah satu perguruan tinggi terkenal di bandung. segala upaya telah dicurahkan untuk mewujudkan hal itu, keringat telah bercucuran, air mata tak hentinya menetes, pikiran tak kunjung berhentinya bekerja. bahagia dan senang tentunya, karena dapat meraih apa yang "dulu" hanya mimpi yaitu segera lulus dan dapat melangkah lagi.
namun, sekarang muncul pertanyaan baru. kemanakah saya sekarang?? kemaa kaki ini harus saya tambatkan?? hal ini terus berputar dipikiran ini. berlari kian kemari tak kunjung henti, dan juga saya tak ingin menghentikannya. tentu agar saya cepat melangkah

dahulu saya tak ingin terlalu memusingkannya dan memimpikannya. karena jarang dari mimpi saya dapat terwujud dan semua hanya berakhir sebagai mimpi. karena itulah saya mulai berpikir "inilah realita yang sesungguhnya". dan saya telah belajar tentang hal ini jauh jauh hari sebelumnya. apa yang kita inginkan belum tentu jadi kenyataan. apa yang kita pandang terbaik buat kita belum tentu juga benar-benar baik menurut-Nya. dan ternyata semua itu benar! ketika saya menginginkan sesuatu dan Dia tidak merestuinya, maka di balik itu semua pasti tersimpan sesuatu yang lebih baik. bahkan ketika saya telah terjatuh berulang ulang kali tapi saya tetap percaya hal itu.
karena itulah selama ini saya terkesan "seperti" buih yang terombang ambing dilautan. tanpa tujuan dan juga tanpa manfaat. mengandalkan ombak yang datang silih berganti dari segala arah.
terus terang, saya tidak menginginkan hal tersebut, saya ingin punya pendirian yang kuat dan jelas akan "kemana kaki ini harus melangkah?" seperti teman-teman dan sahabat yang lain. saya malu, sungguh sangat malu. melihat mereka yang berapi api akan mimpi hal ini menjadi tamparan yang sangat keras di hati.
SAYA TIDAK INGIN MENJADI BUIH!! yang hanya bisa terombang ambing kian kemari mengikuti kemana ombak mengehembus.
SAYA JUGA TIDAK INGIN MENJADI KARANG yang hanya bisa diam menanti ombak dan juga melawannya dan ada akhirnya hanya terkikis sedikit demi sedikit karena ombak.
SAYA  HANYA INGIN MENJADI KAPAL yang kuat menahan hempasan ombak dan dapat berjalan kemanapun saya inginkan. punya tujuan dan juga punya keinginan.