Perbandingan Kecepatan I/O Digital pada Arduino
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)
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.
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”