DIODE-LOGO

DIODES AP33772 USB PD Sink Controller Raspberry Pi I2C vmesnik

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

Uvod

  • Krmilnik ponora AP33772, ki deluje kot protokolarna naprava naprave, opremljene s priključkom USB PD3.0 tipa C (TCD, ponor energije), je namenjen zahtevanju ustreznega podatkovnega objekta napajanja (PDO) od PD3.0, opremljenega s priključkom USB PD3.0 tipa C .XNUMX polnilec skladnosti (PDC, vir energije).
  • Slika 1 prikazuje TCD, vdelan z IC krmilnika ponora PD3.0 (AP33772), fizično povezan s PDC, vdelanim z dekoderjem USB PD3.0 (AP43771), prek
  • Kabel vrste C na vrsto C. Na podlagi vgrajene vdelane programske opreme, združljive z USB PD3.0, bi par AP33772 in AP43771 šel skozi standardni postopek priključitve USB PD3.0, da bi vzpostavil primerno stanje polnjenja PD3.0.
  • AP33772 Sink Controller EVB omogoča enostavno uporabo in veliko vsestranskost za načrtovalce sistema, da zahtevajo PDO od USB Power Delivery Charger s pošiljanjem vgrajenih ukazov AP33772 prek vmesnika I2C. Tipična zasnova sistema zahteva programiranje MCU, ki zahteva nastavitev posebne programske opreme (npr. IDE) in je lahko dolgotrajen razvojni proces.
  • Nasprotno pa Raspberry Pi (RPI), računalnik z eno ploščo (SBC), ki deluje na uporabniku prijaznem operacijskem sistemu Linux in je opremljen s prilagodljivimi zatiči GPIO, zagotavlja neposreden način za preverjanje delovanja AP33772 Sink EVB s polnilnikom PD. Cilj tega priročnika je oblikovalcem sistemov zagotoviti učinkovito platformo za hitro dokončanje validacije programske opreme na RPI in nato prenos razvoja na kateri koli zaželen MCU, da bi izpolnili zahteve trga za hiter preobrat.
  • Kot dodatek k uporabniškemu priročniku AP33772 EVB ta uporabniški priročnik ponazarja preprost način za nadzor AP33772 EVB z RPI SBC prek vmesnika I2C.
  • Vlogo bloka MCU, prikazanega na sliki 1 za vmesnik z AP33772, igra RPI. Ta uporabniški priročnik zajema veliko informacij o definiciji registrov in uporabi, nprampVendar pa za popolne in najnovejše informacije glejte uporabniški priročnik AP33772 EVB. (Glej referenco 2)DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-1
  • Slika 1 – Tipičen TCD uporablja krmilnik ponora AP33772 PD z vmesnikom I2C, da zahteva napajanje iz adapterja vira USB Type-C PD3.0/PPS Compliance Compliance

Nastavitev validacijske platforme

AP33772 Krmilnik pomivalnega korita EVB
Slika 2 prikazuje sliko krmilnika pomivalnega korita EVB. Vsebuje priključek Type-C, zatiče I2C, zatič GPIO3 za prekinitev, termistor NTC za OTP, indikatorje LED za prikaz stanja polnjenja in priključek Vout za obremenitev.DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-2

Raspberry Pi Zero 2W

  • Vsaka najnovejša različica RPI je sposobna krmiliti AP33772 Sink Controller EVB prek zatičev I2C. Raspberry Pi Zero 2 W (RPI Z2W) je uporabljen v tem uporabniškem priročniku zaradi svoje stroškovne učinkovitosti in vsestranskosti. Ima najmanjšo obliko med vsemi RPI in je integriran z WiFi in Bluetooth, ki omogoča brezžično povezavo brez dodatne komponente. Popolnoma služi svojemu namenu kot validacijska platforma EVB krmilnika ponora AP33772.
  • Uporabnik lahko preveri uradno Raspberry Pi webstran za dodatne informacije (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

Povezava s validacijsko platformo in vklop

Slika 5 prikazuje celotno povezavo in nastavitev validacijske platforme. Uporabnik mora slediti tem korakom:

  1. Povežite nožice SCL, SDA in GND med RPI in AP33772 EVB
  2. Povežite polnilnik 65 W PD in AP33772 EVB s kablom Type-C
  3. Vklopite RPI in PD polnilnik.DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-5

Nastavitev programske opreme Raspberry Pi

Raspberry Pi OS

  • Obstaja veliko različnih operacijskih sistemov, ki podpirajo RPI. Med njimi je izbran Raspberry Pi OS, ker je najpogosteje uporabljen in ga priporoča uradna stran RPI.

Prenesite sliko OS in pripravite kartico SD

Namestitev OS Raspberry PI

  • Kartico Micro-SD, ki ste jo predhodno naložili s slikovno napravo, vstavite v režo za Micro-SD RPI. Povežite napajalnik, miško/tipkovnico in monitor HDMI. Vklopite RPI in sledite navodilom za dokončanje namestitve OS in osnovne nastavitve. Prepričajte se, da so najnovejše posodobitve vključene v OS.

Nastavitev zahtevanih funkcij

  • Za uspešno izvajanje vmesnika I2C na RPI moramo konfigurirati ali namestiti funkcije SSH, VNC in I2C.

Raspberry Pi Config – SSH, VNC, I2C

  • Po zagonu RPI odprite pripomoček »Raspberry Pi Configure« in vklopite funkcije SSH, VNC in I2C.DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-7

Konfiguracija hitrosti prenosa I2C

  • Zamenjajte vrstice glede dtparam in dtoverlay v /boot/config.txt file z:
  • dtoverlay=i2c-bcm2708
  • dtparam=i2c_arm=on,i2c_arm_baudrate=640000

Namestitev orodij I2C

  • I2C-Tools je nabor orodij, ki zagotavlja preproste ukaze, ki se izvajajo v ukazni vrstici pod OS Raspberry Pi. Namestite I2C-Tools v OS tako, da zaženete: sudo apt install i2c-tools

Namestitev SMBus2

  • SMBus2 je modul Python, ki uporabniku nudi priročne funkcije za nadzor vmesnika I2C v okolju Python. Namestite modul SMBus2 za Python v OS tako, da zaženete: sudo pip3 namestite smbus2

Osnovni ukaz Examples

  • Ta uporabniški priročnik prikazuje dve različni metodi za delo z vmesnikom I2C na RPI. To sta I2C-Tools Utility in Python SMBus2 Module. V tem razdelku so predstavljeni osnovni ukazi obeh metod.

 I2C-Tools Command Examples

  • Paket pripomočkov I2C-Tools ponuja ukaze i2cdetect, i2cget in i2cset. Poenostavljene uporabe so opisane v pramppod tem razdelkom. Za popolne informacije o pripomočku I2C-Tools glejte https://linuxhint.com/i2c-linux-utilities/.
  • Tabela 1 prikazuje povzetek registra AP33772, da uporabnik lažje prebavi uporabo ukaza v tem razdelku. Za popolne informacije o registru glejte Uporabniški priročnik za krmilnik ponora AP33772 EVB.
Registrirajte se Ukaz Dolžina Atribut Vklop Opis
 

SRCPDO

 

0x00

 

28

 

RO

 

Vse 00h

Power Data Object (PDO), ki se uporablja za razkrivanje zmogljivosti napajanja PD Source (SRC).

Skupna dolžina je 28 bajtov

PDONUM 0x1C 1 RO 00h Veljavna izvorna številka PDO
STANJE 0x1D 1 RC 00h status AP33772
MASKA 0x1E 1 RW 01h Maska za omogočanje prekinitve
VOLTAGE 0x20 1 RO 00h LSB 80 mV
AKTUALNO 0x21 1 RO 00h LSB 24 mA
TEMP 0x22 1 RO 19h Temperatura, enota: °C
OCPTHR 0x23 1 RW 00h Prag OCP, LSB 50 mA
OTPTHR 0x24 1 RW 78h Prag OTP, Enota: °C
DRTHR 0x25 1 RW 78h Prag znižanja vrednosti, Enota: °C
TR25 0x28 2 RW 2710h Toplotna upornost pri 25 °C, enota: Ω
TR50 0x2A 2 RW 1041h Toplotna upornost pri 50 °C, enota: Ω
TR75 0x2C 2 RW 0788h Toplotna upornost pri 75 °C, enota: Ω
TR100 0x2E 2 RW 03CEh Toplotna upornost pri 100 °C, enota: Ω
RDO 0x30 4 WO 00000000h Request Data Object (RDO) se uporablja za zahtevanje zmogljivosti napajanja.
VID 0x34 2 RW 0000h ID dobavitelja, rezerviran za prihodnje aplikacije
PID 0x36 2 RW 0000h ID izdelka, rezervirano za prihodnje aplikacije
REZERVIRANO 0x38 4 Rezervirano za prihodnje aplikacije

Tabela 1 – Povzetek registra AP33772

Zaznaj vse naprave, priključene na I2C – i2cdetect

  • Če želite prikazati vse naprave i2c, ki so trenutno priključene na vodilo I2C-1, v ukazni poziv vnesite naslednje: i2cdetect -y 1
  • Če je priključen AP33772 Sink Controller EVB, bi moral uporabnik videti, da je naprava priključena na naslov 0x51

Branje SRCPDO (0x00~0x1B)

  • Ukaz i2cget ne podpira branja blokov, daljših od 2 bajtov. Uporabnik mora za prikaz vseh 28-bajtnih podatkov PDO uporabiti »zanko for«. Če želite prikazati vse podatke PDO, vnesite naslednje v ukazni poziv bash za i v {0..27}; naredite i2cget -y 1 0x51 $ib; Končano
  • Prikazani bodo 28-bajtni podatki, ki predstavljajo 7 PDO

Preberi PDONUM (0x1C)

  • Če želite prikazati skupno število veljavnih PDO, v ukazni poziv vnesite naslednje: i2cget -y 1 0x51 0x1c b

Branje STANJA (0x1D)

  • Ta ukaz poroča o statusu krmilnika ponora, vključno z znižanjem ocene, OTP, OCP, OVP, zahtevo zavrnjeno, zahtevo dokončano in pripravljeno. Za prikaz informacij o stanju v ukazni poziv vnesite naslednje: i2cget -y 1 0x51 0x1d b
  • Uporabnik mora ta ukaz uporabiti po vsaki zahtevi RDO, da zagotovi uspešno zahtevo RDO z branjem bita COMPLETE. 4.1.5 Pisanje MASK (0x1E)
  • Ta ukaz omogoči prekinitve, ki signalizirajo gostitelja prek pina GPIO3 AP33772. Prekinitve vključujejo znižanje vrednosti, OTP, OCP, OVP, Zahteva zavrnjena, Zahteva dokončana in Pripravljeno. Če želite omogočiti določeno prekinitev, nastavite ustrezni bit na ena. Na primerample, da omogočite prekinitev OCP, nastavite bit 4 registra MASK na ena tako, da v ukazni poziv vnesete naslednje: i2cset -y 1 0x51 0x1e 0x10 b
  • Pin GPIO3 AP33772 bo šel visoko, ko se sproži zaščita OCP.

Preberite VOLTAGE (0x20)

  • Ta ukaz poroča o voltage izmerjeno s krmilnikom ponora AP33772. Za prijavo voltage, v ukazni poziv vnesite naslednje: i2cget -y 1 0x51 0x20 b
  • Ena enota navedene vrednosti predstavlja 80 mV.

Preberi TRENUTNO (0x21)

  • Ta ukaz sporoči tok, izmerjen s krmilnikom ponora AP33772. Če želite prijaviti trenutno stanje, v ukazni poziv vnesite naslednje: i2cget -y 1 0x51 0x21 b
  • Ena enota navedene vrednosti predstavlja 24 mA.

Branje TEMP (0x22)

  • Ta ukaz sporoči temperaturo, izmerjeno s krmilnikom pomivalnega korita AP33772. Če želite sporočiti temperaturo, v ukazni poziv vnesite naslednje:
    i2cget -y 1 0x51 0x22 b
  • Ena enota navedene vrednosti predstavlja 1 °C.
  • Branje in pisanje OCPTHR (0x23), OTPTHR (0x24) in DRTHR (0x25)
  • Pragove OCP, OTP in znižanje vrednosti je mogoče spremeniti na uporabniško želene vrednosti z zapisom vrednosti v registre OCPTHR, OTPTHR in DRTHR. Kot bivšiample, če želite spremeniti prag OCP na 3.1 A, mora uporabnik napisati 0x3E (=3100/50=62=0x3E) v OCPTHR tako, da pod ukazno vrstico vnese naslednje: i2cset -y 1 0x51 0x23 0x3e b
  • Če želite spremeniti prag OTP na 110 °C, mora uporabnik napisati 0x6E (=110) v OTPTHR tako, da pod ukazno vrstico vnese naslednje:
  • Če želite prebrati vrednosti iz OCPTHR, OTPTHR in DRTHR, v ukazni poziv vnesite naslednje:
  • i2cget -y 1 0x51 0x23 b i2cget -y 1 0x51 0x24 b i2cget -y 1 0x51 0x25 b
  • Branje in pisanje TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D) in TR100 (0x2E~0x2F)
  • Termistor Murata z negativnim temperaturnim koeficientom (NTC) NCP10XH03 z 103 KΩ je nameščen na AP33772 EVB. Uporabnik želi zamenjati termistor z drugim v končni zasnovi. Uporabnik mora posodobiti vrednosti registra TR25, TR50, TR75 in TR100 v skladu s specifikacijami uporabljenega termistorja. Na primerample,
  • Pri načrtovanju je uporabljen Muratin 6.8KΩ NCP03XH682. Vrednosti upora pri 25 °C, 50 °C, 75 °C in 100 °C so 6800 Ω (0x1A90), 2774 Ω (0x0AD6), 1287 Ω (0x0507) oziroma 662 Ω (0x0296). Če želite zapisati ustrezne vrednosti v te registre, v ukazni poziv vnesite naslednje:
  • 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
  • Če želite prebrati vrednosti, v ukazni poziv vnesite naslednje: i2cget -y 1 0x51 0x28 w i2cget -y 1 0x51 0x2a w i2cget -y 1 0x51 0x2c w i2cget -y 1 0x51 0x2e w
  • Izhodne vrednosti so 2-bajtne besede. Ker ukazi obravnavajo 2-bajtno besedo neposredno, uporabnikom tukaj ni treba skrbeti za vrstni red bajtov malega konca.

Zapiši RDO (0x30~0x33)

  • Za sprožitev postopka pogajanja o zahtevi PDO se 4-bajtni podatki zapišejo v register RDO (Request Data Object) v vrstnem redu bajtov malega konca. Kot bivšiample, če želite zahtevati PDO3 s 15 V in 3 A, bo 0x3004B12C zapisan v register RDO. V ukazni poziv vnesite naslednje: i2cset -y 1 0x51 0x30 0x2c 0xb1 0x04 0x30 i
  • Najmanj pomemben bajt (0x2C) je treba zapisati najprej, da ustreza zapisu vrstnega reda bajtov malega endian. Oglejte si tabelo 9 in tabelo 10 uporabnika EVB krmilnika ponora AP33772
  • Vodnik za podrobne informacije o vsebini RDO.
  • Uporabnik lahko izvede strojno ponastavitev tako, da zapiše register RDO s podatki, ki vsebujejo vse ničle: i2cset -y 1 0x51 0x30 0x00 0x00 0x00 0x00 i
  • Krmilnik ponora AP33772 bo ponastavljen na začetno stanje in izhod bo izklopljen.

Ukaz Python SMBus2 Examples

  • Python postaja vse bolj priljubljen zaradi svojih velikih vrst podprtih modulov. SMBus2 je med njimi in je sposoben obravnavati ukaze I2C za branje in pisanje. SMBus2 zagotavlja ukaze read_byte_data, read_word_data, read_i2c_block_data, write_byte_data, write_word_data, write_i2c_block_data. Poenostavljene uporabe so opisane v pramppod tem razdelkom. Za popolne informacije o modulu SMBus2 glejte https://smbus2.readthedocs.io/en/latest/.

Branje SRCPDO (0x00~0x1B) 

  • SMBus.read_i2c_block_data je učinkovit ukaz za podporo branja do 32-bajtnih blokovnih podatkov. Če želite prebrati vse 28-bajtne podatke PDO, uporabite naslednje v okolju python3:
  • SMBus.read_i2c_block_data(0x51, 0x00, 28)
  • V podatkovni strukturi seznama bo vrnjenih 28 enobajtnih podatkov, ki predstavljajo 7 PDO.

Preberi PDONUM (0x1C)

  • Če želite prebrati skupno število veljavnih PDO, uporabite naslednje v okolju python3:
  • SMBus.read_byte_data(0x51, 0x1c)
  • Vrnjen bo en bajt podatkov, ki predstavlja veljavno število PDO.

Branje STANJA (0x1D)

  • Ta ukaz poroča o statusu krmilnika ponora, vključno z znižanjem vrednosti, OTP, OCP, OVP, zahtevo zavrnjeno, zahtevo dokončano in pripravljeno. Za branje informacij o stanju uporabite naslednje v okolju python3:
  • SMBus.read_byte_data(0x51, 0x1d)
  • Uporabnik lahko uporabi ta ukaz po vsaki zahtevi RDO, da zagotovi uspešno zahtevo RDO z branjem bita COMPLETE.

Napiši MASKO (0x1E)

  • Ta ukaz omogoči prekinitve, ki signalizirajo gostitelja prek pina GPIO3 AP33772. Prekinitve vključujejo znižanje vrednosti, OTP, OCP, OVP, zavrnjeno zahtevo, zahtevo
  • Dokončano in pripravljeno. Če želite omogočiti določeno prekinitev, nastavite ustrezni bit na ena. Na primerample, da omogočite prekinitev OCP, nastavite bit 4 registra MASK na ena z uporabo naslednjega v okolju python3:
  • SMBus.write_byte_data(0x51, 0x1e, 0x10)
  • Pin GPIO3 AP33772 bo šel visoko, ko se sproži zaščita OCP.

Preberite VOLTAGE (0x20)

  • Ta ukaz poroča o voltage izmerjeno s krmilnikom ponora AP33772. Za prijavo voltage, v okolju python3 uporabite naslednje:
  • SMBus.read_byte_data(0x51, 0x20)
  • Ena enota navedene vrednosti predstavlja 80 mV.

Preberi TRENUTNO (0x21)

  • Ta ukaz sporoči tok, izmerjen s krmilnikom ponora AP33772. Če želite poročati o trenutnem, uporabite naslednje v okolju python3
  • SMBus.read_byte_data(0x51, 0x21)
  • Ena enota navedene vrednosti predstavlja 24 mA.

Branje TEMP (0x22)

  • Ta ukaz sporoči temperaturo, izmerjeno s krmilnikom ponora AP33772. Za poročanje o temperaturi uporabite naslednje v okolju python3:
  • SMBus.read_byte_data(0x51, 0x22)
  • Ena enota navedene vrednosti predstavlja 1 °C.

Branje in pisanje OCPTHR (0x23), OTPTHR (0x24) in DRTHR (0x25) 

  • Pragove OCP, OTP in znižanje vrednosti je mogoče spremeniti na uporabniško želene vrednosti z zapisom vrednosti v registre OCPTHR, OTPTHR in DRTHR. Kot bivšiample, če želite spremeniti prag OCP na 3.1 A, mora uporabnik zapisati 0x3E (=3100/50=62=0x3E) v OCPTHR z uporabo naslednjega v okolju python3: SMBus.write_byte_data(0x51, 0x23, 0x3e)
  • Če želite spremeniti prag OTP na 110 °C, mora uporabnik zapisati 0x6E (=110) v OTPTHR z uporabo naslednjega v okolju python3: SMBus.write_byte_data(0x51, 0x24, 0x6e)
  • Če želite spremeniti prag znižanja na 100 °C, mora uporabnik zapisati 0x64 (=100) v DRTHR z uporabo naslednjega v okolju python3: SMBus.write_byte_data(0x51, 0x25, 0x64)
  • Za branje vrednosti iz OCPTHR, OTPTHR in DRTHR uporabite naslednje v okolju python3: SMBus.read_byte_data(0x51, 0x23) SMBus.read_byte_data(0x51, 0x24) SMBus.read_byte_data(0x51, 0x25) .
  • Branje in pisanje TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D) in TR100 (0x2E~0x2F)
  • Termistor Murata z negativnim temperaturnim koeficientom (NTC) NCP10XH03 z 103 KΩ je nameščen na AP33772 EVB. Uporabnik želi zamenjati termistor z drugim v končni zasnovi. Uporabnik mora posodobiti vrednost registra TR25, TR50, TR75 in TR100 v skladu s specifikacijami uporabljenega termistorja. Na primerample, pri načrtovanju je uporabljen Muratin 6.8 KΩ NCP03XH682. Vrednosti upora pri 25 °C, 50 °C, 75 °C in 100 °C so 6800 Ω (0x1A90), 2774 Ω (0x0AD6), 1287 Ω (0x0507) oziroma 662 Ω (0x0296). Če želite zapisati ustrezne vrednosti v te registre, uporabite naslednje v okolju 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)
  • Za branje vrednosti uporabite naslednje v okolju 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)
  • Povratne vrednosti so tudi 2-bajtne besede. Ker ukazi obravnavajo 2-bajtno besedo neposredno, uporabnikom tukaj ni treba skrbeti za vrstni red bajtov malega konca.

Zapiši RDO (0x30~0x33)

  • Za sprožitev postopka pogajanja o zahtevi PDO se 4-bajtni podatki zapišejo v register RDO (Request Data Object) v vrstnem redu bajtov malega konca. Kot bivšiample, če želite zahtevati PDO3 s 15 V in 3 A, bo 0x3004B12C zapisan v register RDO. V okolju python3 uporabite naslednje:
  • SMBus.write_i2c_block_data(0x51, 0x30, [0x2c, 0xb1, 0x04, 0x30])
  • Prosimo, glejte tabelo 9 in tabelo 10 uporabniškega priročnika krmilnika ponora AP33772 EVB za podrobne informacije o vsebini RDO.
  • Uporabnik lahko izda strojno ponastavitev tako, da zapiše register RDO s podatki, ki vsebujejo vse nič:
  • SMBus.write_i2c_block_data(0x51, 0x30, [0x00, 0x00, 0x00, 0x00])
  • Krmilnik ponora AP33772 bo ponastavljen na začetno stanje in izhod bo izklopljen.

Praktični primeramples

Example 1: Bash I2C-Orodja Example: ap33772_querypdo.bash
Ta bivšiample preveri vse veljavne ZOP in navede voltage in informacije o trenutni zmogljivosti ven.
Koda PodrobnostiDIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-8

Izvajanje kode in rezultatiDIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-9

Example 2: Python SMBus2 Example: ap33772_allpdo.py3
Ta bivšiample preveri vse veljavne PDO in jih zahteva eno za drugo v vrstnem redu navzgor in navzdol.
Koda PodrobnostiDIODES-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

Izvajanje kode in rezultatiDIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-13DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-14

Example Prenos kode

Seznam prample kode

  • ExampKode le imajo različici Bash Script in Python
  1. ap33772_querypdo: poizveduje po vseh informacijah PDO
  2. ap33772_reqpdo: poroča o vseh informacijah PDO in pošlje zahtevo PDO, ki jo določi uporabnik
  3. ap33772_allpdo: poroča o vseh informacijah ZOP in se sprehodi skozi vse zahteve ZOP navzgor in navzdol
  4. ap33772_pps: poroča o vseh informacijah ZOP in ramps gor in dol po celotnem PPS voltage obseg v velikosti koraka 50mV
  5. ap33772_vit: poročila lettage, informacije o toku in temperaturi
Example spletno mesto za prenos

Example Kode lahko prenesete iz Githuba. Za prenos izdajte naslednji ukaz: git clone https://github.com/diodinciot/ap33772.git-ap33772

Reference

  1. Podatkovni list AP33772 (krmilnik odtoka USB PD3.0 PPS): https://www.diodes.com/products/power-management/ac-dc-converters/usb-pd-sink-controllers/
  2. AP33772 I2C Sink Controller EVB Uporabniški priročnik: https://www.diodes.com/applications/ac-dc-chargers-and-adapters/usb-pd-sink-controller/
  3. Raspberry Pi Zero 2 W: https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
  4. Raspberry Pi OS: https://www.raspberrypi.com/software/
  5. Pripomoček I2C-Tools: https://linuxhint.com/i2c-linux-utilities/
  6. Modul SMBus2: https://smbus2.readthedocs.io/en/latest/

Zgodovina revizij

Revizija Datum izdaje Komentiraj Avtor
1.0 4/15/2022 Začetna izdaja Edvard Zhao
POMEMBNO OBVESTILO
  • DIODES INCORPORATED NE DAJE NOBENEGA JAMSTVA, IZRECNEGA ALI POSREDNEGA, V ZVEZI S TEM DOKUMENTOM, VKLJUČNO, VENDAR NE OMEJENO NA NAZNAČENO JAMSTVO ZA PRODAJO IN PRIMERNOST ZA DOLOČEN NAMEN (IN NJIHOVIH ENAKOVREDNIH V SKLADU Z ZAKONI VSAKA PRISTOJNOST).
  • Diodes Incorporated in njegove hčerinske družbe si pridržujejo pravico do sprememb, izboljšav, izboljšav, popravkov ali drugih sprememb tega dokumenta in katerega koli izdelka, opisanega v njem, brez dodatnega obvestila. Diodes Incorporated ne prevzema nobene odgovornosti, ki izhaja iz uporabe ali uporabe tega dokumenta ali katerega koli izdelka, opisanega v njem; prav tako Diodes Incorporated ne prenaša nobene licence v okviru svojih pravic do patenta ali blagovne znamke, niti pravic drugih. Vsaka stranka ali uporabnik tega dokumenta ali izdelkov, opisanih tukaj v takšnih aplikacijah, prevzame vsa tveganja takšne uporabe in se strinja, da zadrži Diodes Incorporated in vsa podjetja, katerih izdelki so predstavljeni na Diodes Incorporated webmesto, neškodljivo proti vsem poškodbam.
  • Diodes Incorporated ne jamči in ne sprejema nobene odgovornosti v zvezi z izdelki, kupljenimi prek nepooblaščenih prodajnih kanalov.
    Če stranke kupijo ali uporabljajo izdelke Diodes Incorporated za kakršno koli nenamerno ali nepooblaščeno uporabo, bodo stranke povrnile škodo in zadržale Diodes
  • Incorporated in njegovi zastopniki so bili neškodljivi za vse zahtevke, odškodnine, stroške in odvetniške honorarje, ki so neposredno ali posredno izhajali iz kakršnih koli zahtevkov v zvezi s telesnimi poškodbami ali smrtjo, povezanimi s takšno nenamerno ali nepooblaščeno uporabo.
  • Tukaj opisani izdelki so lahko zajeti z enim ali več patenti ZDA, mednarodnimi ali tujimi patenti v teku. Imena izdelkov in oznake, navedene tukaj, so lahko prav tako zajete z eno ali več blagovnimi znamkami Združenih držav, mednarodnimi ali tujimi blagovnimi znamkami.
  • Ta dokument je napisan v angleščini, vendar ga je mogoče za referenco prevesti v več jezikov. Samo angleška različica tega dokumenta je končna in odločilna oblika, ki jo je izdal Diodes Incorporated.

VZDRŽEVANJE ŽIVLJENJA

  • Izdelki Diodes Incorporated izrecno niso dovoljeni za uporabo kot kritične komponente v napravah ali sistemih za vzdrževanje življenja brez izrecne pisne odobritve glavnega izvršnega direktorja Diodes Incorporated. Kot je uporabljeno tukaj:
  • A. Naprave ali sistemi za vzdrževanje življenja so naprave ali sistemi, ki:
  1. so namenjeni vsaditvi v telo, oz
  2. podpirajo ali vzdržujejo življenje in katerih nedelovanje ob pravilni uporabi v skladu z navodili za uporabo na oznaki je razumno pričakovati, da bo povzročilo znatno poškodbo uporabnika.
    • B. Kritična komponenta je katera koli komponenta v napravi ali sistemu za vzdrževanje življenja, za katero je mogoče razumno pričakovati, da nedelovanje povzroči okvaro naprave za vzdrževanje življenja ali vpliva na njeno varnost ali učinkovitost.
    • Stranke izjavljajo, da imajo vso potrebno strokovno znanje o varnostnih in regulativnih posledicah svojih naprav ali sistemov za vzdrževanje življenja ter potrjujejo in se strinjajo, da so same odgovorne za vse pravne, regulativne in varnostne zahteve v zvezi z njihovimi izdelki in kakršno koli uporabo diod. Vgrajeni izdelki v takšne varnostno kritične naprave ali sisteme za vzdrževanje življenja, ne glede na vse informacije ali podporo, povezane z napravami ali sistemi, ki jih lahko zagotovi Diodes Incorporated.
    • Poleg tega morajo stranke podjetju Diodes Incorporated in njegovim predstavnikom v celoti povrniti škodo, ki bi nastala zaradi uporabe izdelkov Diodes Incorporated v takšnih varnostno kritičnih napravah ali sistemih za vzdrževanje življenja.

Dokumenti / Viri

DIODES AP33772 USB PD Sink Controller Raspberry Pi I2C vmesnik [pdf] Uporabniški priročnik
AP33772 USB PD Sink Controller Raspberry Pi I2C vmesnik, AP33772, USB PD Sink Controller Raspberry Pi I2C vmesnik, Raspberry Pi I2C vmesnik, Pi I2C vmesnik

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *