Nous utilisons des appareils électroniques courants correspondant à ces trois types : Source – chargeur ; Sink – téléphone portable ; DRP – ordinateur portable ou banque d'alimentation.
Pour trois types d'appareils, il y aura en théorie 9 combinaisons d'interconnexion. Il doit y avoir des méthodes de connexion erronées (comme un adaptateur connectant un adaptateur) ou des méthodes de connexion qui ne sont pas sûres de savoir qui est la source (comme une banque d'alimentation ou un ordinateur portable). Alors, pour autant de combinaisons, comment le contrôleur Type-C configure-t-il l'interface ?
Le contrôleur de type C complète l'ensemble du processus d'identification et de communication grâce à la commutation d'état de la machine d'état. Voici quelques états principaux de la machine d'état.
1. Unattached.SRC, la source est dans un état non connecté
2. Sans surveillance.SNK, le sink est dans un état non connecté
3. AttachWait.SRC, le but de cet état est que la source s'assure que CC1 et CC2 restent stables après la connexion du périphérique
4. AttachWait.SNK, le but de cet état est que Sink s'assure que CC1 et CC2 restent stables après la connexion de l'appareil
5. Attached.SRC, la source détermine que l'appareil est correctement connecté
6. Attached.SNK, Sink détermine que l'appareil est correctement connecté
5. Try.SRC, cet état permet au périphérique DRP d'essayer de changer de rôle de source
6. Try.SNK, cet état permet au périphérique DRP d'essayer de changer de rôle de récepteur
Scénario 1 Mécanisme de comportement entre la source et le récepteur (adaptateur et téléphone mobile)
Voici le mécanisme de comportement lorsque la source a un périphérique récepteur connecté :
(1) La source et le puits sont tous deux dans l'état non attaché Unattached.SRC et 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-->Attached.SRC; La source active VBUS et VCONN.
(3) Sink detects VBUS, and the Sink state changes to Unattached.SNK --> AttachWait.SNK -->Ci-joint.SNK
(4) Une fois que la source et le puits sont dans l'état attaché
La source ajuste la valeur Rp pour limiter le courant absorbé par le dissipateur
Le dissipateur détecte la tension vRd sur Rd pour déterminer le courant autorisé par VBUS
La source détermine si le récepteur est déconnecté en surveillant le CC. S'il est déconnecté, il entre dans Unattached.SRC
Le sink détermine si la source est déconnectée en surveillant la tension VBUS. S'il est déconnecté, il entre dans Unattached.SNK
Scénario 2 Mécanisme de comportement entre la source et le DRP (chargeur et ordinateur portable)
Voici le mécanisme de comportement lorsque la source a un périphérique DRP connecté :
(1) La source et le DRP sont tous deux dans un état non attaché
La source est dans l'état Unattached.SRC - DRP bascule entre Unattached.SRC et 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 -->Attached.SRC; La source active VBUS et 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 -->Ci-joint.SNK
(4) Une fois que la source et le DRP sont dans l'état attaché
La source ajuste la valeur Rp pour limiter le courant absorbé par DRP (c'est-à-dire Sink)
DRP (ie Sink) détecte la tension vRd sur Rd pour déterminer le courant autorisé par VBUS
La source détermine si le sink est déconnecté en surveillant CC. S'il est déconnecté, il entre dans Unattached.SRC- DRP (c'est-à-dire Sink) détermine si la source est déconnectée en surveillant la tension VBUS. S'il est déconnecté, il entre dans Unattached.SNK et restaure son mécanisme de commutation entre Unattached.SRC et Unattached.SNK
Scénario 3 Mécanisme de comportement entre DRP et Sink (ordinateur portable et téléphone mobile)
Voici le mécanisme de comportement lorsque DRP a un périphérique Sink connecté :
(1) DRP et Sink sont tous deux dans un état non attaché
DRP bascule entre Unattached.SRC et Unattached.SNK - Le récepteur est dans l'état 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 -->Attached.SRC; DRP (c'est-à-dire la source) active VBUS et VCONN.
(3) When the Sink detects VBUS, the Sink state changes to Unattached.SNK --> AttachWait.SNK -->Ci-joint.SNK
(4) Une fois que la source et le DRP sont dans l'état attaché
DPR (ie Source) ajuste la valeur Rp pour limiter le courant absorbé par le Sink - le Sink détecte la tension vRd sur Rd pour déterminer le courant autorisé par VBUS
DRP (c'est-à-dire la source) détermine si le sink est déconnecté en surveillant le CC. S'il est déconnecté, il entre dans Unattached.SRC et restaure son mécanisme de commutation entre Unattached.SRC et Unattached.SNK
DRP (c'est-à-dire Sink) détermine si la source est déconnectée en surveillant la tension VBUS. S'il est déconnecté, il entre dans Unattached.SNK
Scénario 4 Mécanisme de comportement entre DRP et DRP (Power Bank et ordinateur portable)
Pour la communication entre DRP et DRP, il existe trois situations. Dans une situation, les deux appareils décident aléatoirement qui est la source ou le récepteur ; dans la deuxième situation, l'un des DRP essaie de décider d'être la source via le mécanisme Try.SRC ; dans la troisième situation, l'un des DRP essaie de décider d'être le récepteur via le mécanisme Try.SNK.
Voici le mécanisme de comportement lorsqu'un périphérique DRP est connecté au DRP :
Scénario 1:
(1) Les deux dispositifs DRP sont dans un état non connecté
DRP#1 et DRP#2 basculent aléatoirement entre Unattached.SRC et 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 -->Attached.SRC; DRP#1 (c'est-à-dire la source) active VBUS et 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 -->Ci-joint.SNK
(4) Une fois que la source et le DRP sont dans l'état attaché
DPR#1 (c'est-à-dire Source) ajuste la valeur Rp pour limiter le courant absorbé par DRP#2 (c'est-à-dire Sink)
DRP#2 (ie Sink) détecte la tension vRd sur Rd pour déterminer le courant autorisé par VBUS
DRP#1 (c'est-à-dire la source) détermine si le sink est déconnecté en surveillant le CC. Si tel est le cas, il entre dans Unattached.SRC et restaure son mécanisme de commutation entre Unattached.SRC et Unattached.SNK
DRP#2 (c'est-à-dire Sink) détermine si la source est déconnectée en surveillant la tension VBUS. Si tel est le cas, il entre dans Unattached.SNK et restaure son mécanisme de commutation entre Unattached.SRC et Unattached.SNK
Cas 2 :
(1) Les deux dispositifs DRP sont dans l'état non connecté
DRP#1 et DRP#2 basculent aléatoirement entre Unattached.SRC et 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 -->Attached.SRC; ; DRP#1 (c'est-à-dire la source) active VBUS et 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 -->AttacherAttendre.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 -->Essayez.SRC ; et récupère la broche 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 ; et désactive VBUS et VCONN, et commute la résistance de rappel sur la broche CC
(6) DRP#2 detects that the CC pin is pulled up, so its state changes to Try.SRC -->Attached.SRC ; et active VBUS et VCONN
(7) The state of DRP#1 changes to AttachWait.SNK -->Ci-joint.SNK
(8) Une fois que la source et le DRP sont dans l'état attaché
DPR#2 (ie Source) ajuste la valeur Rp pour limiter le courant absorbé par DRP#1 (ie Sink)
DRP#1 (ie Sink) détecte la tension vRd sur Rd pour déterminer le courant autorisé par VBUS
DRP#2 (c'est-à-dire la source) détermine si le sink est déconnecté en surveillant le CC. Si tel est le cas, il entre dans Unattached.SRC et restaure son mécanisme de commutation entre Unattached.SRC et Unattached.SNK
DRP#1 (c'est-à-dire Sink) détermine si la source est déconnectée en surveillant la tension VBUS. Si tel est le cas, il entre dans Unattached.SNK et restaure son mécanisme de commutation entre Unattached.SRC et Unattached.SNK
Le troisième cas est le mécanisme Try.SNK, qui est similaire au mécanisme Try.SRC et ne sera pas décrit ici.
Scénario 5 Mécanisme de comportement entre source et source et entre puits et puits
Dans ces deux cas d'utilisation, la source et le récepteur sont tous deux dans les états Unattached.SRC et Unattached.SNK, il n'y a donc pas d'alimentation entre les périphériques.
Jusqu'à présent, nous avons présenté quelques mécanismes de communication courants entre les appareils. En particulier pour deux appareils à double rôle DRP, le contrôleur Type-C utilisera Try.SRC ou Try.SNK pour essayer d'établir une logique d'alimentation normale. Bien entendu, si la mauvaise logique d'alimentation se produit (par exemple, un ordinateur portable charge une banque d'alimentation), l'USB
Le protocole PD fournit également un mécanisme de changement de rôle d'alimentation, qui permet de changer le rôle de l'alimentation via le protocole PD. Pour plus de détails, veuillez vous référer à la spécification USB Power Delivery.