Perbandingan Kecepatan I/O Digital pada Arduino

Berbagai board Arduino yang diuji

Perbandingan Kecepatan I/O Digital pada Arduino

Dalam percobaan ini dibandingkan kecepatan I/O digital untuk beberapa board Arduino dan Arduino compatible sebagai berikut:

  • Arduino UNO R3 (http://www.arduino.cc/en/Main/ArduinoBoardUno)
  • Arduino Due (http://www.arduino.cc/en/Main/ArduinoBoardDue)
  • Arduino Nano clone
  • Nuvoton NuEdu-UNO
  • Intel Galileo (http://www.arduino.cc/en/ArduinoCertified/IntelGalileo)
Berbagai board Arduino yang diuji
Berbagai board Arduino yang diuji

Pengujian adalah dengan mengukur frekuensi output dari program Blink dari Arduino dengan delay dan tanpa delay.

Berikut ini program Blink asli dengan delay

void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(1000);              // wait for a second
digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
delay(1000);              // wait for a second
}

Berikut ini program Blink asli tanpa delay

void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
}

Compiler yang digunakan adalah Intel-Arduino versi 1.6.0 untuk Intel Galileo dan Arduino ver 1.5.8 untuk board lainnya. Source code yang digunakan sama persis untuk semuanya. Pemrograman dilakukan di komputer berbasis Windows.

Pengukuran dilakukan dengan mengukur frekuensi sinyal di pin 13. Alat ukur frekuensi yang dipakai adalah multimeter Kyoritsu model 1009.

Pengukuran frekuensi I/O pada Nuvoton NuEdu-UNO
Pengukuran frekuensi I/O pada Nuvoton NuEdu-UNO

Berikut ini rangkuman hasil pengukurannya:

Board Arduino Prosesor Clock CPU
Dengan delay Tanpa delay
Arduino UNO ATmega328 16 MHz 499.1 Hz 93.9 kHz
Arduino Due Atmel SAM3X8E ARM Cortex-M3 (AT91SAM3X8E) 84 MHz 499.9 Hz 145.4 kHz
Arduino Nano clone ATmega328 16 MHz 499.9 Hz 94.1 kHz
Nuvoton NuEdu-UNO ARM Cortex-M0 NUC131SD2AE 50 MHz max 500.0 Hz 384.2 kHz
Intel Galileo Intel® Quark SoC X1000 400 MHz max 498.6 Hz 220.1 Hz

Analisis

  • Arduino UNO dan Arduino Nano menggunakan prosesor yang sama, jadi hasilnya praktis sama.
  • Pengujian ini hanya menunjukkan kecepatan akses ke I/O digital, tidak menunjukkan kemampuan umum.
  • Kecepatan I/O pada CPU jenis mikrokontroler lebih tinggi dibandingkan CPU general purpose. ATMega dan ARM Cortex-M0 adalah jenis CPU mikrokontroler.
  • Jika ingin melihat performance yang lebih umum perlu ditest dengan software benchmark yang standar.

One thought on “Perbandingan Kecepatan I/O Digital pada Arduino

Tinggalkan Balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.