Monday, December 9, 2013

perbedaan fast PWM dan Phase correct PWM

Perbedaan utama antara mode Fast PWM dan Phase Correct PWM selain dari frekuensi kerja adalah ketelitian dalam menghasilkan sinyal PWM.. pada phase correct menggunakan dual slope yang artinya jumlah bit counter yang berperan seakan akan menjadi 16bit.. Hal ini menyebabkan waktu Ton terhadap suatu sinyal menjadi lebih teliti 2x lipat.. Dalam mengontrol Sudut Putaran Motor ,terutama pada motor DC Servo, maka fitur ini sangat diperlukan mengingat Motor DC Servo mengandalkan ketelitian PWM dalam mengontrol sudut putaran motor.

salah satu mode operasi dalam T/C AVR adalah mode CTC.. dimana mode tersebut memiliki 3 jenis bentukan sinyal output yang dapat dipilih yaitu Toggle, Clear, dan Set. 
Pada penggunaannya toggle berfungsi mengubah keadaan logika pada PIN OCn setiap kali CompareMatch Terjadi.. hal ini membuat CTC dapat menghasilkan sebuah sinyal pulsa yang konstan sesuai dengan waktu comparematch terjadi. sedangkan untuk Clear dan Set berfungsi untuk mengubah keadaan pin OCn menjadi SET atau CLEAR ketika CompareMatch Terjadi..

perbedaan penggunaanya terlihat jelas pada saat menggunakan fungsi CTC untuk menghasilkan sinyal dan pada saat menggunakan CTC untuk melakukan counter dimana ketika counter telah comparematch maka pin OCn akan ditandai dengan Set atau Clear tergangtung penggunaannya.. satu hal yang perlu di perhatikan adalah pin OCn tidak akan berubah keadaan jika tidak dirubah secara manual atau di setting terlebih dahulu..

Thursday, December 5, 2013

Cara Cepat Menghitung IP Address Menggunakan VLSM

Cara Cepat Menghitung IP Address Menggunakan VLSM - Pada postingan sebelumnya ane membahas mengenai Script Auto Like Facebook Fanspage Terbaru, postingan ini ane tujukan pada agan-agan yang ingin menghasilkan banyak Like pada Facebook Fanspage. Sebenarnya sudah lama ane gak update blog kesayangan ane ini, liat aja tanggal terakhir ane posting, hehehe. Banyaknya kegiatan diluar jadi ane gak sempat posting deh. Termasuk tugas-tugas dari kampus buat ane gak bisa posting. 
Cara Cepat Menghitung IP Address Menggunakan VLSM


Kebetulan kemaren ane ada tugas dari kampus nyari IP Address Menggunakan VLSM. Awalnya ane kesulitan nyari IP Addres Menggunakan VLSM secara manual. Selain memakan waktu yang cukup lama, juga capek nulis. Ane sempat putus asa ngeliat tugas itu. Didalam keputus asaan, ane iseng-iseng browsing. Eh...ternyata ada Cara Cepat Menghitung IP Address Menggunakan VLSM. Menurut ane sih cara ini benar-benar cepat. Klw gak percaya liat aja ndiri Cara Cepat Menghitung IP Address Menggunakan VLSM dibawah ini :


VLSM(Variabel Length Subnet Mask) adalah suatu teknik untuk mengurangi jumlah terbuang [ruang;spasi] alamat. kita dapat memberi suatu subnet ke seseorang, dan dia dapat lebih lanjut membagi lebih lanjut membagi subnet ke dalam beberapa subnets. Oleh karena lebar dari subnet akan diperkecil, maka disebut dengan Variable Subnet Length Mask(VLSM).

Perhitungan IP Address menggunakan metode VLSM adalah metode yang berbeda dengan memberikan suatu Network Address lebih dari satu subnet mask, jika menggunakan CIDR dimana suatu Network ID hanya memiliki satu subnet mask saja, perbedaan yang mendasar disini juga adalah terletak pada pembagian blok, pembagian blok VLSM bebas dan hanya dilakukan oleh si pemilik Network Address yang telah diberikan kepadanya atau dengan kata lain sebagai IP address local dan IP Address ini tidak dikenal dalam jaringan internet, namun tetap dapat melakukan koneksi kedalam jaringan internet, hal ini terjadi dikarenakan jaringan internet hanya mengenal IP Address berkelas.

Langsung saja ke contoh kasus dalam perhitungan menggunakan metode vlsm. Dalam contoh kasus ini misalnya kita akan membangun sebuah jaringan internet dalam sebuah perusahaan besar. Dengan ketentuan Host yang dibutuhkan antaran lain:
  1. Ruang utama 1000 host 
  2. Ruang Kedua 500 host
  3. Ruang ketiga 100 host
  4. Ruang Server 2 host
Dengan alamat jaringan 172.16.0.0/16. Sebelum kita mulai menghitung vlsm, disini kita akan memcantumkann 8 bit angka ajaib ini:

128 . 64 . 32 . 16 . 8 . 4 . 2 . 1 . Dan membuat tabel-tabel untuk mempercepat proses perhitungan VLSM.  Seperti tabel-tabel berikut:

Host ke 2^n
Jumlah Host

Subnet mask 

Pre. mask/32-n

2^0

1

255.255.255.255

/32

2^1

2

255.255.355.254

/31

2^2

4

255.255.255.252

/30

2^3

8

255.255.255.248

/29

2^4

16

255.255.255.240

/28

2^5

32

255.255.255.224

/27

2^6

64

255.255.255.192

/26

2^7

128

255.255.255.128

/25

2^8

256

255.255.255.0

/24

2^9

512

255.255.254.0

/23

2^10

1024

255.255.252.0

/22

2^11

2048

255.255.248.0

/21

2^12

4096

255.255.240.0

/20

2^13

8192

255.255.224.0

/19

2^14

16386

255.255.192.0

/18

2^15

32768

255.255.128.0

/17

2^16

65536

255.255..0

/16

2^17

131072

255.254.0.0

/15

2^18

262144

255.2520.0

/14

2^19

524288

255.248.0.0

/13

2^20

1048576

255.240.0.0

/12

2^21

2097152

255.224.0.0

/11

2^22

4194304

255.192.0.0

/10

2^23

8388608

255.128.0.0

/9

2^24

16777216

255.0.0.0

/8

contohya seperti kasus berikut:

Dengan IP 172.16.0.0/16

1.  Ruang Utama 1000 host   
       Disini dibutuhkan 1000 host yang akan terhubung dengan internet ,untuk  mendapat 1000 host atau lebih perhatikan tabel diatas. Karena yang  dibutuhkan1000 maka cari hasil pemangkatan 1000 or  >= 1000 host.  dari tabel diatas yang sesuai dengan kebutuhan host yang dibutuhkan  gunakan 2^10 = 1024  dan subnet mask 255.255.252.0.
Untuk mencari nilai ip range seperti dibawah ini :

255.255.255.255 
255.255.252.    0   _ 
    0.    0.    3.255

Dan untuk mengetahui IP broadcastnya yakni hasil dari pengurangan diatas ditambah dengan ip network

172. 16.  0.    0
    0.   0.  3.255  +
172. 16.  3.255

Network         : 172.16.0.0/22
IP Pertama    : 172.16.0.1
IP Terakhir    : 172.16.3.254
IP Broadcast : 172.16.3.255
Subnet Mask : 255.255.252.0
2. Ruang Kedua 500 host
       Untuk Ruangan Kedua host  yang dibutuhkan or komputer yang bisa  terhubung dengan internet sebayak 500 komputer. Untuk mendapatkan 500  host atau lebih maka kita cari pemangkatan yang menghasilkan Host 500  atau lebih. dari tabel diatas yang menghasilkan 500 host >=500 host 
yang sesuai dengan kebutuhan host yang digunakan 2^9= 512 dan subnet mask 255.255.254.0.
Untuk mencari nilai ip range seperti dibawah ini :
255.255.255.255
255.255.254.    0   _
    0.    0.    1.255
    Dan untuk mengetahui IP broadcastnya yakni hasil dari pengurangan diatas ditambah dengan ip network

172. 16.  4.    0
    0.   0.  1.255  +
172. 16.  5.255

Network           : 172. 16. 4. 0/23
IP Pertama     : 172.16. 4.1
IP Terakhir      : 172.16. 5.254
IP Broadcast  : 172.16.5. 255 
          Subnet Mask : 255.255.254.0 

3. Ruang Server 100 Host
       Nah sekarang untuk Ruang ke 3 yang membutuhkan 100 host,  maka konsep 
perhitungan kita gunakan konsep kelas C atau bermain pada Oktet ke 4. Untuk mendapatkan 100  host atau lebih maka kita cari pemangkatan yang menghasilkan Host 100  atau lebih. dari tabel diatas yang menghasilkan 100 host >=100 host  yang sesuai dengan kebutuhan host yang digunakan 2^7= 128 dan subnet mask 255.255.255.127

Untuk mencari nilai ip range seperti dibawah ini :
255.255.255.255
255.255.255.128   _
    0.    0.    0.127
    Dan untuk mengetahui IP broadcastnya yakni hasil dari pengurangan diatas ditambah dengan ip network

172. 16.  6.    0
    0.   0.  0.127  +
172. 16.  6.127         
    Network          : 172.16. 6 . 0/25
    IP Pertama       : 172.16. 6 . 1       
    IP Terakhir       : 172.16. 6 . 126        
    IP Broadcast : 172.16 .6 .127             
    Subnet Mask : 255.255.255.128

    4.  Ruang Server 2 Host
           
    Network          : 172.16. 6. 128/30            
    IP Pertama     : 172.16. 6. 129
    IP Terakhir     : 172.16.6. 130           
    IP Broadcast  : 172.16.6.131           
    Subnet Mask : 255.255.255.252

    Monday, November 25, 2013

    Analog to Digital Converter
    The ATmega16 memiliki 10 - bit berturut pendekatan ADC . ADC terhubung ke 8 -channel Analog Multiplexer yang memungkinkan 8 input tegangan berakhir tunggal dibangun dari pin Port A. input tegangan berakhir tunggal merujuk ke 0V ( GND ) . Perangkat ini juga mendukung 16 diferensial kombinasi input tegangan . Dua dari input diferensial ( ADC1 , ADC0 dan ADC3 , ADC2 ) dilengkapi dengan gain diprogram , memberikan langkah amplifikasi 0 dB ( 1x ) , 20 dB ( 10x ) , atau 46 dB ( 200x ) pada tegangan input diferensial sebelum A / D konversi . Tujuh diferensial saluran input analog berbagi negatif umum terminal ( ADC1 ) , sedangkan setiap masukan ADC lainnya dapat dipilih sebagai terminal input positif . Jika 1x atau keuntungan 10x digunakan , resolusi 8 - bit dapat diharapkan . Jika 200x gain yang digunakan, resolusi 7 - bit dapat diharapkan .

    ADC berisi sampel dan sirkuit Tahan yang menjamin bahwa tegangan input ke ADC adalah diadakan pada tingkat yang konstan selama konversi . Sebuah diagram blok dari ADC ditunjukkan pada Gambar 98 . ADC memiliki pasokan tegangan analog pin yang terpisah , AVCC . AVCC tidak harus berbeda lebih dari ± 0.3V dari VCC . Lihat paragraf " ADC Noise Canceler " pada halaman 211 tentang bagaimana untuk menghubungkan ini pin . Tegangan referensi internal dari nominal 2.56V atau AVCC disediakan On-chip . Tegangan referensi dapat dipisahkan secara eksternal pada pin AREF oleh kapasitor untuk kinerja noise yang lebih baik .


    Saturday, November 23, 2013

    ADC pada ATMega16

    The ATmega16 memiliki 10 - bit berturut pendekatan ADC .
     ADC terhubung ke 8 -channel Analog Multiplexer yang memungkinkan 8 input tegangan berakhir tunggal dibangun dari pin Port A. input tegangan berakhir tunggal merujuk ke 0V ( GND ) . Perangkat ini juga mendukung 16 diferensial kombinasi input tegangan . Dua dari input diferensial ( ADC1 , ADC0 dan ADC3 , ADC2 ) dilengkapi dengan gain diprogram , memberikan langkah amplifikasi 0 dB ( 1x ) , 20 dB ( 10x ) , atau 46 dB ( 200x ) pada tegangan input diferensial sebelum A / D konversi . Tujuh diferensial saluran input analog berbagi negatif umum terminal ( ADC1 ) , sedangkan setiap masukan ADC lainnya dapat dipilih sebagai terminal input positif . Jika 1x atau keuntungan 10x digunakan , resolusi 8 - bit dapat diharapkan . Jika 200x gain yang digunakan, resolusi 7 - bit dapat diharapkan .
    ADC berisi sampel dan sirkuit Tahan yang menjamin bahwa tegangan input ke ADC adalah diadakan pada tingkat yang konstan selama konversi . Sebuah diagram blok dari ADC ditunjukkan pada Gambar 98 . ADC memiliki pasokan tegangan analog pin yang terpisah , AVCC . AVCC tidak harus berbeda lebih dari ± 0.3V dari VCC . Lihat paragraf " ADC Noise Canceler " pada halaman 211 tentang bagaimana untuk menghubungkan ini pin . Tegangan referensi internal dari nominal 2.56V atau AVCC disediakan On-chip . Tegangan referensi dapat dipisahkan secara eksternal pada pin AREF oleh kapasitor untuk kinerja noise yang lebih baik .
    operasi
    ADC mengkonversi tegangan input analog ke nilai digital 10 - bit melalui pendekatan berurutan . Nilai minimum merupakan GND dan nilai maksimum merupakan tegangan pada pin AREF dikurangi 1 LSB . Opsional, AVCC atau tegangan referensi 2.56V internal dapat terhubung ke pin AREF dengan menulis ke bit REFSn di ADMUX Register . internal tegangan referensi demikian dapat dipisahkan oleh kapasitor eksternal pada pin AREF untuk meningkatkan kekebalan kebisingan . Saluran analog input dan gain diferensial dipilih dengan menulis ke bit MUX ADMUX . Ada pin masukan ADC , serta GND dan tegangan referensi bandgap tetap, bisa terpilih sebagai masukan berakhir tunggal untuk ADC . Sebuah pilihan pin masukan ADC dapat dipilih sebagai input positif dan negatif dengan gain penguat diferensial . Jika saluran diferensial dipilih , tahap gain diferensial menguatkan perbedaan tegangan antara masukan yang dipilih pasangan channel oleh faktor keuntungan yang dipilih . Nilai ini diperkuat kemudian menjadi input analog ke ADC . Jika saluran berakhir tunggal digunakan , penguat gain dilewati sama sekali . ADC diaktifkan dengan menetapkan ADC Enable bit , ADEN di ADCSRA . Tegangan referensi dan pilihan saluran masukan tidak akan berlaku sampai ADEN diatur . The ADC tidak mengkonsumsi daya ketika ADEN dibersihkan , sehingga dianjurkan untuk mematikan ADC sebelum memasuki modus penghematan daya tidur .
    The ADC menghasilkan hasil 10 - bit yang disajikan dalam ADC data register , ADCH dan ADCL . Secara default , hasilnya disajikan benar disesuaikan , tapi opsional dapat disajikan kiri disesuaikan dengan mengatur bit ADLAR di ADMUX . Jika hasilnya dibiarkan disesuaikan dan tidak lebih dari 8 - bit presisi diperlukan , itu sudah cukup untuk membaca ADCH . Jika tidak, ADCL harus dibaca terlebih dahulu, kemudian ADCH , untuk memastikan bahwa isi dari data Register milik konversi yang sama . Setelah ADCL dibaca , ADC akses ke Register data diblokir . Ini berarti bahwa jika ADCL telah dibaca , dan konversi selesai sebelum ADCH adalah membaca, mendaftar tidak diperbarui dan hasil dari konversi hilang . Ketika ADCH dibaca , ADC akses ke ADCH dan ADCL Register diaktifkan kembali . ADC memiliki interrupt sendiri yang dapat dipicu ketika konversi selesai . ketika ADC akses ke Register Data dilarang antara pembacaan ADCH dan ADCL , interrupt  akan memicu bahkan jika hasilnya hilang .
    Mulai Konversi suatu
    Sebuah konversi tunggal dimulai dengan menulis satu logis untuk ADC Mulai Konversi bit , ADSC . Bit ini tetap tinggi selama konversi sedang berlangsung dan akan dihapus oleh hardware ketika konversi selesai . Jika saluran data yang berbeda yang dipilih sementara konversi sedang berlangsung , ADC akan menyelesaikan konversi saat sebelum melakukan perubahan saluran. Atau , konversi dapat dipicu secara otomatis oleh berbagai sumber . Auto Memicu diaktifkan dengan menetapkan Auto Pemicu ADC Aktifkan bit , ATanggal di ADCSRA . Pemicu sumber dipilih dengan menetapkan Pemicu ADC Pilih bit , ADTS di SFIOR ( lihat keterangan dari bit ADTS untuk daftar sumber-sumber pemicu ) . Ketika tepi positif terjadi pada sinyal pemicu yang dipilih , ADC prescaler direset dan konversi dimulai . Ini menyediakan metode untuk memulai konversi pada interval yang tetap . Jika sinyal pemicu masih diatur bila konversi selesai , konversi baru tidak akan dimulai . Jika tepi positif lain terjadi pada sinyal pemicu selama konversi , tepi akan diabaikan . Perhatikan bahwa Bendera Interrupt akan ditetapkan bahkan jika interupsi tertentu dinonaktifkan atau mengaktifkan interrupt global bit dalam sreg dihapus . Sebuah konversi sehingga dapat dipicu tanpa menyebabkan interupsi . Namun, Bendera Interrupt harus dibersihkan untuk memicu konversi baru di acara interrupt berikutnya .
    Menggunakan Interrupt Flag ADC sebagai sumber pemicu membuat ADC memulai konversi baru segera setelah konversi berlangsung telah selesai. ADC kemudian beroperasi dalam Free Running modus, terus sampel dan memperbarui data ADC Register. Konversi pertama harus dimulai dengan menulis satu logis untuk bit ADSC di ADCSRA. Dalam mode ini ADC akan melakukan konversi berturut terlepas dari apakah Interrupt Flag ADC, ADIF dihapus atau tidak. Jika Auto Memicu diaktifkan, konversi tunggal dapat dimulai dengan menulis ADSC di ADCSRA satu. ADSC juga dapat digunakan untuk menentukan apakah konversi sedang berlangsung. The ADSC bit akan dibaca sebagai satu selama konversi, terlepas dari bagaimana konversi dimulai
    Prescaling dan Konversi Waktu 

    Secara default, pendekatan sirkuit berturut membutuhkan frekuensi clock input antara 50 kHz dan 200 kHz untuk mendapatkan resolusi maksimum. Jika resolusi yang lebih rendah dari 10 bit yang dibutuhkan, jam masukan frekuensi ke ADC dapat lebih tinggi dari 200 kHz untuk mendapatkan sample rate yang lebih tinggi. Modul ADC berisi prescaler, yang menghasilkan sebuah ADC frekuensi clock diterima dari setiap frekuensi CPU di atas 100 kHz. Prescaling diatur oleh bit ADPs di ADCSRA. Prescaler mulai menghitung dari saat ADC diaktifkan dengan mengatur bit ADEN di ADCSRA.Prescaler terus berjalan selama bit ADEN diatur, dan terus reset ketika ADEN rendah.Saat melakukan konversi berakhir tunggal dengan menetapkan bit ADSC di ADCSRA, konversi dimulai di tepi terbit berikut siklus clock ADC. Lihat "Differential Laba Saluran" pada halaman 209 untuk detail diferensial waktu konversi. 
    Sebuah konversi normal memakan waktu 13 siklus clock ADC. Konversi pertama setelah ADC diaktifkan (ADEN di ADCSRA diatur) membutuhkan waktu 25 clock cycle ADC untuk menginisialisasi sirkuit analog. Sebenarnya sampel-dan-terus berlangsung 1,5 jam siklus ADC setelah dimulainya konversi normal dan 13,5 siklus clock ADC setelah dimulainya konversi pertama. 
    Ketika konversi selesai, hasilnya ditulis ke ADC data register, dan ADIF diatur. Dalam mode konversi tunggal, ADSC dibersihkan secara bersamaan. Perangkat lunak kemudian dapat menetapkan ADSC lagi, dan konversi baru akan dimulai pada hari pertama naik ADC tepi jam. Ketika Auto Memicu digunakan, prescaler adalah reset ketika acara memicu terjadi. Ini menjamin penundaan tetap dari peristiwa pemicunya awal konversi. Dalam mode ini, sampel-dan-terus 
    berlangsung 2 siklus clock ADC setelah tepi terbit pada sumber sinyal pemicu. Tiga siklus clock CPU tambahan digunakan untuk sinkronisasi logika. Saat menggunakan modus Diferensial, bersama dengan Auto memicu dari sumber selain Konversi ADC Complete, setiap konversi akan membutuhkan 25 jam ADC. Hal ini karena ADC harus dinonaktifkan dan diaktifkan kembali setelah setiap konversi. Dalam modus Free Running, konversi baru akan dimulai segera setelah konversi selesai, sementara ADSC tetap tinggi. Untuk ringkasan kali konversi, lihat Tabel 81.