Halaman

Selasa, 13 Januari 2015

Pengertian ALU dan BUS

ALU (Aritmatic Logical Unit)

       Biasanya disingkat dengan ALU. Arithmetic Logical Unit merupakan unit penalaran secara logic. ALU ini adalah merupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori.
        Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut.
       ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika.
        Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan.
       Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruction set. Perintah yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem dikatakan compatible.
       Sehingga sebuah program atau perangkat lunak atau software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan bisa dijalankan untuk semua jenis prosesor, kecuali untuk prosesor yang compatible dengannya.
       Seperti halnya dalam bahasa yang digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.


 BUS

       Bus merupakan jalur penghubung antar alat pada komputer yang digunakan sebagai media dalam proses melewatkan data pada suatu proses. Bus ini bisa dianggap sebagai sebuah pipa, dimana pipa atau saluran tersebut digunakan untuk mengirimkan dan menerima informasi antar alat yang dihubungkannya. Pada sistem komputer, bus ini termasuk perangkat internal, kecepatan pengiriman informasi melalui bus ini dilakukan dengan kecepatan tinggi.

       Alat transformasi data dari terminal satu ke terminal lain di dalam CPU. Jalur utama aliran data antara processor ke komponen lainnya (seperti sound card, video card, memory) pada mainboard.
Karakteristik bus adalah:

1. Jumlah interupsi mementukan banyak perangkat independen yang melakukan I/O.
2. Ukuran bus data eksternal berakibat pada kecepatan operasional I/O.
3. Ukuran bus alamat menentukan banyak memori yang ditunjuk board ekspansi.
4. Kecepatan clock maksimum yang dapat diakomodasi bus berakibat pada kinerja.

Interkoneksi antar komponen. Bus ini terdiri dari:
1. Bus alamat (address bus),
2. Bus data (data bus),
3. Bus kendali (control bus).

Satu bentuk tataletak jaringan yang menggunakan satu buah kabel dimana seluruh node jaringan disambungkan. Dikenal juga dengan topologi bus.


Sumber : http://en.wikipedia.org/wiki/Bus
               http://khuntie90.blogspot.com/2010/01/blog-post.html
               

Arsitektur Set instruksi


    Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA)) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada).
   ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain.

KARAKTERISTIK DAN FUNGSI SET INSTRUKSI


   Operasi dari CPU ditentukan oleh instruksiinstruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions). Kumpulan dari instruksi-instruksi yang  berbeda yang dapat dijalankan oleh CPU  disebut set Instruksi (Instruction Set).

JENIS INSTRUKSI

1. Data procecessing: Arithmetic dan Logic Instructions
2. Data storage: Memory instructions
3. Data Movement: I/O instructions


Teknik Pengalamatan


 Mode pengalamatn Pentium
            Pentium dilengkapi bermacam-macam mode pengalamatan untuk memudahkan bahasa-bahasa tingkat tinggi mengeksekusinya secara efisien.
Macam-macam mode pengalamatanpentium :

¨   Mode Immediate
·      Operand berada di dalam intruksi.
·      Operand dapat berupa data byte, word atau doubleword.

¨    Mode Operand Register
Yaitu operand adalah isi register.
·      Register 8 bit (AH, BH, CH, DH, AL, BL, CL, DL)
·      Register 16 bit (AX, BX, CX, DX, SI, DI, SP, BP)
·      Register 32bit (EAX, EBX, ECX, ESI, EDI, ESP, EBP)
·      Register 64 bit yang dibentuk dari register 32 bit secara berpasangan.
·      Register 8, 16, 32 bit merupakan register untuk penggunaan umum (general purpose register).
·      Register 14 bit biasanyan untuk operasi floating point.
·      Register segmen (CS, DS, ES, SS, FS, GS)

¨    Mode Displacement
·      Alamat efektif berisi bagian-bagian intruksin dengan displacement 8, 16, atu 32 bit.
·      Dengan segmentasi, seluruh alamat dalam intruksi mengacu ke sebuah offset di dalam segmen.
·      Dalam Pentium, mode ini digunakan untuk mereferensi variable-variabel global.

¨    Mode Base
·      pengalamatan indirect yang menspesifikasi saru register 8, 16 atau 32 bit berbasis alamat efektifnya.

Format instruksi (biner):

Missal instruksi dengan 2 alamat operand : ADD A,B A dan B adalah suatu alamat register.
Beberapa simbolik instruksi:
ADD               : Add (jumlahkan)
SUB                : Subtract (Kurangkan)
MPY/MUL     : Multiply (Kalikan)
DIV                 : Divide (Bagi)
LOAD             : Load data dari register/memory
STOR              : Simpan data ke register/memory
MOVE             : pindahkan data dari satu tempat ke tempat lain
SHR                : shift kanan data
SHL                : shift kiri data .dan lain-lain

Cakupan jenis instruksi:

Data processing           : Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT,    SHR, dsb);     konversidata
Data storage (memory)  : Transfer data (STOR, LOAD, MOVE, dsb)
Data movement              : Input dan Output ke modul I/O
Program flow control    : JUMP, HALT, dsb.

Bentuk instruksi:

-          Format instruksi 3 alamat
        Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y := A – B dan arti dalam bentuk penjelasan : kurangkan isi reg a dengan isi reg B, kemudian simpan hasilnya di reg Y. bentuk bentuk pada format ini tidak umum digunakan di dalam computer, tetapi tidak dimungkinkan ada pengunaanya, dalam peongoprasianya banyak register sekaligus dan program lebih pendek.
Contoh:
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
SUB Y, A, B              Y := A – B
MPY T, D, E               T := D × E
ADD T, T, C               T := T + C
DIV Y, Y, T               Y:= Y / T
Memerlukan 4 operasi


-   Format instruksi 2 alamat
        Mempunyai bentuk umum : [OPCODE][AH],[AO]. Terdiri dari satu alamat hasil merangkap operand, satu alamat operand, missal : SUB Y,B yang mempunyai arti dalam algoritmik : Y:= Y – B dan arti dalam bentuk penjelasan : kurangkan isi reg Y dengan isi reg B, kemudian simpan hasillnya di reg Y. bentuk bentuk format ini masih digunakan di computer sekarang, untuk mengoprasikan lebih sedikit register, tapi panjang program tidak bertambah terlalu banyak.
Contoh :
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
MOVE Y, A               Y := A
SUB Y, B                   Y := Y – B
MOVE T, D                T := D
MPY T, E                    T := T × E
ADD T, C                   T := T + C
DIV Y, T                    Y:= Y / T
Memerlukan 6 operasi


-    Format instruksi 1 alamat

        Mempunyai bentuk umum : [OPCODE][AO]. Terdiri dari satu alamat operand, hasil disimpan di accumulator, missal : SUB B yang mempunyai arti dalam algoritmik : AC:= AC – B dan arti dalam bentuk penjelasan : kurangkan isi Acc dengan isi reg B, kemudian simpan hasillnya di reg Acc. bentuk bentuk format ini masih digunakan di computer jaman dahulu, untuk mengoprasikan di perlukan satu  register, tapi panjang program semakin bertambah.
Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
LOAD D                     AC := D
MPY E                        AC := AC × E
ADD C                       AC := AC + C
STOR Y                      Y := AC
LOAD A                     AC := A
SUB B                        AC := AC – B
DIV Y                                     AC := AC / Y
STOR Y                      Y := AC
Memerlukan 8 operasi


-    Format instruksi 0 alamat

        Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand implicit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan dibawahnya missal : SUB yang mempunyai arti dalam algoritmik : S[top]:=S[top-1]-S[top] dan arti dalam bentuk penjelasan : kurangkan isi stack no2 dari atas dengan isi stack paling atas, kemudian simpan hasilnya di stack paling atas, untuk mengoprasikan ada beberapa instruksi khusus stack PUSH dan POP.
Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
PUSH A                      S[top] := A
PUSH B                      S[top] := B
SUB                            S[top] := A – B
PUSH C                      S[top] := C
PUSH D                      S[top] := D
PUSH E                      S[top] := E
MPY                           S[top] := D × E
ADD                           S[top] := C + S[top]
DIV                             S[top] := (A – B) /S[top]
POP Y                         Out := S[top]
Memerlukan 10 operasi
Set instruksi pada CISC:
Berikut ini merupakan karakteristik set instruksi yang digunakan pada beberapa computer yang memiliki arsitektur CISC

Perbandingan set instruksi

        Beberapa computer CISC (Complex Instruction Set Computer) menggunakan cara implist dalam menentukan mode addressing pada setiap set instruksinya. Penentuan mode addressing dengan cara implicit memiliki arti bahwa pada set instruksi tidak di ada bagian yang menyatakan tipe dari mode addressing yang digunakan, deklarasi dari mode addressing itu berada menyatu dengan opcode. Lain hal nya dengan cara imsplisit, cara eksplisit sengaja menyediakan tempat pada set instruksi untuk mendeklarasikan tipe mode addressing. Pada cara eksplisit deklarasi opcode dan mode addressing berada terpisah.
        Data pada tempat deklarasi mode addressing diperoleh dari logaritma basis dua jumlah mode addressing. Jika deklarasi mode addressing dilakukan secara implicit akan menghemat tempat dalam set instruksi paling tidak satu bit untuk IBM 3090 dan 6 bit untuk MC68040. Perubahan satu bit pada set instruksi akan memberikan jangkauan alamat memori lebih luas mengingat range memori dinyatakan oleh bilangan berpangkat dua.

Desain set Instruksi

            Desain set instruksi merupakan masalah yang sangatkomplek yang melibatkan banyak aspek, diantaranya adalah:1. Kelengkapan set instruksi2. Ortogonalitas (sifat independensi instruksi)3. 

Kompatibilitas :
            - source code compatibility
            - Object code Compatibility

 Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut :

a. Operation Repertoire
    Berapa banyak dan operasiapa saja yang disediakan, dan berapa sulitoperasinya
b. Data Types
    Tipe/jenis data yang dapat olah
c. Instruction Format
   Panjangnya, banyaknya alamat,dsb.
d. Register
    Banyaknya register yang dapat digunakan

e. Addressing
    Mode pengalamatan untuk operand


Sumber : http://id.wikipedia.org/wiki/Set_instruksi
               https://ekofitriyanto.wordpress.com/2013/10/30/177/
               http://siezwoyouye.blogspot.com/2012/10/arsitektur-set-instruksi.html

Selasa, 21 Oktober 2014

Struktur dan Organisasi Komputer

Struktur Komputer

      Definisi dari struktur computer adalah sebagai cara-cara dari tiap komponen saling terkait. Fungsi komputer didefinisikan sebagai operasi masing-masing komponen sebagai bagian dari struktur.  Adapun fungsi dari masing-masing komponen dalam struktur di atas adalah sebagai berikut:

1. Input Device
      Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam computer. Contoh : Keyboard, Mouse, Scanner dll

2. Output Device
      Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara. Contoh : Monitor, Speaker, Printer dll

3. I/O Ports
      Bagian ini digunakan untuk menerima ataupun mengirim data ke luar sistem. Peralatan input dan output di atas terhubung melalui port ini.

4. CPU (Central Processing Unit)
      CPU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU (Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU (Control Unit) sebagai pengontrol kerja komputer.

5. Memori
       Memori terbagi menjadi dua bagian yaitu memori internal dan memori eksternal. Memori internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program yang kita olah untuk sementara waktu, dan ROM (Read Only Memory) yaitu memori yang haya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan.

6. Data Bus
       Adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel.

7. Address Bus
       Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel.

8. Control Bus
       Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Terdiri atas 4 samapai 10 jalur paralel.


Organisasi Komputer

        Organisasi komputer adalah bagian yang terkait erat dengan unit – unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya. Biasanya mempelajari bagian yang terkait dengan unit-unit operasional komputer dan hubungan antara komponen-komponen sister komputer.

        Contoh aspek organisasional adalah teknologi hardware, perangkat antarmuka, teknologi memori, dan sinyal – sinyal kontrol.Arsitektur komputer lebih cenderung pada kajian atribut – atribut sistem komputer yang terkait dengan seorang programmer. Contohnya, set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O.

        Sebagai contoh apakah suatu komputer perlu memiliki instruksi pengalamatan pada memori merupakan masalah rancangan arsitektural. Apakah instruksi pengalamatan tersebut akan diimplementasikan secara langsung ataukah melalui mekanisme cache adalah kajian organisasional. Jika organisasi komputer mempelajari bagian yang terkait dengan unit-unit operasional komputer dan hubungan antara komponen sistem computer,dan interkoneksinya yang merealisasikan spesifikasi arsitektural.


contoh: teknologi hardware, perangkat antarmuka (interface), teknologi memori, sistem memori, dan sinyal–sinyal kontrol

Arsitektur Komputer

Arsitektur Komputer

    Dalam bidang teknik komputer, arsitektur komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem computer.Biasanya mempelajari atribut-atribut sistem komputer yang terkait dengan eksekusi logis sebuah program. Arsitektur komputer ini merupakan rencana cetak-biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan sistem interkoneksinya). Dalam hal ini, implementasi perencanaan dari masing–masing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cache, RAM, ROM, cakram keras, dll). Beberapa contoh dari arsitektur komputer ini adalah arsitektur von Neumann, CISC, RISC, blue Gene, dll.

   Arsitektur komputer juga dapat didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, dan target biayanya. Arsitektur komputer mempelajari atribut - atribut sistem komputer yang terkait dengan seorang programmer, dan memiliki dampak langsung pada eksekusi logis sebuah program. Sebagaimana contoh : set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/0.

Arsitektur komputer ini paling tidak mengandung 3 sub-kategori:
1.    Set instruksi (ISA)
2.    Arsitektur mikro dari ISA, dan
3.    Sistem desain dari seluruh komponen dalam perangkat keras komputer.

Etika Penulisan Di Dunia Internet

Etika Penulisan Dalam Internet

Salah satu layanan yang diberikan oleh internet adalah sharing atau yang artinya berbagi informasi dalam berbagai bentuk, seperti gambar, suara, video dan juga dokumen. Yang saya bahas dalam tulisan ini adalah bagaimana kita men-sharing, berbagi dan saling tukar menukar pikiran dan pendapat dalam bentuk tulisan dimana tulisan tersebut kita masukkan kedalam sebuah Personal Blog. Di dalam blog ini, tidak hanya kita sebagi pemilik yang dapat mengaksesnya, melainkan seluruh orang di dunia juga dapat mengaksesnya. Maka dari itu sahabat pembaca sekalian, didalam penulisan tentang berbagai informasi ataupun curahan hati didalam media internet mempunyai aturan main tersendiri baik tertulis maupun tidak tertulis.

Dalam hal ini penulisan pada internet juga mempunyai etika-etika tersendiri. Penulisan di internet juga tidak bisa sesuka hati atau semau anda sendiri, melaikan harus dengan etika-etika yg sudah tercantum. Di dunia maya aturan-aturan atau kaidah hukum bersifat tertulis maupun tidak tertulis.

Didalam penulisan diinternet kita dituntut untuk mentaati semua peraturan yang tealah ditetapkan. Etika menulis di internet ini adalah pendapat pribadi tentang sopan santun menulis di dunia maya. Seperti yang telah ditulis dalam tulisan sebelumnya tentang etika komunikasi di milis, bahwa dunia maya juga mempunyai aturan-aturan dan sopan santun yang harus kita pahami.  Sering sekali seseorang dengan seenak hati menulis di blog, mengirimkan pesan melalui email, mengirimkan atau mempublish dokumen elektronis lainnya (gambar, video, tulisan dan bentuk2 lainnya) tanpa memperhatikan aturan dan etikanya.

Banyak cara yang dapat digunakan dalam mengeluarkan pendapat, salah satunya dengan menulis. Saat ini yang banyak digunakan yaitu menulis melalui internet. Tetapi banyak aspek yang belum diketahu sesorang, terutama mengenai etika dalam menulis melalui internet. Etika menulis di internet merupakan pendapat masing-masing orang mengenai tata cara atau sopan santun menulis di dalam dunia maya.

Dunia maya memiliki aturan-aturan dan sopan santun yang harus dipahami setiap orang. Banyak yang kita jumpai seseorang yang menulis tanpa menggunakan aturan atau sopan santun yang semestinya, mengirimkan dengan menggunakan email, mempublikasikan dokumen elektronik seperti gambar, video dan tulisan-tulisan dalam bentuk lain tanpa memperhatikan kode etik yang semestinya. 

Dibawah ini saya cantumkan berbagai macam etika dalam penulisan di internet yaitu :

1. Tidak mengandung unsur SARA
2. Tidak diperbolehkan menggunakan kata-kata kasar atau menyinggung perasaan seseorang
3. Menggunakan kalimat sesuai EYD
4. Tulisan yang dibuat bukan hasil plagiat atau mencontek
5. Tulisan harus sebuah fakta bukan kebohongan
6. Menulis untuk memberikan informasi yang berguna bagi pembacanya
7. Tidak menulis sesuatu yang bersifat negatif dan menimbulkan provokasi


Kita memang mempunyai kebebasan dalam menyalurkan pendapat, ttapi kita juga harus ingat bahwa kebebasan itu juga ada batasnya, selama apa yang kita tulis dan kita publikasikan itu tidak merugikan orang lain dan bermanfaat . Beberapa poin diatas minimal harus kita terapkan, karena jika kita tidak memperhatikannya , mungkin saja tulisan yang kita buat dapat merugikan ataupun membuat perpecahan kepada orang lain.

Rabu, 25 Juni 2014

Tugas 3, Membuat Catu Daya Digital dengan menggunakan DAC

Memanfaatkan DAC sebagai Pembuatan Catu Daya Digital

     Konsep pembuatan catu daya digital ini adalah memanfaatkan DAC (digital to analog converter) yang telah dikuatkan oleh rangkaian penguat sebagai pengendali tegangan outputnya, dan sebagai feed back nya, penulis menggunakan ADC 10 bit mikro ATMega16 untuk mengukur tegangan outputnya secara pasti. Tegangan output catu daya ini bisa di-set mulai 0 volt sampai 32 volt DC dg arus maksimumnya ±1,5 Amper. Diagram bloknya seperti di bawah ini:



      Sebagai pusat kendali adalah ATMega16. Yang berfungsi memberikan output biner 1 dan 0 sebanyak 16 bit secara paralel ke rangkaian DAC. dan melakukan pembacaan tegangan output akhir dg ADC 10 bit internalnya.  Rangkaian sistem minimumnya seperti ini:








      DAC yang digunakan adalah rangkaian R2R ladder yang mengkonversi nilai biner 16 bit ke besaran tegangan analog. Dikatakan R2R ladder karena mirip seperti tangga yang menaikkan tegangan outputnya sebesar Vref/65536 volt setiap penambahan 1 bit pada masukannya. Rangkaian R2R laddernya seperti di bawah ini:



      Nilai output tegangan DACnya adalah Z*(Vcc/((2^n)+1))), dengan Z adalah bilangan desimal 16 bit (mulai 0 s/d 65535) Vcc adalah 5 volt, n = jumlah bit, yaitu 16 bit. Sehingga output DACnya bisa disederhanakan menjadi DAC out = Z*(5Volt/65536) volt. Nilai z ditentukan dengan memberikan logika 1 atau 0 (5volt atau 0 volt) pada PORTB dan PORTD mikro. Bila PORTB dan PORTD mikro berlogika 1 semua (0Xff) didapatkan: 
Z=1*(2^15)+ 1*(2^14)+ 1*(2^13)+………. +1*(2^1)+ 1*(2^0)=65535 maka DAC out nya adalah 65535*(5volt/635536) = 4,9999237060546875 atau mendekati 5 volt (maksimum).
      Rangkaian penguat berfungsi mendapatkan tegangan dan arus output yang lebih besar, karena catu daya ini didesain untuk tegangan output maksimum 32 volt.  Mengandalkan output tegangan DAC saja tentunya tidak cukup karena maksimumnya hanya 5 volt. Rangkaian penguat ini terbagi menjadi 2 bagian, yaitu penguat tegangan dan penguat arus, Komponen utama penguatnya adalah transistor.


 




      Sebagai penguat tegangan, digunakan transistor BC547 dan BC557 yg memiliki gain cukup besar. Besarnya gain (penguatan) tegangan di atas ditentukan oleh R2 dan R3 sebesar (R2+R3)/R3 atau sekitar 7,8 kali tegangan DAC. Untuk pnguat arusnya digunakan rangkaian darlington kombinasi TIP122 dan jengkol 2N3055 sehingga drop tegangan output anggaplah sekitar 0,7×2 volt = 1,4 volt (drop tegangan basis-emitor ). Anggaplah tegangan DAC maksimum adalah 5 volt, maka output penguatnya adalah (5×7,8)-1,4 volt = sekitar 37,6 volt.

      Tapi hal ini tidak mungkin terjadi karena maksimum tegangn input DC yang digunakan adalah 35 volt. Sehingga maksimum teg. Outputnya  ya  sekitar 35 volt – 1,4 volt = 33,6 volt saja. Dari sini rangkaian di atas sudah cukup bila digunakan untuk mendesain catu daya tegangan output dari 0 s/d 32 volt.

      R4 dan R5 di atas berfungsi sebagai rangkaian pembagi tegangan agar tegangan output nya dpat dibaca oleh mikro. Tegangan output catu daya maksimum adlah 32 volt. Bila langsung dibaca oleh mikro.. bisa bisa pin mikronya langsung meleduk (kobong):D, untuk itu diperlukan rangkaian penurun tegangan seperti di atas.  Tegangan drop pada pin “teg.” Adalah Vout x R5/(R4+R5) atau 32 volt x 150k / 1150k atau sekitar 4,17 volt.

      Nilai inilah yang maksimum terbaca oleh ADC sehingga mikro masih aman.. R4 dan R5 sengaja dibuat besar agar tidak terjadi drop arus pada beban outputnya . Sedangkan R Shunt di atast fungsinya untuk sensitivitas pengukuran arus beban pada output. R shunt dibuat sekecil mungkin agar tidak terjadi drop tegangan dan arus yang terlalu besar pd output.

           Bagaimana kita tahu arus pada beban..?  caranya adalah dg mengukur tegangan pada R shunt melalui ADC mikro dan membaginya dengan nilai R shunt.. misal, diketahui R shunt adalah 0.2 ohm dan tegangan pada pin “arus” yang yg terbaca mikro adalah 100 mVolt, maka Arusnya sekitar 100 mVolt/0.2 ohm = 500 mA.

     ADC seperti telah di jelaskan di atas. Terdpt dua channel ADC yang digunakan , yaitu channel 0 (PORTA.0) dan channel 1 (PORTA.1). channel 0 untuk mengukur tegangan output sedangkan channel 1 untuk arusnya. ADC yang digunakan 10 bit sehingga resolusi tegangan output yang bisa diukur adalah Vcc/1024, yaitu sekitar 4,88 mV. Nilai tegangan dan arus yang terbaca ini kemudian digunakan sebagai masukan kendali DAC oleh mikro ATMega16, bila tegangan output kurang dari set point, maka mikro harus menambah nilai DAC nya untuk menambah tegangan dan sebaliknya. Sehingga didapatkan tegangan output yang fix sesuai set point yang diatur pada program.
Rangkaian keseluruhan sistem seperti dibawah.







       Setelah merancang hardware, saatnya membuat software/algoritma pengendalian tegangan dan arusnya.. secara umum algoritma untuk regulasi tegangan adalah dengan membaca tegangan dari sambungan “teg.” melalui ADC pada PINA.0. tegangan tersebut dikalikan dg suatu konstanta untuk kalibrasi dg tegangan output sebenarnya. Bila tegangan kurang dari tegangan set point-20 mV maka tegangan output DAC ditambah terus, sebaliknya bila tegangan output catu daya lebih dari set point+20 mV maka tegangan output DAC dikurangi. 20 mV adalah toleransi setpoint tegangan output. Untuk regulasi arus pada sumber arus prinsipnya sama, dg membaca tegangan R shunt pada ADC PINA.1 dan membaginya dengan 0.2 ohm (hambatan R shunt/lihat rangkaian di atas). lebih jelasnya, flow chart sistem umumnya seperti ini :



sumber :