이탈리아어로 due 는 두에 라고 읽고 '둘'이라는 뜻이다. 숫자 1, 2, 3 이 uno, due, tre ... 이다. 다른 것들은 모두 AVR계열의 프로세서를 사용해서 최대 클럭 속도(16MHz)나 배정도(double) 실수 사용에 제약이 있으나 이것은 ARM Cortex-M3 프로세서를 사용하여 훨씬 높은 성능을 가지고 있다.
[그림 1] 아두이노 Due 의 외형
일단 클럭주파수가 84MHz이고 내부적으로 3.3V를 사용 (보통 다른 아두이노 보드는 5V로 동작한다)하므로 라즈베리파이의 GPIO와 핀끼리 바로 연결할 수 있다는 장점도 있다. 또한 AVR 기반의 아두이노 보드와 달리 DAC도 내장하고 있으며 프로그램에서 64bit double형도 다룰 수 있다고 한다. 성능이 높은 만큼 가격은 다소 비싼 편이다. 동작 클럭이 84MHz이므로 단순히 비교하면 우노보드보다 5배 이상 성능이 높으며 디지털 핀수가 굉장히 많아졌고 PWM 개수도 우노보드보다 더 많으며 해상도도 12bit까지 지정할 수 있다. 그리고 모든 디지털핀에 인터럽트를 설정해 줄 수 있다는 것도 큰 장점이다. 우노의 경우 두 개의 외부 인터럽트만 사용할 수 있다.
자세한 사양은 다음 표와 같다.
[표 1] 아두이노 Due 보드의 사양
Microcontroller | AT91SAM3X8E |
Operating Voltage | 3.3V |
Input Voltage (recommended) | 7-12V |
Input Voltage (limits) | 6-16V |
Digital I/O Pins | 54 (of which 12 provide PWM output) |
Analog Input Pins | 12 |
Analog Outputs Pins | 2 (DAC) |
Total DC Output Current on all I/O lines | 130 mA |
DC Current for 3.3V Pin | 800 mA |
DC Current for 5V Pin | 800 mA |
Flash Memory | 512 KB all available for the user applications |
SRAM | 96 KB (two banks: 64KB and 32KB) |
Clock Speed | 84 MHz |
두에보드에는 USB연결단자가 두 개가 있는데 기본적으로 DC잭에 가까운 마이크로USB포트와 PC를 연결하면 전원이 공급되며 프로그램을 업로드할 수 있는 환경이 된다. 이 경우 별도로 DC잭으로 전원을 공급할 필요는 없으나 필요할 경우 7V~12V를 연결해야 한다.
[그림 2] 아두이노 Due의 프로그래밍 포트
한 가지 주의할 점은 기존 아두이노보드들은 5V로 구동되는데 비해서 이것은 구동 전압이 3.3V라는 것이다. 입출력 핀에 5V신호를 인가하면 보드에 손상이 올 수도 있다고 하니 주의해야 한다.
PC와 USB를 연결하고 스케치를 실행한 후 도구>보드>아두이노Due(Programming port)를 선택하고 도구>포트>COM? 에서 올바른 포트를 선택하면 일단 환경설정이 끝난 것이다. 예제의 Blink 를 열어서 업로드하면 보드상의 LED 가 깜빡이는 것을 볼 수 있다.
핀의 구조를 도시한 다이어그램은 다음과 같다.
[그림 3] 아두이노 Due의 핀맵
한 가지 주의할 점은 클럭이 84MHz 이니까 16MHz 를 사용하는 우노보다 6배 이상 성능이 높을 것이라고 기대하면 안된다는 것이다. 성능 테스트를 위해서 간단한 프로그램으로 테스트를 해 보았다. 프로그램은 다음과 같이 2번 핀을 연속적으로 on/off 시키는 것이다. 그리고 이 핀의 주파수가 어떻게 나오는가를 스코프로 찍어보는 것이다.
void setup() {pinMode(2, OUTPUT);}void loop() {while(1) {digitalWrite(2, HIGH);digitalWrite(2, LOW);}} |
2번 핀을 스코프로 찍어서 본 결과는 다음과 같다. 화질이 안 좋지만 세로 줄 한 칸이 1us이므로 구형파의 한 주기가 5us 이다. 따라서 주파수는 200kHz라는 것을 알 수 있다. 가로줄은 한 칸이 1V이므로 on 상태에서 3.3V 의 값을 갖는것을 알 수 있다.
[그림 4] 실험 결과
똑같은 프로그램을 아두이노 우노에 집어 넣고 실행 시킨 결과 구형파의 한 주기가 8us 가 나왔다. 주파수로 따지면 125kHz이다.
이것만으로 단순하게 성능비교를 하기에는 부족하지만 두에가 우노보다 약 1.6배의 성능을 보여준다. 우노의 클럭주파수가 16MHz 이고 두에가 84MHz이다. 내부적인 연산 속도는 5배 이상(실수 연산의 경우에는 더 높은 성능을 기대할 수 있을 것이다.)의 성능을 가질 것으로 짐작할 수 있으나 디지털 핀과 같은 하드웨어를 제어하는 경우에는 우노에 비해서 5배 이상의 성능을 기대한다는 것이 무리라는 결론이 나온다.
'하드웨어 > 아두이노' 카테고리의 다른 글
갈릴레오(galileo) 보드 개요 (1) | 2015.06.15 |
---|---|
아두이노 두에(Due) 보드의 아날로그 출력(PWM) (1) | 2015.06.15 |
아두이노 사용자 라이브러리 작성 예 (part 2) (0) | 2015.06.12 |
아두이노 사용자 라이브러리 작성 예 (part 1) (0) | 2015.06.12 |
아두이노 사용자 라이브러리 추가하는 방법 (0) | 2015.06.12 |