2015년 4월 26일 일요일

[00092] 인텔 갈릴레오보드 간략 사용기

  인텔의 갈릴레오 보드는 아두이노와 똑 같은 개발 환경을 이용할 수 있는 고성능의 임베디드 보드이다.



 며칠 사용해 본 간단한 느낌은 일단 업로드 속도가 일반 아두이노보다 매우 빠르다는 것과 아두이노의 개발 환경과 거의 동일하다는 것이다. 하지만 리눅스 OS 위에서 동작이 되기 때문에 실제 저수준의 성능이 매우 높다고 단정할 수는 없을 것 같다.

  아래 사진은 아두이노 프로미니 (좌상단)과 갈릴레오 보드를 TWI로 연결하여 통신 실험을 하는 것이다. 매우 잘 동작한다.


약간의 구글링 결과 아래와 같은 언급이 눈에 띈다.


" It is interesting that it can only run as an I2C or SPI master, and not as a slave. This means for some multiple board setups must be redone using other communications technologies. Also, it looks like it only supports the 100 kHz i2c, and it doesn't support faster speeds. Hmmm, I noticed that all of the GPIO pins are actually done via an i2c port expander. Each pin change takes approximately 2ms, and with the overhead of creating i2c, etc. the max throughput of gpio pins is about 230 Hz."

즉, I2C 통신의 경우 갈릴레오 보드는 마스터로만 사용할 수 있고 100kHz의 속도만을 지원한다. 또한 GPIO핀의 신호를 변화시키는데 2ms 가 소요되고 실제 오버헤드를 고려한다면 230 Hz 정도가 최대이다...

생각보다 성능이 높지는 않은 것 같다. 이 말은

----------------------------------------------------------------------
          while(1) {
               digitalWrite(pin, HIGH);
               digitalWrite(pin, LOW);
          }
----------------------------------------------------------------------

이 와 같은 간단한 코드로 생성되는 pin 의 구형파가 230Hz 정도라는 것이다. 실제로 스코프로 찍어 봐야 알 수 있겠으나 생각보다 낮은 성능을 가지고 있는 것 같다. 프로세서의 클럭이 400MHz라고 해서 일반 아두이노보다 20배 이상의 성능을 가지리라고 예상하면 안 된다는 것이다.
[#00092]

댓글 없음:

댓글 쓰기