인텔의 갈릴레오 보드는 아두이노와 똑같은 개발환경을 이용할 수 있는 고성능의 임베디드 보드이다.
[그림 1] 갈릴레오 보드의 패키지
잠시 사용해 본 간단한 느낌은 일단 업로드 속도가 일반 아두이노보다 매우 빠르다는 것과 아두이노의 개발환경과 거의 동일하다는 것이다. 하지만 리눅스 OS 위에서 동작이 되기 때문에 실제 저수준의 성능이 매우 높다고 단정할 수는 없다.
[그림 2] 갈릴레오 보드와 아두이노 프로미니 보드의 TWI 통신 실험
위 사진은 아두니오 프로미니 (좌상단)과 갈릴레오 보드를 TWI로 연결하여 통신 실험을 하는 것이다. 매우 잘 동작한다. 약간의 구글링 결과 제조사 홈페이지에서 확인한 바에 의하면 I2C 통신의 경우 갈릴레오 보드는 마스터로만 사용할 수 있고 100kHz의 속도만을 지원한다. 또한 GPIO핀의 신호를 변화시키는데 2ms 가 소요되고 실제 오버헤드를 고려한다면 230 Hz 정도가 최대이다. 생각보다 성능이 높지는 않은 것 같다.
이전 포스트에서 두에에서 했던 것과 똑같은 실험을 수행해 보았다. 즉 다음과 같은 코드를 실행시킨 다음 2번 핀의 주파수를 측정해 보는 것이다.
void setup() {pinMode(2, OUTPUT);}void loop() {while(1) {digitalWrite(2, HIGH);digitalWrite(2, LOW);}} |
이 프로그램은 2번 핀을 단순히 on/off 시키는 것이다. 결과는 아래 그림과 같은데 좀 의외였다. [그림 ]에서 스코프의 세로줄 한 칸은 1ms 이다. 따라서 구형파의 한 주기가 약 8.5ms이고 이것을 주파수로 환산하면 약 118 Hz 라는 어이 없는 결과가 나온다. 400MHz 짜리 갈릴레오가 16MHz 짜리 우노 보다 하드웨어 제어 성능이 한참 아래라는 결론이다. 아무리 갈릴레오가 리눅스 위에서 돌아가고 물리적인 핀들이 내부적으로는 I2C로 제어된다고는 하지만 성능이 너무 낮은 것 아닌가 하는 생각이 든다.
[표 1] 성능 비교표
보드 | 프로세서 | 동작 클럭 | 구형파의 한 주기 시간 | 주파수 |
아두이노 우노 (uno) | ATmega328 | 16 MHz | 5 us | 200,000 Hz (200 kHz) |
아두이노 두에 (due) | AT91SAM3X8E | 87 MHz | 8 us | 125,000 Hz (125KHz) |
인텔 갈릴레오 | intel Quark | 400 MHz | 8.5 ms | 118 Hz |
물론 갈릴레오는 원보드 마이컴이라서 일반적인 아두이노와 종류와 그 타겟 분야가 다르기는 하다. 하지만 단순히 굉장히 빠른 아두이노라는 오해를 가지고 실제 프로젝트에 적용시키려면 충분한 검토가 이루어져야 할 것 같다.
'하드웨어 > 아두이노' 카테고리의 다른 글
아두이노의 tone() 함수로 멜로디 연주하기 (0) | 2015.11.04 |
---|---|
NewPing 라이브러리로 HR04 초음파 센서 거리 측정하기 (0) | 2015.10.05 |
아두이노 두에(Due) 보드의 아날로그 출력(PWM) (1) | 2015.06.15 |
아두이노 두에(Due) 보드 개요 (2) | 2015.06.15 |
아두이노 사용자 라이브러리 작성 예 (part 2) (0) | 2015.06.12 |