DIODES-LOGO

DIODES AP33772 USB PD Lavabo Kontrol Cihazı Raspberry Pi I2C Arayüzü

DİYOTLAR-AP33772-USB-PD-Sink-Denetleyici-Raspberry-Pi-I2C-Arayüz-ÜRÜN

giriiş

  • USB PD33772 Tip C Konnektör donanımlı Cihazın (TCD, Enerji Lavabosu) protokol cihazı olarak çalışan AP3.0 Lavabo Kontrol Cihazı, USB PD3.0 Tip C Konnektör donanımlı PD3.0 uyumlu Şarj Cihazından (PDC, Enerji Kaynağı) uygun Güç Veri Nesnesi (PDO) talep etmek üzere tasarlanmıştır.
  • Şekil 1, PD3.0 Sink denetleyici IC'si (AP33772) ile gömülü bir TCD'nin, USB PD3.0 kod çözücüsü (AP43771) ile gömülü bir PDC'ye fiziksel olarak bağlandığını göstermektedir.
  • Type C-to-Type C kablosu. Dahili USB PD3.0 uyumlu aygıt yazılımına dayalı olarak, AP33772 ve AP43771 çifti, uygun PD3.0 şarj durumunu oluşturmak için USB PD3.0 standart bağlantı prosedüründen geçecektir.
  • AP33772 Sink Controller EVB, sistem tasarımcısının I33772C arayüzü aracılığıyla AP2 yerleşik komutları göndererek USB Güç Dağıtım Şarj Cihazından PDO'lar talep etmesi için kullanım kolaylığı ve büyük çok yönlülük sağlar. Tipik sistem tasarımı, belirli bir yazılım (örneğin IDE) kurulumu gerektiren ve zaman alıcı bir geliştirme süreci olabilen MCU programlamasını gerektirir.
  • Buna karşılık, kullanıcı dostu bir Linux işletim sisteminde çalışan ve esnek GPIO pinleriyle donatılmış tek kartlı bir bilgisayar (SBC) olan Raspberry Pi (RPI), PD Şarj Cihazıyla çalışan AP33772 Sink EVB'yi doğrulamak için basit bir yol sağlar. Bu kılavuzun amacı, sistem tasarımcılarına RPI üzerinde yazılım doğrulamasını hızla tamamlamaları ve ardından geliştirmeyi hızlı dönüşümlü pazar gereksinimlerini karşılamak için istenen herhangi bir MCU'ya aktarmaları için etkili bir platform sağlamaktır.
  • AP33772 EVB Kullanıcı Kılavuzu'na ek bir belge olan bu Kullanıcı Kılavuzu, AP33772 EVB'yi I2C Arayüzü aracılığıyla bir RPI SBC ile kontrol etmenin kolay bir yolunu göstermektedir.
  • Şekil 1'de gösterilen MCU bloğunun AP33772 ile arayüz oluşturma rolü bir RPI tarafından oynanır. Bu Kullanıcı Kılavuzu, örneğin çok sayıda kayıt tanımı ve kullanım bilgisini kapsar.ampAncak, eksiksiz ve en güncel bilgiler için lütfen AP33772 EVB Kullanıcı Kılavuzuna bakın. (Bkz. Referans 2)DİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-1
  • Şekil 1 – Tipik bir TCD, USB Type-C PD33772/PPS Uyumluluk Kaynak Adaptöründen güç talep etmek için I2C Arayüzlü AP3.0 PD Sink Denetleyicisini kullanır

Doğrulama Platformu Kurulumu

AP33772 Lavabo Kontrolörü EVB
Şekil 2 Sink Controller EVB'nin resmini gösterir. Type-C Konnektörü, I2C pinleri, Kesinti için GPIO3 pini, OTP için NTC Termistör, şarj durumunu gösteren LED göstergeleri ve yüke Vout konnektörü içerir.DİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-2

Raspberry Pi Sıfır 2W

  • RPI'nin herhangi bir son sürümü, AP33772 Sink Controller EVB'yi I2C pinleri aracılığıyla kontrol edebilir. Bu Kullanıcı Kılavuzunda maliyet etkinliği ve çok yönlülüğü nedeniyle bir Raspberry Pi Zero 2 W (RPI Z2W) kullanılmıştır. Tüm RPI'ler arasında en küçük form faktörüne sahiptir ve ek bileşen olmadan kablosuz bağlantı sağlayan WiFi ve Bluetooth ile entegredir. AP33772 Sink Controller EVB Doğrulama Platformu olarak amacına mükemmel bir şekilde hizmet eder.
  • Kullanıcı Raspberry Pi resmi sayfasını kontrol edebilir webEk bilgi için site (https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/)DİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-3DİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-4

Doğrulama Platformu Bağlantısı ve Güçlendirme

Şekil 5 Doğrulama Platformunun tam bağlantısını ve kurulumunu gösterir. Kullanıcı şu adımları izlemelidir:

  1. RPI ve AP33772 EVB arasına SCL, SDA ve GND pinlerini bağlayın
  2. 65W PD Şarj Cihazını ve AP33772 EVB'yi Type-C kablosuyla bağlayın
  3. RPI ve PD Şarj Cihazını güçlendirin.DİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-5

Raspberry Pi Yazılım Kurulumu

Raspberry Pi İşletim Sistemi

  • RPI'yi destekleyen birçok farklı işletim sistemi vardır. Bunlar arasında Raspberry Pi OS, RPI resmi sitesi tarafından en çok kullanılan ve önerilen olduğu için seçilmiştir.

İşletim Sistemi Görüntüsünü İndirin ve SD Kartı Hazırlayın

Raspberry PI İşletim Sistemi Kurulumu

  • Daha önce görüntüleyiciyle yüklenen Micro-SD kartını RPI'nin Micro-SD yuvasına takın. Güç adaptörünü, fare/klavyeyi ve HDMI monitörü bağlayın. RPI'yi açın ve işletim sistemi kurulumunu ve temel kurulumu tamamlamak için talimatları izleyin. İşletim sisteminde en son güncellemelerin bulunduğundan emin olun.

Gerekli Özelliklerin Kurulumu

  • RPI üzerinde I2C arayüzünü başarılı bir şekilde çalıştırmak için SSH, VNC ve I2C özelliklerini yapılandırmamız veya yüklememiz gerekir.

Raspberry Pi Yapılandırması – SSH, VNC, I2C

  • RPI önyüklemesinden sonra “Raspberry Pi Configure” yardımcı programını açın ve SSH, VNC ve I2C özelliklerini etkinleştirin.DİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-7

I2C Baud Hızı Yapılandırması

  • /boot/config.txt dosyasındaki dtparam ve dtoverlay ile ilgili satırları değiştirin file ile:
  • dtoverlay=i2c-bcm2708
  • dtparam=i2c_arm=açık,i2c_arm_baud hızı=640000

I2C-Araçları Kurulumu

  • I2C-Tools, Raspberry Pi OS altında komut satırında çalışan basit komutlar sağlayan bir araç setidir. I2C-Tools'u şu şekilde çalıştırarak OS'ye yükleyin: sudo apt install i2c-tools

SMBus2 Kurulumu

  • SMBus2, Python ortamında I2C arayüzünü kontrol etmek için kullanıcıya kullanışlı işlevler sağlayan bir Python modülüdür. İşletim sisteminde Python için SMBus2 modülünü şu şekilde çalıştırarak yükleyin: sudo pip3 install smbus2

Temel Komut Örneğiamples

  • Bu Kullanıcı Kılavuzu, RPI'da I2C arayüzüyle çalışmak için iki farklı yöntemi gösterir. Bunlar I2C-Tools Utility ve Python SMBus2 Module'dür. Her iki yöntemin temel komutları bu bölümde tanıtılmaktadır.

 I2C-Tools Komut Örn.amples

  • I2C-Tools yardımcı programı paketi i2cdetect, i2cget ve i2cset komutlarını sağlar. Basitleştirilmiş kullanımlar örnekte açıklanmıştırampBu bölümün altındaki les. I2C-Tools yardımcı programı hakkında tam bilgi için lütfen şuraya bakın: https://linuxhint.com/i2c-linux-utilities/.
  • Tablo 1, kullanıcıların bu bölümdeki komut kullanımını sindirme kolaylığı için AP33772 kayıt özetini gösterir. Kayıt hakkında eksiksiz bilgi için lütfen AP33772 Sink Controller EVB Kullanıcı Kılavuzuna bakın.
Kayıt olmak Emretmek Uzunluk Bağlanmak Açık Tanım
 

SRCPD

 

0x00

 

28

 

RO

 

Tüm 00h

PD Kaynağı (SRC) güç yeteneklerini ortaya çıkarmak için kullanılan Güç Veri Nesnesi (PDO).

Toplam uzunluk 28 bayttır

PDONUM 0x1C 1 RO 00s Geçerli kaynak PDO numarası
DURUM 0x1D 1 RC 00s AP33772 durumu
MASKE 0x1E 1 RW 01s Kesinti etkinleştirme maskesi
CİLTTAGE 0x20 1 RO 00s LSB80mV
AKIM 0x21 1 RO 00s LSB 24mA
SICAKLIK 0x22 1 RO 19s Sıcaklık, Birim: °C
OPTHR 0x23 1 RW 00s OCP eşiği, LSB 50mA
OTPTHR 0x24 1 RW 78s OTP eşiği, Birim: °C
DRTHR 0x25 1 RW 78s Derecelendirmeyi azaltma eşiği, Birim: °C
TR25 0x28 2 RW 2710s Isıl Direnç @25°C, Birim: Ω
TR50 0x2A 2 RW 1041s Isıl Direnç @50°C, Birim: Ω
TR75 0x2C 2 RW 0788s Isıl Direnç @75°C, Birim: Ω
TR100 0x2E 2 RW 03CEh Isıl Direnç @100°C, Birim: Ω
RDO 0x30 4 WO 00000000s İstek Veri Nesnesi (RDO), güç yeteneklerini istemek için kullanılır.
GÖRÜNTÜLE 0x34 2 RW 0000s Satıcı Kimliği, Gelecekteki uygulamalar için ayrılmıştır
PID 0x36 2 RW 0000s Ürün Kimliği, Gelecekteki uygulamalar için ayrılmıştır
REZERVE 0x38 4 Gelecekteki uygulamalar için ayrılmıştır

Tablo 1 – AP33772 Kayıt Özeti

I2C'ye bağlı tüm cihazları algıla – i2cdetect

  • Şu anda I2C-2 veri yoluna bağlı tüm i1c aygıtlarını görüntülemek için komut istemine aşağıdakileri yazın: i2cdetect -y 1
  • AP33772 Sink Controller EVB takılıysa, kullanıcı cihazın 0x51 adresine takılı olduğunu görmelidir

SRCPDO'yu oku (0x00~0x1B)

  • i2cget komutu 2 bayttan uzun blok okumayı desteklemez. Kullanıcının tüm 28 bayt uzunluğundaki PDO verilerini görüntülemek için "for döngüsü" kullanması gerekir. Tüm PDO verilerini görüntülemek için bash komut isteminde aşağıdakileri yazın for i in {0..27}; do i2cget -y 1 0x51 $ib; done
  • 28 PDO'yu temsil eden 7 baytlık veri görüntülenecektir

PDONUM'u oku (0x1C)

  • Geçerli PDO'ların toplam sayısını görüntülemek için komut istemine aşağıdakileri yazın: i2cget -y 1 0x51 0x1c b

DURUMU oku (0x1D)

  • Bu komut, derecelendirmeyi düşürme, OTP, OCP, OVP, İstek Reddedildi, İstek Tamamlandı ve Hazır dahil olmak üzere Sink Denetleyicisinin durumunu bildirir. Durum bilgilerini görüntülemek için komut istemine aşağıdakileri yazın: i2cget -y 1 0x51 0x1d b
  • Kullanıcı, COMPLETE bitini okuyarak başarılı bir RDO isteğinin gerçekleşmesini sağlamak için her RDO isteğinden sonra bu komutu kullanmalıdır. 4.1.5 MASKEYİ YAZ (0x1E)
  • Bu komut, AP3'nin GPIO33772 pini aracılığıyla ana bilgisayara sinyal gönderen kesmeleri etkinleştirir. Kesmeler arasında Derating, OTP, OCP, OVP, Request Rejected, Request Completed ve Ready bulunur. Belirli bir kesmeyi etkinleştirmek için, karşılık gelen biti bir olarak ayarlayın. Örneğinample, OCP kesintisini etkinleştirmek için, komut isteminde aşağıdakileri yazarak MASK kaydının 4. bitini bire ayarlayın: i2cset -y 1 0x51 0x1e 0x10 b
  • OCP koruması tetiklendiğinde AP3'nin GPIO33772 pini High olacaktır.

VOL'u okuTAGE (0x20)

  • Bu komut vol'ü bildirirtagAP33772 Sink Kontrolörü tarafından ölçüldü. Hacmi bildirmek içintage, komut isteminin altına şunu yazın: i2cget -y 1 0x51 0x20 b
  • Bildirilen değerin bir birimi 80 mV'u temsil etmektedir.

CURRENT'ı oku (0x21)

  • Bu komut, AP33772 Sink Controller tarafından ölçülen akımı bildirir. Akımı bildirmek için, komut istemine aşağıdakileri yazın: i2cget -y 1 0x51 0x21 b
  • Bildirilen değerin bir birimi 24mA'yi temsil eder.

TEMP'i oku (0x22)

  • Bu komut, AP33772 Sink Controller tarafından ölçülen sıcaklığı bildirir. Sıcaklığı bildirmek için, komut istemine aşağıdakileri yazın:
    i2cget -y 1 0x51 0x22 b
  • Bildirilen değerin bir birimi 1°C'yi temsil eder.
  • OCPTHR (0x23), OTPTHR (0x24) ve DRTHR'yi (0x25) okuyun ve yazın
  • OCP, OTP ve Derating eşikleri, değerleri OCPTHR, OTPTHR ve DRTHR kayıtlarına yazarak kullanıcı tarafından istenen değerlere değiştirilebilir. Örnek olarakampÖrneğin, OCP eşiğini 3.1A'ya değiştirmek için, kullanıcı komut istemine aşağıdakileri yazarak OCPTHR'ye 0x3E (=3100/50=62=0x3E) yazmalıdır: i2cset -y 1 0x51 0x23 0x3e b
  • OTP eşiğini 110°C'ye değiştirmek için, kullanıcı komut istemine aşağıdakileri yazarak OTPTHR'ye 0x6E (=110) yazmalıdır:
  • OCPTHR, OTPTHR ve DRTHR değerlerini okumak için komut istemine aşağıdakileri yazın:
  • 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) ve TR100'ü (0x2E~0x2F) okuyun ve yazın
  • AP10 EVB'de bir Murata 03KΩ Negatif Sıcaklık Katsayısı (NTC) Termistörü NCP103XH33772 bulunur. Termistörü son tasarımda farklı bir termistörle değiştirmek kullanıcının tercihidir. Kullanıcı, kullanılan termistörün özelliklerine göre TR25, TR50, TR75 ve TR100 kayıt değerlerini güncellemelidir. Örneğinampley,
  • Tasarımda Murata'nın 6.8KΩ NCP03XH682'si kullanılmıştır. 25°C, 50°C, 75°C ve 100°C'deki direnç değerleri sırasıyla 6800Ω (0x1A90), 2774Ω (0x0AD6), 1287Ω (0x0507) ve 662Ω'dur (0x0296). Bu kayıtlara karşılık gelen değerleri yazmak için komut istemine aşağıdakileri yazın:
  • 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
  • Değerleri okumak için komut istemine aşağıdakileri yazın: i2cget -y 1 0x51 0x28 w i2cget -y 1 0x51 0x2a w i2cget -y 1 0x51 0x2c w i2cget -y 1 0x51 0x2e w
  • Çıktı değerleri 2 baytlık kelimelerdir. Komutlar 2 baytlık kelimeleri doğrudan işlediğinden, kullanıcıların burada küçük endian bayt sırası hakkında endişelenmesine gerek yoktur.

RDO'yu yaz (0x30~0x33)

  • Bir PDO istek müzakere prosedürünü başlatmak için, 4 baytlık veri küçük uçlu bayt sırasına göre RDO (İstek Veri Nesnesi) kaydına yazılır. Örnek olarakample, 3V ve 15A ile PDO3'ü istemek için, 0x3004B12C RDO kaydına yazılacaktır. Komut isteminde aşağıdakileri yazın: i2cset -y 1 0x51 0x30 0x2c 0xb1 0x04 0x30 i
  • En az önemli bayt (0x2C), küçük endian bayt sırası gösterimine uyması için ilk önce yazılmalıdır. Lütfen AP9 Sink Controller EVB Kullanıcısının Tablo 10 ve Tablo 33772'una bakın
  • RDO içeriklerine dair detaylı bilgi için rehber.
  • Kullanıcı, RDO kaydını tüm sıfır verilerle yazarak sert sıfırlama yapabilir: i2cset -y 1 0x51 0x30 0x00 0x00 0x00 0x00 i
  • AP33772 Sink Controller başlangıç ​​durumuna sıfırlanacak ve çıkış kapatılacaktır.

Python SMBus2 Komut Örneğiamples

  • Python, desteklenen modüllerinin harika çeşitliliği nedeniyle giderek daha popüler hale geliyor. SMBus2 bunlardan biridir ve I2C okuma ve yazma komutlarını işleyebilir. SMBus2, read_byte_data, read_word_data, read_i2c_block_data, write_byte_data, write_word_data, write_i2c_block_data komutlarını sağlar. Basitleştirilmiş kullanımlar örnekte açıklanmıştırampBu bölümün altındaki les. SMBus2 modülü hakkında tam bilgi için lütfen şuraya bakın: https://smbus2.readthedocs.io/en/latest/.

SRCPDO'yu oku (0x00~0x1B) 

  • SMBus.read_i2c_block_data, 32 bayta kadar blok veri okumasını desteklemek için etkili bir komuttur. Tüm 28 baytlık PDO verilerini okumak için, python3 ortamında aşağıdakileri kullanın:
  • SMBus.read_i2c_block_data(0x51, 0x00, 28)
  • Liste veri yapısında 28 PDO'yu temsil eden 7 adet bir baytlık veri döndürülecektir.

PDONUM'u oku (0x1C)

  • Geçerli PDO'ların toplam sayısını okumak için python3 ortamında aşağıdakileri kullanın:
  • SMBus.okuma_bayt_verisi(0x51, 0x1c)
  • Geçerli PDO sayısını temsil eden bir bayt veri döndürülecektir.

DURUMU oku (0x1D)

  • Bu komut, Derating, OTP, OCP, OVP, Request Rejected, Request Completed ve Ready dahil olmak üzere Sink Controller'ın durumunu bildirir. Durum bilgilerini okumak için python3 ortamında aşağıdakileri kullanın:
  • SMBus.okuma_bayt_verisi(0x51, 0x1d)
  • Kullanıcı, RDO isteğinin başarılı olduğundan emin olmak için her RDO isteğinden sonra bu komutu kullanabilir ve COMPLETE bitini okuyabilir.

MASK'yi yaz (0x1E)

  • Bu komut, AP3'nin GPIO33772 pini aracılığıyla ana bilgisayara sinyal gönderen kesintileri etkinleştirir. Kesintiler Derating, OTP, OCP, OVP, Request Rejected, Request içerir
  • Tamamlandı ve Hazır. Belirli bir kesintiyi etkinleştirmek için, karşılık gelen biti bir olarak ayarlayın. ÖrneğinampÖrneğin, OCP kesmesini etkinleştirmek için, Python4 ortamında aşağıdaki komutu kullanarak MASK kaydının 3. bitini bire ayarlayın:
  • SMBus.write_byte_data(0x51, 0x1e, 0x10)
  • OCP koruması tetiklendiğinde AP3'nin GPIO33772 pini High olacaktır.

VOL'u okuTAGE (0x20)

  • Bu komut vol'ü bildirirtagAP33772 Sink Kontrolörü tarafından ölçüldü. Hacmi bildirmek içintage, python3 ortamında aşağıdakileri kullanın:
  • SMBus.okuma_bayt_verisi(0x51, 0x20)
  • Bildirilen değerin bir birimi 80 mV'u temsil etmektedir.

CURRENT'ı oku (0x21)

  • Bu komut, AP33772 Sink Controller tarafından ölçülen akımı bildirir. Akımı bildirmek için, python3 ortamında aşağıdakileri kullanın
  • SMBus.okuma_bayt_verisi(0x51, 0x21)
  • Bildirilen değerin bir birimi 24mA'yi temsil eder.

TEMP'i oku (0x22)

  • Bu komut AP33772 Sink Controller tarafından ölçülen sıcaklığı bildirir. Sıcaklığı bildirmek için python3 ortamında aşağıdakileri kullanın:
  • SMBus.okuma_bayt_verisi(0x51, 0x22)
  • Bildirilen değerin bir birimi 1°C'yi temsil eder.

OCPTHR (0x23), OTPTHR (0x24) ve DRTHR'yi (0x25) okuyun ve yazın 

  • OCP, OTP ve Derating eşikleri, değerleri OCPTHR, OTPTHR ve DRTHR kayıtlarına yazarak kullanıcı tarafından istenen değerlere değiştirilebilir. Örnek olarakampÖrneğin, OCP eşiğini 3.1A'ya değiştirmek için, kullanıcı Python0 ortamında aşağıdakileri kullanarak OCPTHR'ye 3x3100E (=50/62=0=3x3E) yazmalıdır: SMBus.write_byte_data(0x51, 0x23, 0x3e)
  • OTP eşiğini 110°C'ye değiştirmek için, kullanıcı Python0 ortamında aşağıdakileri kullanarak OTPTHR'ye 6x110E (=3) yazmalıdır: SMBus.write_byte_data(0x51, 0x24, 0x6e)
  • Derating eşiğini 100°C'ye değiştirmek için, kullanıcı python0 ortamında aşağıdakileri kullanarak DRTHR'ye 64x100 (=3) yazmalıdır: SMBus.write_byte_data(0x51, 0x25, 0x64)
  • OCPTHR, OTPTHR ve DRTHR değerlerini okumak için python3 ortamında aşağıdakileri kullanın: 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) ve TR100'ü (0x2E~0x2F) okuyun ve yazın
  • AP10 EVB'de bir Murata 03KΩ Negatif Sıcaklık Katsayısı (NTC) Termistör NCP103XH33772 bulunur. Termistörü son tasarımda farklı bir termistörle değiştirmek kullanıcının tercihidir. Kullanıcı, kullanılan termistörün özelliklerine göre TR25, TR50, TR75 ve TR100 kayıt değerini güncellemelidir. Örneğinample, tasarımda Murata'nın 6.8KΩ NCP03XH682'si kullanılmıştır. 25°C, 50°C, 75°C ve 100°C'deki direnç değerleri sırasıyla 6800Ω (0x1A90), 2774Ω (0x0AD6), 1287Ω (0x0507) ve 662Ω'dur (0x0296). Bu kayıtlara karşılık gelen değerleri yazmak için python3 ortamında aşağıdakileri kullanın:
  • 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)
  • Değerleri okumak için python3 ortamında aşağıdakileri kullanın: SMBus.read_word_data(0x51, 0x28) SMBus.read_word_data(0x51, 0x2a) SMBus.read_word_data(0x51, 0x2c) SMBus.read_word_data(0x51, 0x2e)
  • Dönüş değerleri de 2 baytlık kelimelerdir. Komutlar 2 baytlık kelimeleri doğrudan işlediğinden, kullanıcıların burada küçük endian bayt sırası hakkında endişelenmesine gerek yoktur.

RDO'yu yaz (0x30~0x33)

  • Bir PDO istek müzakere prosedürünü başlatmak için, 4 baytlık veri küçük uçlu bayt sırasına göre RDO (İstek Veri Nesnesi) kaydına yazılır. Örnek olarakample, 3V ve 15A ile PDO3'ü istemek için, 0x3004B12C RDO kaydına yazılacak. Python3 ortamında aşağıdakileri kullanın:
  • SMBus.write_i2c_block_data(0x51, 0x30, [0x2c, 0xb1, 0x04, 0x30])
  • Ayrıntılı RDO içerik bilgisi için lütfen AP9 Sink Kontrol Cihazı EVB Kullanıcı Kılavuzu'nun Tablo 10 ve Tablo 33772'una bakın.
  • Kullanıcı, RDO kaydını tüm sıfır verileriyle yazarak sert sıfırlama yapabilir:
  • SMBus.write_i2c_block_data(0x51, 0x30, [0x00, 0x00, 0x00, 0x00])
  • AP33772 Sink Controller başlangıç ​​durumuna sıfırlanacak ve çıkış kapatılacaktır.

Pratik Örnamples

Example 1: Bash I2C-Tools Örn.ampkaynak: ap33772_querypdo.bash
Bu eskiample tüm geçerli PDO'ları kontrol eder ve vol'ü listelertagve güncel yetenek bilgisi çıktı.
Kod AyrıntılarıDİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-8

Kod Yürütme ve ÇıktılarDİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-9

Example 2: Python SMBus2 ÖrneğiampTürkçe: ap33772_allpdo.py3
Bu eskiample tüm geçerli PDO'ları kontrol eder ve bunları yukarı ve aşağı sırayla tek tek ister.
Kod AyrıntılarıDİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-10DİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-11DİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-12

Kod Yürütme ve ÇıktılarDİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-13DİYOTLAR-AP33772-USB-PD-Baca-Denetleyici-Raspberry-Pi-I2C-Arayüz-ŞEKİL-14

Example Kod İndir

Eski Listesiampkodlar

  • ExampKodların Bash Script ve Python Sürümleri Var
  1. ap33772_querypdo: tüm PDO bilgilerini sorgular
  2. ap33772_reqpdo: tüm PDO bilgilerini raporlar ve kullanıcı tarafından belirtilen PDO isteğini gönderir
  3. ap33772_allpdo: tüm PDO bilgilerini raporlar ve tüm PDO isteklerini yukarı ve aşağı yönde yürütür
  4. ap33772_pps: tüm PDO bilgilerini bildirir ve rampPPS hacminin tamamında yukarı ve aşağıtag50mV adım boyutunda e aralığı
  5. ap33772_vit: raporlar cilttage, akım ve sıcaklık bilgisi
Exampİndirme Sitesi

Example Kodlar Github'dan indirilebilir. İndirmek için şu komutu verin: git clone https://github.com/diodinciot/ap33772.git-ap33772

Referanslar

  1. AP33772 Veri Sayfası (USB PD3.0 PPS Lavabo Kontrol Cihazı): https://www.diodes.com/products/power-management/ac-dc-converters/usb-pd-sink-controllers/
  2. AP33772 I2C Sink Kontrol Cihazı EVB Kullanıcı Kılavuzu: https://www.diodes.com/applications/ac-dc-chargers-and-adapters/usb-pd-sink-controller/
  3. Raspberry Pi Zero 2W: https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
  4. Ahududu PiOS'u: https://www.raspberrypi.com/software/
  5. I2C-Tools yardımcı programı: https://linuxhint.com/i2c-linux-utilities/
  6. SMBus2 Modülü: https://smbus2.readthedocs.io/en/latest/

Revizyon Geçmişi

Revizyon Düzenleme tarihi Yorum Yazar
1.0 4/15/2022 İlk Sürüm Edward Zhao
ÖNEMLİ UYARI
  • DIODES INCORPORATED, BU BELGEYLE İLGİLİ OLARAK, SATILABİLİRLİK VE BELİRLİ BİR AMACA UYGUNLUK (VE HERHANGİ BİR YARGI YETKİ YASASI KAPSAMINDA BUNLARIN EŞDEĞERLERİ) İLE İLGİLİ ZIMNİ GARANTİLER DAHİL ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE, AÇIK VEYA ZIMNİ HİÇBİR GARANTİ VERMEZ.
  • Diodes Incorporated ve bağlı kuruluşları, bu belgede ve burada açıklanan herhangi bir üründe önceden bildirimde bulunmaksızın değişiklik, geliştirme, iyileştirme, düzeltme veya başka değişiklikler yapma hakkını saklı tutar. Diodes Incorporated, bu belgenin veya burada açıklanan herhangi bir ürünün uygulanmasından veya kullanımından kaynaklanan herhangi bir sorumluluk kabul etmez; Diodes Incorporated, kendi patent veya ticari marka hakları veya başkalarının hakları kapsamında herhangi bir lisans devretmez. Bu belgenin veya burada bu tür uygulamalarda açıklanan ürünlerin herhangi bir Müşterisi veya kullanıcısı, bu tür kullanımın tüm risklerini üstlenecek ve Diodes Incorporated'ı ve ürünleri Diodes Incorporated'da temsil edilen tüm şirketleri elinde tutmayı kabul edecektir. webSite, her türlü zarara karşı zararsızdır.
  • Diodes Incorporated, yetkisiz satış kanalları yoluyla satın alınan hiçbir ürünle ilgili olarak hiçbir garanti vermez veya sorumluluk kabul etmez.
    Müşteriler, Diodes Incorporated ürünlerini herhangi bir istenmeyen veya yetkisiz uygulama için satın alır veya kullanırlarsa, Diodes'u tazmin edecek ve sorumlu tutacaktır.
  • Şirket ve temsilcileri, bu tür istenmeyen veya yetkisiz uygulama ile ilişkili olarak doğrudan veya dolaylı olarak ortaya çıkan kişisel yaralanma veya ölüm iddialarından kaynaklanan tüm taleplere, zararlara, masraflara ve avukatlık ücretlerine karşı zararsızdı.
  • Burada açıklanan ürünler, beklemede olan bir veya daha fazla Amerika Birleşik Devletleri patenti, uluslararası veya yabancı patent kapsamında olabilir. Burada belirtilen ürün adları ve işaretler aynı zamanda bir veya daha fazla Amerika Birleşik Devletleri, uluslararası veya yabancı ticari markanın kapsamında olabilir.
  • Bu belge İngilizce dilinde yazılmıştır ancak referans olması amacıyla birden fazla dile çevrilebilir. Bu belgenin yalnızca İngilizce sürümü, Diodes Incorporated tarafından yayınlanan nihai ve belirleyici formattır.

YAŞAM DESTEĞİ

  • Diodes Incorporated ürünlerinin, Diodes Incorporated İcra Kurulu Başkanı'nın açık yazılı onayı olmadan yaşam destek cihazları veya sistemlerinde kritik bileşenler olarak kullanılmasına özellikle izin verilmemektedir. Burada kullanıldığı şekliyle:
  • A. Yaşam destek cihazları veya sistemleri aşağıdaki özelliklere sahip cihazlar veya sistemlerdir:
  1. vücuda implante edilmesi amaçlanıyorsa veya
  2. Yaşamı destekleyen veya sürdüren ve etikette belirtilen kullanım talimatlarına uygun şekilde kullanıldığında performansındaki başarısızlığın, kullanıcının ciddi yaralanmasına yol açması makul olarak beklenebilecek olan.
    • B. Kritik bir bileşen, bir yaşam destek cihazı veya sistemindeki, yerine getirilmemesi durumunda yaşam destek cihazının arızalanmasına neden olması veya güvenliğini veya etkinliğini etkilemesi makul olarak beklenebilecek herhangi bir bileşendir.
    • Müşteriler, yaşam destek cihazları veya sistemlerinin güvenlik ve düzenleyici sonuçları konusunda gerekli tüm uzmanlığa sahip olduklarını beyan eder ve Diodes Incorporated ürünlerinin bu tür güvenlik açısından kritik yaşam destek cihazları veya sistemlerinde kullanımıyla ilgili tüm yasal, düzenleyici ve güvenlikle ilgili gerekliliklerden yalnızca kendilerinin sorumlu olduğunu kabul eder ve beyan eder; Diodes Incorporated tarafından sağlanabilecek cihaz veya sistemlerle ilgili bilgi veya desteğe bakılmaksızın.
    • Ayrıca Müşteriler, Diodes Incorporated ve temsilcilerini, bu tür güvenlik açısından kritik, yaşam destek cihazlarında veya sistemlerinde Diodes Incorporated ürünlerinin kullanımından kaynaklanan her türlü zarara karşı tamamen tazmin etmelidir.

Belgeler / Kaynaklar

DIODES AP33772 USB PD Lavabo Kontrol Cihazı Raspberry Pi I2C Arayüzü [pdf] Kullanıcı Kılavuzu
AP33772 USB PD Lavabo Kontrolcüsü Raspberry Pi I2C Arayüzü, AP33772, USB PD Lavabo Kontrolcüsü Raspberry Pi I2C Arayüzü, Raspberry Pi I2C Arayüzü, Pi I2C Arayüzü

Referanslar

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar işaretlenmiştir *