DIODES AP33772 USB PD Раковина контроллери Raspberry Pi I2C интерфейси
Introduction
- USB PD33772 Type C туташтыргычы менен жабдылган түзмөктүн (TCD, Energy Rakun) протокол түзмөгү катары иштеген AP3.0 Раковина контроллери USB PD3.0 Type C туташтыргычы менен жабдылган PD3.0тен туура Power Data Object (PDO) талап кылууга арналган. .XNUMX ылайыктуу Заряддагыч (PDC, Энергия булагы).
- 1-сүрөт PD3.0 Раковина контроллери IC (AP33772) менен камтылган TCDди сүрөттөйт, PDCге физикалык жактан туташтырылган, USB PD3.0 декодери (AP43771) аркылуу
- C-Type C кабели. Камтылган USB PD3.0 шайкеш микропрограммасынын негизинде AP33772 жана AP43771 жуптары ылайыктуу PD3.0 кубаттоо абалын орнотуу үчүн USB PD3.0 стандарттык тиркеме процедурасынан өтүшөт.
- AP33772 Раковина контроллери EVB системанын дизайнерине I33772C интерфейси аркылуу AP2 орнотулган буйруктарды жөнөтүү аркылуу USB Power Delivery Charger'ден PDO'ларды суроо үчүн колдонуунун оңойлугун жана чоң универсалдуулугун камсыз кылат. Системанын типтүү дизайны MCU программалоосун талап кылат, ал атайын программалык камсыздоону (мисалы, IDE) орнотууну талап кылат жана көп убакытты талап кылган иштеп чыгуу процесси болушу мүмкүн.
- Ал эми Raspberry Pi (RPI), колдонуучуга ыңгайлуу Linux OS менен иштеген жана ийкемдүү GPIO төөнөгүчтөрү менен жабдылган жалгыз такталуу компьютер (SBC), PD заряддагыч менен иштеген AP33772 Sink EVB текшерүүнүн жөнөкөй жолун камсыз кылат. Бул колдонмонун максаты системалык дизайнерлерге RPI боюнча программалык камсыздоону текшерүүнү тез бүтүрүү үчүн эффективдүү платформаны камсыз кылуу жана андан кийин рыноктун тез өзгөрүү талаптарын канааттандыруу үчүн иштеп чыгууну каалаган MCUга өткөрүү.
- AP33772 EVB Колдонуучу колдонмосуна кошумча документ катары, бул Колдонуучунун колдонмосу I33772C Interface аркылуу RPI SBC менен AP2 EVB башкаруунун оңой жолун көрсөтөт.
- AP1 менен интерфейс үчүн 33772-сүрөттө сүрөттөлгөн MCU блогунун ролун RPI ойнойт. Бул Колдонуучунун колдонмосу реестрдин аныктамаларын жана эксплуатациялоо боюнча көптөгөн маалыматтарды камтыйтamples, Бирок, толук жана эң жаңыртылган маалымат үчүн AP33772 EVB Колдонуучунун колдонмосун караңыз. (2-шилтемени караңыз)
- 1-сүрөт – Кадимки TCD USB Type-C PD33772/PPS шайкештик булагы адаптеринен кубат алуу үчүн I2C интерфейси бар AP3.0 PD раковина контроллерин колдонот.
Текшерүү платформасын орнотуу
AP33772 Раковина контроллери EVB
2-сүрөт Раковина контролер EVB сүрөтүн көрсөтөт. Анда Type-C туташтыргычы, I2C пиндери, үзгүлтүккө учуратуу үчүн GPIO3 пин, OTP үчүн NTC термистору, кубаттоо абалын көрсөтүү үчүн LED индикаторлору жана жүккө Vout туташтыргычы бар.
Raspberry Pi Zero 2W
- RPIдин эң акыркы версиясы I33772C пиндери аркылуу AP2 Sink Controller EVB башкарууга жөндөмдүү. Raspberry Pi Zero 2 Вт (RPI Z2W) бул Колдонуучу колдонмодо анын экономикалык натыйжалуулугу жана ар тараптуулугу үчүн колдонулат. Ал бардык RPIлердин арасында эң кичине форма факторуна ээ жана WiFi жана Bluetooth менен интеграцияланган, бул кошумча компонентсиз зымсыз байланышты түзөт. Ал AP33772 Раковина контроллери EVB Validation Platform катары максатка ылайыктуу.
- Колдонуучу Raspberry Pi расмий текшере алат webкошумча маалымат алуу үчүн сайт (https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/)
Validation Platform Connection жана Power up
5-сүрөт Текшерүү платформасынын толук байланышын жана орнотууну көрсөтөт. Колдонуучу бул кадамдарды аткарышы керек:
- RPI жана AP33772 EVB ортосунда SCL, SDA жана GND пиндерин туташтырыңыз
- 65W PD заряддагычты жана AP33772 EVBди Type-C кабели менен туташтырыңыз
- RPI жана PD заряддагычты иштетиңиз.
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 картасы сунушталат.
Raspberry PI OS орнотуу
- Мурда сүрөтчү жүктөлгөн Micro-SD картаны RPIдин Micro-SD уячасына салыңыз. Кубат адаптерин, чычканды/клавиатураны жана HDMI мониторду туташтырыңыз. RPIди күйгүзүп, OS орнотууну жана негизги орнотууну аяктоо үчүн нускаманы аткарыңыз. Акыркы жаңыртуулар OSде камтылганын текшериңиз.
Керектүү функцияларды орнотуу
- RPIде I2C интерфейсин ийгиликтүү иштетүү үчүн SSH, VNC жана I2C функцияларын конфигурациялашыбыз же орнотуубуз керек.
Raspberry Pi Config - SSH, VNC, I2C
- RPI жүктөлгөндөн кийин, "Raspberry Pi Configure" утилитасын ачып, SSH, VNC жана I2C функцияларын күйгүзүңүз.
I2C ылдамдыгынын конфигурациясы
- /boot/config.txt ичиндеги dtparam жана dtoverlay саптарын алмаштырыңыз 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 чөйрөсүндө I2C интерфейсин башкаруу үчүн колдонуучуга ыңгайлуу функцияларды камсыз кылган Python модулу. OS боюнча Python үчүн SMBus2 модулун орнотуу: sudo pip3 install smbus2
Негизги буйрук Examples
- Бул Колдонуучу колдонмо RPI боюнча I2C интерфейси менен иштөөнүн эки башка ыкмасын көрсөтөт. Алар I2C-Tools Utility жана Python SMBus2 модулу. Бул бөлүмдө эки ыкманын негизги командалары киргизилген.
I2C-Tools Command Examples
- I2C-Tools утилита пакети i2cdetect, i2cget жана i2cset буйруктарын берет. Жөнөкөйлөштүрүлгөн колдонуу эксampбул бөлүмдүн астында. I2C-Tools утилитасы жөнүндө толук маалымат алуу үчүн, караңыз https://linuxhint.com/i2c-linux-utilities/.
- 1-таблицада AP33772 реестринин кыскача баяндамасы көрсөтүлгөн. Толук реестр маалыматы үчүн, сураныч, AP33772 Sink Controller EVB Колдонуучу колдонмосун караңыз.
Каттоо | Command | Узундук | Атрибут | Кошулуу | Description |
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ч | Үзгүлтүккө учуратуу маскасы |
ТОМTAGE | 0x20 | 1 | RO | 00ч | LSB 80mV |
УЧУРДА | 0x21 | 1 | RO | 00ч | LSB 24mA |
ТЕМП | 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 | 03CEh | Жылуулук каршылык @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 байттан узунураак окууну колдобойт. Колдонуучу бардык 28 байт узун PDO маалыматтарын көрсөтүү үчүн "for циклин" колдонушу керек. Бардык PDO берилиштерин көрсөтүү үчүн, {0..27} ичинде i үчүн bash буйрук сабынын астына төмөнкүнү териңиз; do i2cget -y 1 0x51 $ib; аткарылды
- 28 PDOну билдирген 7 байттык маалыматтар көрсөтүлөт
PDONUM окуу (0x1C)
- Жарактуу PDO'лардын жалпы санын көрсөтүү үчүн, буйрук сабына төмөнкүнү териңиз: i2cget -y 1 0x51 0x1c b
Окуу АБАЛЫ (0x1D)
- Бул команда Раковинанын контроллерунун статусун, анын ичинде рейтингин төмөндөтүү, OTP, OCP, OVP, Сурам четке кагылды, Сурам аткарылды жана Даяр жөнүндө кабарлайт. Статус маалыматын көрсөтүү үчүн, буйрук сабына төмөнкүнү териңиз: i2cget -y 1 0x51 0x1d b
- Колдонуучу бул буйрукту ар бир RDO сурамынан кийин колдонуусу керек. 4.1.5 МАСКА жазуу (0x1E)
- Бул буйрук AP3 GPIO33772 пин аркылуу хостко сигнал берген үзгүлтүктөрдү иштетет. Үзгүлтүккө учуратуу, OTP, OCP, OVP, Сурам четке кагылды, Сурам аткарылды жана Даяр кирет. Белгилүү бир үзгүлтүктү иштетүү үчүн, тиешелүү битти бирге коюңуз. Мисалы үчүнample, OCP үзгүлтүгүн иштетүү үчүн, MASK регистринин 4-битти буйрук сабында төмөнкүнү терүү менен бирге коюңуз: i2cset -y 1 0x51 0x1e 0x10 b
- AP3 GPIO33772 пин OCP коргоосу ишке киргенде жогору болот.
Оку VOLTAGE (0x20)
- Бул команда 1-томду билдирет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 b - Билдирилген маанинин бир бирдиги 1°Cди билдирет.
- Окуу жана жазуу OCPTHR (0x23), OTPTHR (0x24) жана DRTHR (0x25)
- OCP, OTP жана Deating босоголорун OCPTHR, OTPTHR жана DRTHR регистрлерине маанилерди жазуу аркылуу колдонуучу каалаган маанилерге өзгөртүүгө болот. Экс катарыample, OCP босогосун 3.1Ага өзгөртүү үчүн, колдонуучу 0x3E (=3100/50=62=0x3E) OCPTHRге төмөнкүнү терүү менен жазышы керек: i2cset -y 1 0x51 0x23 0x3e b
- OTP босогосун 110°Cге өзгөртүү үчүн, колдонуучу буйрук сабына төмөнкүнү терүү менен OTPTHRге 0x6E (=110) жазышы керек:
- OCPTHR, OTPTHR жана DRTHR маанилерин окуу үчүн, буйрук сабына төмөнкүнү териңиз:
- i2cget -y 1 0x51 0x23 b i2cget -y 1 0x51 0x24 b i2cget -y 1 0x51 0x25 b
- Окуу жана жазуу TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D) жана TR100 (0x2E~0x2F)
- Murata 10KΩ Терс Температура Коэффиценти (NTC) NCP03XH103 термистору AP33772 EVBде жайгашкан. Акыркы дизайнда термисторду башкасына өзгөртүү колдонуучунун каалоосу. Колдонуучу TR25, TR50, TR75 жана TR100 реестр маанилерин колдонулган термистордун спецификацияларына ылайык жаңыртышы керек. Мисалы үчүнampле,
- Дизайнда Murata's 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 0e
- Маанилерди окуу үчүн, буйрук сабына төмөнкүнү териңиз: 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 талап кылуу үчүн, RDO реестрине 0x3004B12C жазылат. Буйрук тилкесинде төмөнкүнү териңиз: i2cset -y 1 0x51 0x30 0x2c 0xb1 0x04 0x30 i
- Эң аз мааниге ээ байт (0x2C) кичине индиан байт иретинин нотасына туура келүү үчүн биринчи жазылышы керек. Сураныч, AP9 Раковинанын контроллери EVB Колдонуучусунун 10-таблицасын жана 33772-таблицасын караңыз
- RDO мазмуну боюнча толук маалымат алуу үчүн колдонмо.
- Колдонуучу бардык нөлдүк маалыматтар менен RDO реестрин жазуу менен катуу баштапкы абалга келтирүүнү чыгара алат: i2cset -y 1 0x51 0x30 0x00 0x00 0x00 0x00 i
- AP33772 Раковинанын контроллери баштапкы абалына келтирилет жана чыгаруу өчүрүлөт.
Python SMBus2 буйругу Examples
- Python колдоого алынган модулдардын чоң сорттору менен популярдуу болуп баратат. SMBus2 алардын арасында жана I2C окуу жана жазуу буйруктарын башкарууга жөндөмдүү. SMBus2 read_byte_data, read_word_data, read_i2c_block_data, write_byte_data, write_word_data, write_i2c_block_data буйруктарын камсыз кылат. Жөнөкөйлөштүрүлгөн колдонуу эксampбул бөлүмдүн астында. 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 PDOну билдирген 7 бир байттык маалымат тизме маалыматтар структурасында кайтарылат.
PDONUM окуу (0x1C)
- Жарактуу PDOлордун жалпы санын окуу үчүн python3 чөйрөсүндө төмөнкүнү колдонуңуз:
- SMBus.read_byte_data(0x51, 0x1c)
- Жарактуу PDO санын көрсөткөн бир байт маалымат кайтарылат.
Окуу АБАЛЫ (0x1D)
- Бул буйрук Раковинанын контроллерунун абалын, анын ичинде Deating, OTP, OCP, OVP, Сурам четке кагылды, Сурам аткарылды жана Даяр жөнүндө кабарлайт. Статус маалыматын окуу үчүн python3 чөйрөсүндө төмөнкүнү колдонуңуз:
- SMBus.read_byte_data(0x51, 0x1d)
- Колдонуучу бул буйрукту ар бир RDO суроо-талабынан кийин, COMPLETE бит окуу менен ийгиликтүү RDO өтүнүчүн камсыз кылуу үчүн колдоно алат.
MASK жазуу (0x1E)
- Бул буйрук AP3 GPIO33772 пин аркылуу хостко сигнал берген үзгүлтүктөрдү иштетет. Үзгүлтүккө учуроо , OTP, OCP, OVP, Сурам четке кагылды, Сурам кирет
- Аякталды, даяр. Белгилүү бир үзгүлтүктү иштетүү үчүн, тиешелүү битти бирге коюңуз. Мисалы үчүнample, OCP үзгүлтүккө учуратуу үчүн, python4 чөйрөсүндө төмөнкүнү колдонуу менен MASK регистринин 3 битине орнотуңуз:
- SMBus.write_byte_data(0x51, 0x1e, 0x10)
- AP3 GPIO33772 пин OCP коргоосу ишке киргенде жогору болот.
Оку VOLTAGE (0x20)
- Бул команда 1-томду билдирет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.1Ага өзгөртүү үчүн, колдонуучу python0 чөйрөсүндө төмөнкүнү колдонуу менен 3x3100E (=50/62=0=3x3E) OCPTHRге жазышы керек: SMBus.write_byte_data(0x51, 0x23, 0x3e)
- OTP босогосун 110°Cге өзгөртүү үчүн колдонуучу python0 чөйрөсүндө төмөнкүнү колдонуу менен OTPTHRге 6x110E (=3) жазуусу керек: SMBus.write_byte_data(0x51, 0x24, 0x6e)
- Deating босогосун 100°Cге өзгөртүү үчүн колдонуучу python0 чөйрөсүндө төмөнкүнү колдонуу менен DRTHRге 64x100 (=3) жазышы керек: 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)
- Murata 10KΩ Терс Температура Коэффиценти (NTC) NCP03XH103 термистору AP33772 EVBде жайгашкан. Акыркы дизайнда термисторду башкасына өзгөртүү колдонуучунун каалоосу. Колдонуучу TR25, TR50, TR75 жана TR100 регистрдик маанисин колдонулган термистордун спецификацияларына ылайык жаңыртышы керек. Мисалы үчүнampле, Муратанын 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_word_data(0x51c)
- Кайтаруучу маанилер да 2 байттык сөздөр. Буйруктар 2 байт сөздү түздөн-түз иштеткендиктен, колдонуучулар бул жерде аз эмиан байт тартиби жөнүндө тынчсыздануунун кереги жок.
RDO жазуу (0x30~0x33)
- PDO өтүнүчү боюнча сүйлөшүү процедурасын баштоо үчүн, 4 байт маалымат RDO (Request Data Object) реестрине аз-эндиан байт тартибинде жазылат. Мурункудайample, 3V жана 15A менен PDO3 талап кылуу үчүн, RDO реестрине 0x3004B12C жазылат. python3 чөйрөсүндө төмөнкүнү колдонуңуз:
- SMBus.write_i2c_block_data(0x51, 0x30, [0x2c, 0xb1, 0x04, 0x30])
- Сураныч, RDO мазмуну боюнча толук маалымат алуу үчүн AP9 Раковинанын EVB Колдонуучу колдонмосунун 10-таблицасын жана 33772-таблицасын караңыз.
- Колдонуучу нөлдүк маалыматтар менен RDO реестрин жазуу менен катуу баштапкы абалга келтириши мүмкүн:
- SMBus.write_i2c_block_data(0x51, 0x30, [0x00, 0x00, 0x00, 0x00])
- AP33772 Раковинанын контроллери баштапкы абалына келтирилет жана чыгаруу өчүрүлөт.
Практикалык Examples
Example 1: Bash I2C-Tools Example: ap33772_querypdo.bash
Бул эксample бардык жарактуу PDOларды текшерет жана томду тизмелейтtagд жана учурдагы мүмкүнчүлүктөр жөнүндө маалымат.
Code Details
Коддун аткарылышы жана натыйжалары
Example 2: Python SMBus2 Example: ap33772_allpdo.py3
Бул эксample бардык жарактуу PDOларды текшерет жана аларды бирден өйдө жана ылдый иретте сурайт.
Code Details
Коддун аткарылышы жана натыйжалары
Example Code Download
Тизме Example Codes
- Example Codes Bash Script жана Python версияларына ээ
- ap33772_querypdo: бардык PDO маалыматын сурайт
- ap33772_reqpdo: бардык PDO маалыматын билдирет жана колдонуучу белгилеген PDO суроо-талабын жөнөтөт
- ap33772_allpdo: бардык PDO маалыматын кабарлайт жана бардык PDO сурамдарын өйдө жана ылдый жол менен басып өтөт
- ap33772_pps: бардык PDO маалыматын билдирет жана ramps өйдө жана ылдый бардык PPS томtag50mV кадам өлчөмүндө e диапазону
- ap33772_vit: отчеттор томtagд, учурдагы жана температура маалыматы
Example Жүктөө сайты
Example Коддорду Githubдан жүктөп алса болот. Жүктөп алуу үчүн төмөнкү буйрукту чыгарыңыз: git clone https://github.com/diodinciot/ap33772.git-ap33772
Шилтемелер
- AP33772 маалымат жадыбалы (USB PD3.0 PPS Раковина контроллери): https://www.diodes.com/products/power-management/ac-dc-converters/usb-pd-sink-controllers/
- AP33772 I2C Раковина контроллери EVB Колдонуучунун колдонмосу: https://www.diodes.com/applications/ac-dc-chargers-and-adapters/usb-pd-sink-controller/
- Raspberry Pi Zero 2 Вт: https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
- Raspberry Pi OS: https://www.raspberrypi.com/software/
- I2C-Tools утилитасы: https://linuxhint.com/i2c-linux-utilities/
- 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. Жашоону камсыз кылуучу түзүлүштөр же системалар:
- денеге имплантациялоо үчүн арналган, же
- тиркемеде көрсөтүлгөн колдонуу боюнча нускамаларга ылайык туура колдонулганда аткарылбаганы колдонуучуга олуттуу зыян алып келиши мүмкүн деп күтүүгө болот.
- B. Критикалык компонент – бул жашоону камсыз кылуучу түзүлүштүн же системанын кандайдыр бир компоненти, анын аткарылбай калышы жашоону колдоо түзүлүшүнүн иштен чыгышына алып келиши же анын коопсуздугуна же натыйжалуулугуна таасир этиши мүмкүн.
- Кардарлар өздөрүнүн жашоону камсыз кылуучу түзүлүштөрүнүн же тутумдарынын коопсуздук жана ченемдик кесепеттери боюнча бардык зарыл тажрыйбага ээ экенин билдиришет жана алардын продуктуларына жана диоддорго карата бардык мыйзамдуу, ченемдик жана коопсуздукка байланыштуу талаптар үчүн бир гана жооптуу экенин моюнга алышат жана макулдашат. Diodes Incorporated тарабынан камсыз кылынышы мүмкүн болгон ар кандай түзмөктөргө же системаларга байланыштуу маалыматка же колдоого карабастан, коопсуздук үчүн өтө маанилүү, жашоону камсыз кылуучу түзүлүштөр же системалардагы өнүмдөр.
- Андан тышкары, Кардарлар Diodes Incorporated компаниясына жана анын өкүлдөрүнө Diodes Incorporated өнүмдөрүн коопсуздук үчүн маанилүү болгон, жашоону камсыз кылуучу түзүлүштөрдө же системаларда колдонуудан келип чыккан зыяндын ордун толугу менен төлөп бериши керек.
- Copyright © 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 интерфейси |