Notas de pinout de M.2 Key E, Key B y Key M

Un resumen conciso de la documentación de pinout M.2, conservando las tablas Pinout Description para sockets Key E, Key B y Key M, con notas en español añadidas.

Este artículo cubre principalmente tres interfaces M.2 muy comunes en sistemas embebidos:

  • Socket 1 - Key E
  • Socket 2 - Key B
  • Socket 3 - Key M

El documento original se basa en PCI Express M.2 Specification Revision 3.0, Version 1.2.

01 Socket 1 - Key E

Key E se usa habitualmente para módulos de conectividad, como tarjetas de expansión Wi-Fi / Bluetooth. El texto original señala que estas tarjetas suelen conectarse mediante PCIe y USB, mientras que el soporte de otros buses como SDIO e I2S depende de si el COM los soporta.

Pinout Description

Left Pin Left Signal Right Signal Right Pin
743.3VGND75
723.3VRESERVED/REFCLKn173
70UIM_POWER_SRC/GPIO_1/PEWAKE1#RESERVED/REFCLKp171
68UIM_POWER_SNK/CLKREQ1#GND69
66UIM_SWP/PERST1#RESERVED/PERn167
64RESERVEDRESERVED/PERp165
62ALERT# (I)(0/1.8 V)GND63
60I2C_CLK (O)(0/1.8 V)RESERVED/PETn161
58I2C_DATA (I/O)(0/1.8 V)RESERVED/PETp159
56W_DISABLE1# (O)(0/3.3V)GND57
54W_DISABLE2# (O)(0/3.3V)PEWAKE0# (I/O)(0/3.3V)55
52PERST0# (O)(0/3.3V)CLKREQ0# (I/O)(0/3.3V)53
50SUSCLK(32kHz) (O)(0/3.3V)GND51
48COEX_TXD (O)(0/1.8V)REFCLKn049
46COEX_RXD (I)(0/1.8V)REFCLKp047
44COEX3 (I/O)(0/1.8V)GND45
42VENDOR DEFINEDPERn043
40VENDOR DEFINEDPERp041
38VENDOR DEFINEDGND39
36UART RTS (O)(0/1.8V)PETn037
34UART CTS (I)(0/1.8V)PETp035
32UART TXD (O)(0/1.8V)GND33
Key EKey E
Key EKey E
Key EKey E
Key ESDIO RESET#/TX_BLANKING (O)(0/1.8V)23
22UART RXD (I)(0/1.8V)SDIO WAKE# (I)(0/1.8V)21
20UART WAKE# (I)(0/3.3V)SDIO DATA3(I/O)(0/1.8V)19
18GNDSDIO DATA2(I/O)(0/1.8V)17
16LED_2# (I)(OD)SDIO DATA1(I/O)(0/1.8V)15
14PCM_OUT/I2S SD_OUT (O)(0/1.8V)SDIO DATA0(I/O)(0/1.8V)13
12PCM_IN/I2S SD_IN (I)(0/1.8V)SDIO CMD(I/O)(0/1.8V)11
10PCM_SYNC/I2S WS (I/O)(0/1.8V)SDIO CLK/SYSCLK (O)(0/1.8V)9
8PCM_CLK/I2S SCK (I/O)(0/1.8V)GND7
6LED_1# (I)(OD)USB_D-5
43.3VUSB_D+3
23.3VGND1

Notas

  • M.2 Socket 1 - Key E se usa normalmente para conectividad, como módulos Wi-Fi / Bluetooth.
  • Los condensadores de acoplamiento AC para PCIe_TX+/- se colocan en el lado COM, mientras que los de PCIe_RX+/- se colocan en la tarjeta M.2, por lo que la carrier board no necesita añadirlos otra vez.
  • CLKREQ# se usa para habilitar el reloj de referencia PCIe y debería conectarse al pin de output enable del buffer de reloj PCIe.
  • Como CLKREQ# es una señal open-drain activa en bajo controlada por la tarjeta M.2, el lado de la carrier board necesita una resistencia pull-up.

02 Socket 2 - Key B

Key B es común en SSDs SATA y PCIe, así como en algunos módulos WWAN. Una característica clave de este socket es el conjunto de cuatro pines de configuración, CONFIG_0 a CONFIG_3, que permiten al sistema identificar qué interfaz host espera usar la tarjeta.

Pinout Description

Left Pin Left Signal Right Signal Right Pin
743.3 V/VBATCONFIG_275
723.3 V/VBATGND73
703.3 V/VBATGND71
68SUSCLK(32kHz) (O)(0/3.3V)CONFIG_169
66SIM DETECT (O)RESET# (O)(0/1.8V)67
64COEX_RXD (I)(0/1.8V)ANTCTL3 (I)(0/1.8V)65
62COEX_TXD (O)(0/1.8V)ANTCTL2 (I)(0/1.8V)63
60COEX3 (I/O)(0/1.8V)ANTCTL1 (I)(0/1.8V)61
58NCANTCTL0 (I)(0/1.8V)59
56NCGND57
54PEWAKE# (I/O)(0/3.3V)REFCLKp55
52CLKREQ# (I/O)(0/3.3V)REFCLKn53
50PERST# (O)(0/3.3V)GND51
48GPIO_4 (I/O)(0/1.8V)PETp0/SATA-A+49
46GPIO_3 (I/O)(0/1.8V)PETn0/SATA-A-47
44GPIO_2 (I/O)/ALERT# (I)/(0/1.8V)GND45
42GPIO_1 (I/O)/SMB_DATA (I/O)/(0/1.8V)PERp0/SATA-B-43
40GPIO_0 (I/O)/SMB_CLK (I/O)/(0/1.8V)PERn0/SATA-B+41
38DEVSLP (O)GND39
36UIM-PWR (I)PETp1/USB3.1-Tx+/SSIC-TxP37
34UIM-DATA (I/O)PETn1/USB3.1-Tx-/SSIC-TxN35
32UIM-CLK (I)GND33
30UIM-RESET (I)PERp1/USB3.1-Rx+/SSIC-RxP31
28GPIO_8 (I/O) (0/1.8V)PERn1/USB3.1-Rx-/SSIC-RxN29
26GPIO_10 (I/O) (0/1.8V)GND27
24GPIO_7 (I/O) (0/1.8V)DPR (O) (0/1.8V)25
22GPIO_6 (I/O)(0/1.8V)GPIO_11 (I/O) (0/1.8V)23
20GPIO_5 (I/O)(0/1.8V)CONFIG_021
Key BKey B
Key BKey B
Key BKey B
Key BGND11
10GPIO_9/DAS/DSS (I/O)/LED_1# (I)(0/3.3V)USB_D-9
8W_DISABLE1# (O)(0/3.3V)USB_D+7
6FULL_CARD_POWER_OFF# (O)(0/1.8V or 3.3V)GND5
43.3 VGND3
23.3 VCONFIG_31

Configuración de interfaz host

El texto original explica que el sistema debería leer los cuatro pines CONFIG_X para determinar el pinout / interfaz host seleccionado por la tarjeta instalada. Incluso cuando la tarjeta M.2 aún no tiene alimentación, el sistema debería mantener estos pines de configuración con pull-up al rail apropiado para poder leer su estado.

CONFIG_0 (Pin 21) CONFIG_1 (Pin 69) CONFIG_2 (Pin 75) CONFIG_3 (Pin 1) Host Interface
0 0 0 0 SSD - SATA
0 1 0 0 SSD - PCIe
0 0 1 0 WWAN - PCIe (Port Configuration 0*)
0 1 1 0 WWAN - PCIe (Port Configuration 1*)
0 0 0 1 WWAN - PCIe, USB3.1 Gen1 (Port Configuration 0*)
0 1 0 1 WWAN - PCIe, USB3.1 Gen1 (Port Configuration 1*)
0 0 1 1 WWAN - PCIe, USB3.1 Gen1 (Port Configuration 2*)
0 1 1 1 WWAN - PCIe, USB3.1 Gen1 (Port Configuration 3*)
1 0 0 0 WWAN - SSIC (Port Configuration 0*)
1 1 0 0 WWAN - SSIC (Port Configuration 1*)
1 0 1 0 WWAN - SSIC (Port Configuration 2*)
1 1 1 0 WWAN - SSIC (Port Configuration 3*)
1 0 0 1 WWAN - PCIe (Port Configuration 2*)
1 1 0 1 WWAN - PCIe (Port Configuration 3*)
1 0 1 1 WWAN - PCIe, USB3.1 Gen1 (vendor defined)
1 1 1 1 No Add-in Card Present

Nota: para los detalles de cada Port Configuration, el texto original sugiere volver a la especificación PCI Express M.2.

Notas

  • Socket 2 - Key B se usa comúnmente para dispositivos de almacenamiento PCIe o SATA.
  • CONFIG_1 puede usarse para cambiar la interfaz host:
  • CONFIG_1 = Low habilita SATA
  • CONFIG_1 = High habilita PCIe
  • La segunda línea PCIe puede soportar dispositivos PCIe x2 como Intel Optane. Para funcionar realmente en x2, las líneas PCIe del host también deben configurarse como un enlace PCIe x2.
  • Cuando está habilitado el modo PCIe, la tarjeta M.2 no conecta CONFIG_1, así que el lado de la carrier board necesita una resistencia pull-up.
  • Si este socket M.2 se usa con un dispositivo de almacenamiento SATA, Pin 43 debería conectarse al lado negativo del par diferencial SATA Rx.
  • Si este socket M.2 se usa con un dispositivo de almacenamiento PCIe, Pin 43 debería conectarse al lado positivo del par diferencial PCIe Rx.

03 Socket 3 - Key M

Key M se usa comúnmente para dispositivos de almacenamiento PCIe o SATA, especialmente SSDs de mayor ancho de banda. De forma similar a Key B, también tiene una señal para seleccionar la interfaz host, pero aquí esa señal es PEDET.

Pinout Description

Left Pin Left Signal Right Signal Right Pin
743.3 VGND75
723.3 VGND73
703.3 VGND71
68SUSCLK (O)(0/3.3V)PEDET69
Key MNC67
Key MKey M
Key MKey M
Key MKey M
Key MKey M
58NCGND57
56NCREFCLKp55
54PEWAKE# (I/O)(0/3.3V) or NCREFCLKn53
52CLKREQ# (I/O)(0/3.3V) or NCGND51
50PERST# (O)(0/3.3V) or NCPETp0/SATA-A+49
48NCPETn0/SATA-A-47
46NCGND45
44ALERT# (I) (0/1.8V)PERp0/SATA-B-43
42SMB_DATA (I/O) (0/1.8V)PERn0/SATA-B+41
40SMB_CLK (I/O)(0/1.8V)GND39
38DEVSLP (O)PETp137
36NCPETn135
34NCGND33
32NCPERp131
30NCPERn129
28NCGND27
26NCPETp225
24NCPETn223
22NCGND21
20NCPERp219
183.3 VPERn217
163.3 VGND15
143.3 VPETp313
123.3 VPETn311
10DAS/DSS (I/O)/LED_1# (I)(0/3.3V)GND9
8NCPERp37
6NCPERn35
43.3 VGND3
23.3 VGND1

Notas

  • Socket 3 - Key M se usa comúnmente para dispositivos de almacenamiento PCIe o SATA.
  • PEDET se usa para seleccionar la interfaz host, y la tarjeta M.2 indica el modo según cómo esté cableada:
  • PEDET = Low significa que SATA está habilitado, lo cual se hace conectando PEDET a GND en la tarjeta M.2
  • PEDET = High significa que PCIe está habilitado, lo cual se hace dejando PEDET sin conectar en la tarjeta M.2
  • Para máximo ancho de banda, las cuatro líneas PCIe deberían configurarse como un enlace x4.
  • Cuando el modo PCIe está habilitado, la tarjeta M.2 no conecta PEDET, así que el lado de la carrier board necesita una resistencia pull-up.
  • Si este socket se usa con un dispositivo de almacenamiento SATA, Pin 43 debería conectarse al lado negativo del par diferencial SATA Rx.
  • Si este socket se usa con un dispositivo de almacenamiento PCIe, Pin 43 debería conectarse al lado positivo del par diferencial PCIe Rx.

04 Resumen rápido

Si solo quieres las conclusiones más rápidas de este artículo, estos son los puntos principales:

  • Key E apunta principalmente a módulos de conectividad como Wi-Fi / Bluetooth.
  • Key B es común en SSDs SATA / PCIe y también puede aparecer en módulos WWAN.
  • Key M se usa principalmente para almacenamiento de mayor ancho de banda, especialmente SSDs PCIe.
  • Key B usa CONFIG_0 ~ CONFIG_3 para identificar la configuración de interfaz.
  • Key M usa PEDET para distinguir entre SATA y PCIe.
  • Señales como CLKREQ#, CONFIG_1 y PEDET necesitan pull-ups en la carrier board en algunos modos.

Si planeas diseñar una carrier board o una interfaz de socket alrededor de estas definiciones, sigue siendo buena idea comparar este resumen con la fuente original y la especificación PCI Express M.2, especialmente para Port Configuration, mapeo de líneas PCIe y pines compartidos entre SATA y PCIe.

Referencias

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy