웨어러블 응용 분야를 위한 다양한 개발 및 시제품 제작 기판 평가

작성자: Clive "Max" Maxfield

DigiKey 북미 편집자 제공

오픈 소스 Arduino 개념은 애호가와 제조업체 사이에서 엄청난 성공을 거두었습니다. 최근에는 전문 설계자도 초기 개발 및 시제품 제작을 위해 상세 설계에 사용하고 있습니다. 웨어러블 및 상태 모니터링과 같은 응용 분야가 등장하면서 두 유형의 사용자 모두에게 더 뛰어난 성능과 더 많은 기능이 포함된 그 어느 때보다 작은 기판 폼 팩터가 필요해졌습니다.

이 기사에서는 공간 제약이 있는 저전력 응용 분야에서 뛰어난 성능과 기능을 얻으려는 제조업체와 전문가의 요구를 충족하기 위해 Arduino 기판이 어떻게 진화했는지 간략하게 살펴봅니다. 그런 다음 Arduino 제품군에 최근 추가된 Seeed Technology Co.Seeeduino XIAO로 시작하는 방법을 소개하고 설명합니다.

웨어러블 설계의 요구를 충족하기 위한 Arduino의 진화

많은 애호가와 설계자가 웨어러블을 비롯한 공간 제약이 있는 환경에 배포할 수 있는 물리적으로 크기가 작은 제품을 개발하는 데 관심이 있습니다. 대표적인 예로 스마트 전자 시스템은 마이크로 컨트롤러와 함께 감지 및/또는 디스플레이 장치를 기반으로 하는 경우가 많습니다. 이러한 시스템은 첨단 기술 귀금속으로 사용되기도 하고 피부 가까이나 피부 표면에 착용하여 온도, 심박수, 동맥 산화도 등의 신체 데이터 및 환경 데이터를 감지, 분석 및 전송할 수도 있습니다. 착용자에게 즉각적인 바이오피드백을 제공하기도 합니다.

이러한 설계를 위해 애호가와 제조업체는 Arduino 마이크로컴퓨터 개발 기판을 사용합니다. 마찬가지로 점점 더 많은 수의 전문 엔지니어 역시 평가 및 시제품 제작 플랫폼으로 해당 개발 기판을 사용하여 IC, 센서 및 주변 소자의 평가 기간을 단축하고 비용을 줄일 수 있습니다.

일반적으로 이러한 사용자는 "누구나 시작할 수 있는 기판"으로 광고하는 A000073 Arduino Uno Rev3으로 시작합니다(그림 1). 이 기판은 Atmel(현 Microchip Technology)의 ATMEGA328P-AUR 마이크로 컨트롤러를 기반으로 합니다. 이 5V 프로세서는 14개의 디지털 입/출력(I/O)(이 중 6개는 펄스 폭 변조(PWM) 기능을 제공할 수 있음)과 함께 6개의 아날로그 입력 핀(필요한 경우 디지털 I/O로도 사용할 수 있음)을 제공합니다. 또한 디지털 I/O 핀 2 및 3에서 2개의 외부 인터럽트를 지원하고 UART, SPI 및 I2C 인터페이스도 각각 하나씩 지원합니다.

Arduino Uno Rev3 개발 기판 이미지그림 1: Arduino Uno Rev3 개발 기판은 16MHz로 실행되는 8비트 ATmega328P 마이크로 컨트롤러를 기반으로 합니다. 14개의 디지털 I/O 핀, 6개의 아날로그 입력 핀 및 다양한 전원, 접지 및 레퍼런스 핀이 포함된 Arduino Uno Rev3 헤더의 풋프린트는 실드라고 하는 도터 기판의 거대한 에코시스템을 위한 기반입니다. (이미지 출처: Arduino.cc)

8비트 데이터 경로 및 16MHz 클록이라는 제한과 함께 Arduino Uno가 32KB의 플래시 프로그램 메모리와 2KB의 SRAM을 제공한다는 점 외에도 이 개발 기판은 크기가 68.6 x 53.4mm(36.63cm2)여서 많은 응용 분야에 적용하기에는 너무 큽니다.

마이크로 프로세서 개발 기판의 물리적 실장 면적을 줄이는 한 가지 방법은 Atmel의 ATMEGA4809-MUR 마이크로 컨트롤러를 기반으로 하는 ABX00028 Arduino Nano Every로 전환하는 것입니다(그림 2). Arduino Nano Every는 Arduino Uno보다 프로그램 메모리가 50% 더 많고(48KB), SRAM 양이 3배(6KB) 많습니다. Arduino Uno와 마찬가지로 14개의 디지털 I/O와 6개의 아날로그 입력 핀(필요한 경우 디지털 I/O로도 사용할 수 있음)을 제공하는 5V 프로세서를 기반으로 합니다. 또한 Uno처럼 Nano Every도 UART, SPI 및 I2C 인터페이스를 각각 하나씩 제공합니다. 그러나 외부 인터럽트를 2개만 지원하는 Uno와 달리 Nano Every의 모든 디지털 핀은 외부 인터럽트로 사용할 수 있습니다.

Arduino Nano Every 이미지그림 2: Arduino Nano Every는 기존 Arduino Nano에서 진화했지만 훨씬 강력한 프로세서인 ATMEGA4809를 포함하고 있어서, Arduino Uno보다 프로그램 메모리가 50% 더 많고 SRAM이 3배 더 큰 6KB이므로 변수를 입력할 공간이 훨씬 더 많습니다. (이미지 출처: Arduino.cc)

Arduino Nano Every는 여전히 8비트 데이터 버스의 제한이 있지만 클록이 더 빠르고(20MHz), 메모리가 더 많습니다(48KB 플래시 및 6KB SRAM). 크기가 제한된 프로젝트에서 더 중요한 점으로, Arduino Nano Every는 45mm x 18mm(8.1cm2)에 불과합니다.

Arduino의 통합 개발 환경(IDE)을 사용하여 프로그래밍할 수 있는 대안으로 널리 사용되는 또 하나의 제품이 SparkFun ElectronicsDEV-13736 Teensy 3.2입니다(그림 3). I/O 면에서 이 3.3V 개발 기판은 실제로 크게 향상되어 34개의 디지털 핀(이 중 12개는 PWM 지원)과 21개의 고해상도 아날로그 입력을 지원합니다.

Teensy 3.2 이미지그림 3: Teensy 3.2는 브레드 기판에 적합한 소형 개발 기판으로 PRJC.com의 Paul Stoffregen이 설계했습니다. 이 사용자 친화적인 개발 기판은 애호가, 학생 및 전문 엔지니어에게 저렴한 32비트 Arm® Cortex®-M4 플랫폼을 제공합니다. (이미지 출처: PRJC.com)

Teensy 3.2는 NXPMK20DX256VMC7R Kinetis K20 마이크로 컨트롤러로 구동됩니다. K20은 256KB의 플래시 메모리와 64KB의 SRAM을 사용하여 72MHz로 실행되는 32비트 Arm Cortex-M4 프로세서 코어를 포함하고 있습니다. 크기가 제한된 프로젝트에서 특히 주목을 받은 점으로 Teensy 3.2는 크기가 Arduino Nano Every의 약 3/4인 35mm x 18mm(6.3cm2)입니다.

Seeeduino XIAO 소개

Teensy 3.2는 6.3cm2에 불과하지만 여전히 많은 응용 분야에 적용하기에는 너무 큽니다. 더 작고 더 강력한 플랫폼을 찾는 사람을 위한 솔루션은 방대한 Arduino 생태계에 있습니다. 비교적 새로운 옵션은 Seeed Technology의 Seeeduino XIAO(그림 4)로, 크기가 표준 우표 크기인 23.5mm x 17.5mm(4.11cm2)에 불과합니다. Seeeduino XIAO의 설계자는 비용을 최대한 낮추는 데에도 중점을 두었습니다.

브레드 기판 친화적인 Seeeduino XIAO의 이미지 그림 4: 현재 Seeeduino 제품군에서 가장 작은 Arduino 호환 마이크로 컨트롤러 개발 기판이며 브레드 기판 친화적인 Seeeduino XIAO는 사용자에게 48MHz로 실행되는 강력한 32비트 Arm Cortex-M0+ 프로세서를 제공합니다. (이미지 출처: Seeed Studio)

XIAO는 Atmel의 ATSAMD21G18A-MUT SAMD21G18 마이크로 컨트롤러로 구동됩니다. 이 마이크로 컨트롤러는 48MHz로 실행되고 256KB의 플래시 메모리와 64KB의 SRAM으로 지원되는 32비트 Arm Cortex-M0+ 프로세서 코어를 포함하고 있습니다.

XIAO는 11개의 데이터 핀만 제공하지만, 각 핀은 디지털 I/O나 아날로그 입력으로 사용할 수 있습니다(그림 5). 핀 중 10개는 PWM을 지원하고 1개는 디지털-아날로그 컨버터(DAC)를 장착하여 완전한 아날로그 출력 기능을 제공할 수 있습니다. 또한 XIAO는 UART, SPI 및 I2C 인터페이스를 각각 하나씩 지원합니다.

디지털 I/O(D0 ~ D10) 또는 아날로그 입력(A0 ~ A10)으로 사용할 수 있는 11개 데이터 핀의 구성도그림 5: 전체 11개 데이터 핀은 디지털 I/O(D0 ~ D10) 또는 아날로그 입력(A0 ~ A10)으로 사용할 수 있습니다. 또한, A0은 완전한 아날로그 출력으로 작동할 수 있고 D4 및 D5는 I2C 인터페이스로 작동할 수 있고 D6 및 D7은 UART 인터페이스로 사용할 수 있으며 D8, D9 및 D10은 SPI 인터페이스로 작동할 수 있습니다. (이미지 출처: Seeed Studio)

Seeeduino XIAO 배포 및 사용

일반적으로 Seeeduino XIAO는 다른 Arduino 또는 Arduino 호환 개발 기판만큼 쉽게 사용할 수 있지만, 주목할 몇 가지 유용한 정보가 있습니다.

가장 기본적인 사항으로, 최신 버전의 Arduino IDE를 사용하는 것이 좋습니다. 다음으로, Seeeduino XIAO Wiki를 방문하여 적절한 기판 관리자로 Arduino IDE를 강화하는 방법에 관한 지침을 확인합니다.

많은 Seeeduino XIAO 프로젝트(웨어러블 및 기타)에서는 미터당 144개의 NeoPixel이 포함된 2970 스트립과 같은 Adafruit의 3색 WS2818 기반 NeoPixel을 사용합니다(그림 6).

수백 개의 3색 NeoPixel을 개별적으로 제어하는 데 사용할 수 있는 Seeeduino XIAO의 이미지그림 6: Adafruit의 미터당 144개 NeoPixel 검은색 스트립에서 확인되는 것과 같은 수백 개의 3색 NeoPixel을 Seeeduino XIAO의 단일 핀을 사용하여 개별적으로 제어할 수 있습니다. (이미지 출처: Adafruit.com)

한 가지 잠재적인 문제로, 기존 Arduino 개발 기판은 이전 버전의 Adafruit NeoPixel 라이브러리로 계속 작동할 수 있지만 Seeeduino XIAO에는 최신의 가장 큰 버전이 필요합니다.

이전 NeoPixel 라이브러리를 설치한 경우 알 수 없고 혼동되는 오류 메시지가 나타날 수 있습니다. 이를 해결하려면 시스템에서 이전 버전의 라이브러리를 제거한 다음 Adafruit의 NeoPixel Überguide에 있는 지침에 따라 최신의 가장 큰 버전을 설치해야 합니다.

한 가지 잠재적인 문제로, NeoPixel은 데이터 핀의 오버슈트 및 언더슈트에 민감합니다. 최신 마이크로 컨트롤러에서 나오는 신호의 에지 속도가 빨라서 이러한 특성이 발생할 수 있다는 점이 문제입니다. 해결책으로 계열 저항기를 NeoPixel 체인의 첫 번째 요소에 최대한 가깝게 추가합니다(그림 7). 적합한 예는 허용 오차 범위 5%의 1/4W, 390Ω 저항기로, Stackpole Electronics Inc.CF14JT390R 탄소 필름 저항기를 예로 들 수 있습니다.

첫 번째 NeoPixel에 최대한 가깝게 배치된 계열 저항기의 구성도그림 7: 체인의 첫 번째 NeoPixel에 최대한 가깝게 배치된 계열 저항기는 MCU 데이터 스트림의 에지에서 오버슈트와 언더슈트를 제거합니다. (이미지 출처: Max Maxfield)

NeoPixel과 관련된 또 하나의 문제는 Seeeduino XIAO의 3.3V 디지털 출력이 NeoPixel의 5V 데이터 입력을 구동하기에 부족할 수 있다는 점입니다. 한 가지 해결책으로 SparkFun의 BOB-12009 논리 레벨 컨버터 브레이크아웃 기판을 적용합니다(그림 8).

SparkFun의 BOB-12009 논리 레벨 컨버터 이미지그림 8: SparkFun의 BOB-12009 논리 레벨 컨버터는 3.3V 및 5V 영역 사이에서 신호를 변환하는 데 사용할 수 있는 4개의 양방향 채널을 제공합니다. (이미지 출처: Adafruit.com)

NeoPixel 응용 분야에서는 하나의 단방향 채널만 있으면 됩니다. BOB-12009는 4개의 양방향 채널을 제공한다는 점이 문제인데, 공간 제약이 있는 프로젝트에 적용하기에는 비교적 큰 솔루션이고 비용이 중요한 프로젝트에 적용하기에는 비교적 비싼 솔루션입니다. 한 가지 간단한 대안은 Comchip Technology의 단일 1N4001 다이오드를 사용하는 것입니다(그림 9).

전압 레벨 변환기의 역할을 하도록 강제할 수 있는 "희생" NeoPixel의 구성도그림 9: 1N4001 다이오드를 사용하여 0.7V의 전압 강하를 제공하면 "희생" NeoPixel이 전압 레벨 변환기의 역할을 하도록 강제할 수 있습니다. (이미지 출처: Max Maxfield)

NeoPixel은 논리 1을 0.7 * VCC 이상이라고 간주합니다. 이 경우 NeoPixel은 논리 1을 0.7 * 5 = 3.5V로 간주합니다.

순방향 전압 강하가 0.7V인 IN4001 다이오드를 통해 "희생" 픽셀에 전원을 공급하면 5 - 0.7 = 4.3V의 VCC로 구동됩니다. 즉, 논리 1을 0.7 * 4.3 = 3.01V로 간주합니다. 결과적으로 Seeeduino XIAO의 3.3V 신호는 희생 픽셀을 구동할 수 있는 전압보다 많습니다. 한편, 희생 픽셀의 4.3V 출력은 체인의 다음 NeoPixel로의 데이터 입력을 구동하는 데 충분합니다.

결론

8비트, 16MHz Arduino Uno와 같은 초기 Arduino 개발 기판은 물리적 크기가 크고 용량과 성능 면에서 제한이 있었습니다. 오늘날 Arduino 에코시스템에는 다양한 모양, 크기 및 기능을 포함하는 매우 다양한 기판이 있습니다.

웨어러블과 같이 크기 제약이 있는 프로젝트를 위한 Seeeduino XIAO는 256KB 플래시 메모리와 64KB SRAM으로 48MHz에서 실행되는 32비트 Arm-Cortex-M0+ 프로세서 코어를 제공합니다. 이런 모든 요소가 크기가 4.11cm2에 불과한 브레드 기판 친화적인 소형 플랫폼에 제공되고 광범위한 에코시스템 지원도 제공됩니다.

DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Max Maxfield

Clive "Max" Maxfield

Clive "Max" Maxfield는 1980년 영국 Sheffield Hallam University에서 제어 공학 학사 학위를 받았으며 이후 중앙 컴퓨터용 중앙 처리 장치(CPU) 설계자로 일하기 시작했습니다. 수년에 걸쳐 Max는 실리콘 칩에서 회로 기판, 뇌파 증폭기에서 스팀펑크 예언 엔진(steampunk Prognostication Engines)에 이르는 다양한 제품을 설계했습니다. 또한 30년 이상 전자 설계 자동화(EDA) 부문을 이끌어 왔습니다.

Max는 Designus Maximus Unleashed(앨라배마에서는 금서임), Bebop to the Boolean Boogie(전자 제품 관련 색다른 안내서), EDA: Where Electronics Begins, FPGA: Instant Access 및 How Computers Do Math 등 다양한 도서의 저자/공동저자입니다. Max가 운영 중인 “Max’s Cool Beans” 블로그에 방문해 보세요.

게시자 정보

DigiKey 북미 편집자