Pelatihan AVR

04 November 2011

It was sunny day, when I came to goat retailer. I want to find my qurban for Idul Adha next week. I drove my car to goat retailer in sidewalk of sukarno hatta street.
"good morning sir" the retail greeted me. He looked aged and experienced.
"morning.." I replied and smiled to him.
"please take a look sir, we have healthy and big goat. you can choose wherever you want. unfortunately the ribbon goats has sold" the retailed said.
In further, I just know his name, ahmad. He introduced himself to me while I enjoyed looking the goats.

Based on information written on the table, the goats divided into 4 classes and 1 super class. Each class has different price and size. Super class is the best one, it came from Garut. Price to bring the super class home is Rp 2500000. I just excited by looking it, and never think to got that one. Class A is the second class and priced at 1.9 million rupiahs. Class B is priced 1.7 million. Class C is priced 1.5 million. The cheapest one, Class D is priced 1.3 million rupiahs.

I was thinking, if I bought class D, its too cheap for me. To bought class A or B or even super class that's expensive, although I have money to bring it home.
"May I bargain?" I tried to negotiate.
"which one sir?" ahmad replied
"I prefer class C, may I have it for 1.3?" I still tried and smiled to him
"I'm sorry, I can't give you that, you may have it for 1.45. That's all I can give you." ahmad tried to offers me.
"oh, can you give me more discount? how about 1.4?" I still didn't give up yet.
"If you serious, then go on" ahmad finally agreed my bargains.
"yosh! thanks" I smiled.
"welcome sir"

While ahmad busied with my request. I saw there an old man, drove an old fashioned bike. He looked weak and poor.
"maybe he want to buy for qurban too" I thought.
He looked busy by looking the goats, and he begun to ask ahmad.

"excuse me, I'm looking for qurban" the old man said.
"if you interested, you can look the table above you head" ahmad replied without seeing him.


"ah, maybe he want buy the cheapest one" I thought by looking his condition. Might be that's why ahmad looks ignoring him a little.


"wow! this super class is amazing. It looks big, strong and healthy. Where is the goat came from?" the old man asked ahmad.
"from Garut" ahmad replied.
"the priced is amazed too" the old mas still amazed with it.
"2,5 million right?" the old man asked again.
"yea" may be ahmad thought that man just asking about that one and wont buy that one.


"Okay, I choose this one!"
I was surprised! that old man want to buy that one. "are you kidding?" I said in my mind. looks liked ahmad surprised too. I still didn't believe until he pop out a big pocket.
"this is the money, they are 2.5 million. I'm sorry maybe you will have a hard work to count it. I had collect it for a years for this moment" the old man said.
I was shocked by looking that circumstances. In other side, I was more capable to bought that super goats that the old man and I just choose the cheap one. It was a shame for me and big reflection to me.

06 April 2011

koin bermuka dua

Assalamualaykum wr wb,

saya terpikirkan sebuah cerita, sebuah atribut buat saya sendiri dan deman2 yang sedang berjuang menghadapi perjuangan hidup yang tidak mudah.



pada perjuangan merebut kemerdekaan RI, pasukan perjuangan ini dibagi menjadi beberapa batalyon yang masing-masing dipimpin oleh seorang kolonel. dan setiap batalyon membawa misi yang sangat berat hingga mereka harus benar benar berjuang hingga tetes darah penghabisan.

suatu ketika, suatu batalyon telah menyelesaikan misi terberat mereka, yaitu merebut suatu wilayah dari para penjajah. mereka langsung kembali ke markas besar, dengan jalan tertatih tatih, karena merekan baru saja berperang lebih dari 3 hari tanpa beristirahat sedikitpun dan kemudia mereka diwajibkan untuk langsung pulang berbekal amunisi yang sedikit tersisa.

dalam perjalanan pulang kolonel mendapatkan perintah baru dari markas besar untuk merebut suatu kota dari penjajah. ia berpikir keras, tidak mungkin melakukan penyerangan ke suatu wilayah dengan kondisi pasukan yang sedang dalam kondisi sangat lelah, terluka dan juga dengan kondisi amunisi yang sedikit tersisa dari pertempuran sebelumnya.

namun sang kolonel tidak putus asa sampai disitu, diam-diam ia mengalihkan rute kepulangan mereka, tanpa sedikitpun memberitahukan hal ini kepada pasukannya. sedikit demi sedikit mereka mulai mendekati wilayah yang ditugaskan oleh markas besar. dan sedikit demi sedikit para pasukan mulai curiga, mengapa rute pulang ini berbeda dengan rute pulang yang seharusnya. hingga suatu saat kemudian sang kolonel mangajak pasukannya untuk beristirahat di suatu hutan karena hari sudah mulai gelap.

melihat kondisi pasukan yang masih lelah dengan pertempuran sebelumnya. sang kolonel kemudian mengatakan bahwa ia baru saja menerima perintah dari markas besar untuk merebut suatu wilayah dari penjajah. dan langsung saja semua parukannya terperengah dengan seketika. berbagai kritik muncul, semuanya berpikir PESIMIS dengan kondisi mereka yang sama sekali tidak menunjukkan kelebihan, mereka masih dalam kondisi sangat lelah dan terluka ditambah dengan persediaan amunisi yang sudah menipis.

tidak sampai disitu, sang kolonel kemudian memberikan waktu kepada mereka untuk berpikir dan beristirahat. dua jam kemudian sang kolonel kembali menanyakan hal yang sama.

"apakah kalian siap dengan pertempuran esok pagi?".
tidak ada satupun dari pasukannya menjawab. mereka semua menunduk.

kemudian sang kolonel mengeluarkan sebuah koin,
"saya memegang sebuah koin, saya akan melemparkan koin ini. jika muncul tanda angka maka kita akan pulang ke markas besar tanpa harus melakukan misi ini dan saya akan bertanggung jawab sepenuhnya atas apa yang kita lakukan walaupun nanti pangkat saya akan dicopot atau bahkan lebih berat!"

semua pasukannya terdiam, mereka mungkin sudah berpikir apa hukuman yang akan diterima sang kolonel jika hal ini dilakukan, tapi mereka tetap masih tetap pada pendirian untuk tidak akan berperang, itu semua seperti misi bunuh diri!

sang kolonel melanjutkan tawarannya,
"dan jika sebaliknya, tanda burung garuda yang muncul, maka kita akan melakukan misi ini dengan sisa-sisa tenaga dan sisa-sisa amunisi yang kita miliki. dan kita tidak akan pulang sebelum misi ini selesai!!"
"YA, jika kita maju, kata selesai ini bisa berarti, KITA SELESAI atau KITA MENANG"

"bagaimana?"

merasa ada harapan baru, semua pasukan langsung menyetujui tawaran sang kolonel...
kemudian sang kolonel langsung melemparkan koin yang digenggamnya....

dan...
YANG MUNCUL GAMBAR BURUNG GARUDA!!

semua pasukan menarik nafas dalam-dalam, mereka sudah siap dengan konsekuensi pilihan ini, TAK ADA PILIHAN LAGI selain utnuk mengambil jalan berperang

esok harinya mereka berangkat berperang, semua tenaga dan amunisi yang tersisa mereka gunakan, 2 hari 2 malam mereka bertempur tanpa henti, tanpa istirahat. tak ada satupun dari mereka yang mengeluh. mereka benar benar berjuang hingga titik darah penghabisan.

dan perjuangan merekapun membuahkan hasil, dan mereka MENANG!! dengan segala sesuatu yang serba sedikit, tenaga dan juga amunisi...

kemudian mereka kembali ke markas besar dengan sambutan yang luar biasa dari komandan markas.
dengan rasa ingin tahu yang besar, sang komandan bertanya kepada sang kolonel, bagaimana bisa??
kemudian kolonel mengeluarkan koin yang ada disaku dan memperlihatkan koinnya yang kedua sisinya bergambar burung garuda!!


ya, terkadang kita terlalu fokus pada pilihan kedua, padahal kita tahu bahwa yang harus kita lakukan adalah pada pilihan pertama, terkadang pilihan pertama terlalu menakutkan dan terkadang diri ini terlalu pesimis untuk menghadapinya.
namun apa yang dilakukan sang kolonel? ya, dia menghilangkan pilihan kedua itu, sehingga membuat pasukannya TIDAK MEMPUNYAI PILIHAN LAIN sehingga mau tidak mau mereka akan berusaha menghadapinya dengan segala resiko yang ada. YA, pilihan itu adalah TERUS MAJU.

perjuangan hidup ini tidaklah mudah, dan KITA TIDAK PUNYA PILIHAN LAIN selain menjalaninya dengan segenap tenaga dan amunisi yang tersisa.
mau tidak mau, bisa tidak bisa, berhasil atau gagal itu semua tergantung pada kita. semua itu baru akan kita dapat ketika kita BERANI UNTUK MAJU, dan membuat diri kita tidak mempunyai pilihan lain selain MAJU dan emnghadapi semua itu...

semoga bermanfaat

wassalamualaykum wr wb
Fardhady Himawan KH

17 Maret 2011

Code Composer Studio (ccs) v3.3 pada TMS320C6455


Assalamu'alaykum wr wb
kali ini saya akan menjelaskan tentang software composer dan compiler yang digunakan untuk membuat program yang dapat dijalankan pada DSK6455. bagi yang belum mengetahui tentang TMS320C6455 atau yang sering disebut dengan DSK6455 dapat dibaca disini

Pemrosesan sinyal digital dilakukan pada TMS320C6455 DSK. Pada DSK (Development Starter Kits) ini sudah termasuk berbagai macam modul dari DDR2 memory, JTAG (Joint Test Action Group), AIC23, power supply, C6455 core, CPLD, Ethernet, dan modul lainnya.

Untuk perancangan program dilakukan menggunakan Code Composer studio v3.3. Code composer studio v3.3 (CCS) menggunakan bahasa C# sebagai media untuk memprogramnya. Dalam DSK C6455 mempunyai beberapa library yaitu:
·         DSK6455
Mempunyai berbagai macam tools untuk mengakses fitur-fitur DSK6455 seperti AIC23, McBSP
·         BSL (Board System Library)
Memuat fitur-fitur yang dibawa oleh board system.
·         CSL (Chip System Library)
Memuat fitur-fitur yang dibawa oleh core C6455, meliputi: interrupt, McBSP, PLL, Ethernet, GPIO, SRIO, dan lainnya
 ·         DSPLIB
Memuat fitur-fitur yang dapat menjalankan perintah-perintah untuk pengolahan sinyal digital dalam hal ini lebih kepada sinyal suara.
·         IMGLIB
Memuat fitur-fitur yang lebih berat kepada pengolahan gambar.

 
Icon CCS v3.3

 Tampilan Pada Saat Pembuatan Program Untuk DSKC6455

Untuk pengaktifan TMS320C6455 DSK pertama kali, kondisi kabel USB untuk JTAG harus dipasang terlebih dahulu sebelum kabel power dipasang. Setelah kabel power dipasang maka devais akan melakukan POST (Power On Self Test) dengan melakukan booting dan juga melakukan pengecekan pada modul-modul di luar sistem core C6455. Pengecekan dapat dilakukan juga dengan menggunakan DSK6455 Diagnostic Utility v3.3.

 Icon DSK6455 Diagnostic Utility v3.3

Untuk dapat melakukan pembuatan program yang dapat dijalankan pada DSK perlu dibuat project untuk membundlenya jadi satu. Agar satu file dapat berhubungan dengan file yang lain maka perlu disertakan file yang berfungsi untuk linker yang berformat ‘cmd’.

 Project Pada Code Composer Studio v3.3


Wassalamu'alaykum wr wb
Fardhady Himawan KH

16 Maret 2011

Motor Driver Circuit and analysis

Assalamu'alaykum wr wb

this time I'd like to share you about motor driver circuit. what is motor driver? motor driver is circuit that can driving a motor using simple control signal. a motor needs high current or high voltage. because of that, we need a motor driver circuit to make a bridge between microcontroller and motor.



in this circuit, the circuit is design to control motor direction (clockwise or counter clockwise) and PWM (pulse width modulation) to manipulate motor speed. it uses optoisolator (IC 4N25), power N-MOSFET (IRFZ44N), and relay 12v DPDT (dual pole dual throw. read here).

now I will explain how its works, control signal from microcontroller uses 5 volt TTL is too high to operates a optocoupler. as shown in optocoupler diagram above, pin 1 and pin 2 are connected to LED so we need a resistor to maintain lower voltage, because LED needs supply between 2-3.5 volts. if microcontroller uses 3.3 volts (low voltage CPU) then we don't need additional resistor.
 these LED functionally as base in BJT (bipolar junction transistor), when current flows from base to emitter, it will trigger current flows from collector to emitter. noted that, we use optocoupler to separate microcontroller  ground from motor ground. it prevent from backward current from motor while it loaded.



while LED on, current is flows from collector to emitter, with 12 v difference between collector and emitter. this will be enough voltage to control MOSFET's Gate to make current flows from drain to source. this MOSFET will be function as second switch. and to maintain the higher current to faced the next stages.

when it passed MOSFET, the logic "1" is 12 volts and logic "0" is 0 volts. this voltage is use to control the relay.

ok, I need your full attention in this part.

when the DIR is "1", there no current in relay's coil and the current will flows to negative direction. because positive  motor connected to PWM and negative motor connected to supply 12 volts.

when the DIR is "0", there no current in relay's coil and the current will flows to positive direction. because negative  motor connected to PWM and positive motor connected to supply 12 volts.

to more relay explanation, click here



wassalamu'alaykum wr wb
Fardhady HK Hanggara


15 Maret 2011

potongan kecil hati sang kakek

Assalamu'alaykum wr wb
aku teringat cerita seorang teman, tapi lupa siapa yang menceritakan dan kapan cerita diceritakan,, hihi

alkisah disebuah negara yang makmur, dimana semua orang melihat sesuatu dari hati orang lain. karena memang dinegara itu hati seseorang benar-benar dapat terlihat jelas dari luar. sehingga seorang dianggap cantik ataupun tampan semua dilihat dari hatinya.

dinegara itu terdapat seorang pemuda dengan hati yang sangat indah, begitu bersih, warna yang indah, bentuk yang sempurna dan juga masih berfungsi sangat baik. seluruh orang di negara itu sangat mengagumi pemuda itu. dan mereka berlomba lomba untuk sering mengunjungi pemuda itu hanya untuk sekedar menyapa ataupun melihat hatinya. ya seperti layaknya orang yang memiliki kelebihan, pemuda itu sangat bangga memiliki hati yang begitu sempurna. ia sering menunjukkan betapa sempurnanya hati miliknya itu. dan tak ada satupun warga di negara itu yang cemburu ataupun dengki melihat pemuda itu. semua melihatnya takjub dan menganggapnya sebagai mukjizat tuhan kepadanya.

suatu hari ketika pemuda itu sedang berjalan-jalan sekedar mencari angin segar. tak ajal setiap orang yang dilewatinya selalu memuji hati miliknya. tiba-tiba tak sengaja ia melihat sesuatu yang ganjil, ia melihat seorang kakek tua yang renta, tapi bukan fisik kakek itu yang menjadi perhatian sang pemuda. namun ia sangat heran melihat hati sang kakek. hati sang kakek terdapat banyak tambalan, banyak lubang, bahkan antara tambalan satu dan lainnya tak jarang warna dan bentuk tambalannya berbeda dengan warna asli hati sang kakek. apa yang gerangan terjadi? pikir sang pemuda. pemuda itu begitu penasaran.

kemudian didekatilah sang kakek tua yang renta itu. bahkan sebelum sang pemuda menyapa sang kakek, kakek itu terlebih dahulu tersenyum padanya. kemudian dibalasnya senyuman sang kakek. namun perhatian sang pemuda masih pada hati sang kakek. ia emncoba melihatnya dekat... dan lebih dekat... lebih dekat lagi...

hingga sang kakek berkata "sentuhlah nak"

pemuda itu terkejut, tanpa berkata sepatah katapun ia memberanikan diri untuk menyentuh hati itu dengan perlahan.

setelah berhasil menyentuhnya dan melihat dengan dekat hati kakek itu, kemudian dia memberanikan diri untuk bertanya.
"apa yang tejadi dengan hatimu kek? apakah gerangan yang terjadi hingga bentuknya seperti itu?" tanya sang pemuda dengan terheran-heran


sang kakek tersenyum, "duduklah, jika kamu tertarik untuk mendengar cerita kakek"
pemuda itu kemudian duduk disamping kakek itu.
"mungkin kamu merasa terheran mengapa banyak lubang dan tambalan dihati ini, bahkan ada yang tambalannya kekecilan, ada yang pas, bahkan ada juga yang kekecilan" sang kakek menghela nafas.

"hati ini saya dapat ketika saya mencoba mengambil sepotong kecil hati ini dan memberikannya kepada orang yang berarti dan orang yang baik kepada saya. terkadang orang tersebut membalasnya dengan memberikan potongan hatinya, ada yang memberikan lebih besar dari apa yang saya berikan, tak jarang juga ada yang memberikan potongan hati yang lebih kecil. hingga muncullah tambalan-tambalan pada hati ini, ada yang kebesaran dan ada yang kekecilan." sang kakek kembali menghela nafas

"lalu bagimana dengan lubang itu?" sang pemuda tak sabar

"ya, terkadang apa yang kita berikan ke orang lain tidak mendapatkan balasan dari orang itu. dan saya tidak terlalu mempermasalahkan hal itu, karena bagi saya, ketika saya sudah memberikan hati kepada orang yang berarti bagi saya dan juga kepada orang yang sudah berbaik hati pada saya. itu sudah menjadi hal yang terindah bagi saya. tidak terlalu penting apakah nanti orang itu membalas dengan memberikan potongan hatinya atau tidak"

pemuda itu kemudian terdiam, dan melihat hati yang dimilikinya. tersadar bahwa ia tak pernah sedikitpun memberikan potongan kecil hatinya kepada orang lain. seakan akan kekaguman dirinya akan kesempurnaan hatinya luluh lantak saat itu juga.
"terima kasih kek, " kata pemuda itu sambil mengambil potongan hatinya dan berusaha menempatkannya pada lubang di hati sang kakek. kemudian sang kakek tersenyum dan membalas memberikan potongan hatinya.

hati pemuda itu kini tak lagi sesempurna seperti sebelumnya, karena kini ia memiliki tambalan dari sang kakek. namun ketidaksempurnaan ini membuat dirinya lebih berarti di banding kesempurnaan yang tidak berarti. ia melangkah dengan bangga menuju rumahnya.

"terkadang ketidaksempurnaan yang berarti itu lebih berharga daripada kesempurnaan yang tidak berarti"


"terkadang aku melihat kesempurnaan dalam ketidaksempurnaan, dan aku lebih nyaman seperti itu dibanding melihat ketidaksempurnaan dalam kesemprnaan"

wassalamualaykum wr wb
Fardhady Himawan KH

BURUAN!! pelatihan mikrokontroler telah dibuka

Assalamu'alaykum wr wb

ini ada info tentang pelatihan mikrokontroler AVR nih, ayo ikutan! kuota terbatas
"Microprocessor and Interfacing Laboratory" Reserach Present


"Pelatihan Mikrokontroler AVR"
Pelatihan 1 : Hardware
Pelatihan 2 : Program dan Aplikasi Mikrokontroler (Segera menyusul)

...Tiket : Rp 200.000,- untuk pelatihan 1

Fasilitas :
- Ilmu Insya Allah bermanfaat
- Modul
- CD
- Kit Pelatihan
- Snack + Lunch
- Sertifikat & TAK

Kuota terbatas..
Segera daftar yaa..:D


Wassalamu'alaykum wr wb
Fardhady HK Hanggara

14 Maret 2011

designing quiz lamp circuit

Assalamu'alaykum wr wb

bismillahirrohmanirrohim...
ill try to write down this article using english, altough my english is rather bad, hehe

i was thinking, how can i have quiz lamp that use to science competition occasionally. if i mere make some circuit that work if i press the button and lamp will light on, im sure that very easy. but the problems is what if the participants press the button approaching at same time. then the fastest one will get the light on.
and the others won't get their lamp light on until the fastest one release his button.

then i thought that i can use microcontroller, i sure will be easy but it will be price arm and length (haha). minimum system is expensive for this mini project. then i thought to using basic logic gate to redesign it. wow impressive, i can do it!

ok  this is my design, im using OR gate to design the circuit, it sure harder that design using microcontroller.


im design for 5 participants, in this case i just have to use 5 logic gate ICs. using 74LS32N for the OR logic gate. LM7805 to give 5 volts regulated voltage. and some capacitor for removing the ripple from rectifiers.

this is circuit for the button (larged scale)
this design same as push button, the button connected to the terminal as shown as header 2 above. when it pressed, it will be send 0 volt (logic 0). and when it released it will be send 5 volt (logic 1). in other words this is the active low design.

for actuator, relays are use to activating the lamp and bell (optional). i assume that bell and lamp use home voltage 220VAC 50Hz. and use relays that operate at 5 volt.

how it works?
1. assume that initial voltage is 5 volt for the button. so output from the OR logic gates  will be "1". and when it passes the NOT gate, it will become "0". then initial stages of each circuits is  "0" (remember that OR gate always produces "1" is one or more of its input is "1").
2. when one of them pressed, then the button circuit will be produces logic "0". noticed that all of OR logic inputs will be "0". and output from the NOT gate will be "1" .
3. while one of them produces "1". the others circuit will be locked into "0" condition. it means during the first contestant pressed until he released the others can't press it and light won't be turned on.
4. to control the lamp and bell, logic 0 will be send. why use logic "0"? i guess current from the gate is relatively small and needed other source to activated it. how i have logic "0", is the output logic when it active is "1"? its easy! just get them before it enters the NOT gate.

it easy to design right?
please correct me i wrong, if it about the design or the english, hehe


Wassalamu'alaykum wr wb
Fardhady HK Hanggara


Mengenal dan Menganalisis Relay

Assalamu'alaykum wr wb

karena banyak yang menanyakan tentang relay, maka kali ini saya akan mencoba menjelaskan tentang relay. khususnya tentang relay SPDT dan DPDT. pertama saya akan jelaskan apa itu relay. relay adalah komponen atau alat yang berfungsi sebagai switch untuk on/off yang dikontrol oleh arus.

seperti gambar relay diatas, pada relay biasanya digunakan kumparan/coil sebagai media untuk mengontrol switch. bagaimana bisa? ya ketika kumparan dialiri arus, maka pada kumparan dihasilkan medan magnet yang akan menarik plat konduktor yang berfungsi sebagai switch sehingga berpindah titik yang lain, sebagai ilustrasi diatas, kumparan terletak diantara kaki 4-5. sedangkan plat yang dimaksud adalah pada kaki 1 yang akan "berpindah" dari plat 2 ke 3 dan sebaliknya.

ada beberapa jenis relay, namun saat ini saya akan membahas hanya 2 jenis, yaitu relay SPDT dan DPDT

1. Relay SPDT (Single Pole Dual Throw)
prinsip kerja dari relay ini yaitu: pada AB terdapat kumparan sebagai driver. ketika AB belum dilewati arus, maka terminal CE akan tersambung, dan ketika AB dilewati arus maka plat C akan berpindah sehingga terminal CD akan tersambung.

2. Relay DPDT (Dual Pole Dual Throw)
prinsip kerja dari relay ini yaitu: pada AB terdapat kumparan sebagai driver. ketika AB belum dilewati arus, maka terminal CE dan FG akan tersambung, dan ketika AB dilewati arus maka plat C dan F akan berpindah sehingga terminal CD dan FH akan tersambung. jadi ketika driver AB dilewati arus plat yang berpindah ada 2 yaitu C dan F.

3. Relay SPST (Single Pole Single Throw)
prinsip kerja dari relay ini yaitu: pada AB terdapat kumparan sebagai driver. ketika AB belum dilewati arus, maka circuit akan bersifat open cicuit (plat C tidak tersambung), dan ketika AB dilewati arus maka plat C akan berpindah sehingga terminal CD akan tersambung (closed circuit).

4. Relay DPST (Dual Pole Single Throw)
 prinsip kerja dari relay ini yaitu: pada AB terdapat kumparan sebagai driver. ketika AB belum dilewati arus, maka circuit akan bersifat open cicuit (plat C dan E tidak tersambung), dan ketika AB dilewati arus maka plat C dan E akan berpindah sehingga terminal CD dan EF akan tersambung (closed circuit).

nah itu beberapa jenis relay yang sering digunakan dipasaran. tidak ada relay yang lebih bagus, yang terpenting tau kapan dan bagaimana cara menggunakan relay tersebut sehingga efektif dan efisien.

oya, relay juga dibedakan menurut tegangan operasinya. (tegangan minimum untuk men-drive kumparan sehingga plat dapat berpindah) ada yang 5V dan 12V

beberapa fungsi lain dari relay yaitu digunakan untuk memisahkan Ground antara ground driver dan ground driven (yang di kontrol). hal ini dimaksudkan untuk mencegah efek dari arus balik rangkaian karena beban yang dialami. hal ini sering terjadi pada rangkaian motor.
namun karena penggunaannya masih bersifat mekanik karena menggunakan kumparan dan plat, maka responnya sedikit lambat, namun jika masih digunakan dalam periode milidetik, relay masih dapat diandalkan.

mungkin itu dulu tentang relay, kalo ada yang mau ditambahkan sok di komen aja dibawah.


wassalamu'alaykum wr wb
Fardhady HK Hanggara


11 Maret 2011

Texas Instruments Digital Signal Processor (TI DSP)

Assalamu'alaykum wr. wb.

sebelum melangkah lebih lanjut, mungkin saya jelasin dulu apa itu DSP. berbeda dengan DSP yang berati digital signal processing yang lebih kepada pemrosesan sinyal digital atu lebih kepada cara proses suatu sinyal digital. nah kalo DSP yang akan dibahas yaitu Digital Signal Processor yang berarti processor yang dirancang khusus untuk pemrosesan sinyal digital.

lalu apa bedanya DSP dengan prosesor umum seperti Intel, AMD, ataupun Power PC?
jika prosesor secara umum memang didesain untuk Multi Purpose Tasking dan memang tidak dikhususkan untuk suatu proses tertentu seperti prosesor yang ada di motherboard yang dikhususkan untuk transfer data, prosesor di VGA card untuk graphik dan lainnya.

DSP didesain khusus untuk operasi SOP (Sum Of Product). jadi jenis operasi SOP itu merupakan operasi perkalian di dalam penjumlahan (nah lho...). atau bisa dikatakan prosesor ini didesain khusus untuk pemrosesan array karena biasanya sinyal berbentuk array. misalnya sinyal suara merupakan array 1 dimensi dan gambar merupakan array 2 diminesi. bagi yang belum mengerti tentang SOP, biasanya operasi SOP dapat ditulis seperti ini :

SOP array 1 dimensi :

SOP array 2 dimensi :

SOP array 3 dimensi :
nah itulah perbedaan mendasar pada jenis prosesor ini dengan prosesor pada umumnya.

kemudian lebih mendasar lagi akan saya jelaskan DSP yang berasal dari texas instruments atau yang sering juga disebut dengan seri TMS. pada prosesor ini memiliki arsitektur khusus yang disebut dengan velociTI. dengan arsitektur ini didesain prosesor bisa mempunyai fitur superscalar yang dapat memproses instruksi hingga 8 kali. hal ini dikarenakan prosesor ini mempunyai 8 ALU (arithmetic logic unit) yang digunakan sebagai media penghitung. dengan kata lain prosesor ini dapat menjalankan 8 instruksi sekaligus dalam 1 clock.

masih bingung? saya ambil contoh prosesor tipe TMS320C6455 (baca disini)memliki 8 ALU dengan clock sebesar 1.2 GHz. dengan kata lain prosesor ini memiliki dapat menjalankan 8 x 1.2 GHz instruksi dalam 1 detik atau nama kerennya 9.6 GIPS (Giga Instructions per Second).

oya prosesor tipe ini menggunakan dasar arsitektur Harvard lho, nanti saya jelasin deh pa itu Harvard architecture. dengan kemapuan dapat mengakses JTAG untuk simulasi dan analisis dan juga sistem pengaksesan memory yaitu Little Endian dan Big Endian. penasaran? lihat posting selanjutnya. :)


Wassalamu'alaykum wr wb
fardhady HK Hanggara


algorima matching

Assalamu'alaykum wr wb

beberapa saat yang lalu saya mengerjakan proyek tentang sistem embedded mikrokontroller yang menharuskan saya memasang database didalamnya (baca) setelah berhasil menaruh database diadalamnya, kemudian terbesit pertanyaan : dengan kecepatan mikro yang hanya 16 MIPS (mega instruction per seconds) bagaimana bisa mengolah data sebanyak 500 data dengan cepat. permasalahan selanjutnya ialah, database diletakkan di memeory yang lambat namun besar. kalo dipakai algoritma standar yang mancocokkan satu per satu, maka pasti perlu beberapa detik hanya untuk mencocokkan kata mana yang cocok belum lagi proses lainnya yang juga diperlukan.

ketika saya iseng-iseng bertanya ke dosen saya, "pake algoritma yang biasa saja far", saya langsung terdiam, wah masa belum ada algoritma khusus nih? sebagai informasi, saya memang kuliah di kampus IT, tapi jurusan telekomunikasi, jadi untuk programming saya ngerti tapi kalo sampai algoritma yang mendalam saya kebanyakan belum pernah mendalami.

kemudian iseng iseng saya memikirkan bagaimana saya membuat semua proses jauh lebih singkat, tiba tiba terbesit, bagaimana dengan menggunakan string table? tabel yang dimaksud bukan tabel yang berisi string, tapi tabel yang memuat index string yang masuk ke kategori tertentu, memang dalam beberapa alortinma matching biasanya beberapa data sudah dikelompokkan ke dalam kategori tertentu, namun kalo yang saya lakukan sih tidak, karena sistem yang dibuat merupakan sistem yang embedded jadinya untuk me-rearrange data agak sedikit sulit, karena harus mereset lagi semua data dalam mikro yaitu dengan re"flash"ing program atau kata lainnya install ulang program.

singkatnya seperti ini algoritmanya:
- jika baris datanya ada sejumlah N, maka perlu tabel 1xN untuk menyimpan index
- isi tabel 1xN dengan angka default 0-(N-1) yang menunjukkan default elemen dari database

- kemudian perhatikan yang terpenting, jika persebaran dan karakteristik datanya jika data yang mau di cari bersifat terurut seperti no ID atau NIM, maka carilah mulat dari karakter paling belakang, tapi kalo data yang dicari bersifat random  dan memilki panjang yang berbeda seperti nama maka pencarian dapat dimulai dari karakter yang paling depan.

- pencarian dilakukan dengan mencocokkan karakter demi karakter, namun pencocokan dilakukan secara vertikal dan bukan horzantal secara umum, hal ini dilakukan agar lebih cepat. jika ditemukan karakter yang sesuai maka hal yang dilakukan adalah mengupdate tabel yang tadinya masih terurut dengan index string yang cocok "sementara" dengan string yang akan dicari
- cari sampai isi index tabel bersisa satu

keunggulan:
- jika dibandingkan dengan sistem pencarian konvensional dengan algoritma horizontal misal dengan rata-rata panjang string yang di cari misalnya L dan banyak data keseluruhan N,. dan misal data yang akan dicari terletak pada elemen paling bawah, maka dengan algoritma konvensional maka diperlukan LxN pencocokan karakter. sedangkan jika menggunakan algoritma ini maka pencocokan karakter bisa di reduksi hingga 2xN bahkan lebih sedikit tergantung dengan persebaran data. maka jika data yang akan di cari semakin random dan tingkat keragaman data semakin tinggi, maka kecepatan pencarian data akan semakin cepat pula.


Wassalamu'alaykum wr wb
Fardhady Himawan KH


10 Maret 2011

membuat database pada mikrokontroller

Assalamu'alaykum wr wb

sekarang saya akan membahas bagaimana membuat database sederhana pada mikrokontroller.
ada beberapa cirikhas yang sering terjadi pada mikrokontroller yaitu
- biasanya ukuran SRAM (static RAM) hanya seperdelapan dari ukuran memory Flash
- ukuran memory flash hanya berkisar 1-128 KByte
- dapat disimpulkan bahwa ukuran SRAM hanya berkisar 128 Byte - 2 KByte

hal inilah yang sering manjadi kendala ketika membuat database pada mikrokontroller. memory SRAM yang kecil dan memory flash yang lambat. hal ini juga belum diperhitungkan mengenai penggunaan ruang untuk program memory pada kedua memory tersebut, sehingga ruang yang dapat digunakan menyusut sangat kecil.
namun sebelum melangkah lebih jauh, ada beberapa dasar yang perlu diketahui baik menggunakan bahasa assembly maupun bahasa C pada pemrogramannya.



1. database diletakkan di SRAM
   keunggulannya : lebih cepat
   kekurangannya : ruang penyimpanan relatif sangat kecil
  misal data yang akan ditaruh yaitu ABCDEFh
  * pada bahasa assembly
    LDI YL, 45
    LDI YH, 07
    LDI R16,0xAB
    ST Y+,R16
    LDI R16,0xCD

    ST Y+,R16

    LDI R16,0xEF

   ST Y+,R16
  *pada bahasa C
    - bentuk array of char
     char data[3] ={0xAB,0xCD,0xEF};
    - bentuk string
     char *data = {"dfg"};

2. database diletakkan di memory flash
   keunggulannya : ruang lebih besar
   kekurangan : kecepatan lebih lambat
  misal data yang akan ditaruh yaitu ABCDEFh
  * pada bahasa assembly
    - bentuk array of char
    LDI ZL, 45
    LDI ZH, F7
    LDI R0,0xAB
    STM Z+,R16
    LDI R0,0xCD

    STM Z+,R16
    LDI R0,0xEF

    STM Z+,R16
   - bentuk string
   .db data 0xAB,0xCD,0xEF,0
  *pada bahasa C
    - bentuk array of char
     char flash data[3] ={0xAB,0xCD,0xEF};
    - bentuk string
     char flash *data = {"dfg"};


nah biar ga bingung, saya jelasin pake bahasa C aja ya, soalnya kalo pake bahasa assembly agak banyak, kalo requestnya banyak nanti saya akan buatkan menggunakan bahasa assembly pada posting tersendiri

cara paling mudah menuliskan database yaitu seperti ini:
pada contoh ini saya akan membuat tabel 4x8 dengan kriteria seperti ini : syarat setiap elemen database harus memiliki panjang karakter yang sama.

NIMNAMAPASSID
111070008FARD  1234561234567890123456
611070002KEREN 1234562345678901234567
114070003  AKU  1234563456789012345678
115070067AMPUN 1234564567890123456789
111080008FARD1 1234565678901234567890
611080456WAWAH 1234566789012345678901
114080056DUNG  1234567890123456789012
115080023TUING 1234568902345678901234

char  kolom[4]={0,10,18,25};
char flash *database [8]={
"111070008# FARD #123456#1234567890123456#",
"611070002# KEREN #123456#2345678901234567#",
"114070003#  AKU  #123456#3456789012345678#",
"115070067# AMPUN #123456#4567890123456789#",
"111080008# FARD1 #123456#5678901234567890#",
"611080456# WAWAH #123456#6789012345678901#",
"114080056# DUNG  #123456#7890123456789012#",
"115080023# TUING #123456#8902345678901234#"};


 pada contoh diatas database saya letakkan di flash memory terlihat pada kolom pertama saya memberi batas panjang karakter 9 karakter, kolom kedua 7 karakter, kolom ketiga 6 karakter, kolom keempat 16 karakter
cara mengakses baris pertama kolom pertama menggunakan *database[0]
cara mengakses baris ketiga kolom keempat menggunakan *(database[2]+25)
cara mengakses baris kedua kolom ketiga tinggal menggunakan *(database[1]+18)

untuk mengakses kolom pertama tambahkan 0, kolom kedua 10, kolom ketiga 18, kolom keempat 25
untuk mengakses baris pertama hanya lakukan pengaksesan pada array saja. hal ini dikarenakan peletakan database berdasarkan array of string. dan berhatikan database[i] artinya variabel tersebut menyimpan alamat dari string yang diletakkan pada baris [i+1].
 jika ingin mengakases data pada kolom ke i dan baris ke j dapat dilakukan menggunakan
*(database[j-1]+kolom[i-1])

mungkin sekian yang dapat saya sampaikan
kalo ada saran, silahkan dikomen saja
thx


Wassalamu'alaykum wr wb
Fardhady HK Hanggara


bahasa AT Command untuk pengiriman SMS

assalamu'alaykum wr wb

kali ini saya mau sharing penggunaan bahasa AT command buat interface mikrokontroler Atmega8 dengan hape jenis siemens C55. namun harus kedua jenis gadget itu, untuk mikrokontroler bisa apa saja asalkan mempunyai fitur USART (Universal Synchronous Asynchronous Receiver Transmitter) dan juga hp apapun yang mendukung AT Command dan juga punya interface USART. kalo hpnya pake interface lain seperti I2C dan SPI, maka mikrokontrolernya juga harus mempunyai interface itu, yang penting bisa komunikasi.




pertama saya tunjukin konfigurasi PIN pada Siemens C55

Untuk koneksi dengan mikrokontroler atau PC yang dipake cuma 3 pin aja, yaitu TX, RX dan GND. Ini configurasi pin c35 karena USART hanya perlu 3 pin untuk komunikasi:

Pin Description SX1 pinout
1 Vbatt, Power Charging
2 Gnd Gnd
3 TX TX (usb D+ in xx65, SX1)
4 RX RX (usb D- in xx65, SX1)
5 CTS CTS, Data Line For Accesory
6 RTS RTS, Data Line For Accesor
7 DCD DCD, Clockline For Accesory
8 AUDIO P AUDIO L
9 - AUDIO GND
10 AUDIO N AUDIO R
11 GND MIC GND (EXT MIC.)
12 EPP EPP 1 (EXT MIC.)

sedangkan konfigurasi pin Atmega8

karena C55 yang saya gunakan baterenya sudah tidak dapat bertahan lama maka saya membuat interface tembahan, yaitu segaligus mencharge agar dapat bertahan lama.

agar terlihat lebih bagus, saya membuatnya menggunakan kabel USB dengan konfigurasi seperti ini

uC Atmega8                              USB                     Siemens C55
VCC                                      1(merah)                    1 VCC
RX (PortD.0)                         2 (putih)                     3 TX
TX (PortD.1)                         3 (hijau)                     4 RX
GND                                     4 (hitam)                    2 GND


oiya, saya lupa sesuatu, level tegangan pada mikro yaitu TTL 5volt tapi level tegangan C55 TTL 3.3v. sebenarnya perlu diberi resistor dan juga dioda zener yang dihubungkan ke ground dan VCC agar arusnya tidak berlebihan, tapi selama saya mencoba, juga ga apa apa kalo ga pake itu. nah kalo udah lewat kabel data yang dikasi dari pabrik untuk ke komputer itu biasanya sama kabel datanya udah diubah ke level tegangan RS232 dan biasanya konverternya terletak di konektor DB9 karena didalemnya sudah ada IC MAX232. nah kalo ingin tetap menggunakan level tegangan TTL ya jangan pake konektor DB9 jadi langsung aja dihubungin ke mikro. pastikan juga nikro juga menggunakan level tegangan TTL. jadi intinya kalo satu pake TTL semuanya pake TTL dan juga kalo satu pake RS232 yang lain juga harus RS232.

nah sekarang baru kita beranjak ke instruksinya

baudrate umum yang digunakan adalah 9600 baud (ada yang bilang baud=bps, tapi sebenarnya baud adalah kecepatan simbol bukan byte. tapi karena disini 1 simbol sama dengan 1bit. ya bolehlah)

kalo inisialisasi USART dan pengiriman data USART saya anggap sudah bisa ya, hehe

nah, ada yang perlu diperlu diperhatikan dalam penggunaan bahasa AT Command. oya format penulisan pada AT Command juga sering disebut PDU (Packet Description Unit) yang menggunakan encoding 7bit. hal ini digunakan semata mata untuk memperkecil jumlah data yang ditransmitkan sehingga pesan yang dapat kirimkan lebih banyak. atau istilah lainnya pesan dikompres dalam 7 bit.


1. no service center
maka datanya:
* panjang pasangan angka (lihat berapa panjang nomer service center kemudian dibagi 2 dan ditambah 1)
* format nasional :81 (kalo nulisnya dalam format 08xxx), kalo format internasional : 91 (format nulisnya 628xxx)
* nomer telp dengan dibalik antara high nibble dan low nibble (ingat semua huruf dalam hexadesimal sehingga ditulis dalam format nibble) jika tersisa satu diakhir nomer maka beri hexa "F" pada high nibblenya
misal nomer 0812345678 (nasional), 62812345678 (internasional)
format nasional: panjang 5pasang +1= 06
format nasional :81
no telp yang dibalik: 8021436587
jadi PDU service center 06818021436587
nah kalo format internasional PDUnya menjadi 07912618325476f8 (coba renungkan mengapa)

2. sms 01 (default)

3. default gateway 00

4. no tujuan
hampir sama dengan service center, hanya ada sedikit perbedaan
format datanya:
* banyaknya angka (bukan pasangan angka) ditambah 2
*format nasional :81, format internasional :91
*nomer yang ditulis terbalik antara high nibble dan low nibble (sama seperti sebelumnya)
misal:
nasional :081357924680, internasional : 6281357924680
untuk format nasional:
banyaknya angka : 12+2=14(desi)=0e(hexa)
format nasional :81
nomer yang dibalik :803175296408
jadi PDUnya: 0e81803175296408
kalo format internasionalnya : 0f91261853974286f0 (coba renungkan lagi)

5. form : sms 00, fax 01, pager 02. jadi pake 01 aja untuk sms

6. encoding 7 bit 00, 8 bit 01. karena default PDU 7 bit gunakan 00

7. panjang pesan, ini tinggal hitung berapa karakter yang akan dikirim

8. isi pesan (ini yang rumit)

karena selama ini kita sudah terbiasa menuliskan sesuatu dalam 8 bit. namun pada PDU ini digunakan encoding 7 bit maka perlu dilakukan pengolahan bit terlebih dahulu
coba perhatikan contoh dibawah ini:
  M(4Dh)      I (49h)       K (4Bh)        R (52h)      O (4Fh)
01001101 | 01001001 | 01001011 | 01010010 | 01001111

perhatikan pada semua MSB (Most significant bit) bernilai 0 semua
dan hasil pengolahan encoding ke 7 bit

M (4Dh)                                                                                   | 01001101
I (49h)                                                                       0100100 | 1
K (4Bh)                                                      010010 | 11           |
R (52h)                                     01010 | 010           |               |
O (4Fh)                     0100 | 1111       |                  |               |

hasil                  00000100 | 11111010 | 01010010 | 11100100 | 11001101
                             04h              FAh            52h            E4h          CDh
karena pada bit terakhir belum cukup 8 bit, maka perlu ditambahkan bit dummy yang bernilai 0. terlihat bahwa karakter terakhir memerlukan 4 bit 0 tambahan.
seperti diatas, digunakan operasi OR untuk menghasilkan hasil seperti diatas, namun tunggu dulu, ada yang perlu dilakukan lagi,, ya membaliknya!
data PDU untuk SMS yaitu : CDE452FA04

benar sekali! data perlu dibalik sesuai urutannya kembali

nah sekarang saatnya kita gabungin semua PDU diatas, sehingga untuk nomer service center (0812345678), nomer tujuan (6281357924680), dan isi pesan ("MIKRO"), maka PDUnya

0681802143658701000f91261853974286f0000005CDE452FA04

gimana? mudah bukan (sebenarnya ngga sih :hammer: )
mungkin itu yang baru bisa saya share, kalo ada masukan tinggal dikomen saja di bawah.

thx


wassalamu'alaykum wr wb
Fardhady Himawan KH
(tabel ascii)

gerbang kecil sang kupu-kupu

Assalamu'alaykum Wr. WB
saya punya cerita menarik, semoga membantu dan menggugah...


sudah beberapa hari ini seorang anak menunggu dengan cemas, ia menunggu kepompong kupu-kupu untuk berubah menjadi kupu-kupu. namun ia belum tahu berapa umur kepompong itu, sehingga ia tidak tahu kapan sang kupu-kupu akan keluar dari 'rumah' lamanya itu.

setelah beberapa hari menunggu, akhirnya sang anak mendapati ada pertanda bahwa sang kepompong akan berubah menjadi kupu-kupu. perlahan ia melihat sebuah lubang kecil pada kepompong itu, mata sang anak kemudian berbinar binar menandakan kesenangan hatinya. ia menunggu dan terus menunggu. dalam hatinya, ia bertanya "kenapa lama sekali? ". dalam pengamatannya ia melihat lubang pada kepompong itu sangat kecil, dan ia berpikir mana mungkin sang kupu-kupu dapat keluar dari sana dengan lubang sekecil itu. namun ia tetap bersabar dan tidak ingin melewatkan detik demi detik hingga sang kupu-kupu berhasil keluar dari kepompongnya.


namun diperhatikannya kupu-kupu itu tampak sangat kesulitan melewati lubang kecil yang tak kunjung membesar itu. sang anak sangat khawatir jika kupu-kupu itu tidak akan bisa keluar dari kepompong itu. maka iapun berlari kedalam rumah, kemudian diambilnya sebuah gunting kecil yang tajam. tanpa membuang waktu sang anak berinisiatif membukakan lubang bagi sang kupu-kupu. ia berharap sang kupu-kupu dapat keluar dan segera terbang bagai kupu-kupu lainnya.

akhirnya sang kupu-kupu dapat keluar dari kepompongnya!! namun sang anak mendapati kupu-kupu itu gemuk dan sayapnya nampak layu dan tidak mengembang. dan sang anak pun harus mendapati kupu-kupu itu tidak dapat terbang layaknya kupu-kupu lainnya. merasa kecewa, sang anakpun berlalu. dan kupu-kupu itu akhirnya ..... MATI karena ia tidak dapat terbang.

adakah yang salah? ternyata kupu kupu yang kita lihat dengan rasa kagum karena ia sangat indah, cara terbangnya sangat menawan. juga harus melewati salah satu masa tersulitnya yaitu harus melewati lubang kecil yang mungkin terlihat mustahil untuk dilalui. namun ternyata Allah punya kehendak lain akan hal itu. ternyata lubang itulah yang membuat sang kupu-kupu dapat terlihat lebih cantik dan anggun. lubang itulah yang memaksa cairan pada tubuh kupu kupu untuk berpindah tempat dan mengisi ruang-ruang pada sayapnya hingga sayapnya dapat mengembang untuk menopangnya dalam terbangnya. dan juga membuat tubuhnya lebih ramping.


ternyata kupu-kupu juga harus melewati masa-masa tersulit dalam hidupnya agar dapat menjadi indah.bagaimana dengan kita? tentu hal itupun berlaku pada kita. tidak ada hambatan dan rintangan yang tidak "mempercantik" kita semua itu diberikan kepada kita hanya untuk menjadikan kita lebih baik dari sebelumnya. jangan hanya karena rintangan yang terlihat berat lantas kita menyerah. ya, itu semua agar kita menjadi lebih baik, lebih "cantik", juga lebih "anggun".

bagimana dengan sang anak? ya, sang anak harus belajar tentang mempercayai kemampuan seseorang, karena semua akan menjadi lebih baik jika ada sikap saling mempercayai dan juga saling mendidik serta menjaga. bukan berarti kata percaya itu melambangkan sikap cuek, namun kata percaya melambangkan sikap sangat peduli, karena kepercayaan juga menuntut kita untuk mendidik dan juga menjaga.

"karena kita butuh kepercayaan untuk melangkah, kita butuh rintangan untuk berubah. berubah lebih baik"


Wassalamu'alaykum Wr Wb
Fardhady Himawan KH


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]; 
                    }; 
          }