Utilizamos dispositivos electrónicos comunes para corresponder a estos tres tipos: Fuente – cargador; Disipador – teléfono móvil; DRP – portátil o banco de energía.
En teoría, para los tres tipos de dispositivos habrá nueve combinaciones de interconexión. Debe haber métodos de conexión incorrectos (como un adaptador que conecta el adaptador) o métodos de conexión que no estén seguros de quién es la fuente (como un banco de energía o una computadora portátil). Entonces, para tantas combinaciones, ¿cómo configura la interfaz el controlador Tipo C?
El controlador de tipo C completa todo el proceso de identificación y comunicación mediante el cambio de estado de la máquina de estados. A continuación se muestran varios estados principales de la máquina de estados.
1. Unattached.SRC, la fuente está en un estado no conectado
2. Unattended.SNK, Sink está en un estado desconectado
3. AttachWait.SRC, el propósito de este estado es que Source garantice que CC1 y CC2 permanezcan estables después de que se conecte el dispositivo.
4. AttachWait.SNK, el propósito de este estado es que Sink garantice que CC1 y CC2 permanezcan estables después de que se conecte el dispositivo.
5. Attached.SRC, Source determina que el dispositivo está conectado correctamente
6. Attached.SNK, Sink determina que el dispositivo está conectado correctamente
5. Try.SRC, este estado es para que el dispositivo DRP intente cambiar la función de origen
6. Try.SNK, este estado es para que el dispositivo DRP intente cambiar la función de receptor
Escenario 1 Mecanismo de comportamiento entre Fuente y Receptor (adaptador y teléfono móvil)
El siguiente es el mecanismo de comportamiento cuando la fuente tiene un dispositivo receptor conectado:
(1) La fuente y el sumidero están ambos en estado no adjunto Unattached.SRC y Unattached.SNK
(2) Source detects that there is a pull-up resistor on the CC end of the Sink, and the Source state changes to Unattached.SRC --> AttachWait.SRC-->Adjunto.SRC; La fuente activa VBUS y VCONN.
(3) Sink detects VBUS, and the Sink state changes to Unattached.SNK --> AttachWait.SNK -->Adjunto.SNK
(4) Después de que la fuente y el sumidero estén en el estado adjunto
La fuente ajusta el valor Rp para limitar la corriente absorbida por el sumidero.
El disipador detecta el voltaje vRd en Rd para determinar la corriente permitida por VBUS
La fuente determina si el receptor está desconectado al monitorear CC. Si está desconectado, ingresa a Unattached.SRC
El receptor determina si la fuente está desconectada al monitorear el voltaje VBUS. Si está desconectada, ingresa a Unattached.SNK

Escenario 2 Mecanismo de comportamiento entre la fuente y el DRP (cargador y computadora portátil)
El siguiente es el mecanismo de comportamiento cuando la fuente tiene un dispositivo DRP conectado:
(1) Tanto la fuente como el DRP están en estado no adjunto
La fuente está en el estado Unattached.SRC: DRP cambia entre Unattached.SRC y Unattached.SNK
(2) Source detects that there is a Sink pull-up resistor on the CC end, then the Source state changes to Unattached.SRC --> AttachWait.SRC -->Adjunto.SRC; La fuente activa VBUS y VCONN.
(3) When DRP switches to Unattached.SNK and detects that the CC pin is pulled up, the DRP state changes to Unattached.SNK --> AttachWait.SNK -->Adjunto.SNK
(4) Después de que Source y DRP estén en el estado adjunto
La fuente ajusta el valor Rp para limitar la corriente absorbida por DRP (es decir, sumidero)
DRP (es decir, Sink) detecta el voltaje vRd en Rd para determinar la corriente permitida por VBUS
La fuente determina si Sink está desconectado al monitorear CC. Si está desconectado, ingresa a Unattached.SRC- DRP (es decir, Sink) determina si la fuente está desconectada al monitorear el voltaje de VBUS. Si está desconectado, ingresa a Unattached.SNK y restaura su mecanismo de conmutación entre Unattached.SRC y Unattached.SNK

Mecanismo de comportamiento del escenario 3 entre DRP y Sink (computadora portátil y teléfono móvil)
El siguiente es el mecanismo de comportamiento cuando DRP tiene un dispositivo Sink conectado:
(1) Tanto DRP como Sink están en estado no conectado
DRP cambia entre Unattached.SRC y Unattached.SNK: el receptor está en el estado Unattached.SNK
(2) When DRP switches to Unattached.SRC and detects that the CC pin has a pull-down resistor, the DRP state changes to Unattached.SRC --> AttachWait.SRC -->Adjunto.SRC; DRP (es decir, Fuente) activa VBUS y VCONN.
(3) When the Sink detects VBUS, the Sink state changes to Unattached.SNK --> AttachWait.SNK -->Adjunto.SNK
(4) Después de que la fuente y el DRP estén en el estado adjunto
DPR (es decir, Fuente) ajusta el valor Rp para limitar la corriente absorbida por el sumidero: el sumidero detecta el voltaje vRd en Rd para determinar la corriente permitida por VBUS
DRP (es decir, la fuente) determina si el receptor está desconectado al monitorear CC. Si está desconectado, ingresa a Unattached.SRC y restaura su mecanismo de conmutación entre Unattached.SRC y Unattached.SNK
DRP (es decir, Sink) determina si la fuente está desconectada al monitorear el voltaje VBUS. Si está desconectada, ingresa a Unattached.SNK

Escenario 4 Mecanismo de comportamiento entre DRP y DRP (Power Bank y Laptop)
Para la comunicación entre DRP y DRP, existen tres situaciones. En una situación, los dos dispositivos deciden quién es la Fuente o el sumidero de forma aleatoria; en la segunda situación, uno de los DRP intenta decidir ser la Fuente a través del mecanismo Try.SRC; en la tercera situación, uno de los DRP intenta decidir ser el sumidero a través del mecanismo Try.SNK.
El siguiente es el mecanismo de comportamiento cuando un dispositivo DRP está conectado al DRP:
Escenario 1:
(1) Ambos dispositivos DRP están en estado no conectado
DRP#1 y DRP#2 cambian aleatoriamente entre Unattached.SRC y Unattached.SNK
(2) When DRP#1 switches to Unattached.SRC and detects that the CC pin is pulled down by DRP#2, the state of DRP#1 changes to Unattached.SRC--> AttachWait.SRC -->Adjunto.SRC; DRP#1 (es decir, Fuente) activa VBUS y VCONN.
(3) When DRP#2 switches to Unattached.SRC and detects that the CC pin is pulled up, the state of DRP#2 changes to Unattached.SNK --> AttachWait.SNK -->Adjunto.SNK
(4) Después de que Source y DRP estén en el estado adjunto
DPR#1 (es decir, Fuente) ajusta el valor Rp para limitar la corriente absorbida por DRP#2 (es decir, Sumidero)
DRP#2 (es decir, Sink) detecta el voltaje vRd en Rd para determinar la corriente permitida por VBUS
DRP#1 (es decir, Origen) determina si Sink está desconectado al monitorear CC. Si es así, ingresa a Unattached.SRC y restaura su mecanismo de conmutación entre Unattached.SRC y Unattached.SNK
DRP#2 (es decir, Sink) determina si la fuente está desconectada al monitorear el voltaje de VBUS. Si es así, ingresa a Unattached.SNK y restaura su mecanismo de conmutación entre Unattached.SRC y Unattached.SNK

Caso 2:
(1) Ambos dispositivos DRP están en estado no conectado
DRP#1 y DRP#2 cambian aleatoriamente entre Unattached.SRC y Unattached.SNK
(2) When DRP#1 switches to Unattached.SRC and detects that the CC pin is pulled down by DRP#2, the state of DRP#1 changes to Unattached.SRC--> AttachWait.SRC -->Adjunto.SRC; ; DRP#1 (es decir, Fuente) activa VBUS y VCONN.
(3) When DRP#2 switches to Unattached.SRC and detects that the CC pin is pulled up, the state of DRP#2 changes to Unattached.SNK -->AdjuntarEspera.SNK
(4) DRP#2 is in AttachWait.SNK and wants to switch to the Source role. The state of DRP#2 changes to AttachWait.SNK -->Try.SRC; y saca el pin CC
(5) DRP#1 no longer detects DRP#2 pulling down the CC pin, so the state changes to Attached.SRC --> UnattachWait.SNK -->AttachWait.SNK; y apaga VBUS y VCONN, y cambia la resistencia pull-down en el pin CC
(6) DRP#2 detects that the CC pin is pulled up, so its state changes to Try.SRC -->Adjunto.SRC; y enciende VBUS y VCONN
(7) The state of DRP#1 changes to AttachWait.SNK -->Adjunto.SNK
(8) Después de que Source y DRP estén en el estado adjunto
DPR#2 (es decir, fuente) ajusta el valor Rp para limitar la corriente absorbida por DRP#1 (es decir, sumidero)
DRP#1 (es decir, Sink) detecta el voltaje vRd en Rd para determinar la corriente permitida por VBUS
DRP#2 (es decir, Origen) determina si Sink está desconectado al monitorear CC. Si es así, ingresa a Unattached.SRC y restaura su mecanismo de conmutación entre Unattached.SRC y Unattached.SNK
DRP#1 (es decir, Sink) determina si la fuente está desconectada al monitorear el voltaje de VBUS. Si es así, ingresa a Unattached.SNK y restaura su mecanismo de conmutación entre Unattached.SRC y Unattached.SNK

El tercer caso es el mecanismo Try.SNK, que es similar al mecanismo Try.SRC y no se describirá aquí.
Escenario 5 Mecanismo de comportamiento entre fuente y fuente y entre sumidero y sumidero
En estos dos casos de uso, tanto la fuente como el receptor están en los estados Unattached.SRC y Unattached.SNK, por lo que no hay suministro de energía entre los dispositivos.
Hasta ahora, hemos presentado algunos mecanismos de comunicación comunes entre dispositivos. Especialmente para dos dispositivos de doble función DRP, el controlador Tipo-C usará Try.SRC o Try.SNK para intentar establecer una lógica de suministro de energía normal. Por supuesto, si se produce una lógica de suministro de energía incorrecta (por ejemplo, una computadora portátil carga un banco de energía), el USB
El protocolo PD también proporciona un mecanismo de intercambio de funciones de alimentación, que cambia la función de suministro de energía a través del protocolo PD. Para obtener más información, consulte la Especificación de suministro de energía USB.





