참고
ESP32 사이트의 ESP-WROVER-KIT 문서를 한글화한다.
이 가이드는 ESP-WROVER-KIT V4.1 개발 보드를 시작하는 방법과 기능과 구성 옵션에 대한 정보를 제공한다.
What You Need (준비물)
- ESP-WROVER-KIT V4.1 board
- USB 2.0 케이블 (A to Micro-B)
- Windows, Linux, macOS가 실행되는 컴퓨터
소개 섹션을 건너뛰고 Section Start Application Development로 바로 이동할 수 있다.
Overview (개요)
ESP-WROVER-KIT는 Espressif에서 생산하는 ESP32 기반의 개발 보드이다.
ESP-WROVER-KIT에는 아래와 같이 통합된 컴포넌트가 있다 :
- ESP32-WROVER-E module
- LCD 화면
- microSD 카드 슬롯
차별화된 다른 기능은 FTDI FT2232HL 칩(고급 다중 인터페이스 USB 브리지)이 내장되어 있다. 이 칩을 사용하면 별도의 JTAG 디버거 없이 USB 인터페이스로 ESP32를 직접 디버깅하기 위한 JTAG으로 사용할 수 있다. ESP-WROVER-KIT는 개발을 편리하고 쉽고 비용 효율적으로 만든다.
대부분의 ESP32 I/O 핀은 쉽게 액세스할 있도록 보드의 핀 헤더로 나와 있다.
참조
ESP32의 GPIO16과 GPIO17은 PSRAM 전용 칩 선택과 clock 신호로 사용된다. 기본적으로 두 개의 GPIO는 안정적인 성능을 보장하기 위해 보드의 핀 헤더로 나와 있지 않다.
Functionality Overview (기능 개요)
아래 블록 다이어그램은 ESP-WROVER-KIT의 주요 컴포넌트와 그들의 상호 연결을 보여준다.
Functional Description (기능 설명)
아래 두 그림과 테이블은 ESP-WROVER-KIT 보드의 주요 컴포넌트, 인터페이스, 컨트롤을 설명한다.
아래 테이블은 아래와 같은 방법으로 설명을 제공한다 :
- 첫 번재 사진의 오른쪽 상단 중앙에서 시작하여 시계 방향으로
- 그 다음에 두 번째 사진으로 넘어간다.
Key Component | Description |
FT2232HL | FT2232HL 칩은 ESP32와 통신을 제공하기 위해 USB로 프로그래밍과 컨트롤할 수 있는 다중 프로토콜 USB to Serial 브리지 역할을 한다. FT2232HL은 또한 USB to JTAG 인터페이스는 칩의 채널 A에서 사용 가능하고 USB to Serial은 채널 B에서 사용할 수 있다. FT2232HL 칩은 애플리케이션 개발과 디버깅 면에서 사용자 편의성을 향상시킨다. ESP-WROVER-KIT V4.1 회로도를 참조한다. |
32.768 kHz |
정밀도가 32.768 kHz인 외부 crystal oscillator는 칩이 Deep-sleep 모드에 있는 동안 저전력 소비를 위한 clock으로 역할을 한다. |
0R | 전류 션트의 위치로 의도된 제로 옴 저항은, 다은 모드에서 ESP32의 전류 소비 측정을 용이하게 하기 위해 제거되거나 전류 션트로 교체될 수 있다. |
ESP32-WROVER-E module |
이 ESP32 모듈은 유연한 확장 스토리지와 데이터 처리 능력을 위해 64Mbit PSRAM을 갖추고 있다. |
Diagnostic LEDs | 4개의 RED LED는 FT2232HL의 GPIO 핀에 연결되어 있다. 향후 사용을 위한 것이다. |
UART | 시리얼 포트. FT2232HL와 ESP32 시리얼 TX/RX 신호는 각각 JP2의 안쪽과 바깥쪽으로 나뉜다. 기본적으로 이러한 두 개의 핀은 점퍼로 연결된다. ESP32의 시리얼 인터페이스를 사용하려면, 점퍼를 제거하고 다른 외부 시리얼 디바이스를 해당 핀에 연결한다. |
SPI | 기본적으로 ESP32는 SPI 인터페이스를 사용하여 모듈 내부의 플래시와 PSRAM 메모리에 액세스한다. 이 핀을 사용하여 ESP32를 다른 SPI 디바이스에 연결한다. 이 경우 별도의 CS(Chip Select) 신호가 필요하다. 이 인터페이스의 전압은 3.3V이다. |
CTS/RTS | 시리얼 포트의 흐름 제어 신호 : 기본적으로 핀은 회로에 연결되지 있지 않다. 이를 사용하려면, JP14의 각 핀을 점퍼로 연결한다. |
JTAG | JTAG 인터페이스. FT2232HL와 ESP32 JTAG 신호는 각각 JP2의 안쪽과 바깥쪽으로 나뉜다. 기본적으로 이러한 2개의 핀은 연결되어 있지 않다. JTAG를 사용하려면, Section Setup Options에 표시된 대로 점퍼로 각 핀을 연결한다. |
USB Port | USB 인터페이스. 보드용 전원 공급 장치 및 컴퓨터와 보드 사이의 통신 인터페이스 |
EN Button | 리셋 버튼 |
BOOT Button | 다운로드 버튼. Boot를 누른 상태에서 EN을 누르면 직렬 포트로 펌웨어를 다운로드하기위한 Firmware Download 모드가 시작된다. |
Power Switch | 전원 On/Off 스위치. Boot 버튼 쪽으로 토글하면 전원이 켜지고, Boot에서 멀어지면 보드의 전원이 꺼진다. |
Power Selector | 공급 전원 선택 인터페이스. 보드는 USB나 5V 입력 인터페이스로 전원을 공급받을 수 있다. 점퍼로 전원 소스를 선택한다. 자세한 내용은 Section Setup Options 점퍼 헤더 JP7를 참조한다. |
5V Input | 표준 동축 전원 커넥터용 5V 전원 공급 장치 인터페이스, 5.5 x 2.1mm, 중앙은 양극. 이 인터페이스는 보드가 자율적으로 작동할 때(컴퓨터에 연결되지 않은 경우) 더 편리할 수 있다. |
5V Power On LED | 이 RED LED는 USB나 5V 입력으로 보드에 전원이 공급될 때 켜진다. |
LDO | NCP1117(1A). 5V-to-3.3V LDO. NCP1117은 최대 1A의 전류를 제공할 수 있다. 보드의 LDO는 고정 출력 전압을 가지고 있지만, 사용자는 조정 가능한 출력 전압으로 LDO를 설치할 수 있다. 자세한 내용은 ESP-WROVER-KIT V4.1 회로도를 참조한다. |
Camera Connector | 카메라 인터페이스. 표준 OV7670 카메라 모듈 |
RGB LED | RED, GREEN, BLUE (RGB) 발광 다이오드(LED)는 PWM(pulse width modulation)로 제어할 수 있다. |
I/O Connector | ESP32 모듈의 모든 핀은 핀 헤더로 나와있다. PWM, ADC, DAC, I2C, I2S, SPI 등과 같은 여러 기능을 활성화하도록 ESP32를 프로그래밍할 수 있다. |
microSD Card Slot |
데이터 스토리지와 검색을 위해 microSD 카드에 액세스하는 애플리케이션을 개발하는 데 유용하다. |
LCD | 그림에 표시된 "ESP-WROVER-KIT board layout - back"에 3.2인치 SPI (표준 4선식 Serial Peripheral Interface) LCD 장착과 인터페이스 지원. |
Setup Options (설정 옵션)
보드 기능을 설정하는 데 사용할 수 있는 세가지 점퍼 블록이 있다. 자주 사용되는 필요한 옵션은 아래 테이블에 나열되어 있다.
Header | Jumper Setting | Description of Functionality |
JP7 | 외부 전원 공급 장치에서 ESP-WROVER-KIT 전원 공급 | |
JP7 | USB에서 ESP-WROVER-KIT 전원 공급 | |
JP2 | JTAG 기능 활성화 | |
JP2 | UART 통신 활성화 | |
JP14 | 시리얼 통신에서 RTS/CTS 흐름 제어 활성화 |
Allocation of ESP32 Pins (ESP32 핀 지정)
ESP32의 일부 핀이나 터미널은 온보드나 외부 하드웨어와 사용되도록 지정된다. 해당 하드웨어를 사용하지 않으면(예: 카메라 헤더[JP4]에 아무것도 연결하지 않는 경우), 이런 GPIO는 다른 용도로 사용할 수 있다.
GPIO0나 GPIO2와 같은 일부 핀에는 여러 기능이 있으며, 그 중 일부는 온보드 및 외부 주변 디바이스 사이에 공유된다. 특정한 주변 디바이스를 조합하면 함께 작동할 수 없다. 예를 들어, 여러 핀이 JTAG와 SD 카드 슬롯 사이에서 공유되기 때문에 SD 카드를 사용하는 애플리케이션은 JTAG 디버깅을 수행할 수 없다.
다른 경우에는, 주변 디바이스가 특정한 조건에서 공존할 수 있다. 이를 예를 들면, 단일 핀 GPIO21만 공유하는 LCD 스크린과 SD 카드에 적용할 수 있다. 이 핀은 LCD에서 D/C(Data/Control) 신호를 제공하고 SD 카드 슬롯에서는 Card Detect 신호를 읽는 데 사용된다. Card Detect 기능이 필수가 아닌 경우, R167을 제거하여 비활성화할 수 있으므로 LCD와 SD가 함께 작동할 수 있다.
어떤 핀이 주변 디바이스 사이에 공유되는지, 자세한 내용은 다음 섹션의 테이블을 참조한다.
Main I/O Connector / JP1
JP1 커넥터는 아래 테이블의 중간 두 개의 "I/O" 열에 기능이 표시된 14 x 2 수의 핀으로 구성된다. 양쪽에 있는 "Shared With" 열은 특정 GPIO가 사용되는 보드에서 다른 기능을 설명한다.
Shared With | I/O | I/O | Shared With |
n/a | 3.3V | GND | n/a |
NC/XTAL | IO32 | IO33 | NC/XTAL |
JTAG, microSD | IO12 | IO13 | JTAG, microSD |
JTAG, microSD | IO14 | IO27 | Camera |
Camera | IO26 | IO25 | Camera, LCD |
Camera | IO35 | IO34 | Camera |
Camera | IO39 | IO36 | Camera |
JTAG | EN | IO23 | Camera, LCD |
Camera, LCD | IO22 | IO21 | Camera, LCD, microSD |
Camera, LCD | IO19 | IO18 | Camera, LCD |
Camera, LCD | IO5 | IO17 | PSRAM |
PSRAM | IO16 | IO4 | LED, Camera, microSD |
Camera, LED, Boot | IO0 | IO2 | LED, microSD |
JTAG, microSD | IO15 | 5V |
범례 :
- NC/XTAL - 32.768 kHz Osillator
- JTAG - JTAG / JP2
- Boot - Boot button / SW2
- Camera - Camera / JP4
- LED - RGB LED
- microSD - microSD Card / J4
- LCD - LCD / U5
- PSRAM - ESP32-WROVER-E`s PSRAM
32.768 kHz Oscillator
. | ESP32 Pin |
1 | GPIO32 |
2 | GPIO33 |
참고
GPIO32와 GPIO33은 기본적으로 oscillator에 연결되어 있으므로, 신호 무결성을 유지하기 위해 JP1 I/O 커넥터에 연결하지 않는다. 이 지정은 R11이나 R23 위치에서 0옴 저항을 제거하고 R12나 R24 위치에 다시 납땜하여 oscillator에서 JP1으로 변경할 수 있다.
SPI Flash / JP2
. | ESP32 Pin |
1 | CLK / GPIO6 |
2 | SD0 / GPIO7 |
3 | SD1 / GPIO8 |
4 | SD2 / GPIO9 |
5 | SD3 / GPIO10 |
6 | CMD / GPIO11 |
중요
모듈의 플래시 버스는 0옴 저항 R140 ~ R145에서 점퍼 블록 JP2에 연결된다. 플래시 메모리가 80Mhz의 주파수로 작동해야 한다면, 버스 신호의 무결성 향상과 같은 이유로 이러한 저항을 제거하여 핀 헤더 JP2에서 모듈의 플래시 버스를 분리할 수 있다.
JTAG / JP2
. | ESP32 Pin | JTAG Signal |
1 | EN | TRST_N |
2 | MTMS / GPIO14 | TMS |
3 | MTDO / GPIO15 | TDO |
4 | MTDI / GPIO12 | TDI |
5 | MTCK / GPIO13 | TCK |
Camera / JP4
. | ESP32 | Camera Signal |
1 | n/a | 3.3V |
2 | n/a | Ground |
3 | GPIO27 | SIO_C / SCCB Clock |
4 | GPIO26 | SIO_D / SCCB Data |
5 | GPIO25 | VSYNC / Vertical Sync |
6 | GPIO23 | HREF / Horizontal Reference |
7 | GPIO22 | PCLK / Pixel Clock |
8 | GPIO21 | XCLK / System Clock |
9 | GPIO35 | D7 / Pixel Data Bit 7 |
10 | GPIO34 | D6 / Pixel Data Bit 6 |
11 | GPIO39 | D5 / Pixel Data Bit 5 |
12 | GPIO36 | D4 / Pixel Data Bit 4 |
13 | GPIO19 | D3 / Pixel Data Bit 3 |
14 | GPIO18 | D2 / Pixel Data Bit 2 |
15 | GPIO5 | D1 / Pixel Data Bit 1 |
16 | GPIO4 | D0 / Pixel Data Bit 0 |
17 | GPIO0 | RESET / Camera Reset |
18 | n/a | PWDN / Camera Power Down |
- 신호 D0 .. D7은 카메라 데이터 버스를 나타낸다.
RGB LED
. | ESP32 Pin | RGB LED |
1 | GPIO0 | Red |
2 | GPIO2 | Green |
3 | GPIO4 | Blue |
microSD Card
. | ESP32 Pin | microSD Signal |
1 | MTDI / GPIO12 | DATA2 |
2 | MTCK / GPIO13 | CD / DATA3 |
3 | MTDO / GPIO15 | CMD |
4 | MTMS / GPIO14 | CLK |
5 | GPIO2 | DATA0 |
6 | GPIO4 | DATA1 |
7 | GPIO21 | Card Detect |
LCD / U5
. | ESP32 Pin | LCD Signal |
1 | GPIO18 | RESET |
2 | GPIO19 | SCL |
3 | GPIO21 | D/C |
4 | GPIO22 | CS |
5 | GPIO23 | SDA |
6 | GPIO25 | SDO |
7 | GPIO5 | Backlight |
Start Application Development (애플리케이션 개발 시작)
ESP-WROVER-KIT의 전원을 켜기 전에 보드가 손상의 흔적이 없이 양호한 상태인지 확인한다.
Initial Setup (초기 설정)
아래 그림에 표시된 다음 점퍼만 설정한다.
- 점퍼 블록 JP7을 사용하여 USB 전원 입력을 선택한다.
- 점퍼 블록 JP2를 사용하여 UART 통신을 활성화한다.
Power up from USB port | Enable UART communication |
다른 점퍼는 설정하지 않는다.
전원 스위치를 ON으로 하면, 5V Power On LED가 켜진다.
Now to Development
"Section Installation"에서 개발 환경을 설정하고 보드에 예제 프로젝트를 플래시 하도록 빠른 도움이 될 수 있는 "Get Started"를 진행한다.
Board Support Package는 IDF Component Registry에서 찾을 수 있다.
ESP-WROVER-KIT에 일부 특정 하드웨어를 사용하는 애플리케이션 예제는 아래에서 찾을 수 있다.
- On-board LCD 예제: peripherals/spi_master/lcd
- SD 카드 슬롯 예제: storage/sd_card
- 카메라 컨넥터 예제: https://github.com/espressif/esp32-camera
Related Documents
- ESP-WROVER-KIT V4.1 회로도 (PDF)
- ESP-WROVER-KIT V4.1 레이아웃(DXF)은 Autodesk Viewer에서 온라인으로 열 수 있다.
- ESP32 데이터시트 (PDF)
- ESP32-WROVER-E 데이터시트 (PDF)
- JTAG 디버깅
- ESP32 하드웨어 레퍼런스
'일반 개발 리소스 > ESP32' 카테고리의 다른 글
ESP32 - LVGL Example Cmake Error (vscode) (0) | 2022.08.01 |
---|---|
ESP32 - Get Started (0) | 2022.07.27 |
ESP32 - API Reference - Application Protocols - ESP-MQTT (0) | 2022.07.22 |
ESP32 - API Reference - Application Protocols - ESP-Modbus (0) | 2022.07.22 |
ESP32 - API Reference - Application Protocols - ASIO port (0) | 2022.07.20 |