DIODES-LOGO

DIODES AP33772 USB PD Sink-controller Raspberry Pi I2C-interface

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

Invoering

  • AP33772 Sink Controller, die werkt als het protocolapparaat van een met USB PD3.0 Type C Connector uitgerust apparaat (TCD, Energy Sink), is bedoeld om het juiste Power Data Object (PDO) aan te vragen van de met USB PD3.0 Type C Connector uitgeruste PD3.0 .XNUMX-conformiteit Oplader (PDC, energiebron).
  • Figuur 1 illustreert een TCD, ingebed met PD3.0 Sink-controller IC (AP33772), fysiek verbonden met PDC, ingebed met USB PD3.0-decoder (AP43771), via een
  • Type C-naar-Type C-kabel. Gebaseerd op de ingebouwde USB PD3.0-compatibele firmware, zou het AP33772- en AP43771-paar de standaard USB PD3.0-aansluitprocedure doorlopen om een ​​geschikte PD3.0-laadstatus vast te stellen.
  • AP33772 Sink Controller EVB biedt gebruiksgemak en grote veelzijdigheid voor systeemontwerpers om PDO's aan te vragen via de USB Power Delivery Charger door ingebouwde AP33772-opdrachten te verzenden via de I2C-interface. Een typisch systeemontwerp vereist MCU-programmering waarvoor specifieke software (bijvoorbeeld IDE) moet worden ingesteld en dit kan een tijdrovend ontwikkelingsproces zijn.
  • Raspberry Pi (RPI), een single board computer (SBC) die draait op een gebruiksvriendelijk Linux-besturingssysteem en is uitgerust met flexibele GPIO-pinnen, biedt daarentegen een eenvoudige manier om de AP33772 Sink EVB te valideren in combinatie met een PD-oplader. Het doel van deze handleiding is om systeemontwerpers een effectief platform te bieden om de softwarevalidatie op RPI snel te voltooien en de ontwikkeling vervolgens over te zetten naar elke gewenste MCU om te voldoen aan de snelle marktvereisten.
  • Als aanvullend document bij de AP33772 EVB-gebruikershandleiding illustreert deze gebruikershandleiding een eenvoudige manier om de AP33772 EVB te besturen met een RPI SBC via de I2C-interface.
  • De rol van het MCU-blok, weergegeven in figuur 1, om te communiceren met AP33772, wordt gespeeld door een RPI. Deze gebruikershandleiding bevat veel registerdefinitie- en gebruiksinformatie, zoals bijvampVoor de volledige en meest bijgewerkte informatie verwijzen wij u naar de AP33772 EVB-gebruikershandleiding. (Zie referentie 2)DIODES-AP33772-USB-PD-Sink-controller-Raspberry-Pi-I2C-interface-FIG-1
  • Figuur 1 – Een typische TCD gebruikt AP33772 PD Sink-controller met I2C-interface om stroom aan te vragen van een USB Type-C PD3.0/PPS-compatibiliteitsbronadapter

Validatieplatform instellen

AP33772 Spoelbakcontroller EVB
Figuur 2 toont de afbeelding van de Sink Controller EVB. Het beschikt over Type-C-connector, I2C-pinnen, GPIO3-pin voor onderbreking, NTC-thermistor voor OTP, LED-indicatoren om de laadstatus weer te geven en een Vout-connector voor de belasting.DIODES-AP33772-USB-PD-Sink-controller-Raspberry-Pi-I2C-interface-FIG-2

Raspberry Pi Zero 2W

  • Elke nieuwste versie van RPI kan de AP33772 Sink Controller EVB besturen via I2C-pinnen. In deze gebruikershandleiding wordt een Raspberry Pi Zero 2 W (RPI Z2W) gebruikt vanwege zijn kosteneffectiviteit en veelzijdigheid. Het heeft de kleinste vormfactor van alle RPI's en is geïntegreerd met WiFi en Bluetooth, waardoor de draadloze verbinding zonder extra componenten mogelijk is. Het voldoet perfect aan het doel van het AP33772 Sink Controller EVB-validatieplatform.
  • De gebruiker kan de Raspberry Pi-official controleren website voor aanvullende informatie (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

Validatieplatformverbinding en opstarten

Figuur 5 toont een volledige koppeling en inrichting van het Validatieplatform. De gebruiker moet deze stappen volgen:

  1. Sluit SCL-, SDA- en GND-pinnen aan tussen RPI en AP33772 EVB
  2. Sluit de 65W PD-oplader en AP33772 EVB aan met Type-C-kabel
  3. Schakel RPI en PD-oplader in.DIODES-AP33772-USB-PD-Sink-controller-Raspberry-Pi-I2C-interface-FIG-5

Raspberry Pi-software instellen

Raspberry Pi-besturingssysteem

  • Er zijn veel verschillende besturingssystemen die RPI ondersteunen. Hiervan is het Raspberry Pi OS gekozen omdat dit het meest wordt gebruikt en aanbevolen door de officiële RPI-site.

Download de OS-image en bereid de SD-kaart voor

Raspberry PI OS-installatie

  • Plaats de Micro-SD-kaart die eerder met de imager is geladen in de Micro-SD-sleuf van RPI. Sluit de voedingsadapter, muis/toetsenbord en HDMI-monitor aan. Schakel de RPI in en volg de instructies om de installatie van het besturingssysteem en de basisconfiguratie te voltooien. Zorg ervoor dat de nieuwste updates op het besturingssysteem zijn opgenomen.

Installatie van vereiste functies

  • Om de I2C-interface succesvol op RPI te kunnen uitvoeren, moeten we de SSH-, VNC- en I2C-functies configureren of installeren.

Raspberry Pi-configuratie – SSH, VNC, I2C

  • Na het opstarten van RPI opent u het hulpprogramma "Raspberry Pi Configure" en schakelt u de SSH-, VNC- en I2C-functies in.DIODES-AP33772-USB-PD-Sink-controller-Raspberry-Pi-I2C-interface-FIG-7

I2C Baudrate-configuratie

  • Vervang de regels met betrekking tot dtparam en dtoverlay in /boot/config.txt file met:
  • dtoverlay=i2c-bcm2708
  • dtparam=i2c_arm=aan,i2c_arm_baudrate=640000

I2C-Tools Installatie

  • I2C-Tools is een toolset die eenvoudige opdrachten biedt die op de opdrachtregel worden uitgevoerd onder Raspberry Pi OS. Installeer I2C-Tools op het besturingssysteem door het volgende uit te voeren: sudo apt install i2c-tools

SMBus2-installatie

  • SMBus2 is een Python-module die handige functies biedt waarmee de gebruiker de I2C-interface in een Python-omgeving kan besturen. Installeer de SMBus2-module voor Python op het besturingssysteem door het volgende uit te voeren: sudo pip3 install smbus2

Basiscommando bijvampde

  • Deze gebruikershandleiding demonstreert twee verschillende methoden om met de I2C-interface op RPI te werken. Het zijn I2C-Tools Utility en Python SMBus2-module. De basisopdrachten van beide methoden worden in deze sectie geïntroduceerd.

 I2C-Tools Commando Exampde

  • Het I2C-Tools hulpprogrammapakket biedt i2cdetect-, i2cget- en i2cset-opdrachten. Vereenvoudigd gebruik wordt beschreven in de examples onder deze sectie. Voor volledige informatie over het hulpprogramma I2C-Tools raadpleegt u https://linuxhint.com/i2c-linux-utilities/.
  • Tabel 1 toont de AP33772-registersamenvatting zodat de gebruiker het commandogebruik in deze sectie kan verwerken. Voor volledige registratie-informatie verwijzen wij u naar de AP33772 Sink Controller EVB-gebruikershandleiding.
Register Commando Lengte Attribuut Power-on Beschrijving
 

SRCPDO

 

0x00

 

28

 

RO

 

Alle 00u

Power Data Object (PDO) gebruikt om de stroommogelijkheden van de PD Source (SRC) bloot te leggen.

De totale lengte bedraagt ​​28 bytes

PDONUM 0x1C 1 RO 00 uur Geldig bron-BOB-nummer
STATUS 0x1D 1 RC 00 uur AP33772-status
MASKER 0x1E 1 RW 01 uur Masker voor onderbreken inschakelen
VOLTAGE 0x20 1 RO 00 uur LSB-80mV
HUIDIG 0x21 1 RO 00 uur LSB-24mA
TIJDELIJK 0x22 1 RO 19 uur Temperatuur, eenheid: °C
OCPTHR 0x23 1 RW 00 uur OCP-drempel, LSB 50mA
OTPTHR 0x24 1 RW 78 uur OTP-drempel, eenheid: °C
DRTHR 0x25 1 RW 78 uur Deratingdrempel, Eenheid: °C
TR25 0x28 2 RW 2710 uur Thermische weerstand @25°C, Eenheid: Ω
TR50 0x2A 2 RW 1041 uur Thermische weerstand @50°C, Eenheid: Ω
TR75 0x2C 2 RW 0788 uur Thermische weerstand @75°C, Eenheid: Ω
TR100 0x2E 2 RW 03CEh Thermische weerstand @100°C, Eenheid: Ω
RDO 0x30 4 WO 00000000 uur Request Data Object (RDO) wordt gebruikt om stroommogelijkheden aan te vragen.
VID 0x34 2 RW 0000 uur Leveranciers-ID, gereserveerd voor toekomstige toepassingen
PID 0x36 2 RW 0000 uur Product-ID, gereserveerd voor toekomstige toepassingen
GERESERVEERD 0x38 4 Gereserveerd voor toekomstige toepassingen

Tabel 1 – AP33772 Registersamenvatting

Detecteer alle apparaten die op I2C zijn aangesloten – i2cdetect

  • Om alle i2c-apparaten weer te geven die momenteel op de I2C-1-bus zijn aangesloten, typt u het volgende onder de opdrachtprompt: i2cdetect -y 1
  • Als AP33772 Sink Controller EVB is aangesloten, zou de gebruiker moeten zien dat het apparaat is aangesloten op het 0x51-adres

SRCPDO lezen (0x00~0x1B)

  • De i2cget-opdracht ondersteunt geen bloklezen langer dan 2 bytes. De gebruiker moet “for loop” gebruiken om alle 28-byte lange PDO-gegevens weer te geven. Om alle PDO-gegevens weer te geven, typt u het volgende onder de bash-opdrachtprompt voor i in {0..27}; doe i2cget -y 1 0x51 $ib; klaar
  • Er worden gegevens van 28 bytes weergegeven die 7 PDO's vertegenwoordigen

PDONUM lezen (0x1C)

  • Om het totale aantal geldige PDO's weer te geven, typt u het volgende onder de opdrachtprompt: i2cget -y 1 0x51 0x1c b

STATUS lezen (0x1D)

  • Met deze opdracht wordt de status van de Sink Controller gerapporteerd, inclusief derating, OTP, OCP, OVP, Request Rejected, Request Completed en Ready. Om de statusinformatie weer te geven, typt u het volgende onder de opdrachtprompt: i2cget -y 1 0x51 0x1d b
  • De gebruiker moet deze opdracht gebruiken na elk RDO-verzoek om een ​​succesvol RDO-verzoek te garanderen door het COMPLETE bit te lezen. 4.1.5 MASK schrijven (0x1E)
  • Met deze opdracht worden de interrupts ingeschakeld die de host signaleren via de GPIO3-pin van AP33772. De interrupts omvatten Derating, OTP, OCP, OVP, Request Rejected, Request Completed en Ready. Om een ​​specifieke interrupt mogelijk te maken, stelt u de overeenkomstige bit in op één. Bijvoorbeeldample, om OCP-interrupt in te schakelen, stelt u bit 4 van het MASK-register in op één door het volgende te typen onder de opdrachtprompt: i2cset -y 1 0x51 0x1e 0x10 b
  • GPIO3-pin van AP33772 wordt hoog wanneer de OCP-beveiliging wordt geactiveerd.

Lees VOLTAGE (0x20)

  • Deze opdracht rapporteert de voltage gemeten door de AP33772 Sink Controller. Om de voltage, typ het volgende onder de opdrachtprompt: i2cget -y 1 0x51 0x20 b
  • Eén eenheid van de gerapporteerde waarde vertegenwoordigt 80 mV.

HUIDIG lezen (0x21)

  • Deze opdracht rapporteert de stroom gemeten door de AP33772 Sink Controller. Om de huidige te rapporteren, typt u het volgende onder de opdrachtprompt: i2cget -y 1 0x51 0x21 b
  • Eén eenheid van de gerapporteerde waarde vertegenwoordigt 24 mA.

TEMP lezen (0x22)

  • Dit commando rapporteert de temperatuur gemeten door de AP33772 Sink Controller. Om de temperatuur te rapporteren, typt u het volgende onder de opdrachtprompt:
    i2cget -y 1 0x51 0x22 b
  • Eén eenheid van de gerapporteerde waarde vertegenwoordigt 1°C.
  • Lezen en schrijven OCPTHR (0x23), OTPTHR (0x24) en DRTHR (0x25)
  • OCP-, OTP- en Derating-drempels kunnen worden gewijzigd in door de gebruiker gewenste waarden door de waarden naar OCPTHR-, OTPTHR- en DRTHR-registers te schrijven. Als example, om de OCP-drempel te wijzigen naar 3.1A, moet de gebruiker 0x3E (=3100/50=62=0x3E) naar OCPTHR schrijven door het volgende onder de opdrachtprompt te typen: i2cset -y 1 0x51 0x23 0x3e b
  • Om de OTP-drempel te wijzigen naar 110°C, moet de gebruiker 0x6E (=110) naar OTPTHR schrijven door het volgende onder de opdrachtprompt te typen:
  • Om de waarden uit OCPTHR, OTPTHR en DRTHR te lezen, typt u het volgende onder de opdrachtprompt:
  • i2cget -y 1 0x51 0x23 b i2cget -y 1 0x51 0x24 b i2cget -y 1 0x51 0x25 b
  • Lezen en schrijven TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D) en TR100 (0x2E~0x2F)
  • Op de AP10 EVB is een Murata 03KΩ negatieve temperatuurcoëfficiënt (NTC) thermistor NCP103XH33772 geplaatst. Het heeft de voorkeur van de gebruiker om de thermistor in het uiteindelijke ontwerp te vervangen door een andere. De gebruiker moet de registerwaarden van TR25, TR50, TR75 en TR100 bijwerken volgens de specificaties van de gebruikte thermistor. Bijvoorbeeldampde,
  • In het ontwerp is Murata's 6.8KΩ NCP03XH682 gebruikt. De weerstandswaarden bij 25°C, 50°C, 75°C en 100°C zijn respectievelijk 6800Ω (0x1A90), 2774Ω (0x0AD6), 1287Ω (0x0507) en 662Ω (0x0296). Om de overeenkomstige waarden naar deze registers te schrijven, typt u het volgende onder de opdrachtprompt:
  • i2cset -y 1 0x51 0x28 0x1a90 w i2cset -y 1 0x51 0x2a 0x0ad6 w i2cset -y 1 0x51 0x2c 0x0507 w i2cset -y 1 0x51 0x2e 0x0296 w
  • Om de waarden uit te lezen, typt u het volgende onder de opdrachtprompt: i2cget -y 1 0x51 0x28 w i2cget -y 1 0x51 0x2a w i2cget -y 1 0x51 0x2c w i2cget -y 1 0x51 0x2e w
  • De uitgangswaarden zijn woorden van 2 bytes. Omdat de commando's 2-byte woorden rechtstreeks verwerken, hoeven gebruikers zich hier geen zorgen te maken over de kleine endian-bytevolgorde.

RDO schrijven (0x30~0x33)

  • Om een ​​onderhandelingsprocedure voor een PDO-verzoek te initiëren, worden gegevens van 4 bytes naar het RDO-register (Request Data Object) geschreven in de volgorde van kleine endian-bytes. Als example, om PDO3 met 15V en 3A aan te vragen, wordt 0x3004B12C naar het RDO-register geschreven. Typ het volgende onder de opdrachtprompt: i2cset -y 1 0x51 0x30 0x2c 0xb1 0x04 0x30 i
  • De minst significante byte (0x2C) moet als eerste worden geschreven om in de kleine endian bytevolgordenotatie te passen. Raadpleeg Tabel 9 en Tabel 10 van AP33772 Sink Controller EVB-gebruiker
  • Gids voor gedetailleerde informatie over RDO-inhoud.
  • De gebruiker kan een harde reset uitvoeren door het RDO-register te schrijven met gegevens die allemaal nul zijn: i2cset -y 1 0x51 0x30 0x00 0x00 0x00 0x00 i
  • De AP33772 Sink Controller wordt gereset naar de oorspronkelijke staat en de uitgang wordt uitgeschakeld.

Python SMBus2-opdracht Exampde

  • Python wordt steeds populairder vanwege de grote verscheidenheid aan ondersteunde modules. SMBus2 is daar een van en kan I2C-lees- en schrijfopdrachten verwerken. SMBus2 biedt read_byte_data, read_word_data, read_i2c_block_data, write_byte_data, write_word_data, write_i2c_block_data-opdrachten. Vereenvoudigd gebruik wordt beschreven in de examples onder deze sectie. Voor volledige informatie over de SMBus2-module raadpleegt u https://smbus2.readthedocs.io/en/latest/.

SRCPDO lezen (0x00~0x1B) 

  • SMBus.read_i2c_block_data is een effectieve opdracht ter ondersteuning van het lezen van blokgegevens van maximaal 32 bytes. Om alle 28-byte PDO-gegevens te lezen, gebruikt u het volgende onder de Python3-omgeving:
  • SMBus.read_i2c_block_data(0x51, 0x00, 28)
  • 28 gegevens van één byte die 7 PDO's vertegenwoordigen, worden geretourneerd in de lijstgegevensstructuur.

PDONUM lezen (0x1C)

  • Om het totale aantal geldige PDO's te lezen, gebruikt u het volgende onder de python3-omgeving:
  • SMBus.read_byte_data(0x51, 0x1c)
  • Gegevens van één byte die een geldige PDO-telling vertegenwoordigen, worden geretourneerd.

STATUS lezen (0x1D)

  • Met deze opdracht wordt de status van de Sink Controller gerapporteerd, inclusief Derating, OTP, OCP, OVP, Request Rejected, Request Completed en Ready. Om de statusinformatie te lezen, gebruikt u het volgende onder de python3-omgeving:
  • SMBus.read_byte_data(0x51, 0x1d)
  • De gebruiker kan deze opdracht na elk RDO-verzoek gebruiken om een ​​succesvol RDO-verzoek te garanderen door het COMPLETE bit te lezen.

MASK schrijven (0x1E)

  • Met deze opdracht worden de interrupts ingeschakeld die de host signaleren via de GPIO3-pin van AP33772. De interrupts omvatten Derating, OTP, OCP, OVP, Request Rejected, Request
  • Voltooid en klaar. Om een ​​specifieke interrupt mogelijk te maken, stelt u de overeenkomstige bit in op één. Bijvoorbeeldample, om OCP-interrupt in te schakelen, stelt u bit 4 van MASK-register in op één door het volgende te gebruiken onder de python3-omgeving:
  • SMBus.write_byte_data(0x51, 0x1e, 0x10)
  • GPIO3-pin van AP33772 wordt hoog wanneer de OCP-beveiliging wordt geactiveerd.

Lees VOLTAGE (0x20)

  • Deze opdracht rapporteert de voltage gemeten door de AP33772 Sink Controller. Om de voltage, gebruik het volgende onder de python3-omgeving:
  • SMBus.read_byte_data(0x51, 0x20)
  • Eén eenheid van de gerapporteerde waarde vertegenwoordigt 80 mV.

HUIDIG lezen (0x21)

  • Deze opdracht rapporteert de stroom gemeten door de AP33772 Sink Controller. Om de huidige te rapporteren, gebruikt u het volgende onder python3-omgeving
  • SMBus.read_byte_data(0x51, 0x21)
  • Eén eenheid van de gerapporteerde waarde vertegenwoordigt 24 mA.

TEMP lezen (0x22)

  • Dit commando rapporteert de temperatuur gemeten door de AP33772 Sink Controller. Om de temperatuur te rapporteren, gebruikt u het volgende onder de python3-omgeving:
  • SMBus.read_byte_data(0x51, 0x22)
  • Eén eenheid van de gerapporteerde waarde vertegenwoordigt 1°C.

Lezen en schrijven OCPTHR (0x23), OTPTHR (0x24) en DRTHR (0x25) 

  • OCP-, OTP- en Derating-drempels kunnen worden gewijzigd in door de gebruiker gewenste waarden door de waarden naar OCPTHR-, OTPTHR- en DRTHR-registers te schrijven. Als example, om de OCP-drempel te wijzigen naar 3.1A, moet de gebruiker 0x3E (=3100/50=62=0x3E) naar OCPTHR schrijven met behulp van het volgende onder de python3-omgeving: SMBus.write_byte_data(0x51, 0x23, 0x3e)
  • Om de OTP-drempel te wijzigen naar 110°C, moet de gebruiker 0x6E (=110) naar OTPTHR schrijven met behulp van het volgende onder de python3-omgeving: SMBus.write_byte_data(0x51, 0x24, 0x6e)
  • Om de Derating-drempel te wijzigen naar 100°C, moet de gebruiker 0x64 (=100) naar DRTHR schrijven met behulp van het volgende onder de python3-omgeving: SMBus.write_byte_data(0x51, 0x25, 0x64)
  • Om de waarden uit OCPTHR, OTPTHR en DRTHR te lezen, gebruikt u het volgende onder de python3-omgeving: SMBus.read_byte_data(0x51, 0x23) SMBus.read_byte_data(0x51, 0x24) SMBus.read_byte_data(0x51, 0x25) .
  • Lezen en schrijven TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D) en TR100 (0x2E~0x2F)
  • Op de AP10 EVB is een Murata 03KΩ negatieve temperatuurcoëfficiënt (NTC) thermistor NCP103XH33772 geplaatst. Het heeft de voorkeur van de gebruiker om de thermistor in het uiteindelijke ontwerp te vervangen door een andere. De gebruiker moet de registerwaarde van TR25, TR50, TR75 en TR100 bijwerken volgens de specificaties van de gebruikte thermistor. BijvoorbeeldampIn het ontwerp wordt Murata's 6.8KΩ NCP03XH682 gebruikt. De weerstandswaarden bij 25°C, 50°C, 75°C en 100°C zijn respectievelijk 6800Ω (0x1A90), 2774Ω (0x0AD6), 1287Ω (0x0507) en 662Ω (0x0296). Om de overeenkomstige waarden naar deze registers te schrijven, gebruikt u het volgende onder de python3-omgeving:
  • 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)
  • Om de waarden uit te lezen, gebruikt u het volgende onder de python3-omgeving: SMBus.read_word_data(0x51, 0x28) SMBus.read_word_data(0x51, 0x2a) SMBus.read_word_data(0x51, 0x2c) SMBus.read_word_data(0x51, 0x2e)
  • De retourwaarden zijn ook woorden van 2 bytes. Omdat de commando's 2-byte woorden rechtstreeks verwerken, hoeven gebruikers zich hier geen zorgen te maken over de kleine endian-bytevolgorde.

RDO schrijven (0x30~0x33)

  • Om een ​​onderhandelingsprocedure voor een PDO-verzoek te initiëren, worden gegevens van 4 bytes naar het RDO-register (Request Data Object) geschreven in de volgorde van kleine endian-bytes. Als example, om PDO3 met 15V en 3A aan te vragen, wordt 0x3004B12C naar het RDO-register geschreven. Gebruik het volgende onder de Python3-omgeving:
  • SMBus.write_i2c_block_data(0x51, 0x30, [0x2c, 0xb1, 0x04, 0x30])
  • Raadpleeg Tabel 9 en Tabel 10 van de AP33772 Sink Controller EVB-gebruikershandleiding voor gedetailleerde RDO-inhoudsinformatie.
  • De gebruiker kan een harde reset uitvoeren door een RDO-register te schrijven met gegevens die allemaal nul zijn:
  • SMBus.write_i2c_block_data(0x51, 0x30, [0x00, 0x00, 0x00, 0x00])
  • De AP33772 Sink Controller wordt gereset naar de oorspronkelijke staat en de uitgang wordt uitgeschakeld.

Praktisch bijvampde

Example 1: Bash I2C-Tools bijvample: ap33772_querypdo.bash
Deze example controleert alle geldige BOB's en vermeldt de voltage en huidige capaciteitsinformatie uit.
CodedetailsDIODES-AP33772-USB-PD-Sink-controller-Raspberry-Pi-I2C-interface-FIG-8

Code-uitvoering en uitvoerDIODES-AP33772-USB-PD-Sink-controller-Raspberry-Pi-I2C-interface-FIG-9

Example 2: Python SMBus2 Example: ap33772_allpdo.py3
Deze example controleert alle geldige BOB's en vraagt ​​ze één voor één op en af.
CodedetailsDIODES-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

Code-uitvoering en uitvoerDIODES-AP33772-USB-PD-Sink-controller-Raspberry-Pi-I2C-interface-FIG-13DIODES-AP33772-USB-PD-Sink-controller-Raspberry-Pi-I2C-interface-FIG-14

Example Code downloaden

Lijst met bijvampde codes

  • Examplecodes hebben Bash Script- en Python-versies
  1. ap33772_querypdo: vraagt ​​alle PDO-informatie op
  2. ap33772_reqpdo: rapporteert alle PDO-informatie en verzendt PDO-verzoek gespecificeerd door de gebruiker
  3. ap33772_allpdo: rapporteert alle PDO-informatie en doorloopt alle PDO-aanvragen op en neer
  4. ap33772_pps: rapporteert alle BOB-informatie, en ramps op en neer gedurende de hele PPS voltage-bereik in stappen van 50 mV
  5. ap33772_vit: rapporten voltage, stroom- en temperatuurinformatie
Example downloadsite

Example Codes kunnen worden gedownload van Github. Geef het volgende commando om te downloaden: git clone https://github.com/diodinciot/ap33772.git-ap33772

Referenties

  1. AP33772 Gegevensblad (USB PD3.0 PPS-gootsteencontroller): https://www.diodes.com/products/power-management/ac-dc-converters/usb-pd-sink-controllers/
  2. AP33772 I2C Sink Controller EVB-gebruikershandleiding: https://www.diodes.com/applications/ac-dc-chargers-and-adapters/usb-pd-sink-controller/
  3. Framboos Pi Nul 2 W: https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
  4. Raspberry Pi-besturingssysteem: https://www.raspberrypi.com/software/
  5. I2C-Tools-hulpprogramma: https://linuxhint.com/i2c-linux-utilities/
  6. SMBus2-module: https://smbus2.readthedocs.io/en/latest/

Revisiegeschiedenis

Herziening Uitgiftedatum Opmerking Auteur
1.0 4/15/2022 Eerste release Edward Zhao
BELANGRIJKE MEDEDELING
  • DIODES INCORPORATED GEEFT GEEN ENKELE GARANTIE, UITDRUKKELIJK OF IMPLICIET, MET BETREKKING TOT DIT DOCUMENT, INCLUSIEF MAAR NIET BEPERKT TOT DE IMPLICIETE GARANTIES VAN VERKOOPBAARHEID EN GESCHIKTHEID VOOR EEN BEPAALD DOEL (EN HUN EQUIVALENTEN ONDER DE WETTEN VAN ENIG RECHTSGEBIED).
  • Diodes Incorporated en haar dochterondernemingen behouden zich het recht voor om zonder verdere kennisgeving wijzigingen, verbeteringen, verbeteringen, correcties of andere wijzigingen aan te brengen in dit document en elk hierin beschreven product. Diodes Incorporated aanvaardt geen enkele aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van dit document of enig hierin beschreven product; noch verleent Diodes Incorporated enige licentie onder haar octrooi- of handelsmerkrechten, noch de rechten van anderen. Elke klant of gebruiker van dit document of hierin beschreven producten in dergelijke toepassingen draagt ​​alle risico's van dergelijk gebruik en stemt ermee in om Diodes Incorporated en alle bedrijven waarvan de producten op de Diodes Incorporated zijn vertegenwoordigd, vast te houden website, vrij van alle schade.
  • Diodes Incorporated biedt geen enkele garantie en aanvaardt geen enkele aansprakelijkheid met betrekking tot producten die via niet-geautoriseerde verkoopkanalen zijn gekocht.
    Mochten klanten producten van Diodes Incorporated kopen of gebruiken voor een onbedoelde of ongeoorloofde toepassing, dan zullen klanten Diodes Incorporated schadeloos stellen en vasthouden
  • Incorporated en haar vertegenwoordigers waren onschadelijk voor alle claims, schade, kosten en advocaatkosten die voortvloeien uit, direct of indirect, een claim van persoonlijk letsel of overlijden in verband met een dergelijke onbedoelde of ongeoorloofde toepassing.
  • Producten die hierin worden beschreven, kunnen gedekt zijn door een of meer Amerikaanse, internationale of buitenlandse patenten die aangevraagd zijn. Productnamen en markeringen die hierin worden vermeld, kunnen ook worden gedekt door een of meer Amerikaanse, internationale of buitenlandse handelsmerken.
  • Dit document is geschreven in het Engels, maar kan ter referentie in meerdere talen worden vertaald. Alleen de Engelse versie van dit document is het definitieve en bepalende formaat dat is vrijgegeven door Diodes Incorporated.

LEVENSONDERSTEUNING

  • Diodes Incorporated-producten zijn specifiek niet geautoriseerd voor gebruik als kritieke componenten in levensondersteunende apparaten of systemen zonder de uitdrukkelijke schriftelijke toestemming van de Chief Executive Officer van Diodes Incorporated. Zoals hierin gebruikt:
  • A. Levensondersteunende apparaten of systemen zijn apparaten of systemen die:
  1. bedoeld zijn om in het lichaam te worden geïmplanteerd, of
  2. het leven ondersteunen of in stand houden en waarvan redelijkerwijs kan worden verwacht dat het niet functioneren ervan bij juist gebruik in overeenstemming met de gebruiksaanwijzing op het etiket kan leiden tot aanzienlijk letsel bij de gebruiker.
    • B. Een kritiek onderdeel is elk onderdeel van een levensondersteunend apparaat of systeem waarvan redelijkerwijs kan worden verwacht dat het niet functioneren ervan het falen van het levensondersteunende apparaat veroorzaakt of de veiligheid of effectiviteit ervan aantast.
    • Klanten verklaren dat zij over alle noodzakelijke expertise beschikken op het gebied van de veiligheid en regelgeving van hun levensondersteunende apparaten of systemen, en erkennen en gaan ermee akkoord dat zij als enige verantwoordelijk zijn voor alle wettelijke, regelgevende en veiligheidsgerelateerde vereisten met betrekking tot hun producten en elk gebruik van Diodes Producten opgenomen in dergelijke veiligheidskritische, levensondersteunende apparaten of systemen, ondanks eventuele apparaat- of systeemgerelateerde informatie of ondersteuning die mogelijk wordt geleverd door Diodes Incorporated.
    • Verder moeten klanten Diodes Incorporated en haar vertegenwoordigers volledig vrijwaren van eventuele schade die voortvloeit uit het gebruik van producten van Diodes Incorporated in dergelijke veiligheidskritische, levensondersteunende apparaten of systemen.

Documenten / Bronnen

DIODES AP33772 USB PD Sink-controller Raspberry Pi I2C-interface [pdf] Gebruikershandleiding
AP33772 USB PD-gootsteencontroller Raspberry Pi I2C-interface, AP33772, USB PD-gootsteencontroller Raspberry Pi I2C-interface, Raspberry Pi I2C-interface, Pi I2C-interface

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *