Thursday, April 10, 2014

Mengapa Anda Perlu migrasi ke XMEGA Jilid I

ATxmega adalah salah satu anggota AVR.

Anda tentu tidak asing dengan AVR, baik itu classicAVR, megaAVR dan tinyAVR. Keempat anggota yang disebut tadi adalah anggota yang mempunyai core chip yang sama, yang membedakan adalah jumlah Flash, EEPROM, RAM dan kelengkapan periperal yang menyertainya; semisal jumlah USART, ADC, jumlah PIN dan lain-lain. AVR adalah mikrokontroler yang dirancang dengan arsitektur Harvad yang rata-rata hanya membutuhkan satu clock untuk melaksanakan satu perintah. Dengan rancangan chip yang sekarang (diperbaharui dengan kode A)  maksimal clock yang bisa diberikan adalah 20Mhz, sehingga perintah yang dapat dilakukan hingga 20MIPS (Mega Intruction Per Secon).

Beban perintah (komputasi) tergantung pada aplikasi yang anda buat. Anda mungkin membuat aplikasi ON/OFF relay sederhana, mungkin anda hanya memerlukan mikro AT89S51. Atau anda membutuhkan komunikasi USB sederhana dengan PC, mungkin anda memerlukan ATmega8A dengan VUSBnya. Mungkin juga anda ingin bermain-main dengan suara, anda perlu mikro yang lebih powerfull lagi semisal ARM.
Untuk berpindah dari satu arsitektur ke arsitektur mikro lainnya gara-gara kebutuhan komputasi yang lebih tinggi tentu membutuhkan kerja keras yang sangat melelahkan. Misalnya anda terbiasa dengan AVR, lalu anda ingin membuat aplikasi yang sangat haus komputasi semisal aplikasi yang membutuhkan enskripsi moderen AES 128Bit atau bahkan 256Bit, atau ingin bermain-main dengan suara. Tentu sebelumnya anda akan melirik ARM, dan ketika anda menyadari bahwa anda harus belajar mikro ARM dari awal karena arsitektur AVR berbeda dengan ARM. Tentu jika anda punya waktu lebih akan anda laksanakan. Tetapi jika anda tidak memiliki waktu lebih, akan sangat membebani anda. :)

ATMEL tentu membaca kebutuhan anda akan mikrokontroler yang lebih powerfull dari AVR tetapi dengan proses migrasi yang semudah mungkin. Jawaban ATMEL adalah dengan mengeluarkan produk xmegaAVR.

 xmegaAVR adalah suatu mikrokontroler yang memiliki core chip yang berbeda dengan core chip mikro AVR yang lain. xmegaAVR dirancang untuk dapat bekerja hingga clock 32Mhz, kecepatan ini di dalam mikro masih dapat diberikan faktor pengali lewat PLL hingga 128Mhz kata datasheet, saya berhasil mencoba hingga 80Mhz.Kecepatan tersebut yang digunakan pada core chip.

Selain dapat berlari kencang xmegaAVR juga dilengkapi teknologi hemat energi, yang diberi nama picoPower oleh Atmel. Teknologi hemat energi, xmegaAVR bekerja pada 1,6-3,6V.
Fitur-fitur yang ditancapkan juga tidak kalah hebatnya. Ada 2xADC 12bit, megaAVR hanya 1xADC 10Bit. Ada DAC, kalo megaAVR harus buat DAC luar atau memanfaat DAC jadi-jadian dengan cara PWM diberi Lowpas Filter :). Ada CRC, kalo megaAVR harus bersusah-susah buat program CRC sendiri. Ada DMA, Even Sistem, hardware Advanced Encryption Standard (AES) dan Data Encryption Standard (DES). PIN yang fungsinya macam2. QTouch, hemm.... yam...iiii. Bakal ngak laku orang jual Kypad xixixi...
UARTnya banyak. ada yang 2, 5 bahkan ada yang 8 buah UARTnya :)

Itu Si DMA dan Si Even Sistem kerjanya seperti reflek. Seperti nafasmu, yang sekali diprogram oleh Alloh, akan bekerja dgn sendirinnya tanpa campur tangan kesadaran otakmu, tapi kalo otak sekali2 pingin ngendaliin boleh juga :)
Si DMA bisa langsung update data sendiri di memory tanpa menyela program (semisal pakai intrupsi). Misalnya data ADC periodik yang telah tercaptur dapat langsung masuk ke memori (RAM). Jadi jalannya program tinggal konsentrasi mengolah program.
Dari sisi Harga murah juga. Berikut ini sedikit data perbandingan 2 mikro megaAVR dan xmegaAVR dengan form sama yaitu 32pin TQFP




Dan yang membuat migrasi dari megaAVR ke xmegaAVR mudah adalah Op-code (perintah menemonic) keduannya sama! Ya, keduannya memiliki kesamaan Op-code. Jika anda memprogram dalam bahasa C semisal COVIS, WinAVR, kedua compiler tersebut menyediakan kemampuan mengkompile program xmegaAVR!
Bahkan bahas basic dengan BASCOMnya juga menyediakan compiler untuk xmegaAVR.

Anda juga tidak akan banyak menemui kesulitan dalam memporting program yang tadinya memakai megaAVR ke xmegaAVR bahkan dalam bahasa asembeler!



Baca SelengkapnyaMengapa Anda Perlu migrasi ke XMEGA Jilid I

Wednesday, April 9, 2014

Minimum Sistem ATxmega

Memperkenalkan Sebuah Minimum Sistem ATxmega.
Minimum ini diberinama "Mini Xmega16/32" atau panggilan singkatnya "Mini". Mini  menggunakan ATxmega32D4 AU sebagai inti mikrokontroler-nya. Seri D dari keluarga xmegaAVR ini dipilih karena alasan harga seri D yang lebih rendah dari seri lainnya. Jika anda memerlukan seri-seri lain dalam keluarga xmegaAVR semisal seri A yang powerfull, Anda dapat memesannya langsung ke saya. Di dalam Mini ini sudah terdapat downloader ke mikrokontroler ATxmega32D4 lewat USB. Downloader yang digunakan adalah Univ PDI&ISP.

 Minimum Sistem Mini Xmega16/32 (Mini)
Spesifikasi Mini adalah:
  • Mikrokontroler ATxmega32D4
  • Downloader Univ PDI&ISP
  • xtal 4Mhz, lewat PLL hingga 80Mhz
  • Sumber tegangan USB atau external 5V
  • hingga 34pin IO
  • PIN PE0 & PE1 mengendalikan Output LED
  • 2 USART yang masing-masing dapat di remap jadi 4 USART
  • Dan Kelebihan-kelebihan lain xmega

Berikut ini adalah Gambar rangkaian Mini:



Mini dirancang untuk memenuhi kebutuhan riset anda akan mikrokontroler xmegaAVR, dan ide-ide cemerlang anda. Ukuran Mini dirancang dapat dipasang ke breadboard. Untuk dapat menggunakan breadboard, anda butuh menyediakan 2 buah breadboard:

 Butuh 2 breadboard

Kedua buah breadboard tersebut dapat anda jadikan satu. Kemudian Mini dapat anda pasangkan pada breadboard tersebut.
Mini dengan 2 breadboard siap untuk riset :)

Nah setelah itu anda dapat memulai reset anda dengan Mini. Eh lupa... kalo belum tau cara instal downloadernya Univ PDI&ISP, hubungkan Mini dengan PC lewat USB terus ikuti deh tata cara di ling berikut ini http://adpproduct.blogspot.com/2014/03/driver.html

Contoh pertama Program Mini.
Program ini sama dengan program Hello Word pada posting saya terdahulu, cuma karena minimum yang dahulu menggunakan PORT A sebagai output LED, pada Mini PORT E digunakan sebagai output LED.

Program ini Masih dalam AVR Studio 4.18 dan WinAVR20100110. berikut ini programnya. Saya tidak menerangkan bagaimana proses membuat programnya, karena sama dengan memprogram AVR yang lainnya, atau sama pada contoh program Hello Word.
Dan ini penampakannya:

Mini akan saya gunakan sebagai contoh-contoh program tentang xmega selanjutnya.
Ikuti blog saya ini untuk belajar bersama tentang xmega :)























Baca SelengkapnyaMinimum Sistem ATxmega