- 2 buah board ARM Cortex M0 dari Nuvoton
- 2 ARM Cortex M3 dari NXP (Phillips), yaitu LPCXpresso LPC1769 dan mbed LPC 1768
- ARM7TDMI berupa board LPC-L2294 buatan Olimex
- ARM9 berupa board TS7260 dari embeddedarm.com
Saturday, 30 July 2011
Parade Prosesor ARM
Minggu ini saya berhasil mengumpulkan beberapa board ARM:
Wednesday, 20 July 2011
Mempelajari ARM Cortex M3 dengan development board LPCXpresso
LPCXpresso LPC1769 (kanan) disandingkan dengan modul LPC2294 dari Olimex (kiri)
Salah satu cara cepat belajar ARM Cortex M3 adalah dengan menggunakan board LPCXpresso. Board ini adalah hasil kerjasama antara NXP sebagai produsen mikroprosesor ARM, CodeRed sebagai produsen compiler dan Embedded Artist sebagai produsen development board.
Keunggulan produk ini yang saya rasakan:
- Dapat langsung digunakan
- Tersedia pin-pin untuk menyambungkan ke periferal yang kita inginkan
- Jika ingin menggunakan development board yang lebih besar dan lengkap, dapat membeli base board dari Embedded Artist
- Sudah ada JTAG
- Compiler gratisan dari CodeRed dapat membuat aplikasi sampai ukuran 128k. Ini lebih besar daripada hasil software gratisan dari Keil / IAR
- Sudah ada porting FreeRTOS untuk LPCXPresso. Ini sangat memudahkan untuk mencoba RTOS (Real Time Operating System)
- Tersedia modul LPCXpresso untuk kelas Cortex M0 dan Cortex M3
- Sudah ada chip ethernet, tinggal ditambah konektor ethernet.
- Harganya lumayan murah , €20
Labels:
arm,
cortex m3,
lpcxpresso
Referensi untuk mempelajari teknik reduksi derau (noise) pada sistem elektronika
Dalam membuat sebuah sistem elektronika, kita akan menghadapi adanya ketidaksesuaian antara apa yang kita rancang dengan yang terjadi di dunia nyata. Salah satu penyebabnya adalah fenomena derau (noise). Fenonema derau ini sering diabaikan pada waktu perancangan, namun ternyata muncul pada waktu implementasi perangkat keras.
Berikut ini beberapa referensi yang pernah saya pakai untuk belajar / mengajar mengenai EMI (Electromagnetic Interference) /EMC(Electromagnetic Compatibility) /ESD (Electrostatic Discharge):
Referensi berupa Textbook:
Berikut ini beberapa referensi yang pernah saya pakai untuk belajar / mengajar mengenai EMI (Electromagnetic Interference) /EMC(Electromagnetic Compatibility) /ESD (Electrostatic Discharge):
Referensi berupa Textbook:
- Ott, H., Noise Reduction Techniques in Electronic Systems. New York: Wiley, 1976 -> ini yang dulu saya pakai untuk kuliah "Derau pada sistem elektronika" tahun 1990 an. Sangat powerful.
- Howard Johnson, High Speed Digital Design: A Handbook of Black Magic -> ini pernah dianjurkan oleh seorang kawan yang 'hardware freak'
Tuesday, 19 July 2011
Prosesor ARM Cortex M0 dari Nuvoton
Baru saja saya mendapatkan 2 buah sampel development board dari Nuvoton. Saya belum sempat mencobanya, jadi sementara ini cuma ada uraian pandangan mata saja.
Board pertama adalah development kit tipe NuTiny SDK M051. Isinya adalah board ARM Cortex M0 dari seri M051. Kode '051' ini mengingatkan ke prosesor 8051, dan barang ini memang ditarget untuk menjadi prosesor yang bersaing dengan seri 8051. Dari sisi harga sepadan, sedangkan dari sisi kemampuan prosesor ini adalah masuk ke jenis ARM32. Dengan harga yang mirip harga prosesor 8 bit, bisa mendapatkan kemampuan yang mendekati prosesor 32 bit.
Dari foto close up prosesornya, tipe prosesornya adalah "M0 516 LAN", artinya kapasitas Flash ROMnya adalah 64k
Menurut Digikey, harga board ini adalah USD 19.95
Harga prosesornya saja berkisar antara USD 1.8 sampai dengan USD 4.23 tergantung jumlah pesanan.
Board ini sempat juga didiskusikan di forum AVRFreaks
Spesikasi prosesor NUC menurut user's guide"
Daftar prosesor dari Nuvoton dapat dilihat di situs Nuvoton. Berikut ini diagram ringkasnya. Nampak bahwa M051 adalah 'lowest of the low' dari keluarga ARM Cortex M0, sedangkan NU140 adalah tipe high-end nya.
Board pertama adalah development kit tipe NuTiny SDK M051. Isinya adalah board ARM Cortex M0 dari seri M051. Kode '051' ini mengingatkan ke prosesor 8051, dan barang ini memang ditarget untuk menjadi prosesor yang bersaing dengan seri 8051. Dari sisi harga sepadan, sedangkan dari sisi kemampuan prosesor ini adalah masuk ke jenis ARM32. Dengan harga yang mirip harga prosesor 8 bit, bisa mendapatkan kemampuan yang mendekati prosesor 32 bit.
Dari foto close up prosesornya, tipe prosesornya adalah "M0 516 LAN", artinya kapasitas Flash ROMnya adalah 64k
Menurut Digikey, harga board ini adalah USD 19.95
Harga prosesornya saja berkisar antara USD 1.8 sampai dengan USD 4.23 tergantung jumlah pesanan.
Board ini sempat juga didiskusikan di forum AVRFreaks
Board kedua adalah starter kit tipe Nu-LB-NUC140. Board ini sudah dilengkapi beberapa periferal, sehingga di sini sudah dapat melakukan percobaan yang cukup kompleks.
Tipe prosesornya adalah NU140VE3CN artinya: CPU Core Cortex-M0, Connectivity Line, APROM size 128K, RAM Size 16K
Spesikasi prosesor NUC menurut user's guide"
The NUC1XX series are ARM® Cortex™-M0 core embedded microcontroller for industrial control and the applications which needed Rich communication functions. The Cortex™-M0 is the newest ARM embedded processor with 32-bit performance and at a cost equivalent traditional 8-bit microcontroller.Periferal yang sudah ada di board starter kit ini adalah sebagai berikut:
The NUC1XX series with Cortex™-M0 core runs up to 50MHz, up to 32K/64K/128K-byte embedded flash, and 4K/8K/16K-byte embedded SRAM, it also integrates Timers, Watchdog Timer, RTC, PDMA, UART, SPI/SSP, I2C, PWM Timer, GPIO, LIN, CAN, USB 2.0 FS Device, 12-bit ADC, Analog Comparator, Low Voltage Detector and Brown-out detector.
- 7-segment sebagai output
- keyboard 3x3 sebagai input
- push button interrupt
- LCD sebagai tampilan
- UART melalui konektor DB9
- Buzzer
- Konektor I2C
- Konektor SPI
- Konektor PS2
- Konektor ADC
- Konektor I2S
- Konektor LIN dan CAN
- Antar muka untuk memori SD
Daftar prosesor dari Nuvoton dapat dilihat di situs Nuvoton. Berikut ini diagram ringkasnya. Nampak bahwa M051 adalah 'lowest of the low' dari keluarga ARM Cortex M0, sedangkan NU140 adalah tipe high-end nya.
Berbagai Teknik Programmer untuk AVR
Pada tulisan ini diuraikan berbagai teknik untuk memasukkan program ke dalam Flash memory pada mikrokontroller AVR. Teknik tersebut adalah sebagai berikut:
Ada 2 varian rangkaian jenis ini, yaitu programmer tanpa buffer dan programmer dengan buffer.
Blok diagram rangkaian tanpa buffer adalah sebagai berikut:
Blok diagram rangkaian dengan buffer adalah sebagai berikut:
Contoh hardware rangkaian programer jenis ini adalah sebagai berikut:
Pin-pin ISP dikendalikan oleh port serial dari PC, .
Pemrograman tidak menggunakan protokol komunikasi serial, melainkan menggunakan metode ''bit-banging''. Contoh rangkaian dapat dilihat di URL berikut. http://www.lancos.com/siprogsch.html .
Software dapat menggunakan PonyProg
Pada programmer ini, PC berkomunikasi melalui protokol serial dengan sebuah mikroprosesor.
Mikroprosesor ini kemudian mengendalikan pin-pin ISP pada mikrokontroler AVR yang akan diprogram.
Contoh Rangkaian
Pada programmer jenis ini, pada AVR yang akan diprogram diaktifkan dulu suatu program kecil bernama ''bootloader''. PC mengirimkan software yang akan diprogramkan ke program bootloader ini , kemudian program bootloader akan memprogram memori Flash dengan program yang diinginkan tersebut.
Contoh software bootloader
Pada programmer jenis ini, sebuah mikroprosesor dipakai untuk menerima sinyal USB langsung dari PC tanpa menggunakan chip khusus USB. Mikroprosesor programmer ini kemudian memprogram chip AVR melalui koneksi ISP.
Contoh rangkaian programmer USB dengan bit banging
Contoh produk jadi:
Pada dasarnya programmer USB ini adalah salah satu dari programmer via serial di atas, namun port serial yang digunakan adalah komponen konverter USB to Serial Adapter.
Terdapat beberapa rangkaian programmer yang berbasis berbasis dari board STK500 sebagai berikut:
- Programmer AVR dengan ISP via port paralel
- Programmer AVR melalui port serial dengan bit-banging ISP
- Programmer AVR dengan ISP via port serial dengan protokol serial
- Programmer AVR via port serial dengan bootloader
- Programmer USB dengan bit banging
- Programmer USB dengan port serial
- Programmer Tegangan Tinggi (HV Programmer)
Programmer AVR dengan ISP via port paralel
Pada programmer jenis ini, pemrograman dimasukkan melalui port SPI (Serial Peripheral Interface) di mikrokontroler AVR. Teknik ini dikenal juga dengan nama ISP (In System Programming), artinya mikrokontroler dapat diprogram pada sistem yang sudah tersolder, tanpa perlu mencopot mikrokontroler tersebut dari PCB. Pada teknik ini, pin-pin ISP di AVR langsung dikendalikan oleh port paralel dari PC.Ada 2 varian rangkaian jenis ini, yaitu programmer tanpa buffer dan programmer dengan buffer.
Blok diagram rangkaian tanpa buffer adalah sebagai berikut:
Blok diagram rangkaian dengan buffer adalah sebagai berikut:
Contoh hardware rangkaian programer jenis ini adalah sebagai berikut:
- Programmer tanpa buffer buatan Roland Walter http://www.rowalt.de/mc/
- Rangkaian programmer buatan Mohammad Asim Khan yang sebenarnya untuk AT89Sxx namun dapat juga dipakai untuk AVR. Rangkaian ini kompatible dengan STK200.
- Buatan Tahan Prahara ( orang Indonesia lho)
- Rangkaian buatan saya sendiri: http://www.ee.itb.ac.id/~waskita/content/rangkaian-programmer-at89s51-dan-at89s52 . Rangkaiannya mengacu ke programmer buatan Mohammad Asim Khan
Programmer AVR melalui port serial dengan bit-banging ISP
Blok diagram sederhanaPin-pin ISP dikendalikan oleh port serial dari PC, .
Pemrograman tidak menggunakan protokol komunikasi serial, melainkan menggunakan metode ''bit-banging''. Contoh rangkaian dapat dilihat di URL berikut. http://www.lancos.com/siprogsch.html .
Software dapat menggunakan PonyProg
Programmer AVR dengan ISP via port serial dengan protokol serial
Pada programmer ini, PC berkomunikasi melalui protokol serial dengan sebuah mikroprosesor.
Mikroprosesor ini kemudian mengendalikan pin-pin ISP pada mikrokontroler AVR yang akan diprogram.
Contoh Rangkaian
- http://www.kmitl.ac.th/~kswichit/avr910/avr910.htm, aslinya dari http://www.mikrocontroller-projekte.de/Mikrocontroller/AVR-Prog/AVR-Programmer.html
- http://avr.fenceline.de/AVR910/AVR910.html
Programmer AVR via port serial dengan bootloader
Pada programmer jenis ini, pada AVR yang akan diprogram diaktifkan dulu suatu program kecil bernama ''bootloader''. PC mengirimkan software yang akan diprogramkan ke program bootloader ini , kemudian program bootloader akan memprogram memori Flash dengan program yang diinginkan tersebut.
Contoh software bootloader
- ATMega16 Bootloader http://pramode.net/2008/01/23/avr-atmega16-bootloader-experiments/ ,
- http://www.siwawi.arubi.uni-kl.de/avr_projects
- Arduino bootloader http://www.arduino.cc/
Programmer USB dengan bit banging
Pada programmer jenis ini, sebuah mikroprosesor dipakai untuk menerima sinyal USB langsung dari PC tanpa menggunakan chip khusus USB. Mikroprosesor programmer ini kemudian memprogram chip AVR melalui koneksi ISP.
Contoh rangkaian programmer USB dengan bit banging
Contoh produk jadi:
Programmer USB dengan port serial
Pada dasarnya programmer USB ini adalah salah satu dari programmer via serial di atas, namun port serial yang digunakan adalah komponen konverter USB to Serial Adapter.
Programmer Tegangan Tinggi (HV Programmer)
Programmer ini mengakses flash di AVR melalui port paralel di AVR. Pada waktu pemrograman diperlukan tegangan +12V pada pin tertentu, oleh karena itu teknik ini disebut programmer tegangan tinggi. Tegangan tinggi di sini tidak mencapai puluhan ataupun ratusan volt, tapi hanya +12 V. Keunggulannya utama programmer adalah dapat dipakai untuk memprogram chip AVR yang sempat dimatikan SPI atau pin Resetnya. Kelemahannya adalah rangkaian programmernya cukup kompleks dan juga chip mikrokontroler yang diprogram harus dilepas dari PCB.Terdapat beberapa rangkaian programmer yang berbasis berbasis dari board STK500 sebagai berikut:
- http://www.der-hammer.info/hvprog/index_en.htm
- http://makecircuits.com/blog/2009-04-05-high-voltage-parallel-programmer-avr.html
- http://www.scienceprog.com/avr-serial-and-parallel-high-voltage-programmer/
Labels:
avr,
programmer
Subscribe to:
Posts (Atom)