DIODES-LOGO

DIODES AP33772 Contrôleur USB PD Sink Interface Raspberry Pi I2C

DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-PRODUCT

Introduction

  • Le contrôleur de puits AP33772, fonctionnant comme dispositif de protocole du dispositif équipé d'un connecteur USB PD3.0 de type C (TCD, puits d'énergie), est destiné à demander un objet de données d'alimentation (PDO) approprié à partir du PD3.0 équipé d'un connecteur USB PD3.0 de type C Conformité .XNUMX Chargeur (PDC, Source d'énergie).
  • La figure 1 illustre un TCD, intégré avec le circuit intégré de contrôleur de récepteur PD3.0 (AP33772), est physiquement connecté au PDC, intégré avec le décodeur USB PD3.0 (AP43771), via un
  • Câble de type C à type C. Basé sur le micrologiciel intégré compatible USB PD3.0, la paire AP33772 et AP43771 passerait par la procédure de connexion standard USB PD3.0 pour établir un état de charge PD3.0 approprié.
  • AP33772 Sink Controller EVB offre une facilité d'utilisation et une grande polyvalence au concepteur de système pour demander des PDO au chargeur d'alimentation USB en envoyant des commandes intégrées AP33772 via l'interface I2C. La conception typique du système nécessite une programmation MCU qui nécessite une configuration logicielle spécifique (par exemple IDE) et peut être un processus de développement long.
  • En revanche, Raspberry Pi (RPI), un ordinateur monocarte (SBC) fonctionnant sur un système d'exploitation Linux convivial et équipé de broches GPIO flexibles, offre un moyen simple de valider AP33772 Sink EVB fonctionnant avec un chargeur PD. L'objectif de ce guide est de fournir aux concepteurs de systèmes une plate-forme efficace pour effectuer rapidement la validation logicielle sur RPI, puis porter le développement sur n'importe quel MCU souhaitable pour répondre aux exigences du marché en matière de rotation rapide.
  • En tant que document complémentaire au guide de l'utilisateur AP33772 EVB, ce guide de l'utilisateur illustre un moyen simple de contrôler AP33772 EVB avec un RPI SBC via l'interface I2C.
  • Le rôle du bloc MCU représenté sur la figure 1 pour s'interfacer avec AP33772 est joué par un RPI. Ce guide de l'utilisateur couvre un grand nombre de définitions de registre et d'informations d'utilisation comme ex.ampCependant, pour des informations complètes et actualisées, veuillez vous reporter au Guide de l'utilisateur AP33772 EVB. (Voir référence 2)DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-1
  • Figure 1 - Un TCD typique utilise le contrôleur de récepteur PD AP33772 avec interface I2C pour demander l'alimentation d'un adaptateur de source de conformité USB Type-C PD3.0/PPS

Configuration de la plate-forme de validation

Contrôleur d'évier AP33772 EVB
Figure 2 montre l'image du Sink Controller EVB. Il dispose d'un connecteur de type C, de broches I2C, d'une broche GPIO3 pour l'interruption, d'une thermistance NTC pour OTP, d'indicateurs LED pour indiquer l'état de charge et d'un connecteur Vout à la charge.DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-2

Raspberry Pi Zero 2 W

  • Toute dernière version de RPI est capable de contrôler le contrôleur de puits AP33772 EVB via des broches I2C. Un Raspberry Pi Zero 2 W (RPI Z2W) est utilisé dans ce guide de l'utilisateur pour sa rentabilité et sa polyvalence. Il a le plus petit facteur de forme parmi tous les RPI et est intégré au WiFi et au Bluetooth qui établit la connexion sans fil sans composant supplémentaire. Il sert parfaitement l'objectif en tant que plate-forme de validation EVB du contrôleur de puits AP33772.
  • L'utilisateur peut vérifier l'officiel Raspberry Pi website pour plus d'informations (https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/)DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-3DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-4

Connexion et mise sous tension de la plate-forme de validation

Figure 5 montre une connexion et une configuration complètes de la plate-forme de validation. L'utilisateur doit suivre ces étapes :

  1. Connectez les broches SCL, SDA et GND entre RPI et AP33772 EVB
  2. Connectez le chargeur PD 65W et l'EVB AP33772 avec un câble de type C
  3. Allumez le RPI et le chargeur PD.DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-5

Configuration du logiciel Raspberry Pi

Système d'exploitation Raspberry Pi

  • Il existe de nombreux systèmes d'exploitation différents qui prennent en charge RPI. Parmi ceux-ci, Raspberry Pi OS est choisi car il est le plus utilisé et recommandé par le site officiel RPI.

Télécharger l'image du système d'exploitation et préparer la carte SD

  • Téléchargez et installez les outils Raspberry Pi Imager sur un PC (https://www.raspberrypi.com/software/). Suivez les instructions pour préparer une Micro-SD chargée avec l'image correcte du système d'exploitation (https://youtu.be/ntaXWS8Lk34/). Veuillez noter qu'une carte Micro-SD de 32 BG ou plus est recommandée.DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-6

Installation du système d'exploitation Raspberry PI

  • Insérez la carte Micro-SD chargée précédemment avec l'imageur dans la fente Micro-SD de RPI. Connectez l'adaptateur secteur, la souris/le clavier et le moniteur HDMI. Allumez le RPI et suivez les instructions pour terminer l'installation du système d'exploitation et la configuration de base. Assurez-vous que les dernières mises à jour sont incluses dans le système d'exploitation.

Configuration des fonctionnalités requises

  • Pour exécuter l'interface I2C sur RPI avec succès, nous devons configurer ou installer les fonctionnalités SSH, VNC et I2C.

Configuration Raspberry Pi - SSH, VNC, I2C

  • Après le démarrage RPI, ouvrez l'utilitaire "Raspberry Pi Configure" et activez les fonctionnalités SSH, VNC et I2C.DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-7

Configuration du débit en bauds I2C

  • Remplacez les lignes concernant dtparam et dtoverlay dans /boot/config.txt file avec:
  • dtoverlay=i2c-bcm2708
  • dtparam=i2c_arm=on,i2c_arm_baudrate=640000

Installation des outils I2C

  • I2C-Tools est un ensemble d'outils qui fournit des commandes simples s'exécutant en ligne de commande sous Raspberry Pi OS. Installez I2C-Tools sur le système d'exploitation en exécutant : sudo apt install i2c-tools

Installation de SMBus2

  • SMBus2 est un module Python qui fournit des fonctions pratiques permettant à l'utilisateur de contrôler l'interface I2C sous l'environnement Python. Installez le module SMBus2 pour Python sur le système d'exploitation en exécutant : sudo pip3 install smbus2

Commande de base Examples

  • Ce guide de l'utilisateur présente deux méthodes différentes pour travailler avec l'interface I2C sur RPI. Il s'agit de l'utilitaire I2C-Tools et du module Python SMBus2. Les commandes de base des deux méthodes sont présentées dans cette section.

 I2C-Outils Commande Examples

  • Le package utilitaire I2C-Tools fournit les commandes i2cdetect, i2cget et i2cset. Des utilisations simplifiées sont décrites dans l'exampsous cette section. Pour des informations complètes sur l'utilitaire I2C-Tools, veuillez consulter https://linuxhint.com/i2c-linux-utilities/.
  • Le tableau 1 montre le résumé du registre AP33772 pour la commodité de l'utilisateur pour digérer l'utilisation de la commande dans cette section. Pour obtenir des informations complètes sur le registre, veuillez vous reporter au guide de l'utilisateur du contrôleur d'évier AP33772 EVB.
Registre Commande Longueur Attribut Allumer Description
 

SRCPDO

 

0x00

 

28

 

RO

 

Tous 00h

Power Data Object (PDO) utilisé pour exposer les capacités d'alimentation PD Source (SRC).

La longueur totale est de 28 octets

PDONUM 0x1C 1 RO 00h Numéro AOP source valide
STATUT 0x1D 1 RC 00h Statut AP33772
MASQUE 0x1E 1 RW 01h Masque d'activation d'interruption
VOLTAGE 0x20 1 RO 00h LSB 80mV
ACTUEL 0x21 1 RO 00h LSB 24mA
TEMP 0x22 1 RO 19h Température, Unité : °C
OCPTHR 0x23 1 RW 00h Seuil OCP, LSB 50mA
OTPTHR 0x24 1 RW 78h Seuil OTP, Unité : °C
DRTHR 0x25 1 RW 78h Seuil de déclassement, Unité : °C
TR25 0x28 2 RW 2710h Résistance thermique @25°C, Unité : Ω
TR50 0x2A 2 RW 1041h Résistance thermique @50°C, Unité : Ω
TR75 0x2C 2 RW 0788h Résistance thermique @75°C, Unité : Ω
TR100 0x2E 2 RW 03CEh Résistance thermique @100°C, Unité : Ω
RDO 0x30 4 WO 00000000h Request Data Object (RDO) est utilisé pour demander des capacités d'alimentation.
VID 0x34 2 RW 0000h ID du fournisseur, réservé pour de futures applications
PID 0x36 2 RW 0000h ID de produit, réservé pour de futures applications
RÉSERVÉ 0x38 4 Réservé pour de futures applications

Tableau 1 – Résumé du registre AP33772

Détecter tous les appareils connectés à I2C - i2cdetect

  • Pour afficher tous les périphériques i2c actuellement connectés au bus I2C-1, tapez ce qui suit sous l'invite de commande : i2cdetect -y 1
  • Si le contrôleur de puits AP33772 EVB est connecté, l'utilisateur doit voir que le périphérique est connecté à l'adresse 0x51

Lire SRCPDO (0x00~0x1B)

  • La commande i2cget ne prend pas en charge la lecture de blocs de plus de 2 octets. L'utilisateur doit utiliser la « boucle for » pour afficher toutes les données PDO de 28 octets. Pour afficher toutes les données PDO, tapez ce qui suit sous l'invite de commande bash pour i dans {0..27} ; faire i2cget -y 1 0x51 $ib ; fait
  • Des données de 28 octets représentant 7 PDO seront affichées

Lire PDONUM (0x1C)

  • Pour afficher le nombre total de PDO valides, tapez ce qui suit sous l'invite de commande : i2cget -y 1 0x51 0x1c b

Lire l'ÉTAT (0x1D)

  • Cette commande signale l'état du contrôleur de puits, notamment le déclassement, l'OTP, l'OCP, l'OVP, la demande rejetée, la demande terminée et l'état prêt. Pour afficher les informations d'état, tapez ce qui suit sous l'invite de commande : i2cget -y 1 0x51 0x1d b
  • L'utilisateur doit utiliser cette commande après chaque demande RDO pour garantir le succès de la demande RDO en lisant le bit COMPLETE. 4.1.5 Écrire MASQUE (0x1E)
  • Cette commande active les interruptions qui signalent l'hôte via la broche GPIO3 de AP33772. Les interruptions incluent Déclassement, OTP, OCP, OVP, Demande rejetée, Demande terminée et Prêt. Pour activer une interruption spécifique, définissez le bit correspondant sur un. Par exempleample, pour activer l'interruption OCP, définissez le bit 4 du registre MASK sur un en tapant ce qui suit sous l'invite de commande : i2cset -y 1 0x51 0x1e 0x10 b
  • La broche GPIO3 de l'AP33772 passe à l'état haut lorsque la protection OCP est déclenchée.

Lire VOLTAGE (0x20)

  • Cette commande signale le voltage mesuré par le contrôleur de puits AP33772. Pour signaler le voltage, tapez ce qui suit sous l'invite de commande : i2cget -y 1 0x51 0x20 b
  • Une unité de la valeur rapportée représente 80 mV.

Lire COURANT (0x21)

  • Cette commande signale le courant mesuré par le contrôleur de puits AP33772. Pour signaler le courant, tapez ce qui suit sous l'invite de commande : i2cget -y 1 0x51 0x21 b
  • Une unité de la valeur rapportée représente 24mA.

Lire TEMP (0x22)

  • Cette commande rapporte la température mesurée par le contrôleur d'évier AP33772. Pour signaler la température, tapez ce qui suit sous l'invite de commande :
    i2cget -y 1 0x51 0x22b
  • Une unité de la valeur rapportée représente 1°C.
  • Lire et écrire OCPTHR (0x23), OTPTHR (0x24) et DRTHR (0x25)
  • Les seuils OCP, OTP et Derating peuvent être changés en valeurs souhaitées par l'utilisateur en écrivant les valeurs dans les registres OCPTHR, OTPTHR et DRTHR. En tant qu'example, pour changer le seuil OCP à 3.1A, l'utilisateur doit écrire 0x3E (=3100/50=62=0x3E) à OCPTHR en tapant ce qui suit sous l'invite de commande : i2cset -y 1 0x51 0x23 0x3e b
  • Pour modifier le seuil OTP à 110 °C, l'utilisateur doit écrire 0x6E (=110) dans OTPTHR en saisissant ce qui suit sous l'invite de commande :
  • Pour lire les valeurs de OCPTHR, OTPTHR et DRTHR, tapez ce qui suit sous l'invite de commande :
  • i2cget -y 1 0x51 0x23 b i2cget -y 1 0x51 0x24 b i2cget -y 1 0x51 0x25 b
  • Lecture et écriture TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D) et TR100 (0x2E~0x2F)
  • Une thermistance à coefficient de température négatif (NTC) Murata 10KΩ NCP03XH103 est installée sur l'EVB AP33772. C'est la préférence de l'utilisateur de remplacer la thermistance par une autre dans la conception finale. L'utilisateur doit mettre à jour les valeurs des registres TR25, TR50, TR75 et TR100 en fonction des spécifications de la thermistance utilisée. Par exempleample,
  • Le NCP6.8XH03 de 682 KΩ de Murata est utilisé dans la conception. Les valeurs de résistance à 25°C, 50°C, 75°C et 100°C sont respectivement de 6800Ω (0x1A90), 2774Ω (0x0AD6), 1287Ω (0x0507) et 662Ω (0x0296). Pour écrire les valeurs correspondantes dans ces registres, tapez ce qui suit sous l'invite de commande :
  • i2cset -y 1 0x51 0x28 0x1a90 avec i2cset -y 1 0x51 0x2a 0x0ad6 avec i2cset -y 1 0x51 0x2c 0x0507 avec i2cset -y 1 0x51 0x2e 0x0296 avec
  • Pour lire les valeurs, tapez ce qui suit sous l'invite de commande : i2cget -y 1 0x51 0x28 w i2cget -y 1 0x51 0x2a w i2cget -y 1 0x51 0x2c w i2cget -y 1 0x51 0x2e w
  • Les valeurs de sortie sont des mots de 2 octets. Étant donné que les commandes gèrent directement les mots de 2 octets, les utilisateurs n'ont pas à se soucier de l'ordre des octets en petit boutiste ici.

Ecrire RDO (0x30~0x33)

  • Pour initier une procédure de négociation de requête PDO, des données de 4 octets sont écrites dans le registre RDO (Request Data Object) dans l'ordre des octets little-endian. Comme example, pour demander PDO3 avec 15V et 3A, 0x3004B12C sera écrit dans le registre RDO. Tapez ce qui suit sous l'invite de commande : i2cset -y 1 0x51 0x30 0x2c 0xb1 0x04 0x30 i
  • L'octet le moins significatif (0x2C) doit être écrit en premier pour s'adapter à la notation de l'ordre des octets Little Endian. Veuillez vous reporter au tableau 9 et au tableau 10 de l'utilisateur EVB du contrôleur d'évier AP33772
  • Guide pour des informations détaillées sur le contenu RDO.
  • L'utilisateur peut émettre une réinitialisation matérielle en écrivant le registre RDO avec des données entièrement à zéro : i2cset -y 1 0x51 0x30 0x00 0x00 0x00 0x00 i
  • Le contrôleur de puits AP33772 sera réinitialisé à son état initial et la sortie sera désactivée.

Ex de commande Python SMBus2amples

  • Python devient de plus en plus populaire pour ses grandes variétés de modules pris en charge. SMBus2 fait partie de ceux-là et est capable de gérer les commandes de lecture et d'écriture I2C. SMBus2 fournit les commandes read_byte_data, read_word_data, read_i2c_block_data, write_byte_data, write_word_data, write_i2c_block_data. Des utilisations simplifiées sont décrites dans l'exampsous cette section. Pour des informations complètes sur le module SMBus2, veuillez consulter https://smbus2.readthedocs.io/en/latest/.

Lire SRCPDO (0x00~0x1B) 

  • SMBus.read_i2c_block_data est une commande efficace pour prendre en charge la lecture de données de bloc jusqu'à 32 octets. Pour lire toutes les données PDO de 28 octets, utilisez ce qui suit sous l'environnement python3 :
  • SMBus.read_i2c_block_data(0x51, 0x00, 28)
  • 28 données d'un octet représentant 7 PDO seront renvoyées dans une structure de données de liste.

Lire PDONUM (0x1C)

  • Pour lire le nombre total de PDO valides, utilisez ce qui suit sous l'environnement python3 :
  • SMBus.read_byte_data(0x51, 0x1c)
  • Des données d'un octet représentant un nombre de PDO valides seront renvoyées.

Lire l'ÉTAT (0x1D)

  • Cette commande signale l'état du contrôleur de puits, notamment Déclassement, OTP, OCP, OVP, Demande rejetée, Demande terminée et Prêt. Pour lire les informations d'état, utilisez ce qui suit sous l'environnement python3 :
  • SMBus.read_byte_data(0x51, 0x1d)
  • L'utilisateur peut utiliser cette commande après chaque requête RDO pour garantir le succès de la requête RDO en lisant le bit COMPLETE.

Ecrire MASQUE (0x1E)

  • Cette commande active les interruptions qui signalent l'hôte via la broche GPIO3 de AP33772. Les interruptions incluent Déclassement, OTP, OCP, OVP, Demande rejetée, Demande
  • Terminé et prêt. Pour activer une interruption spécifique, définissez le bit correspondant sur un. Par exempleample, pour activer l'interruption OCP, définissez le bit 4 du registre MASK sur un en utilisant ce qui suit sous l'environnement python3 :
  • SMBus.write_byte_data(0x51, 0x1e, 0x10)
  • La broche GPIO3 de l'AP33772 passe à l'état haut lorsque la protection OCP est déclenchée.

Lire VOLTAGE (0x20)

  • Cette commande signale le voltage mesuré par le contrôleur de puits AP33772. Pour signaler le voltage, utilisez ce qui suit sous l'environnement python3 :
  • SMBus.read_byte_data(0x51, 0x20)
  • Une unité de la valeur rapportée représente 80 mV.

Lire COURANT (0x21)

  • Cette commande signale le courant mesuré par le contrôleur de puits AP33772. Pour signaler le courant, utilisez ce qui suit sous l'environnement python3
  • SMBus.read_byte_data(0x51, 0x21)
  • Une unité de la valeur rapportée représente 24mA.

Lire TEMP (0x22)

  • Cette commande rapporte la température mesurée par le contrôleur d'évier AP33772. Pour signaler la température, utilisez ce qui suit sous l'environnement python3 :
  • SMBus.read_byte_data(0x51, 0x22)
  • Une unité de la valeur rapportée représente 1°C.

Lire et écrire OCPTHR (0x23), OTPTHR (0x24) et DRTHR (0x25) 

  • Les seuils OCP, OTP et Derating peuvent être changés en valeurs souhaitées par l'utilisateur en écrivant les valeurs dans les registres OCPTHR, OTPTHR et DRTHR. En tant qu'example, pour changer le seuil OCP à 3.1A, l'utilisateur doit écrire 0x3E (=3100/50=62=0x3E) à OCPTHR en utilisant ce qui suit sous l'environnement python3 : SMBus.write_byte_data(0x51, 0x23, 0x3e)
  • Pour changer le seuil OTP à 110 °C, l'utilisateur doit écrire 0x6E (=110) dans OTPTHR en utilisant ce qui suit sous l'environnement python3 : SMBus.write_byte_data(0x51, 0x24, 0x6e)
  • Pour modifier le seuil de déclassement à 100 °C, l'utilisateur doit écrire 0x64 (=100) dans DRTHR en utilisant ce qui suit sous l'environnement python3 : SMBus.write_byte_data(0x51, 0x25, 0x64)
  • Pour lire les valeurs de OCPTHR, OTPTHR et DRTHR, utilisez ce qui suit sous l'environnement python3 : SMBus.read_byte_data(0x51, 0x23) SMBus.read_byte_data(0x51, 0x24) SMBus.read_byte_data(0x51, 0x25) .
  • Lecture et écriture TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D) et TR100 (0x2E~0x2F)
  • Une thermistance à coefficient de température négatif (NTC) Murata 10KΩ NCP03XH103 est installée sur l'EVB AP33772. C'est la préférence de l'utilisateur de remplacer la thermistance par une autre dans la conception finale. L'utilisateur doit mettre à jour la valeur des registres TR25, TR50, TR75 et TR100 en fonction des spécifications de la thermistance utilisée. Par exempleample, le 6.8KΩ NCP03XH682 de Murata est utilisé dans la conception. Les valeurs de résistance à 25°C, 50°C, 75°C et 100°C sont respectivement de 6800Ω (0x1A90), 2774Ω (0x0AD6), 1287Ω (0x0507) et 662Ω (0x0296). Pour écrire les valeurs correspondantes dans ces registres, utilisez ce qui suit sous l'environnement python3 :
  • SMBus.write_word_data(0x51, 0x28, 0x1a90) SMBus.write_word_data(0x51, 0x2a, 0x0ad6) SMBus.write_word_data(0x51, 0x2c, 0x0507) SMBus.write_word_data(0x51, 0x2e, 0x0296)
  • Pour lire les valeurs, utilisez ce qui suit sous l'environnement python3 : SMBus.read_word_data(0x51, 0x28) SMBus.read_word_data(0x51, 0x2a) SMBus.read_word_data(0x51, 0x2c) SMBus.read_word_data(0x51, 0x2e)
  • Les valeurs de retour sont également des mots de 2 octets. Étant donné que les commandes gèrent directement les mots de 2 octets, les utilisateurs n'ont pas à se soucier de l'ordre des octets en petit boutiste ici.

Ecrire RDO (0x30~0x33)

  • Pour initier une procédure de négociation de requête PDO, des données de 4 octets sont écrites dans le registre RDO (Request Data Object) dans l'ordre des octets little-endian. Comme example, pour demander PDO3 avec 15V et 3A, 0x3004B12C sera écrit dans le registre RDO. Utilisez ce qui suit sous l'environnement python3 :
  • SMBus.write_i2c_block_data(0x51, 0x30, [0x2c, 0xb1, 0x04, 0x30])
  • Veuillez vous reporter au Tableau 9 et au Tableau 10 du Guide de l'utilisateur EVB du contrôleur de puits AP33772 pour des informations détaillées sur le contenu RDO.
  • L'utilisateur peut émettre une réinitialisation matérielle en écrivant le registre RDO avec des données entièrement à zéro :
  • SMBus.write_i2c_block_data(0x51, 0x30, [0x00, 0x00, 0x00, 0x00])
  • Le contrôleur de puits AP33772 sera réinitialisé à son état initial et la sortie sera désactivée.

Ex pratiqueamples

Example 1: Bash I2C-Outils Examplé : ap33772_querypdo.bash
Cet example vérifie tous les PDO valides et répertorie le voltage et les informations de capacité actuelles.
Détails du codeDIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-8

Exécution du code et sortiesDIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-9

Example 2 : Python SMBus2 Exampfichier : ap33772_allpdo.py3
Cet example vérifie tous les PDO valides et les demande un par un dans l'ordre croissant et décroissant.
Détails du codeDIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-10DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-11DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-12

Exécution du code et sortiesDIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-13DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-14

ExampTélécharger le code

Liste des examples codes

  • Examples codes ont des versions Bash Script et Python
  1. ap33772_querypdo : interroge toutes les informations PDO
  2. ap33772_reqpdo : rapporte toutes les informations PDO et envoie la demande PDO spécifiée par l'utilisateur
  3. ap33772_allpdo : signale toutes les informations PDO et parcourt toutes les requêtes PDO de manière ascendante et descendante
  4. ap33772_pps : rapporte toutes les informations PDO, et ramps de haut en bas tout le vol PPStage gamme par pas de 50mV
  5. ap33772_vit : vol de rapportstage, courant et informations sur la température
Example site de téléchargement

Example Les codes peuvent être téléchargés depuis Github. Lancez la commande suivante pour télécharger : git clone https://github.com/diodinciot/ap33772.git-ap33772

Références

  1. Fiche technique AP33772 (Contrôleur de récepteur PPS USB PD3.0): https://www.diodes.com/products/power-management/ac-dc-converters/usb-pd-sink-controllers/
  2. Guide de l'utilisateur EVB du contrôleur d'évier AP33772 I2C : https://www.diodes.com/applications/ac-dc-chargers-and-adapters/usb-pd-sink-controller/
  3. Raspberry Pi Zéro 2W : https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
  4. Système d'exploitation Raspberry Pi : https://www.raspberrypi.com/software/
  5. Utilitaire I2C-Tools : https://linuxhint.com/i2c-linux-utilities/
  6. Module SMBus2 : https://smbus2.readthedocs.io/en/latest/

Historique des révisions

Révision Date d'émission Commentaire Auteur
1.0 4/15/2022 Version initiale Edouard Zhao
AVIS IMPORTANT
  • DIODES INCORPORATED NE DONNE AUCUNE GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, EN CE QUI CONCERNE CE DOCUMENT, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES IMPLICITES DE QUALITÉ MARCHANDE ET D'ADÉQUATION À UN USAGE PARTICULIER (ET LEURS ÉQUIVALENTS SELON LES LOIS DE TOUTE JURIDICTION).
  • Diodes Incorporated et ses filiales se réservent le droit d'apporter des modifications, des améliorations, des améliorations, des corrections ou d'autres changements sans préavis à ce document et à tout produit décrit ici. Diodes Incorporated n'assume aucune responsabilité découlant de l'application ou de l'utilisation de ce document ou de tout produit décrit ici ; Diodes Incorporated ne transmet aucune licence en vertu de ses droits de brevet ou de marque, ni des droits d'autrui. Tout client ou utilisateur de ce document ou des produits décrits ici dans de telles applications assumera tous les risques d'une telle utilisation et acceptera de tenir Diodes Incorporated et toutes les sociétés dont les produits sont représentés sur Diodes Incorporated website, inoffensif contre tous dommages.
  • Diodes Incorporated ne garantit ni n'accepte aucune responsabilité quelle qu'elle soit à l'égard de tout produit acheté par le biais de canaux de vente non autorisés.
    Si les clients achètent ou utilisent les produits de Diodes Incorporated pour toute application involontaire ou non autorisée, les clients doivent indemniser et tenir Diodes
  • Incorporated et ses représentants étaient indemnes de toutes réclamations, dommages, dépenses et honoraires d'avocat découlant, directement ou indirectement, de toute réclamation pour blessure corporelle ou décès associée à une telle application involontaire ou non autorisée.
  • Les produits décrits ici peuvent être couverts par un ou plusieurs brevets américains, internationaux ou étrangers en instance. Les noms de produits et les marques indiqués ici peuvent également être couverts par une ou plusieurs marques américaines, internationales ou étrangères.
  • Ce document est rédigé en anglais mais peut être traduit en plusieurs langues à titre de référence. Seule la version anglaise de ce document est le format final et déterminant publié par Diodes Incorporated.

MAINTIEN DE LA VIE

  • Les produits de Diodes Incorporated ne sont spécifiquement pas autorisés pour une utilisation en tant que composants critiques dans des appareils ou des systèmes de survie sans l'approbation écrite expresse du directeur général de Diodes Incorporated. Tel qu'utilisé ici :
  • A. Les dispositifs ou systèmes de survie sont des dispositifs ou systèmes qui :
  1. sont destinés à être implantés dans le corps, ou
  2. soutenir ou maintenir la vie et dont on peut raisonnablement s'attendre à ce que le non-fonctionnement lorsqu'il est correctement utilisé conformément aux instructions d'utilisation fournies sur l'étiquette entraîne des blessures graves pour l'utilisateur.
    • B. Un composant critique est tout composant d'un dispositif ou d'un système de survie dont on peut raisonnablement s'attendre à ce que le non-fonctionnement provoque la défaillance du dispositif de survie ou affecte sa sécurité ou son efficacité.
    • Les clients déclarent qu'ils ont toute l'expertise nécessaire dans les ramifications de sécurité et réglementaires de leurs appareils ou systèmes de survie, et reconnaissent et acceptent qu'ils sont seuls responsables de toutes les exigences légales, réglementaires et liées à la sécurité concernant leurs produits et toute utilisation de diodes. Produits incorporés dans ces appareils ou systèmes de survie critiques, nonobstant toute information ou assistance relative aux appareils ou aux systèmes pouvant être fournie par Diodes Incorporated.
    • De plus, les clients doivent entièrement indemniser Diodes Incorporated et ses représentants contre tout dommage résultant de l'utilisation des produits de Diodes Incorporated dans ces dispositifs ou systèmes vitaux critiques pour la sécurité.

Documents / Ressources

DIODES AP33772 Contrôleur USB PD Sink Interface Raspberry Pi I2C [pdf] Guide de l'utilisateur
AP33772 Contrôleur de récepteur USB PD Interface Raspberry Pi I2C, AP33772, Contrôleur de récepteur USB PD Interface Raspberry Pi I2C, Interface Raspberry Pi I2C, Interface Pi I2C

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *