DIODES AP33772 USB PD Sink Controller Raspberry Pi I2C Interface
Pasiuna
- Ang AP33772 Sink Controller, nga nagtrabaho isip protocol device sa USB PD3.0 Type C Connector-equipped Device (TCD, Energy Sink), gituyo aron mangayo ug tukma nga Power Data Object (PDO) gikan sa USB PD3.0 Type C Connector-equipped PD3.0 .XNUMX compliance Charger (PDC, Energy Source).
- Ang Figure 1 nag-ilustrar sa usa ka TCD, nga gisudlan sa PD3.0 Sink controller IC (AP33772), pisikal nga konektado sa PDC, nga gisudlan sa USB PD3.0 decoder (AP43771), pinaagi sa usa ka
- Type C-to-Type C cable. Base sa built-in nga USB PD3.0 compliant firmware, Ang AP33772 ug AP43771 nga pares moagi sa USB PD3.0 standard attachment procedure aron maestablisar ang angay nga PD3.0 charging state.
- Ang AP33772 Sink Controller EVB naghatag og kasayon sa paggamit ug dako nga versatility alang sa system designer sa paghangyo sa mga PDO gikan sa USB Power Delivery Charger pinaagi sa pagpadala sa AP33772 built-in nga mga command pinaagi sa I2C interface. Ang kasagarang disenyo sa sistema nanginahanglan ug MCU programming nga nagkinahanglan ug espesipikong software (eg IDE) nga setup ug mahimong usa ka makahurot nga proseso sa pagpalambo.
- Sa kasukwahi, ang Raspberry Pi (RPI), usa ka board computer (SBC) nga nagdagan sa usa ka user-friendly nga Linux OS ug nasangkapan sa flexible GPIO pins, naghatag usa ka prangka nga paagi aron ma-validate ang AP33772 Sink EVB nga nagtrabaho sa usa ka PD Charger. Ang tumong niini nga giya mao ang paghatag sa mga tigdesinyo sa sistema og epektibong plataporma aron dali nga makompleto ang pag-validate sa software sa RPI ug dayon i-port ang pag-uswag ngadto sa bisan unsang gusto nga MCU aron matubag ang paspas nga pagbag-o sa mga kinahanglanon sa merkado.
- Isip usa ka dugang nga dokumento sa AP33772 EVB User Guide, kini nga User Guide nag-ilustrar ug sayon nga paagi sa pagkontrolar sa AP33772 EVB gamit ang RPI SBC pinaagi sa I2C Interface.
- Ang papel sa block sa MCU nga gihulagway sa Figure 1 sa interface sa AP33772 gidula sa usa ka RPI. Kini nga Giya sa Gumagamit naglangkob sa daghang kahulugan sa rehistro ug impormasyon sa paggamit sama sa examples, Apan, alang sa kompleto ug pinakabag-o nga impormasyon, palihog tan-awa ang AP33772 EVB User' Guide. (Tan-awa ang Reperensya 2)
- Hulagway 1 – Usa ka tipikal nga TCD naggamit sa AP33772 PD Sink Controller nga adunay I2C Interface aron mangayo og gahum gikan sa USB Type-C PD3.0/PPS Compliance Source Adapter
Pag-setup sa Platform sa Pag-validate
AP33772 Sink Controller EVB
Hulagway 2 nagpakita sa hulagway sa Sink Controller EVB. Kini adunay Type-C Connector, I2C pins, GPIO3 pin para sa Interrupt, NTC Thermistor para sa OTP, LED indicators aron ipakita ang charging status, ug Vout connector sa load.
Raspberry Pi Zero 2W
- Ang bisan unsang pinakabag-o nga bersyon sa RPI makahimo sa pagkontrolar sa AP33772 Sink Controller EVB pinaagi sa I2C pins. Usa ka Raspberry Pi Zero 2 W (RPI Z2W) ang gigamit niini nga Giya sa Gumagamit alang sa pagkaepektibo sa gasto ug kaarang niini. Kini adunay pinakagamay nga formfactor sa tanan nga mga RPI ug gisagol sa WiFi ug Bluetooth nga naghimo sa wireless nga koneksyon nga wala’y dugang nga sangkap. Gi-server niini ang katuyoan ingon ang AP33772 Sink Controller EVB Validation Platform nga hingpit.
- Mahimong susihon sa tiggamit ang opisyal sa Raspberry Pi website alang sa dugang nga impormasyon (https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/)
Koneksyon sa Platform sa Pag-validate ug Pag-power up
Hulagway 5 nagpakita sa usa ka kompleto nga koneksyon ug setup sa Validation Platform. Ang user kinahanglan mosunod niini nga mga lakang:
- Ikonektar ang SCL, SDA, ug GND nga mga pin tali sa RPI ug AP33772 EVB
- Ikonektar ang 65W PD Charger ug AP33772 EVB gamit ang Type-C cable
- I-power up ang RPI ug PD Charger.
Raspberry Pi Software Setup
Raspberry Pi OS
- Adunay daghang lain-laing mga operating system nga nagsuporta sa RPI. Lakip niini, gipili ang Raspberry Pi OS tungod kay kini ang labing gigamit ug girekomenda sa opisyal nga site sa RPI.
Pag-download sa OS Image ug Pag-andam sa SD Card
- Pag-download ug pag-install sa mga gamit sa Raspberry Pi Imager sa usa ka PC (https://www.raspberrypi.com/software/). Sunda ang instruksyon sa pag-andam og Micro-SD nga puno sa hustong OS image (https://youtu.be/ntaXWS8Lk34/). Palihug timan-i nga girekomenda ang Micro-SD card nga 32BG o labaw pa.
Pag-instalar sa Raspberry PI OS
- Isulod ang Micro-SD card nga puno sa imager sa sayo pa ngadto sa Micro-SD slot sa RPI. Ikonektar ang power adapter, mouse/keyboard, ug HDMI monitor. I-on ang RPI ug sunda ang instruksyon aron makompleto ang pag-install sa OS ug basic setup. Siguroha nga ang pinakabag-o nga mga update gilakip sa OS.
Setup sa Gikinahanglan nga mga Feature
- Aron malampuson ang pagpadagan sa I2C interface sa RPI, kinahanglan natong i-configure o i-install ang mga feature sa SSH, VNC, ug I2C.
Raspberry Pi Config - SSH, VNC, I2C
- Pagkahuman sa RPI boot-up, ablihi ang "Raspberry Pi Configure" nga utility ug i-on ang SSH, VNC, ug I2C nga mga bahin.
I2C Baud Rate Configuration
- Ilisan ang mga linya bahin sa dtparam ug dtoverlay sa /boot/config.txt file uban sa:
- dtoverlay=i2c-bcm2708
- dtparam=i2c_arm=on,i2c_arm_baudrate=640000
Pag-instalar sa I2C-Tools
- Ang I2C-Tools usa ka toolset nga naghatag ug yano nga mga command nga nagdagan sa command line ubos sa Raspberry Pi OS. I-install ang I2C-Tools sa OS pinaagi sa pagdagan: sudo apt install i2c-tools
Pag-instalar sa SMBus2
- Ang SMBus2 usa ka module sa Python nga naghatag ug kombenyente nga mga gimbuhaton alang sa tiggamit aron makontrol ang interface sa I2C sa ilawom sa palibot sa Python. I-install ang SMBus2 module para sa Python sa OS pinaagi sa pagdagan: sudo pip3 install smbus2
Batakang Sugo Examples
- Kini nga Giya sa Gumagamit nagpakita sa duha ka lain-laing mga pamaagi sa pagtrabaho uban sa I2C interface sa RPI. Sila ang I2C-Tools Utility ug Python SMBus2 Module. Ang sukaranan nga mga mando sa duha nga mga pamaagi gipaila sa kini nga seksyon.
I2C-Tools Command Examples
- Ang I2C-Tools utility package naghatag ug i2cdetect, i2cget, ug i2cset nga mga sugo. Ang gipayano nga mga paggamit gihulagway sa examples ubos niini nga seksyon. Para sa kompletong impormasyon bahin sa utility sa I2C-Tools, palihog tan-awa ang https://linuxhint.com/i2c-linux-utilities/.
- Ang talaan 1 nagpakita sa AP33772 nga summary sa rehistro alang sa kasayon sa user sa paghilis sa paggamit sa command niini nga seksyon. Para sa kompletong impormasyon sa pagrehistro, palihog tan-awa ang AP33772 Sink Controller EVB User Guide.
Pagrehistro | Sugo | Gitas-on | Hiyas | Kusug nga gahum | Deskripsyon |
SRCPDO |
0x00 |
28 |
RO |
Tanan 00h |
Ang Power Data Object (PDO) gigamit aron ibutyag ang mga kapabilidad sa kuryente sa PD Source (SRC).
Ang kinatibuk-ang gitas-on mao ang 28 bytes |
PDONUM | 0x1C | 1 | RO | 00h | Balido nga tinubdan nga numero sa PDO |
STATUS | 0x1D | 1 | RC | 00h | AP33772 nga kahimtang |
MASKO | 0x1E | 1 | RW | 01h | Interrupt enable mask |
VOLTAGE | 0x20 | 1 | RO | 00h | LSB 80mV |
KARON | 0x21 | 1 | RO | 00h | LSB 24mA |
TEMP | 0x22 | 1 | RO | 19h | Temperatura, Yunit: °C |
OCPTHR | 0x23 | 1 | RW | 00h | OCP threshold, LSB 50mA |
Ang OTPTHR | 0x24 | 1 | RW | 78h | OTP threshold, Yunit: °C |
DRTHR | 0x25 | 1 | RW | 78h | De-rating threshold, Yunit: °C |
TR25 | 0x28 | 2 | RW | 2710h | Thermal Resistance @25°C, Yunit: Ω |
TR50 | 0x2A | 2 | RW | 1041h | Thermal Resistance @50°C, Yunit: Ω |
TR75 | 0x2C | 2 | RW | 0788h | Thermal Resistance @75°C, Yunit: Ω |
TR100 | 0x2E | 2 | RW | 03CEh | Thermal Resistance @100°C, Yunit: Ω |
RDO | 0x30 | 4 | WO | 00000000h | Ang Request Data Object (RDO) gigamit sa paghangyo sa mga kapabilidad sa kuryente. |
VID | 0x34 | 2 | RW | 0000h | Vendor ID, Gireserba para sa umaabot nga mga aplikasyon |
PID | 0x36 | 2 | RW | 0000h | Product ID, Gireserba para sa umaabot nga mga aplikasyon |
GIRESERBA | 0x38 | 4 | – | – | Gireserba alang sa umaabot nga mga aplikasyon |
Talaan 1 – AP33772 Summary sa Register
Hibal-i ang tanan nga mga aparato nga gilakip sa I2C - i2cdetect
- Aron ipakita ang tanang i2c device nga kasamtangang gilakip sa I2C-1 bus, i-type ang mosunod ubos sa command prompt: i2cdetect -y 1
- Kung ang AP33772 Sink Controller EVB gilakip, ang user kinahanglan makakita sa device nga gilakip sa 0x51 nga adres
Basaha ang SRCPDO (0x00~0x1B)
- Ang i2cget command dili mosuporta sa block read nga mas taas kay sa 2 bytes. Kinahanglang gamiton sa user ang “for loop” para ipakita ang tanang 28-byte nga taas nga datos sa PDO. Aron ipakita ang tanang datos sa PDO, i-type ang mosunod ubos sa bash command prompt para sa i sa {0..27}; buhata ang i2cget -y 1 0x51 $ib; nahimo
- 28-byte data nga nagrepresentar sa 7 PDOs ipakita
Basaha ang PDONUM (0x1C)
- Aron ipakita ang kinatibuk-ang gidaghanon sa balido nga mga PDO, i-type ang mosunod ubos sa command prompt: i2cget -y 1 0x51 0x1c b
Basaha ang STATUS (0x1D)
- Kini nga mando nagreport sa kahimtang sa Sink Controller lakip ang de-rating, OTP, OCP, OVP, Gisalikway nga Gihangyo, Nakumpleto ang Paghangyo, ug Andam. Aron ipakita ang impormasyon sa status, i-type ang mosunod ubos sa command prompt: i2cget -y 1 0x51 0x1d b
- Ang user kinahanglang mogamit niini nga sugo human sa matag hangyo sa RDO aron masiguro nga malampuson ang hangyo sa RDO pinaagi sa pagbasa sa KUMPLETO nga gamay. 4.1.5 Isulat ang MASK (0x1E)
- Kini nga sugo makahimo sa mga interrupts nga nagsenyas sa host pinaagi sa GPIO3 pin sa AP33772. Ang mga interrupts naglakip sa Derating , OTP, OCP, OVP, Rejected Request, Request Completed, ug Ready. Aron mahimo ang usa ka piho nga interrupt, ibutang ang katugbang nga bit sa usa. Kay example, aron mahimo ang OCP interrupt, ibutang ang bit 4 sa MASK register ngadto sa usa pinaagi sa pag-type sa mosunod ubos sa command prompt: i2cset -y 1 0x51 0x1e 0x10 b
- Ang GPIO3 pin sa AP33772 mahimong taas kung ang proteksyon sa OCP ma-trigger.
Basaha ang VOLTAGE (0x20)
- Kini nga sugo nagtaho sa voltage gisukod sa AP33772 Sink Controller. Sa pagtaho sa voltage, i-type ang mosunod ubos sa command prompt: i2cget -y 1 0x51 0x20 b
- Usa ka yunit sa gitaho nga kantidad nagrepresentar sa 80mV.
Basaha ang KARON (0x21)
- Kini nga sugo nagtaho sa kasamtangan nga gisukod sa AP33772 Sink Controller. Aron i-report ang kasamtangan, i-type ang mosunod ubos sa command prompt: i2cget -y 1 0x51 0x21 b
- Ang usa ka yunit sa gitaho nga kantidad nagrepresentar sa 24mA.
Basaha ang TEMP (0x22)
- Kini nga sugo nagtaho sa temperatura nga gisukod sa AP33772 Sink Controller. Aron i-report ang temperatura, i-type ang mosunod ubos sa command prompt:
i2cget -y 1 0x51 0x22 b - Ang usa ka yunit sa gitaho nga kantidad nagrepresentar sa 1°C.
- Basaha ug Isulat ang OCPTHR (0x23), OTPTHR (0x24), ug DRTHR (0x25)
- Ang OCP, OTP, ug Derating threshold mahimong mausab ngadto sa gusto sa user nga mga bili pinaagi sa pagsulat sa mga bili ngadto sa OCPTHR, OTPTHR, ug DRTHR nga mga rehistro. Ingon usa ka example, aron usbon ang OCP threshold ngadto sa 3.1A, ang user kinahanglang magsulat og 0x3E (=3100/50=62=0x3E) ngadto sa OCPTHR pinaagi sa pag-type sa mosunod ubos sa command prompt: i2cset -y 1 0x51 0x23 0x3e b
- Aron usbon ang OTP threshold ngadto sa 110°C, ang user kinahanglang magsulat og 0x6E (=110) ngadto sa OTPTHR pinaagi sa pag-type sa mosunod ubos sa command prompt:
- Aron mabasa ang mga bili gikan sa OCPTHR, OTPTHR, ug DRTHR, i-type ang mosunod ubos sa command prompt:
- i2cget -y 1 0x51 0x23 b i2cget -y 1 0x51 0x24 b i2cget -y 1 0x51 0x25 b
- Basaha ug Isulat ang TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D), ug TR100 (0x2E~0x2F)
- Usa ka Murata 10KΩ Negative Temperature Coefficient (NTC) Thermistor NCP03XH103 ang gipuy-an sa AP33772 EVB. Ang gusto sa tiggamit nga usbon ang thermistor sa usa ka lahi sa katapusan nga disenyo. Ang tiggamit kinahanglan nga mag-update sa TR25, TR50, TR75, ug TR100 nga mga kantidad sa rehistro sumala sa mga detalye sa thermistor nga gigamit. Kay example,
- Murata's 6.8KΩ NCP03XH682 gigamit sa disenyo. Ang mga kantidad sa pagsukol sa 25°C, 50°C, 75°C, ug 100°C mao ang 6800Ω (0x1A90), 2774Ω (0x0AD6), 1287Ω (0x0507), ug 662Ω (0x0296) matag usa. Aron isulat ang katugbang nga mga bili niini nga mga rehistro, i-type ang mosunod ubos sa command prompt:
- 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 wx0e2
- Aron mabasa ang mga kantidad, i-type ang mosunod ubos sa command prompt: i2cget -y 1 0x51 0x28 w i2cget -y 1 0x51 0x2a w i2cget -y 1 0x51 0x2c w i2cget -y 1 0x51 0x2e w
- Ang output value kay 2-byte nga mga pulong. Tungod kay ang mga mando direkta nga nagdumala sa 2-byte nga pulong, ang mga tiggamit dili kinahanglan mabalaka bahin sa gamay nga order sa endian byte dinhi.
Isulat ang RDO (0x30~0x33)
- Aron masugdan ang pamaagi sa negosasyon sa hangyo sa PDO, ang 4-byte nga datos gisulat sa RDO (Request Data Object) nga rehistro sa gamay nga-endian byte nga han-ay. Ingon si example, sa paghangyo sa PDO3 nga adunay 15V ug 3A, ang 0x3004B12C isulat sa RDO register. Isulat ang mosunod ubos sa command prompt: i2cset -y 1 0x51 0x30 0x2c 0xb1 0x04 0x30 i
- Ang labing gamay nga hinungdanon nga byte (0x2C) kinahanglan nga isulat una aron mohaum sa gamay nga endian byte nga notasyon sa order. Palihug tan-awa ang Table 9 ug Table 10 sa AP33772 Sink Controller EVB User
- Giya alang sa detalyadong impormasyon sa sulod sa RDO.
- Ang user mahimong mag-isyu og hard reset pinaagi sa pagsulat sa RDO register nga adunay all-zero data: i2cset -y 1 0x51 0x30 0x00 0x00 0x00 0x00 i
- Ang AP33772 Sink Controller i-reset sa una nga kahimtang niini ug ang output mapalong.
Python SMBus2 Command Examples
- Ang Python nahimong mas popular tungod sa daghang mga lahi sa gisuportahan nga mga module. Ang SMBus2 usa sa mga ug may katakus sa pagdumala sa mga mando sa pagbasa ug pagsulat sa I2C. Ang SMBus2 naghatag og read_byte_data, read_word_data, read_i2c_block_data, write_byte_data, write_word_data, write_i2c_block_data nga mga sugo. Ang gipayano nga mga paggamit gihulagway sa examples ubos niini nga seksyon. Para sa kompletong impormasyon bahin sa SMBus2 module, palihog tan-awa ang https://smbus2.readthedocs.io/en/latest/.
Basaha ang SRCPDO (0x00~0x1B)
- Ang SMBus.read_i2c_block_data usa ka epektibo nga sugo sa pagsuporta hangtod sa 32-byte block data nga mabasa. Aron mabasa ang tanang 28-byte nga datos sa PDO, gamita ang mosunod ubos sa python3 environment:
- SMBus.read_i2c_block_data(0x51, 0x00, 28)
- 28 one-byte data nga nagrepresentar sa 7 PDOs ibalik sa listahan sa istruktura sa datos.
Basaha ang PDONUM (0x1C)
- Aron mabasa ang kinatibuk-ang gidaghanon sa mga balido nga PDO, gamita ang mosunod ubos sa python3 environment:
- SMBus.read_byte_data(0x51, 0x1c)
- Usa ka byte nga datos nga nagrepresentar sa balido nga ihap sa PDO ibalik.
Basaha ang STATUS (0x1D)
- Kini nga sugo nagtaho sa kahimtang sa Sink Controller lakip ang Derating , OTP, OCP, OVP, Gisalikway nga Gihangyo, Nakompleto ang Gihangyo, ug Andam. Aron mabasa ang impormasyon sa status, gamita ang mosunod ubos sa python3 environment:
- SMBus.read_byte_data(0x51, 0x1d)
- Mahimong gamiton sa user kini nga sugo pagkahuman sa matag hangyo sa RDO aron masiguro nga malampuson ang hangyo sa RDO pinaagi sa pagbasa sa KUMPLETO nga bit.
Isulat ang MASKO (0x1E)
- Kini nga sugo makahimo sa mga interrupts nga nagsenyas sa host pinaagi sa GPIO3 pin sa AP33772. Ang mga interrupts naglakip sa Derating , OTP, OCP, OVP, Request Rejected, Request
- Nakompleto, ug Andam. Aron mahimo ang usa ka piho nga interrupt, ibutang ang katugbang nga bit sa usa. Kay example, aron mahimo ang OCP interrupt, ibutang ang bit 4 sa MASK register ngadto sa usa pinaagi sa paggamit sa mosunod ubos sa python3 environment:
- SMBus.write_byte_data(0x51, 0x1e, 0x10)
- Ang GPIO3 pin sa AP33772 mahimong taas kung ang proteksyon sa OCP ma-trigger.
Basaha ang VOLTAGE (0x20)
- Kini nga sugo nagtaho sa voltage gisukod sa AP33772 Sink Controller. Sa pagtaho sa voltage, gamita ang mosunod ubos sa python3 environment:
- SMBus.read_byte_data(0x51, 0x20)
- Usa ka yunit sa gitaho nga kantidad nagrepresentar sa 80mV.
Basaha ang KARON (0x21)
- Kini nga sugo nagtaho sa kasamtangan nga gisukod sa AP33772 Sink Controller. Aron i-report ang kasamtangan, gamita ang mosunod ubos sa python3 environment
- SMBus.read_byte_data(0x51, 0x21)
- Ang usa ka yunit sa gitaho nga kantidad nagrepresentar sa 24mA.
Basaha ang TEMP (0x22)
- Kini nga sugo nagtaho sa temperatura nga gisukod sa AP33772 Sink Controller. Aron i-report ang temperatura, gamita ang mosunod ubos sa python3 environment:
- SMBus.read_byte_data(0x51, 0x22)
- Ang usa ka yunit sa gitaho nga kantidad nagrepresentar sa 1°C.
Basaha ug Isulat ang OCPTHR (0x23), OTPTHR (0x24), ug DRTHR (0x25)
- Ang OCP, OTP, ug Derating threshold mahimong mausab ngadto sa gusto sa user nga mga bili pinaagi sa pagsulat sa mga bili ngadto sa OCPTHR, OTPTHR, ug DRTHR nga mga rehistro. Ingon usa ka example, aron usbon ang OCP threshold sa 3.1A, ang user kinahanglang magsulat 0x3E (=3100/50=62=0x3E) ngadto sa OCPTHR pinaagi sa paggamit sa mosunod ubos sa python3 environment: SMBus.write_byte_data(0x51, 0x23, 0x3e)
- Aron mausab ang OTP threshold ngadto sa 110°C, ang user kinahanglang magsulat og 0x6E (=110) ngadto sa OTPTHR pinaagi sa paggamit sa mosunod ubos sa python3 environment: SMBus.write_byte_data(0x51, 0x24, 0x6e)
- Aron mausab ang Derating threshold ngadto sa 100°C, ang user kinahanglang magsulat og 0x64 (=100) ngadto sa DRTHR pinaagi sa paggamit sa mosunod ubos sa python3 environment: SMBus.write_byte_data(0x51, 0x25, 0x64)
- Aron mabasa ang mga bili gikan sa OCPTHR, OTPTHR, ug DRTHR, gamita ang mosunod ubos sa python3 environment: SMBus.read_byte_data(0x51, 0x23) SMBus.read_byte_data(0x51, 0x24) SMBus.read_byte_data(0x51, 0x25) .
- Basaha ug Isulat ang TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D), ug TR100 (0x2E~0x2F)
- Usa ka Murata 10KΩ Negative Temperature Coefficient (NTC) Thermistor NCP03XH103 ang gipuy-an sa AP33772 EVB. Ang gusto sa tiggamit nga usbon ang thermistor sa usa ka lahi sa katapusan nga disenyo. Ang tiggamit kinahanglan nga mag-update sa TR25, TR50, TR75, ug TR100 nga kantidad sa rehistro sumala sa mga detalye sa thermistor nga gigamit. Kay example, Murata's 6.8KΩ NCP03XH682 gigamit sa disenyo. Ang mga kantidad sa pagsukol sa 25°C, 50°C, 75°C, ug 100°C mao ang 6800Ω (0x1A90), 2774Ω (0x0AD6), 1287Ω (0x0507), ug 662Ω (0x0296) matag usa. Aron isulat ang katugbang nga mga kantidad sa kini nga mga rehistro, gamita ang mosunod ubos sa python3 environment:
- 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)
- Aron mabasa ang mga bili, gamita ang mosunod ubos sa python3 environment: SMBus.read_word_data(0x51, 0x28) SMBus.read_word_data(0x51, 0x2a) SMBus.read_word_data(0x51, 0x2c) SMBus.read_word_data(0x51), 0
- Ang mga kantidad sa pagbalik mao usab ang 2-byte nga mga pulong. Tungod kay ang mga mando direkta nga nagdumala sa 2-byte nga pulong, ang mga tiggamit dili kinahanglan mabalaka bahin sa gamay nga order sa endian byte dinhi.
Isulat ang RDO (0x30~0x33)
- Aron masugdan ang pamaagi sa negosasyon sa hangyo sa PDO, ang 4-byte nga datos gisulat sa RDO (Request Data Object) nga rehistro sa gamay nga-endian byte nga han-ay. Ingon si example, sa paghangyo sa PDO3 nga adunay 15V ug 3A, ang 0x3004B12C isulat sa RDO register. Gamita ang mosunod ubos sa python3 environment:
- SMBus.write_i2c_block_data(0x51, 0x30, [0x2c, 0xb1, 0x04, 0x30])
- Palihog tan-awa ang Table 9 ug Table 10 sa AP33772 Sink Controller EVB User Guide para sa detalyadong impormasyon sa sulod sa RDO.
- Ang user mahimong mag-isyu og hard reset pinaagi sa pagsulat sa RDO register nga adunay all-zero data:
- SMBus.write_i2c_block_data(0x51, 0x30, [0x00, 0x00, 0x00, 0x00])
- Ang AP33772 Sink Controller i-reset sa una nga kahimtang niini ug ang output mapalong.
Praktikal Examples
Example 1: Bash I2C-Mga Himan Example: ap33772_querypdo.bash
Kini nga exampGisusi niya ang tanang balido nga PDO ug gilista ang voltage ug kasamtangan nga kapabilidad nga impormasyon gikan.
Mga Detalye sa Code
Pagpatuman sa Code ug mga Output
Example 2: Python SMBus2 Example: ap33772_allpdo.py3
Kini nga exampGisusi niya ang tanan nga balido nga PDO ug gihangyo kini nga tagsa-tagsa sa up ug down order.
Mga Detalye sa Code
Pagpatuman sa Code ug mga Output
ExampPag-download sa Code
Listahan sa Exampmga Kodigo
- ExampAng mga Code adunay Bash Script ug Python Bersyon
- ap33772_querypdo: nangutana sa tanang impormasyon sa PDO
- ap33772_reqpdo: nagtaho sa tanang impormasyon sa PDO ug nagpadala sa hangyo sa PDO nga gitakda sa user
- ap33772_allpdo: nagtaho sa tanang impormasyon sa PDO ug naglakaw sa tanang hangyo sa PDO sa taas ug ubos nga paagi
- ap33772_pps: nagtaho sa tanang impormasyon sa PDO, ug ramps pataas ug paubos sa tibuok PPS voltage range sa 50mV step size
- ap33772_vit: mga taho voltage, impormasyon sa kasamtangan, ug temperatura
Exampang Download Site
Example Ang mga code mahimong ma-download gikan sa Github. I-isyu ang mosunod nga sugo aron ma-download: git clone https://github.com/diodinciot/ap33772.git-ap33772
Mga pakisayran
- AP33772 Datasheet (USB PD3.0 PPS Sink Controller): https://www.diodes.com/products/power-management/ac-dc-converters/usb-pd-sink-controllers/
- AP33772 I2C Sink Controller EVB User Guide: https://www.diodes.com/applications/ac-dc-chargers-and-adapters/usb-pd-sink-controller/
- Raspberry Pi Zero 2 W: https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
- Raspberry Pi OS: https://www.raspberrypi.com/software/
- Utility sa I2C-Tools: https://linuxhint.com/i2c-linux-utilities/
- SMBus2 Module: https://smbus2.readthedocs.io/en/latest/
Kasaysayan sa Pagbag-o
Rebisyon | Petsa sa Pagpagawas | Komento | Awtor |
1.0 | 4/15/2022 | Inisyal nga Pagpagawas | Edward Zhao |
IMPORTANTE NGA PAHIBALO
- DIODES INCORPORATED WALAY WARRANTY SA BISAN UNSANG KLASE, PAHIBALO O GIPAHIBALO, MAHITUNGOD NIINING DOKUMENTO, LAKIP, APAN DILI LIMITADO SA, ANG GIPASABOT NGA MGA WARRANTY SA KALIGTASAN UG KAAYOHAN ALANG SA PARTIKULAR NGA KATUYOAN (UG ANG ILANG MGA BALAOD SA UNSANG EQURIVAL).
- Ang Diodes Incorporated ug ang mga subsidiary niini adunay katungod sa paghimo sa mga pagbag-o, pagpaayo, pagpaayo, pagtul-id, o uban pang mga pagbag-o nga wala’y dugang nga pahibalo sa kini nga dokumento ug bisan unsang produkto nga gihulagway dinhi. Ang Diodes Incorporated wala mag-angkon sa bisan unsang tulubagon nga naggikan sa aplikasyon o paggamit niini nga dokumento o bisan unsang produkto nga gihulagway dinhi; ni ang Diodes Incorporated naghatag ug bisan unsang lisensya ubos sa iyang patente o mga katungod sa trademark, o ang katungod sa uban. Bisan kinsa nga Kustomer o tiggamit niini nga dokumento o mga produkto nga gihulagway dinhi sa maong mga aplikasyon kinahanglan nga magbaton sa tanan nga mga risgo sa maong paggamit ug mouyon sa paghupot sa Diodes Incorporated ug sa tanang mga kompanya kansang mga produkto girepresentahan sa Diodes Incorporated website, dili makadaot sa tanan nga kadaot.
- Ang Diodes Incorporated dili mogarantiya o modawat sa bisan unsa nga tulubagon sa bisan unsang mga produkto nga gipalit pinaagi sa dili awtorisado nga mga agianan sa pagbaligya.
Kung ang mga Kustomer mopalit o mogamit sa mga produkto nga Diodes Incorporated alang sa bisan unsang wala tuyoa o dili awtorisado nga aplikasyon, ang mga Kustomer kinahanglan nga magbayad sa danyos ug maghupot sa Diodes - Ang Incorporated ug ang mga representante niini dili makadaot batok sa tanan nga mga pag-angkon, kadaot, gasto, ug bayad sa abogado nga naggikan, direkta o dili direkta, bisan unsang pag-angkon sa personal nga kadaot o kamatayon nga nalangkit sa wala gituyo o dili awtorisado nga aplikasyon.
- Ang mga produkto nga gihulagway dinhi mahimong sakop sa usa o daghan pa nga United States, internasyonal o langyaw nga mga patent nga naghulat. Ang mga ngalan sa produkto ug mga marka nga natala dinhi mahimo usab nga sakop sa usa o daghang United States, internasyonal o langyaw nga mga marka sa pamatigayon.
- Kini nga dokumento gisulat sa English apan mahimong hubaron sa daghang mga pinulongan alang sa pakisayran. Ang English nga bersyon lamang sa kini nga dokumento mao ang katapusan ug determinatibo nga pormat nga gipagawas sa Diodes Incorporated.
SUPORTA SA KINABUHI
- Ang mga produkto nga Diodes Incorporated espesipikong dili awtorisado nga gamiton isip kritikal nga mga sangkap sa mga galamiton o sistema sa pagsuporta sa kinabuhi nga walay klaro nga sinulat nga pagtugot sa Chief Executive Officer sa Diodes Incorporated. Ingon sa gigamit dinhi:
- A. Ang mga galamiton o sistema sa pagsuporta sa kinabuhi maoy mga himan o sistema nga:
- gituyo aron itanom sa lawas, o
- pagsuporta o pagpatunhay sa kinabuhi ug kansang kapakyasan sa pagbuhat kung gigamit sa hustong paagi sumala sa mga panudlo alang sa paggamit nga gihatag sa pag-label mahimong makatarunganon nga gilauman nga moresulta sa daghang kadaot sa tiggamit.
- B. Ang usa ka kritikal nga sangkap mao ang bisan unsang sangkap sa usa ka aparato nga nagsuporta sa kinabuhi o sistema kansang kapakyasan sa pagbuhat mahimong makatarunganon nga gipaabut nga hinungdan sa pagkapakyas sa aparato nga nagsuporta sa kinabuhi o makaapekto sa kaluwasan o pagkaepektibo niini.
- Ang mga kustomer nagrepresentar nga sila adunay tanan nga kinahanglan nga kahanas sa kaluwasan ug regulasyon nga mga sangputanan sa ilang mga aparato o sistema sa pagsuporta sa kinabuhi, ug giila ug miuyon nga sila ra ang responsable sa tanan nga ligal, regulasyon, ug mga kinahanglanon nga may kalabotan sa kaluwasan bahin sa ilang mga produkto ug bisan unsang paggamit sa Diodes Gilakip nga mga produkto sa ingon nga kritikal sa kaluwasan, mga aparato o sistema nga nagsuporta sa kinabuhi, bisan pa sa bisan unsang mga aparato- o impormasyon nga may kalabotan sa sistema o suporta nga mahimong gihatag sa Diodes Incorporated.
- Dugang pa, kinahanglan nga bug-os nga bayranan sa mga Kustomer ang Diodes Incorporated ug ang mga representante niini batok sa bisan unsang kadaot nga motumaw sa paggamit sa mga produkto nga Diodes Incorporated sa ingon nga kritikal nga kaluwasan, mga aparato o sistema nga nagsuporta sa kinabuhi.
- Copyright © 2017, Diodes Incorporated
- www.diodes.com
Mga Dokumento / Mga Kapanguhaan
![]() |
DIODES AP33772 USB PD Sink Controller Raspberry Pi I2C Interface [pdf] Giya sa Gumagamit AP33772 USB PD Sink Controller Raspberry Pi I2C Interface, AP33772, USB PD Sink Controller Raspberry Pi I2C Interface, Raspberry Pi I2C Interface, Pi I2C Interface |