61 | | ||Interface||Signal||Pin||Function|| |
62 | | || |||| |||| |
63 | | || ||ADC1_CH0||SENSOR_VP|| || |
64 | | || ||ADC1_CH3||SENSOR_VN|| || |
65 | | || ||ADC1_CH4||IO32|| || |
66 | | || ||ADC1_CH5||IO33|| || |
67 | | || ||ADC1_CH6||IO34|| || |
68 | | || ||ADC1_CH7||IO35|| || |
69 | | || ||ADC2_CH0||IO4|| || |
70 | | || ||ADC2_CH1||IO0|| || |
71 | | || ||ADC2_CH2||IO2|| || |
72 | | || ||ADC2_CH3||IO15|| || |
73 | | || ||ADC2_CH4||IO13|| || |
74 | | || ||ADC2_CH5||IO12|| || |
75 | | ||ADC||ADC2_CH6||IO14||Two 12-bit SAR ADCs|| |
76 | | || ||ADC2_CH7||IO27|| || |
77 | | || ||ADC2_CH8||IO25|| || |
78 | | || ||ADC2_CH9||IO26|| || |
79 | | || |||| |||| |
80 | | ||Ultra Low Noise||SENSOR_VP||IO36||Provides about 60dB gain by using larger capacitors on PCB|| |
81 | | ||Analog Pre-Amplifier||SENSOR_VN||IO39|| || |
82 | | || |||| |||| |
83 | | || ||DAC_1||IO25|| || |
84 | | ||DAC||DAC_2||IO26||Two 8-bit DACs|| |
85 | | || |||| |||| |
86 | | || ||TOUCH0||IO4|| || |
87 | | || ||TOUCH1||IO0|| || |
88 | | || ||TOUCH2||IO2|| || |
89 | | || ||TOUCH3||IO15|| || |
90 | | || ||TOUCH4||IO13|| || |
91 | | || ||TOUCH5||IO12|| || |
92 | | || ||TOUCH6||IO14|| || |
93 | | ||Touch Sensor||TOUCH7||IO27||Capacitive touch sensors|| |
94 | | || ||TOUCH8||IO33|| || |
95 | | || ||TOUCH9||IO32|| || |
96 | | || |||| |||| |
97 | | || ||HS2_CLK||MTMS|| || |
98 | | || ||HS2_CMD||MTDO|| || |
99 | | || ||HS2_DATA0||IO2|| || |
100 | | ||SD/SDIO/MMC Host||HS2_DATA1||IO4|| || |
101 | | ||Controller||HS2_DATA2||MTDI||Supports SD memory card V3.01 standard|| |
102 | | || ||HS2_DATA3||MTCK|| || |
103 | | || |||| |||| |
104 | | || ||PWM0_OUT0~2|| |||| |
105 | | || ||PWM1_OUT_IN0~2|| |||| |
106 | | || ||PWM0_FLT_IN0~2|| |||| |
107 | | || ||PWM1_FLT_IN0~2|| ||Three channels of 16-bit timers generate PWM waveforms; each has a pair of output signals. Three fault detection|| |
108 | | || ||PWM0_CAP_IN0~2|| ||signals. Three event capture signals. Three sync signals.|| |
109 | | || ||PWM1_CAP_IN0~2|| |||| |
110 | | ||Motor PWM||PWM0_SYNC_IN0~2||Any GPIOs*|| || |
111 | | || ||PWM1_SYNC_IN0~2|| |||| |
112 | | || |||| |||| |
113 | | || ||ledc_hs_sig_out0~7|| ||16 independent channels @80 MHz clock/RTC CLK. Duty accuracy: 16 bits.|| |
114 | | ||LED PWM||ledc_ls_sig_out0~7||Any GPIOs*|| || |
115 | | || |||| |||| |
116 | | || ||U0RXD_in|| |||| |
117 | | || ||U0CTS_in|| |||| |
118 | | || ||U0DSR_in|| |||| |
119 | | || ||U0TXD_out|| |||| |
120 | | || ||U0RTS_out|| |||| |
121 | | || ||U0DTR_out|| |||| |
122 | | || ||U1RXD_in|| |||| |
123 | | || ||U1CTS_in|| |||| |
124 | | || ||U1TXD_out|| |||| |
125 | | || ||U1RTS_out|| |||| |
126 | | ||UART||U2RXD_in||Any GPIOs*||Two UART devices with hardware flow-control and DMA|| |
127 | | || ||U2CTS_in|| |||| |
128 | | || ||U2TXD_out|| |||| |
129 | | || ||U2RTS_out|| |||| |
130 | | || |||| |||| |
131 | | || ||I2CEXT0_SCL_in|| |||| |
132 | | || ||I2CEXT0_SDA_in|| |||| |
133 | | || ||I2CEXT1_SCL_in|| |||| |
134 | | || ||I2CEXT1_SDA_in|| |||| |
135 | | || ||I2CEXT0_SCL_out|| |||| |
136 | | || ||I2CEXT0_SDA_out|| |||| |
137 | | ||I2C||I2CEXT1_SCL_out||Any GPIOs*||Two I2C devices in slave or master modes|| |
138 | | || ||I2CEXT1_SDA_out|| |||| |
139 | | || |||| |||| |
140 | | || ||I2S0I_DATA_in0~15|| |||| |
141 | | || ||I2S0O_BCK_in|| |||| |
142 | | || ||I2S0O_WS_in|| |||| |
143 | | || ||I2S0I_BCK_in|| |||| |
144 | | || ||I2S0I_WS_in|| |||| |
145 | | || ||I2S0I_H_SYNC|| |||| |
146 | | || ||I2S0I_V_SYNC|| |||| |
147 | | || ||I2S0I_H_ENABLE|| |||| |
148 | | || ||I2S0O_BCK_out|| |||| |
149 | | || ||I2S0O_WS_out|| |||| |
150 | | || ||I2S0I_BCK_out|| |||| |
151 | | || ||I2S0I_WS_out|| |||| |
152 | | || ||I2S0O_DATA_out0~23|| |||| |
153 | | || ||I2S1I_DATA_in0~15|| |||| |
154 | | || ||I2S1O_BCK_in|| |||| |
155 | | || ||I2S1O_WS_in|| |||| |
156 | | || ||I2S1I_BCK_in|| |||| |
157 | | || ||I2S1I_WS_in|| |||| |
158 | | || ||I2S1I_H_SYNC|| |||| |
159 | | || ||I2S1I_V_SYNC|| ||"Stereo input and output from/to the audio codec, and parallel LCD data output"|| |
160 | | ||I2S||I2S1I_H_ENABLE||Any GPIOs*|| || |
161 | | || ||I2S1O_BCK_out|| |||| |
162 | | || ||I2S1O_WS_out|| |||| |
163 | | || ||I2S1I_BCK_out|| |||| |
164 | | || ||I2S1I_WS_out|| |||| |
165 | | || ||I2S1O_DATA_out0~23|| |||| |
166 | | || |||| |||| |
167 | | || ||RMT_SIG_IN0~7|| ||Eight channels of IR transmitter and receiver for various waveforms|| |
168 | | ||Remote Controller||RMT_SIG_OUT0~7||Any GPIOs*|| || |
169 | | || |||| |||| |
170 | | || ||SPIHD||SHD/SD2|| || |
171 | | || ||SPIWP||SWP/SD3|| || |
172 | | || ||SPICS0||SCS/CMD|| || |
173 | | || ||SPICLK||SCK/CLK|| || |
174 | | || ||SPIQ||SDO/SD0|| || |
175 | | || ||SPID||SDI/SD1|| || |
176 | | || ||HSPICLK||IO14|| || |
177 | | || ||HSPICS0||IO15|| || |
178 | | || ||HSPIQ||IO12|| || |
179 | | || ||HSPID||IO13|| || |
180 | | || ||HSPIHD||IO4|| || |
181 | | || ||HSPIWP||IO2|| || |
182 | | || ||VSPICLK||IO18||"Supports Standard SPI, Dual SPI, and Quad SPI that can be connected to the external flash and SRAM"|| |
183 | | ||Parallel QSPI||VSPICS0||IO5|| || |
184 | | || ||VSPIQ||IO19|| || |
185 | | || ||VSPID||IO23|| || |
186 | | || ||VSPIHD||IO21|| || |
187 | | || ||VSPIWP||IO22|| || |
188 | | || |||| |||| |
189 | | || ||HSPIQ_in/_out|| ||"Standard SPI consists of clock,"|| |
190 | | || ||HSPID_in/_out|| ||"chip-select, MOSI and MISO. These SPIs can be connected to LCD and other external devices. They support the following features:"|| |
191 | | || ||HSPICLK_in/_out|| ||? both master and slave modes;|| |
192 | | || ||HSPI_CS0_in/_out|| ||? 4 sub-modes of the SPI format transfer that depend on the clock phase (CPHA) and clock polarity (CPOL) control;|| |
193 | | || ||HSPI_CS1_out|| ||? CLK frequencies by a divider;|| |
194 | | || ||HSPI_CS2_out|| ||? up to 64 bytes of FIFO and DMA.|| |
195 | | || ||VSPIQ_in/_out|| |||| |
196 | | || ||VSPID_in/_out|| |||| |
197 | | ||General Purpose||VSPICLK_in/_out|| |||| |
198 | | ||SPI||VSPI_CS0_in/_out||Any GPIOs*|| || |
199 | | || ||VSPI_CS1_out|| |||| |
200 | | || ||VSPI_CS2_out|| |||| |
201 | | || |||| |||| |
202 | | || ||MTDI||IO12|| || |
203 | | || ||MTCK||IO13|| || |
204 | | || ||MTMS||IO14|| || |
205 | | ||JTAG||MTDO||IO15||JTAG for software debugging|| |
206 | | || |||| |||| |
207 | | || ||SD_CLK||IO6|| || |
208 | | || ||SD_CMD||IO11||SDIO interface that conforms to the industry standard SDIO 2.0 card specification. On ESP-WROOM-32 these pins are connected to the integrated SPI flash.|| |
209 | | || ||SD_DATA0||IO7|| || |
210 | | || ||SD_DATA1||IO8|| || |
211 | | ||SDIO Slave||SD_DATA2||IO9|| || |
212 | | || ||SD_DATA3||IO10|| || |
213 | | || |||| |||| |
214 | | || ||EMAC_TX_CLK||IO0|| || |
215 | | || ||EMAC_RX_CLK||IO5|| || |
216 | | || ||EMAC_TX_EN||IO21|| || |
217 | | || ||EMAC_TXD0||IO19|| || |
218 | | || ||EMAC_TXD1||IO22|| || |
219 | | || ||EMAC_TXD2||IO14|| || |
220 | | || ||EMAC_TXD3||IO12|| || |
221 | | || ||EMAC_RX_ER||IO13|| || |
222 | | || ||EMAC_RX_DV||IO27|| || |
223 | | || ||EMAC_RXD0||IO25|| || |
224 | | || ||EMAC_RXD1||IO26|| || |
225 | | || ||EMAC_RXD2||TXD|| || |
226 | | || ||EMAC_RXD3||IO15|| || |
227 | | || ||EMAC_CLK_OUT||IO16|| || |
228 | | || ||EMAC_CLK_OUT_180||IO17|| || |
229 | | || ||EMAC_TX_ER||IO4|| || |
230 | | ||EMAC||EMAC_MDC_out||Any GPIOs*||Ethernet MAC with MII/RMII interface|| |
231 | | || ||EMAC_MDI_in||Any GPIOs*|| || |
232 | | || ||EMAC_MDO_out||Any GPIOs*|| || |
233 | | || ||EMAC_CRS_out||Any GPIOs*|| || |
234 | | || ||EMAC_COL_out||Any GPIOs*|| || |
| 62 | 回路ブロック図に関しては、[https://espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf ESP32 Technical Reference Manual]の`4. IO_MUX and GPIO Matrix`が詳しいです。 |
| 63 | |
| 64 | ESP32には「(物理的な)ピン」「IO MUX」「GPIO マトリックス」という3つの回路があります。ピンに対してはIO MUXが接続されています。一つのピンは内蔵機能またはGPIOとして割り当てる事ができます。これをIO MUXにて行います。 |
| 65 | |
| 66 | IO MUXにてGPIOに割り当てられたピンは、GPIO マトリックスにて機能の割り当てを行うことができます。GPIOマトリックスは、入力と出力を文字通り自由に組み替えら得れる回路になっており、ピンへの入力を内蔵ペリフェラルピンに割り当てたり、逆にペリフェラルピンを出力ピンに接続したりできます。 |
| 67 | |
| 68 | このGPIOマトリックスにて操作できるものは、基本的に内蔵ペリフェラルほぼ全てです。よって、他のデバイスとのコミュニケーションにはおおよそ好きなピンを利用することができます。 |
| 69 | |
| 70 | ただし、以下の制約があります。 |
| 71 | * GPIO 34~39 ピンは出力には使えない |
| 72 | * GPIO 0,2 ピンはブートモードの設定に利用される |
| 73 | * GPIO 12 は内蔵LDOの電圧設定に利用される |
| 74 | * GPIO 15 はU0TXDピンのデバッグログの設定に利用される |
| 75 | * Ethernet, SDIO, SPI, JTAG, UARTなどの高速信号は、パフォーマンス低下を回避するためにGPIOマトリクスを介さないで接続でき、その場合は出力ピンが固定される。 |