ԴԻՈԴՆԵՐ-LOGO

DIODES AP33772 USB PD լվացարան վերահսկիչ Raspberry Pi I2C ինտերֆեյս

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

Ներածություն

  • AP33772 Լվացարանի կարգավորիչը, որն աշխատում է որպես USB PD3.0 Type C միակցիչով սարքավորված սարքի (TCD, Energy Sink) պրոտոկոլային սարք, նախատեսված է USB PD3.0 Type C միակցիչով հագեցած PD3.0-ից պահանջելու պատշաճ Power Data Object (PDO): .XNUMX համապատասխանության լիցքավորիչ (PDC, էներգիայի աղբյուր):
  • Նկար 1-ը ցույց է տալիս TCD-ն՝ ներկառուցված PD3.0 Sink controller IC-ով (AP33772), ֆիզիկապես միացված է PDC-ին, ներկառուցված USB PD3.0 ապակոդավորիչով (AP43771) միջոցով:
  • Մալուխի տեսակը C-to-Type C: Ելնելով ներկառուցված USB PD3.0-ին համապատասխան որոնվածից՝ AP33772 և AP43771 զույգը կանցնի USB PD3.0 ստանդարտ կցման ընթացակարգը՝ PD3.0 լիցքավորման համապատասխան վիճակ հաստատելու համար:
  • AP33772 Լվացարանի վերահսկիչ EVB-ն ապահովում է օգտագործման հեշտություն և մեծ բազմակողմանիություն համակարգի դիզայների համար՝ պահանջելու PDO-ներ USB Power Delivery Charger-ից՝ ուղարկելով AP33772 ներկառուցված հրամաններ I2C ինտերֆեյսի միջոցով: Համակարգի տիպիկ դիզայնը պահանջում է MCU ծրագրավորում, որը հատուկ ծրագրային ապահովման (օրինակ՝ IDE) տեղադրման կարիք ունի և կարող է մշակման ժամանակատար գործընթաց լինել:
  • Ի հակադրություն, Raspberry Pi-ն (RPI)՝ մեկ տախտակային համակարգիչ (SBC), որն աշխատում է օգտատիրոջ համար հարմար Linux OS-ով և հագեցած ճկուն GPIO կապումներով, ապահովում է պարզ ճանապարհ՝ վավերացնելու AP33772 Sink EVB-ն, որն աշխատում է PD լիցքավորիչով: Այս ուղեցույցի նպատակն է համակարգի դիզայներներին արդյունավետ հարթակ տրամադրել RPI-ի վրա ծրագրաշարի վավերացումն արագ ավարտելու և այնուհետև զարգացումը տեղափոխելու ցանկացած ցանկալի MCU՝ շուկայի արագ շրջադարձային պահանջները բավարարելու համար:
  • Որպես AP33772 EVB Օգտագործողի ուղեցույցի լրացուցիչ փաստաթուղթ, այս Օգտագործողի ուղեցույցը ցույց է տալիս AP33772 EVB-ն RPI SBC-ով I2C ինտերֆեյսի միջոցով կառավարելու հեշտ միջոց:
  • Նկար 1-ում պատկերված MCU բլոկի դերը AP33772-ի հետ ինտերֆեյսի համար խաղում է RPI-ն: Այս Օգտագործողի ուղեցույցը ներառում է ռեգիստրի սահմանման և օգտագործման մասին շատ տեղեկություններ, ինչպես օրինակampԱյնուամենայնիվ, ամբողջական և ամենաթարմացված տեղեկատվության համար խնդրում ենք ծանոթանալ AP33772 EVB Օգտագործողի ուղեցույցին: (Տես հղում 2)DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-1
  • Նկար 1 – Սովորական TCD-ն օգտագործում է AP33772 PD Sink Controller I2C ինտերֆեյսով՝ USB Type-C PD3.0/PPS համապատասխանության աղբյուրի ադապտերից էներգիա պահանջելու համար:

Վավերացման հարթակի կարգավորում

AP33772 Լվացարանի վերահսկիչ EVB
Նկար 2 ցույց է տալիս Sink Controller EVB-ի նկարը: Այն ունի Type-C միակցիչ, I2C կապում, GPIO3 փին ընդհատման համար, NTC թերմիստոր՝ OTP-ի համար, LED ցուցիչներ՝ լիցքավորման կարգավիճակը ցույց տալու համար և Vout միակցիչ բեռին:DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-2

Raspberry Pi Zero 2W

  • RPI-ի ցանկացած վերջին տարբերակ կարող է կառավարել AP33772 Sink Controller EVB-ն I2C կապի միջոցով: Raspberry Pi Zero 2 W (RPI Z2W) օգտագործվում է այս Օգտագործողի ուղեցույցում իր ծախսարդյունավետության և բազմակողմանիության համար: Այն ունի ամենափոքր ձևաչափը բոլոր RPI-ների միջև և ինտեգրված է WiFi-ի և Bluetooth-ի հետ, ինչը թույլ է տալիս անլար կապը առանց լրացուցիչ բաղադրիչի: Այն հիանալի կերպով ծառայում է որպես AP33772 լվացարանի վերահսկիչ EVB վավերացման հարթակ:
  • Օգտագործողը կարող է ստուգել Raspberry Pi-ի պաշտոնյան webկայքը լրացուցիչ տեղեկությունների համար (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

Վավերացման հարթակի միացում և միացում

Նկար 5 ցույց է տալիս վավերացման հարթակի ամբողջական կապը և կարգավորումը: Օգտագործողը պետք է հետևի հետևյալ քայլերին.

  1. Միացրեք SCL, SDA և GND փինները RPI-ի և AP33772 EVB-ի միջև
  2. Միացրեք 65W PD լիցքավորիչը և AP33772 EVB-ն Type-C մալուխով
  3. Միացրեք RPI-ն և PD լիցքավորիչը:DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-5

Raspberry Pi ծրագրային ապահովման կարգավորում

Raspberry Pi OS

  • Կան բազմաթիվ տարբեր օպերացիոն համակարգեր, որոնք աջակցում են RPI-ին: Դրանցից ընտրված է Raspberry Pi OS-ը, քանի որ այն ամենաօգտագործվածն է և առաջարկված RPI-ի պաշտոնական կայքի կողմից:

Ներբեռնեք OS պատկերը և պատրաստեք SD քարտը

  • Ներբեռնեք և տեղադրեք Raspberry Pi Imager գործիքները համակարգչի վրա (https://www.raspberrypi.com/software/): Հետևեք հրահանգներին՝ ճիշտ OS պատկերով բեռնված Micro-SD պատրաստելու համար (https://youtu.be/ntaXWS8Lk34/). Խնդրում ենք նկատի ունենալ, որ խորհուրդ է տրվում 32BG կամ ավելի Micro-SD քարտ:DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-6

Raspberry PI OS-ի տեղադրում

  • Տեղադրեք ավելի վաղ պատկերազարդով բեռնված Micro-SD քարտը RPI-ի Micro-SD բնիկում: Միացրեք հոսանքի ադապտերը, մկնիկը/ստեղնաշարը և HDMI մոնիտորը: Միացրեք RPI-ն և հետևեք հրահանգներին՝ ավարտելու OS-ի տեղադրումը և հիմնական կարգավորումը: Համոզվեք, որ վերջին թարմացումները ներառված են ՕՀ-ում:

Պահանջվող հատկանիշների կարգավորում

  • RPI-ի վրա I2C ինտերֆեյսը հաջողությամբ գործարկելու համար մենք պետք է կարգավորենք կամ տեղադրենք SSH, VNC և I2C գործառույթները:

Raspberry Pi Config – SSH, VNC, I2C

  • RPI-ի գործարկումից հետո բացեք «Raspberry Pi Configure» ծրագիրը և միացրեք SSH, VNC և I2C գործառույթները:DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-7

I2C Baud Rate կոնֆիգուրացիա

  • Փոխարինեք dtparam-ի և dtoverlay-ի հետ կապված տողերը /boot/config.txt-ում: file հետ:
  • dtoverlay=i2c-bcm2708
  • dtparam=i2c_arm=on,i2c_arm_baudrate=640000

I2C-Tools-ի տեղադրում

  • I2C-Tools-ը գործիքների հավաքածու է, որն ապահովում է Raspberry Pi OS-ի ներքո հրամանի տողում աշխատող պարզ հրամաններ: Տեղադրեք I2C-Tools-ը ՕՀ-ում՝ գործարկելով. sudo apt install i2c-tools

SMBus2-ի տեղադրում

  • SMBus2-ը Python մոդուլ է, որն օգտատիրոջ համար ապահովում է հարմար գործառույթներ Python միջավայրում I2C ինտերֆեյսը կառավարելու համար: Տեղադրեք SMBus2 մոդուլը Python-ի համար ՕՀ-ում՝ գործարկելով. sudo pip3 install smbus2

Հիմնական հրաման, օրինակamples

  • Այս Օգտագործողի ուղեցույցը ցույց է տալիս երկու տարբեր մեթոդներ՝ աշխատելու I2C ինտերֆեյսի հետ RPI-ում: Դրանք են՝ I2C-Tools Utility և Python SMBus2 Module: Երկու մեթոդների հիմնական հրամանները ներկայացված են այս բաժնում:

 I2C-Tools Command Examples

  • I2C-Tools կոմունալ փաթեթը տրամադրում է i2cdetect, i2cget և i2cset հրամաններ: Պարզեցված օգտագործումը նկարագրված է նախկինումamples այս բաժնի տակ: I2C-Tools կոմունալ ծրագրի մասին ամբողջական տեղեկատվության համար խնդրում ենք այցելել https://linuxhint.com/i2c-linux-utilities/.
  • Աղյուսակ 1-ը ցույց է տալիս AP33772 ռեգիստրի ամփոփագիրը՝ օգտատերերի համար այս բաժնում հրամանների օգտագործումը մարսելու հարմարության համար: Գրանցման ամբողջական տեղեկատվության համար խնդրում ենք ծանոթանալ AP33772 Sink Controller EVB Օգտագործողի ուղեցույցին:
Գրանցվել Հրաման Երկարություն Հատկանիշ Միացում Նկարագրություն
 

SRCPDO

 

0x00

 

28

 

RO

 

Ամբողջ 00 ժ

Power Data Object (PDO) օգտագործվում է PD Source (SRC) էներգիայի հնարավորությունները բացահայտելու համար:

Ընդհանուր երկարությունը 28 բայթ է

PDONUM 0x1C 1 RO 00ժ Վավեր աղբյուրի PDO համարը
ՍՏԱՏՈՒՍ 0x1D 1 RC 00ժ AP33772 կարգավիճակ
ԴԻՄԱԿ 0x1E 1 RW 01ժ Ընդհատման միացման դիմակ
VOLTAGE 0x20 1 RO 00ժ LSB 80 մՎ
ԸՆԹԱՑԻԿ 0x21 1 RO 00ժ LSB 24 մԱ
ԺԱՄԱՆԱԿ 0x22 1 RO 19ժ Ջերմաստիճան, միավոր՝ °C
OCPTHR 0x23 1 RW 00ժ OCP շեմ, LSB 50mA
OTPTHR 0x24 1 RW 78ժ OTP շեմ, միավոր՝ °C
DRTHR 0x25 1 RW 78ժ Ապագնահատման շեմ, միավոր՝ °C
TR25 0x28 2 RW 2710ժ Ջերմային դիմադրություն @25°C, միավոր՝ Ω
TR50 0x2A 2 RW 1041ժ Ջերմային դիմադրություն @50°C, միավոր՝ Ω
TR75 0x2C 2 RW 0788ժ Ջերմային դիմադրություն @75°C, միավոր՝ Ω
TR100 0x2E 2 RW 03 CEh Ջերմային դիմադրություն @100°C, միավոր՝ Ω
RDO 0x30 4 WO 00000000ժ Request Data Object (RDO) օգտագործվում է էներգիայի հնարավորություններ պահանջելու համար:
VID 0x34 2 RW 0000ժ Վաճառողի ID, վերապահված է ապագա հայտերի համար
PID 0x36 2 RW 0000ժ Ապրանքի ID, վերապահված է ապագա հայտերի համար
ՊԱՇՏՊԱՆՎԱԾ Է 0x38 4 Վերապահված է հետագա հայտերի համար

Աղյուսակ 1 – AP33772 Գրանցման ամփոփագիր

Հայտնաբերեք I2C-ին կցված բոլոր սարքերը՝ i2cdetect

  • I2C-2 ավտոբուսին կցված բոլոր i1c սարքերը ցուցադրելու համար հրամանի տողում մուտքագրեք հետևյալը. i2cdetect -y 1
  • Եթե ​​AP33772 Լվացարանի վերահսկիչ EVB-ն կցված է, օգտվողը պետք է տեսնի, որ սարքը կցված է 0x51 հասցեով

Կարդացեք SRCPDO (0x00~0x1B)

  • i2cget հրամանը չի աջակցում բլոկների ընթերցման ավելի քան 2 բայթ: Օգտագործողը պետք է օգտագործի «for loop»՝ ցուցադրելու բոլոր 28 բայթ երկարությամբ PDO տվյալները: Բոլոր PDO տվյալները ցուցադրելու համար մուտքագրեք հետևյալը bash հրամանի տողում i-ի համար {0..27}-ում; անել i2cget -y 1 0x51 $ib; արված է
  • Կցուցադրվեն 28 բայթանոց տվյալներ, որոնք ներկայացնում են 7 PDO

Կարդացեք PDONUM (0x1C)

  • Վավեր PDO-ների ընդհանուր թիվը ցուցադրելու համար հրամանի տողում մուտքագրեք հետևյալը. i2cget -y 1 0x51 0x1c b

Կարդալ ՍՏԱՏՈՒՍ (0x1D)

  • Այս հրամանը հայտնում է Լվացարանի վերահսկիչի կարգավիճակը, ներառյալ վարկանիշի իջեցումը, OTP, OCP, OVP, հարցումը մերժված է, հարցումն ավարտված է և պատրաստ է: Կարգավիճակի տեղեկատվությունը ցուցադրելու համար հրամանի տողում մուտքագրեք հետևյալը. i2cget -y 1 0x51 0x1d b
  • Օգտվողը պետք է օգտագործի այս հրամանը յուրաքանչյուր RDO հարցումից հետո, որպեսզի ապահովի հաջող RDO հարցումը՝ կարդալով COMPLETE բիթը: 4.1.5 Գրել ԴԻՄԱԿ (0x1E)
  • Այս հրամանը հնարավորություն է տալիս ընդհատումները, որոնք ազդանշան են տալիս հոսթին AP3-ի GPIO33772 փինով: Ընդհատումները ներառում են «Derating», «OTP», «OCP», «OVP», «Request Rejected», «Request Completed» և «Redy»: Հատուկ ընդհատում միացնելու համար համապատասխան բիթը սահմանեք մեկ: Նախample, OCP ընդհատումը միացնելու համար MASK ռեգիստրի 4-րդ բիթը սահմանեք մեկի վրա՝ հրամանի տողում մուտքագրելով հետևյալը. i2cset -y 1 0x51 0x1e 0x10 b
  • AP3-ի GPIO33772 փին կբարձրանա, երբ OCP պաշտպանությունը գործարկվի:

Կարդացեք VOLTAGE (0x20)

  • Այս հրամանը հայտնում է հատtage-ը չափվում է AP33772 Լվացարանի վերահսկիչով: Զեկուցելու համար հtage, հրամանի տողում մուտքագրեք հետևյալը. i2cget -y 1 0x51 0x20 b
  • Հաղորդված արժեքի մեկ միավորը ներկայացնում է 80 մՎ:

Կարդալ ԸՆԹԱՑԻԿ (0x21)

  • Այս հրամանը հաղորդում է AP33772 լվացարանի վերահսկիչի կողմից չափված հոսանքը: Ընթացիկը հաղորդելու համար հրամանի տողում մուտքագրեք հետևյալը. i2cget -y 1 0x51 0x21 b
  • Հաղորդված արժեքի մեկ միավորը ներկայացնում է 24 մԱ:

Կարդալ TEMP (0x22)

  • Այս հրամանը հաղորդում է AP33772 Լվացարանի վերահսկիչի կողմից չափված ջերմաստիճանը: Ջերմաստիճանը հաղորդելու համար հրամանի տողում մուտքագրեք հետևյալը.
    i2cget -y 1 0x51 0x22 բ
  • Հաղորդված արժեքի մեկ միավորը ներկայացնում է 1°C:
  • Կարդացեք և գրեք OCPTHR (0x23), OTPTHR (0x24) և DRTHR (0x25)
  • OCP, OTP և Deating շեմերը կարող են փոխվել օգտատիրոջ ցանկալի արժեքների՝ գրելով արժեքները OCPTHR, OTPTHR և DRTHR ռեգիստրներում: Որպես նախկինample, OCP-ի շեմը 3.1A-ի փոխելու համար օգտագործողը պետք է գրի 0x3E (=3100/50=62=0x3E) OCPTHR՝ հրամանի տողում մուտքագրելով հետևյալը. i2cset -y 1 0x51 0x23 0x3e b
  • OTP շեմը 110°C-ի փոխելու համար օգտվողը պետք է գրի 0x6E (=110) OTPTHR՝ հրամանի տողում մուտքագրելով հետևյալը.
  • OCPTHR-ի, OTPTHR-ի և DRTHR-ի արժեքները կարդալու համար հրամանի տողում մուտքագրեք հետևյալը.
  • i2cget -y 1 0x51 0x23 b i2cget -y 1 0x51 0x24 b i2cget -y 1 0x51 0x25 բ
  • Կարդացեք և գրեք TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D) և TR100 (0x2E~0x2F)
  • AP10 EVB-ում տեղադրված է Murata 03KΩ բացասական ջերմաստիճանի գործակից (NTC) թերմիստոր NCP103XH33772: Օգտագործողի նախապատվությունն է վերջնական դիզայնի մեջ փոխել թերմիստորը այլով: Օգտագործողը պետք է թարմացնի TR25, TR50, TR75 և TR100 ռեգիստրի արժեքները՝ ըստ օգտագործվող թերմիստորի բնութագրերի: Նախampլե,
  • Մուրատայի 6.8KΩ NCP03XH682-ն օգտագործվում է դիզայնում: Դիմադրության արժեքները 25°C, 50°C, 75°C և 100°C են համապատասխանաբար 6800Ω (0x1A90), 2774Ω (0x0AD6), 1287Ω (0x0507) և 662Ω (0x0296): Այս ռեգիստրներում համապատասխան արժեքները գրելու համար հրամանի տողում մուտքագրեք հետևյալը.
  • 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 0x2 wx0
  • Արժեքները կարդալու համար հրամանի տողում մուտքագրեք հետևյալը. i2cget -y 1 0x51 0x28 w i2cget -y 1 0x51 0x2a w i2cget -y 1 0x51 0x2c w i2cget -y 1 0x51 0x2e w
  • Ելքային արժեքները 2 բայթ բառեր են: Քանի որ հրամաններն ուղղակիորեն մշակում են 2 բայթ բառը, օգտատերերը կարիք չունեն այստեղ անհանգստանալու էնդիական բայթերի փոքր պատվերի մասին:

Գրել RDO (0x30~0x33)

  • PDO հարցման բանակցային ընթացակարգ սկսելու համար 4 բայթանոց տվյալները գրվում են RDO (Request Data Object) գրանցամատյանում՝ քիչ-էնդիական բայթերի հերթականությամբ: Ինչպես նախկինample, 3V և 15A լարերով PDO3 պահանջելու համար 0x3004B12C կգրվի RDO ռեգիստրում: Հրամանի տողում մուտքագրեք հետևյալը. i2cset -y 1 0x51 0x30 0x2c 0xb1 0x04 0x30 i
  • Ամենաքիչ նշանակալից բայթը (0x2C) պետք է գրվի սկզբում, որպեսզի համապատասխանի փոքր էնդիական բայթերի կարգի նշումին: Խնդրում ենք ծանոթանալ Աղյուսակ 9-ին և Աղյուսակ 10-ին AP33772 Լվացարանի վերահսկիչ EVB օգտվողի համար
  • Ուղեցույց RDO բովանդակության մանրամասն տեղեկատվության համար:
  • Օգտատերը կարող է կոշտ զրոյացնել՝ գրելով RDO ռեգիստր բոլոր զրոյական տվյալներով՝ i2cset -y 1 0x51 0x30 0x00 0x00 0x00 0x00 i
  • AP33772 Լվացարանի վերահսկիչը կվերակայվի իր սկզբնական վիճակին, և ելքը կանջատվի:

Python SMBus2 հրաման, օրինակamples

  • Python-ն ավելի տարածված է դառնում աջակցվող մոդուլների իր մեծ տեսակների համար: SMBus2-ը դրանցից է և ունակ է կառավարել I2C կարդալու և գրելու հրամանները: SMBus2-ը տրամադրում է read_byte_data, read_word_data, read_i2c_block_data, write_byte_data, write_word_data, write_i2c_block_data հրամանները: Պարզեցված օգտագործումը նկարագրված է նախկինումamples այս բաժնի տակ: SMBus2 մոդուլի մասին ամբողջական տեղեկատվության համար խնդրում ենք այցելել https://smbus2.readthedocs.io/en/latest/.

Կարդացեք SRCPDO (0x00~0x1B) 

  • SMBus.read_i2c_block_data-ն արդյունավետ հրաման է՝ աջակցելու մինչև 32 բայթ բլոկային տվյալների ընթերցմանը: Բոլոր 28 բայթ PDO տվյալները կարդալու համար օգտագործեք հետևյալը python3 միջավայրում.
  • SMBus.read_i2c_block_data(0x51, 0x00, 28)
  • 28 մեկ բայթային տվյալներ, որոնք ներկայացնում են 7 PDO-ներ, կվերադարձվեն ցուցակի տվյալների կառուցվածքում:

Կարդացեք PDONUM (0x1C)

  • Վավեր PDO-ների ընդհանուր թիվը կարդալու համար օգտագործեք հետևյալը python3 միջավայրում.
  • SMBus.read_byte_data (0x51, 0x1c)
  • Կվերադարձվեն մեկ բայթ տվյալները, որոնք ներկայացնում են վավեր PDO-ի քանակը:

Կարդալ ՍՏԱՏՈՒՍ (0x1D)

  • Այս հրամանը հայտնում է Լվացարանի վերահսկիչի կարգավիճակը, ներառյալ «Derating», «OTP», «OCP», «OVP», «Request Rejected», «Request Completed» և «Ready»: Կարգավիճակի մասին տեղեկատվությունը կարդալու համար օգտագործեք հետևյալը python3 միջավայրում.
  • SMBus.read_byte_data (0x51, 0x1d)
  • Օգտագործողը կարող է օգտագործել այս հրամանը յուրաքանչյուր RDO հարցումից հետո՝ ապահովելու RDO-ի հաջող հարցումը՝ կարդալով COMPLETE բիթը:

Գրել ԴԻՄԱԿ (0x1E)

  • Այս հրամանը հնարավորություն է տալիս ընդհատումները, որոնք ազդանշան են տալիս հոսթին AP3-ի GPIO33772 փինով: Ընդհատումները ներառում են «Derating», «OTP», «OCP», «OVP», «Request Մերժված», «Request»
  • Ավարտված և պատրաստ է: Հատուկ ընդհատում միացնելու համար համապատասխան բիթը սահմանեք մեկ: Նախample, OCP-ի ընդհատումը միացնելու համար MASK ռեգիստրի 4-րդ բիթը սահմանեք մեկի՝ օգտագործելով հետևյալը python3 միջավայրում.
  • SMBus.write_byte_data(0x51, 0x1e, 0x10)
  • AP3-ի GPIO33772 փին կբարձրանա, երբ OCP պաշտպանությունը գործարկվի:

Կարդացեք VOLTAGE (0x20)

  • Այս հրամանը հայտնում է հատtage-ը չափվում է AP33772 Լվացարանի վերահսկիչով: Զեկուցելու համար հtage, օգտագործեք հետևյալը python3 միջավայրում.
  • SMBus.read_byte_data (0x51, 0x20)
  • Հաղորդված արժեքի մեկ միավորը ներկայացնում է 80 մՎ:

Կարդալ ԸՆԹԱՑԻԿ (0x21)

  • Այս հրամանը հաղորդում է AP33772 լվացարանի վերահսկիչի կողմից չափված հոսանքը: Ներկայիս մասին հաղորդելու համար օգտագործեք հետևյալը python3 միջավայրում
  • SMBus.read_byte_data (0x51, 0x21)
  • Հաղորդված արժեքի մեկ միավորը ներկայացնում է 24 մԱ:

Կարդալ TEMP (0x22)

  • Այս հրամանը հաղորդում է AP33772 Լվացարանի վերահսկիչի կողմից չափված ջերմաստիճանը: Ջերմաստիճանը հաղորդելու համար օգտագործեք հետևյալը python3 միջավայրում.
  • SMBus.read_byte_data (0x51, 0x22)
  • Հաղորդված արժեքի մեկ միավորը ներկայացնում է 1°C:

Կարդացեք և գրեք OCPTHR (0x23), OTPTHR (0x24) և DRTHR (0x25) 

  • OCP, OTP և Deating շեմերը կարող են փոխվել օգտատիրոջ ցանկալի արժեքների՝ գրելով արժեքները OCPTHR, OTPTHR և DRTHR ռեգիստրներում: Որպես նախկինample, OCP շեմը 3.1A-ի փոխելու համար օգտագործողը պետք է գրի 0x3E (=3100/50=62=0x3E) OCPTHR-ում՝ օգտագործելով հետևյալը python3 միջավայրում՝ SMBus.write_byte_data (0x51, 0x23, 0x3e)
  • OTP շեմը 110°C փոխելու համար օգտատերը պետք է գրի 0x6E (=110) OTPTHR՝ օգտագործելով հետևյալը python3 միջավայրում՝ SMBus.write_byte_data(0x51, 0x24, 0x6e)
  • Անջատման շեմը 100°C փոխելու համար օգտվողը պետք է գրի 0x64 (=100) DRTHR-ում՝ օգտագործելով հետևյալը python3 միջավայրում՝ SMBus.write_byte_data(0x51, 0x25, 0x64)
  • OCPTHR, OTPTHR և DRTHR արժեքները կարդալու համար օգտագործեք հետևյալը python3 միջավայրում. SMBus.read_byte_data (0x51, 0x23) SMBus.read_byte_data (0x51, 0x24) SMBus.read_byte_data (0x51, 0x25) .
  • Կարդացեք և գրեք TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D) և TR100 (0x2E~0x2F)
  • AP10 EVB-ում տեղադրված է Murata 03KΩ բացասական ջերմաստիճանի գործակից (NTC) թերմիստոր NCP103XH33772: Օգտագործողի նախապատվությունն է վերջնական դիզայնի մեջ փոխել թերմիստորը այլով: Օգտագործողը պետք է թարմացնի TR25, TR50, TR75 և TR100 ռեգիստրի արժեքը՝ ըստ օգտագործվող թերմիստորի բնութագրերի: Նախample, Մուրատայի 6.8KΩ NCP03XH682 օգտագործվում է դիզայնի մեջ: Դիմադրության արժեքները 25°C, 50°C, 75°C և 100°C են համապատասխանաբար 6800Ω (0x1A90), 2774Ω (0x0AD6), 1287Ω (0x0507) և 662Ω (0x0296): Այս ռեգիստրներում համապատասխան արժեքները գրելու համար օգտագործեք հետևյալը 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)
  • Արժեքները կարդալու համար օգտագործեք հետևյալը python3 միջավայրում՝ SMBus.read_word_data(0x51, 0x28) SMBus.read_word_data(0x51, 0x2a) SMBus.read_word_data(0x51, 0x2c) SMBus.read_x0_da,
  • Վերադարձված արժեքները նույնպես 2 բայթանոց բառեր են։ Քանի որ հրամաններն ուղղակիորեն մշակում են 2 բայթ բառը, օգտատերերը կարիք չունեն այստեղ անհանգստանալու էնդիական բայթերի փոքր պատվերի մասին:

Գրել RDO (0x30~0x33)

  • PDO հարցման բանակցային ընթացակարգ սկսելու համար 4 բայթանոց տվյալները գրվում են RDO (Request Data Object) գրանցամատյանում՝ քիչ-էնդիական բայթերի հերթականությամբ: Ինչպես նախկինample, 3V և 15A լարերով PDO3 պահանջելու համար 0x3004B12C կգրվի RDO ռեգիստրում: Օգտագործեք հետևյալը python3 միջավայրում.
  • SMBus.write_i2c_block_data(0x51, 0x30, [0x2c, 0xb1, 0x04, 0x30])
  • Խնդրում ենք ծանոթանալ AP9 Sink Controller EVB Օգտագործողի ուղեցույցի Աղյուսակ 10-ին և Աղյուսակ 33772-ին RDO-ի բովանդակության մանրամասն տեղեկատվության համար:
  • Օգտատերը կարող է կոշտ վերականգնում կատարել՝ գրելով RDO ռեգիստր բոլոր զրոյական տվյալներով.
  • SMBus.write_i2c_block_data(0x51, 0x30, [0x00, 0x00, 0x00, 0x00])
  • AP33772 Լվացարանի վերահսկիչը կվերակայվի իր սկզբնական վիճակին, և ելքը կանջատվի:

Գործնական օրինակamples

Example 1. Bash I2C-Tools Օրինակample՝ ap33772_querypdo.bash
Այս նախկինample ստուգում է բոլոր վավեր PDO-ները և թվարկում է հատtagե և ընթացիկ հնարավորությունների մասին տեղեկատվությունը:
Կոդի մանրամասներըDIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-8

Կոդի կատարում և արդյունքներDIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-9

Example 2. Python SMBus2 Օրինակample: ap33772_allpdo.py3
Այս նախկինample ստուգում է բոլոր վավեր PDO-ները և պահանջում դրանք մեկ առ մեկ՝ վեր ու վար հերթականությամբ:
Կոդի մանրամասներըDIODES-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

Կոդի կատարում և արդյունքներDIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-13DIODES-AP33772-USB-PD-Sink-Controller-Raspberry-Pi-I2C-Interface-FIG-14

Example Code Download

Ցուցակ Example Codes

  • ExampԿոդերն ունեն Bash Script և Python տարբերակներ
  1. ap33772_querypdo. հարցում է անում բոլոր PDO տեղեկությունները
  2. ap33772_reqpdo. հաղորդում է բոլոր PDO տեղեկությունները և ուղարկում է PDO հարցումը, որը նշված է օգտագործողի կողմից
  3. ap33772_allpdo. հաղորդում է բոլոր PDO տեղեկությունները և քայլում է բոլոր PDO հարցումների միջոցով վերև վար
  4. ap33772_pps. հաղորդում է բոլոր PDO տեղեկությունները, և ramps վեր ու վար ամբողջ PPS voltagտիրույթ 50 մՎ քայլի չափով
  5. ap33772_vit. հաղորդում է հատtagե, ընթացիկ և ջերմաստիճանի մասին տեղեկություններ
Example Ներբեռնման կայք

Example Կոդերը կարելի է ներբեռնել Github-ից: Ներբեռնելու համար թողարկեք հետևյալ հրամանը՝ git clone https://github.com/diodinciot/ap33772.git-ap33772

Հղումներ

  1. AP33772 Տվյալների թերթիկ (USB PD3.0 PPS Լվացարանի վերահսկիչ): https://www.diodes.com/products/power-management/ac-dc-converters/usb-pd-sink-controllers/
  2. AP33772 I2C Sink Controller EVB Օգտագործողի ուղեցույց. 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. I2C-Tools կոմունալ. https://linuxhint.com/i2c-linux-utilities/
  6. SMBus2 մոդուլ. https://smbus2.readthedocs.io/en/latest/

Վերանայման պատմություն

Վերանայման Թողարկման ամսաթիվը Մեկնաբանություն Հեղինակ
1.0 4/15/2022 Նախնական թողարկում Էդվարդ Ժաո
ԿԱՐԵՎՈՐ ԾԱՆՈՒՑՈՒՄ
  • ՆԵՐԱԾՎԱԾ ԴԻՈԴՆԵՐԸ ՈՉ ՄԻ ՏԵՍԱԿ, ՀԱՅՏԱՐԱՐ ԿԱՄ ՆԿՅԱԼԻ ԵՐԱՇԽԻՔ ՉՈՒՆԻ ԱՅՍ ՓԱՍՏԱԹՂԹԻ ՀԱՄԱՐ, ՆԵՐԱՌՅԱԼ, ԲԱՅՑ ՉՍԱՀՄԱՆԱՓԱԿՎՈՂ ԵՐԱՇԽԻՔՆԵՐՈՎ ԵՎ ԱՆՀՐԱԺԵՇՏՈՒԹՅԱՆ ԵՎ ՊԱՏԱՍԽԱՆՈՒԹՅԱՆ ՊԱՏԱՍԽԱՆՈՒԹՅԱՆ ՑԱՆԿԱՑԱԾ ԻՐԱՎԱՍՈՒԹՅԱՆ ՕՐԵՆՔՆԵՐՈՎ):
  • Diodes Incorporated-ը և նրա դուստր ձեռնարկությունները իրավունք են վերապահում կատարել փոփոխություններ, կատարելագործումներ, բարելավումներ, ուղղումներ կամ այլ փոփոխություններ՝ առանց լրացուցիչ ծանուցման այս փաստաթղթի և սույն հոդվածում նկարագրված ցանկացած արտադրանքի նկատմամբ: Diodes Incorporated-ը չի ստանձնում որևէ պատասխանատվություն, որը բխում է սույն փաստաթղթի կամ այստեղ նկարագրված որևէ արտադրանքի կիրառությունից կամ օգտագործումից. Ոչ Diodes Incorporated-ը որևէ լիցենզիա չի փոխանցում իր արտոնագրային կամ ապրանքային նշանի իրավունքով, ոչ էլ ուրիշների իրավունքներից: Սույն փաստաթղթի կամ ապրանքների ցանկացած հաճախորդ կամ օգտագործող, որը նկարագրված է սույն հայտերում, պետք է ստանձնի այդ օգտագործման բոլոր ռիսկերը և կհամաձայնի պահպանել Diodes Incorporated-ը և բոլոր այն ընկերությունները, որոնց արտադրանքը ներկայացված է Diodes Incorporated-ում: webկայք, անվնաս բոլոր վնասներից։
  • Diodes Incorporated-ը չի երաշխավորում կամ ընդունում որևէ պատասխանատվություն չարտոնված վաճառքի ուղիներով գնված ապրանքների նկատմամբ:
    Եթե ​​հաճախորդները գնեն կամ օգտագործեն Diodes Incorporated արտադրանքը որևէ չնախատեսված կամ չարտոնված կիրառման համար, հաճախորդները պետք է փոխհատուցեն և պահեն դիոդները:
  • Incorporated-ը և նրա ներկայացուցիչները անվնաս էին բոլոր պահանջների, վնասների, ծախսերի և փաստաբանական վճարների նկատմամբ, որոնք ուղղակիորեն կամ անուղղակիորեն բխում էին նման չնախատեսված կամ չարտոնված դիմումի հետ կապված անձնական վնասվածքի կամ մահվան որևէ պահանջից:
  • Սույն հոդվածում նկարագրված ապրանքները կարող են ծածկվել մեկ կամ մի քանի Միացյալ Նահանգների, միջազգային կամ արտասահմանյան առկախ արտոնագրերով: Սույն հոդվածում նշված ապրանքների անվանումներն ու մակնշումները կարող են նաև ծածկվել Միացյալ Նահանգների մեկ կամ մի քանի, միջազգային կամ օտար ապրանքային նշաններով:
  • Այս փաստաթուղթը գրված է անգլերենով, բայց կարող է թարգմանվել բազմաթիվ լեզուներով՝ հղման համար: Միայն այս փաստաթղթի անգլերեն տարբերակն է Diodes Incorporated-ի կողմից թողարկված վերջնական և որոշիչ ձևաչափը:

ԿՅԱՆՔԻ ԱՋԱԿՑՈՒԹՅՈՒՆ

  • Diodes Incorporated արտադրանքները հատուկ չեն թույլատրվում օգտագործել որպես կենսաապահովման սարքերում կամ համակարգերում որպես կարևոր բաղադրիչներ առանց Diodes Incorporated-ի գլխավոր գործադիր տնօրենի հստակ գրավոր հաստատման: Ինչպես օգտագործվում է այստեղ.
  • A. Կենսապահովման սարքերը կամ համակարգերը սարքեր կամ համակարգեր են, որոնք.
  1. նախատեսված են մարմնում իմպլանտացիայի համար, կամ
  2. աջակցում կամ պահպանում է կյանքը, և որոնց չկատարումը, երբ պատշաճ կերպով օգտագործվում է պիտակավորման մեջ տրված օգտագործման հրահանգներին համապատասխան, կարող է ողջամտորեն ակնկալվել, որ օգտագործողի համար զգալի վնասվածք կբերի:
    • B. Կարևոր բաղադրիչը կենսաապահովման սարքի կամ համակարգի ցանկացած բաղադրիչ է, որի ձախողումը կարող է ողջամտորեն ակնկալել, որ կհանգեցնի կենսաապահովման սարքի խափանմանը կամ կազդի դրա անվտանգության կամ արդյունավետության վրա:
    • Հաճախորդները նշում են, որ իրենք ունեն ողջ անհրաժեշտ փորձը իրենց կենսաապահովման սարքերի կամ համակարգերի անվտանգության և կարգավորող հետևանքների վերաբերյալ, և ընդունում և համաձայնում են, որ իրենք բացառապես պատասխանատու են իրենց արտադրանքի և դիոդների ցանկացած օգտագործման վերաբերյալ իրավական, կարգավորող և անվտանգության հետ կապված բոլոր պահանջների համար: Անվտանգության համար կարևոր, կյանքին աջակցող սարքերում կամ համակարգերում ներառված արտադրանքները՝ անկախ սարքերի կամ համակարգերի հետ կապված որևէ տեղեկատվության կամ աջակցության, որը կարող է տրամադրվել Diodes Incorporated-ի կողմից:
    • Ավելին, Հաճախորդները պետք է ամբողջությամբ փոխհատուցեն Diodes Incorporated-ին և նրա ներկայացուցիչներին ցանկացած վնասի դեմ, որը առաջանում է Diodes Incorporated արտադրանքի օգտագործման հետևանքով նման անվտանգության համար կարևոր, կյանքին աջակցող սարքերում կամ համակարգերում:
  • Հեղինակային իրավունք © 2017, Diodes Incorporated
  • www.diodes.com

Փաստաթղթեր / ռեսուրսներ

DIODES AP33772 USB PD լվացարան վերահսկիչ Raspberry Pi I2C ինտերֆեյս [pdf] Օգտագործողի ուղեցույց
AP33772 USB PD լվացարան կարգավորիչ Raspberry Pi I2C միջերես, AP33772, USB PD լվացարան կարգավորիչ Raspberry Pi I2C միջերես, Raspberry Pi I2C ինտերֆեյս, Pi I2C ինտերֆեյս

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *