الثنائيات AP33772 USB PD بالوعة تحكم Raspberry Pi I2C واجهة
مقدمة
- وحدة التحكم بالوعة AP33772، التي تعمل كجهاز بروتوكول لجهاز USB PD3.0 Type C المجهز بموصل (TCD، حوض الطاقة)، تهدف إلى طلب كائن بيانات الطاقة المناسب (PDO) من PD3.0 المجهز بموصل USB PD3.0 Type C .XNUMX شاحن الامتثال (PDC، مصدر الطاقة).
- يوضح الشكل 1 أن TCD، المضمن مع وحدة التحكم بالوعة PD3.0 IC (AP33772)، متصل فعليًا بـ PDC، مضمن مع وحدة فك ترميز USB PD3.0 (AP43771)، من خلال
- كابل من النوع C إلى النوع C. استنادًا إلى البرامج الثابتة المتوافقة مع USB PD3.0، سيخضع زوج AP33772 وAP43771 لإجراءات التوصيل القياسية USB PD3.0 لإنشاء حالة شحن PD3.0 مناسبة.
- توفر وحدة التحكم بالوعة EVB AP33772 سهولة الاستخدام وتنوعًا كبيرًا لمصمم النظام لطلب PDOs من شاحن توصيل الطاقة USB عن طريق إرسال أوامر AP33772 المضمنة من خلال واجهة I2C. يتطلب تصميم النظام النموذجي برمجة MCU التي تحتاج إلى إعداد برنامج محدد (مثل IDE) ويمكن أن تستغرق عملية تطوير وقتًا طويلاً.
- في المقابل، يوفر Raspberry Pi (RPI)، وهو كمبيوتر ذو لوحة واحدة (SBC) يعمل بنظام تشغيل Linux سهل الاستخدام ومزود بدبابيس GPIO المرنة، طريقة مباشرة للتحقق من صحة عمل AP33772 Sink EVB مع شاحن PD. الهدف من هذا الدليل هو تزويد مصممي النظام بمنصة فعالة لإكمال التحقق من صحة البرنامج بسرعة على RPI ومن ثم نقل التطوير إلى أي وحدة MCU مرغوبة لتلبية متطلبات السوق السريعة.
- باعتباره مستندًا تكميليًا لدليل مستخدم AP33772 EVB، يوضح دليل المستخدم هذا طريقة سهلة للتحكم في AP33772 EVB باستخدام RPI SBC من خلال واجهة I2C.
- يتم لعب دور كتلة MCU الموضحة في الشكل 1 للتفاعل مع AP33772 بواسطة RPI. يغطي دليل المستخدم هذا الكثير من تعريفات السجل ومعلومات الاستخدام على سبيل المثالampومع ذلك، للحصول على المعلومات الكاملة والمحدثة، يرجى الرجوع إلى دليل مستخدم AP33772 EVB. (انظر المرجع 2)
- الشكل 1 - يستخدم TCD النموذجي وحدة التحكم بالوعة AP33772 PD مع واجهة I2C لطلب الطاقة من محول مصدر التوافق USB Type-C PD3.0/PPS
إعداد منصة التحقق من الصحة
AP33772 وحدة تحكم بالوعة EVB
الشكل 2 تظهر صورة وحدة التحكم بالوعة EVB. ويتميز بموصل من النوع C، ودبابيس I2C، ودبوس GPIO3 للمقاطعة، ومقاوم NTC لـ OTP، ومؤشرات LED لإظهار حالة الشحن، وموصل Vout للتحميل.
راسبيري باي زيرو 2 وات
- أي إصدار أحدث من RPI قادر على التحكم في AP33772 Sink Controller EVB من خلال دبابيس I2C. يتم استخدام Raspberry Pi Zero 2 W (RPI Z2W) في دليل المستخدم هذا نظرًا لفعاليته من حيث التكلفة وتعدد الاستخدامات. يحتوي على أصغر عامل شكل بين جميع RPIs وهو مدمج مع WiFi وBluetooth مما يجعل الاتصال اللاسلكي بدون مكونات إضافية. إنه يخدم الغرض باعتباره منصة التحقق من صحة Sink Controller EVB AP33772 بشكل مثالي.
- يمكن للمستخدم التحقق من مسؤول Raspberry Pi webموقع للحصول على معلومات إضافية (https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/)
التحقق من صحة اتصال النظام الأساسي وتشغيله
الشكل 5 يُظهر الاتصال الكامل والإعداد لمنصة التحقق من الصحة. يجب على المستخدم اتباع الخطوات التالية:
- قم بتوصيل دبابيس SCL وSDA وGND بين RPI وAP33772 EVB
- قم بتوصيل شاحن PD بقدرة 65 وات وAP33772 EVB بكابل من النوع C
- قم بتشغيل RPI وشاحن PD.
إعداد برنامج راسبيري باي
نظام التشغيل Raspberry Pi
- هناك العديد من أنظمة التشغيل المختلفة التي تدعم RPI. ومن بين هذه الأنظمة، تم اختيار Raspberry Pi OS لأنه الأكثر استخدامًا والموصى به من قبل موقع RPI الرسمي.
قم بتنزيل صورة نظام التشغيل وإعداد بطاقة SD
- قم بتنزيل وتثبيت أدوات Raspberry Pi Imager على جهاز الكمبيوتر (https://www.raspberrypi.com/software/). اتبع التعليمات لإعداد بطاقة Micro-SD محملة بصورة نظام التشغيل الصحيحة (https://youtu.be/ntaXWS8Lk34/). يرجى ملاحظة أنه يوصى باستخدام بطاقة Micro-SD بسعة 32 جيجا بايت أو أكبر.
تثبيت نظام التشغيل Raspberry PI
- أدخل بطاقة Micro-SD المحملة بجهاز التصوير مسبقًا في فتحة Micro-SD الخاصة بـ RPI. قم بتوصيل محول الطاقة والماوس/لوحة المفاتيح وشاشة HDMI. قم بتشغيل RPI واتبع التعليمات لإكمال تثبيت نظام التشغيل والإعداد الأساسي. تأكد من تضمين آخر التحديثات في نظام التشغيل.
إعداد الميزات المطلوبة
- من أجل تشغيل واجهة I2C على RPI بنجاح، يجب علينا تكوين أو تثبيت ميزات SSH وVNC وI2C.
تكوين راسبيري باي – SSH، VNC، I2C
- بعد تشغيل RPI، افتح الأداة المساعدة "Raspberry Pi Configure" وقم بتشغيل ميزات SSH وVNC وI2C.
تكوين معدل الباود I2C
- استبدل الأسطر المتعلقة بـ dtparam وdtoverlay في /boot/config.txt file مع:
- dtoverlay=i2c-bcm2708
- dtparam=i2c_arm=on,i2c_arm_baudrate=640000
تركيب أدوات I2C
- I2C-Tools عبارة عن مجموعة أدوات توفر أوامر بسيطة تعمل على سطر الأوامر ضمن نظام التشغيل Raspberry Pi OS. قم بتثبيت I2C-Tools على نظام التشغيل عن طريق تشغيل: sudo apt install i2c-tools
تثبيت SMBus2
- SMBus2 عبارة عن وحدة Python توفر وظائف ملائمة للمستخدم للتحكم في واجهة I2C ضمن بيئة Python. قم بتثبيت وحدة SMBus2 لـ Python على نظام التشغيل عن طريق تشغيل: Sudo pip3 install smbus2
الأمر الأساسي على سبيل المثالampليه
- يوضح دليل المستخدم هذا طريقتين مختلفتين للعمل مع واجهة I2C على RPI. هم I2C-Tools Utility وPython SMBus2 Module. يتم تقديم الأوامر الأساسية لكلتا الطريقتين في هذا القسم.
أمر I2C-Tools Exampليه
- توفر حزمة الأدوات المساعدة I2C-Tools أوامر i2cdetect وi2cget وi2cset. تم وصف الاستخدامات المبسطة في السابقampليه تحت هذا القسم. للحصول على معلومات كاملة حول الأداة المساعدة I2C-Tools، يرجى الرجوع إلى https://linuxhint.com/i2c-linux-utilities/.
- يعرض الجدول 1 ملخص سجل AP33772 لراحة المستخدم لاستيعاب استخدام الأمر في هذا القسم. للحصول على معلومات التسجيل الكاملة، يرجى الرجوع إلى دليل مستخدم EVB لجهاز التحكم بالوعة AP33772.
يسجل | يأمر | طول | يصف | تشغيل | وصف |
SRCPDO |
0×00 |
28 |
RO |
كل 00 ساعة |
يستخدم كائن بيانات الطاقة (PDO) للكشف عن إمكانات الطاقة لمصدر PD (SRC).
الطول الإجمالي هو 28 بايت |
بدونوم | 0x1C | 1 | RO | 00 ساعة | رقم مصدر PDO صالح |
حالة | 0x1د | 1 | RC | 00 ساعة | حالة AP33772 |
قناع | 0x1E | 1 | RW | 01 ساعة | قناع تمكين المقاطعة |
المجلدTAGE | 0×20 | 1 | RO | 00 ساعة | LSB 80 مللي فولت |
حاضِر | 0×21 | 1 | RO | 00 ساعة | ال اس بي 24 مللي أمبير |
درجة حرارة | 0×22 | 1 | RO | 19 ساعة | درجة الحرارة، الوحدة: درجة مئوية |
أوكبثر | 0×23 | 1 | RW | 00 ساعة | عتبة OCP، LSB 50mA |
OTTPHR | 0×24 | 1 | RW | 78 ساعة | عتبة OTP، الوحدة: درجة مئوية |
DRTHR | 0×25 | 1 | RW | 78 ساعة | عتبة خفض التصنيف، الوحدة: درجة مئوية |
تر25 | 0×28 | 2 | RW | 2710 ساعة | المقاومة الحرارية عند 25 درجة مئوية، الوحدة: Ω |
تر50 | 0 × 2 أمبير | 2 | RW | 1041 ساعة | المقاومة الحرارية عند 50 درجة مئوية، الوحدة: Ω |
تر75 | 0x2C | 2 | RW | 0788 ساعة | المقاومة الحرارية عند 75 درجة مئوية، الوحدة: Ω |
تر100 | 0x2E | 2 | RW | 03CEh | المقاومة الحرارية عند 100 درجة مئوية، الوحدة: Ω |
ردو | 0×30 | 4 | WO | 00000000 ساعة | يتم استخدام كائن بيانات الطلب (RDO) لطلب إمكانات الطاقة. |
رقم الفيديو | 0×34 | 2 | RW | 0000 ساعة | معرف البائع، محجوز للتطبيقات المستقبلية |
معرف المنتج | 0×36 | 2 | RW | 0000 ساعة | معرف المنتج، محجوز للتطبيقات المستقبلية |
محجوز | 0×38 | 4 | – | – | محفوظة للتطبيقات المستقبلية |
الجدول 1 - ملخص التسجيل AP33772
كشف جميع الأجهزة المتصلة بـ I2C – i2cdetect
- لعرض جميع أجهزة i2c المتصلة حاليًا بناقل I2C-1، اكتب ما يلي ضمن موجه الأوامر: i2cdetect -y 1
- إذا تم توصيل جهاز التحكم بالوعة EVB AP33772، فيجب أن يرى المستخدم أن الجهاز متصل على العنوان 0x51
قراءة SRCPDO (0x00~0x1B)
- لا يدعم أمر i2cget قراءة الكتلة لفترة أطول من 2 بايت. يحتاج المستخدم إلى استخدام "for Loop" لعرض جميع بيانات PDO الطويلة البالغة 28 بايت. لعرض جميع بيانات PDO، اكتب ما يلي تحت موجه أوامر bash لـ i في {0..27}؛ افعل i2cget -y 1 0x51 $ib; منتهي
- سيتم عرض بيانات 28 بايت تمثل 7 PDOs
قراءة PDONUM (0x1C)
- لعرض العدد الإجمالي لـ PDOs الصالحة، اكتب ما يلي تحت موجه الأوامر: i2cget -y 1 0x51 0x1c b
قراءة الحالة (0x1D)
- يقوم هذا الأمر بالإبلاغ عن حالة وحدة التحكم في الحوض بما في ذلك إلغاء التصنيف، وOTP، وOCP، وOVP، وRejected Request، وRequest Complete، وReady. لعرض معلومات الحالة، اكتب ما يلي ضمن موجه الأوامر: i2cget -y 1 0x51 0x1d b
- يجب على المستخدم استخدام هذا الأمر بعد كل طلب RDO لضمان نجاح طلب RDO من خلال قراءة البت الكامل. 4.1.5 قناع الكتابة (0x1E)
- يمكّن هذا الأمر المقاطعات التي تشير إلى المضيف من خلال دبوس GPIO3 الخاص بـ AP33772. تتضمن المقاطعات Deating وOTP وOCP وOVP وRequest Rejected وRequest Completed وReady. لتمكين مقاطعة معينة، قم بتعيين البت المقابل إلى واحد. على سبيل المثالample، لتمكين مقاطعة OCP، قم بتعيين البت 4 من تسجيل MASK على واحد عن طريق كتابة ما يلي ضمن موجه الأوامر: i2cset -y 1 0x51 0x1e 0x10 b
- سوف يرتفع دبوس GPIO3 الخاص بـ AP33772 عند تشغيل حماية OCP.
قراءة VOLTAGه (0x20)
- يُبلغ هذا الأمر عن المجلدtagتم قياسه بواسطة وحدة التحكم بالوعة AP33772. للإبلاغ عن المجلدtage، اكتب ما يلي ضمن موجه الأوامر: i2cget -y 1 0x51 0x20 b
- وحدة واحدة من القيمة المبلغ عنها تمثل 80 مللي فولت.
القراءة الحالية (0x21)
- يُبلغ هذا الأمر عن التيار المُقاس بواسطة وحدة التحكم بالوعة AP33772. للإبلاغ عن التيار، اكتب ما يلي تحت موجه الأوامر: i2cget -y 1 0x51 0x21 b
- وحدة واحدة من القيمة المبلغ عنها تمثل 24 مللي أمبير.
قراءة درجة الحرارة (0x22)
- يُبلغ هذا الأمر عن درجة الحرارة التي تم قياسها بواسطة وحدة التحكم بالوعة AP33772. للإبلاغ عن درجة الحرارة، اكتب ما يلي تحت موجه الأوامر:
i2cget -y 1 0x51 0x22 ب - وحدة واحدة من القيمة المبلغ عنها تمثل 1 درجة مئوية.
- قراءة وكتابة OCPTHR (0x23)، OTPTHR (0x24)، وDRTHR (0x25)
- يمكن تغيير عتبات OCP وOTP وDering إلى قيم مرغوبة من قبل المستخدم عن طريق كتابة القيم في سجلات OCPTHR وOTPTHR وDRTHR. كسابقample، لتغيير عتبة OCP إلى 3.1A، يجب على المستخدم كتابة 0x3E (=3100/50=62=0x3E) إلى OCPTHR عن طريق كتابة ما يلي ضمن موجه الأوامر: i2cset -y 1 0x51 0x23 0x3e b
- لتغيير عتبة OTP إلى 110 درجة مئوية، يجب على المستخدم كتابة 0x6E (=110) إلى OTPTHR عن طريق كتابة ما يلي تحت موجه الأوامر:
- لقراءة القيم من OCPTHR وOTPTHR وDRTHR، اكتب ما يلي تحت موجه الأوامر:
- i2cget -y 1 0x51 0x23 ب i2cget -y 1 0x51 0x24 ب i2cget -y 1 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ليه
- تم استخدام Murata's 6.8KΩ NCP03XH682 في التصميم. قيم المقاومة عند 25 درجة مئوية، و50 درجة مئوية، و75 درجة مئوية، و100 درجة مئوية هي 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 0x2e 0x0296 w
- لقراءة القيم، اكتب ما يلي تحت موجه الأوامر: 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 بايت. نظرًا لأن الأوامر تتعامل مع كلمة ذات بايتين مباشرةً، فلا داعي للقلق بشأن ترتيب البايتات النهائي الصغير هنا.
كتابة RDO (0x30~0x33)
- لبدء إجراء تفاوض طلب PDO، تتم كتابة البيانات ذات 4 بايت إلى تسجيل RDO (كائن بيانات الطلب) بترتيب بايت صغير. كما السابقample، لطلب PDO3 بـ 15 فولت و3 أمبير، سيتم كتابة 0x3004B12C في سجل RDO. اكتب ما يلي تحت موجه الأوامر: i2cset -y 1 0x51 0x30 0x2c 0xb1 0x04 0x30 i
- يجب كتابة البايت الأقل أهمية (0x2C) أولاً ليناسب القليل من تدوين ترتيب البايت النهائي. برجاء الرجوع إلى الجدول 9 والجدول 10 الخاص بمستخدم وحدة التحكم بالحوض EVB AP33772
- دليل للحصول على معلومات مفصلة عن محتوى RDO.
- يمكن للمستخدم إصدار إعادة تعيين ثابت عن طريق كتابة تسجيل RDO ببيانات صفرية بالكامل: i2cset -y 1 0x51 0x30 0x00 0x00 0x00 0x00 i
- ستتم إعادة ضبط وحدة التحكم بالوعة AP33772 إلى حالتها الأولية وسيتم إيقاف تشغيل الإخراج.
أمر بايثون SMBus2 السابقampليه
- أصبحت 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 بايت من بيانات الكتلة. لقراءة جميع بيانات PDO ذات 28 بايت، استخدم ما يلي ضمن بيئة python3:
- SMBus.read_i2c_block_data(0x51, 0x00, 28)
- سيتم إرجاع 28 من البيانات ذات البايت الواحد التي تمثل 7 عناصر PDO في بنية بيانات القائمة.
قراءة PDONUM (0x1C)
- لقراءة العدد الإجمالي لـ PDOs الصالحة، استخدم ما يلي ضمن بيئة python3:
- SMBus.read_byte_data(0x51, 0x1c)
- سيتم إرجاع بيانات بايت واحدة تمثل عدد PDO صالحًا.
قراءة الحالة (0x1D)
- يقوم هذا الأمر بالإبلاغ عن حالة وحدة التحكم في الحوض بما في ذلك Deating وOTP وOCP وOVP وRejected Rejected وRequest Completed وReady. لقراءة معلومات الحالة، استخدم ما يلي ضمن بيئة python3:
- SMBus.read_byte_data(0x51, 0x1d)
- يمكن للمستخدم استخدام هذا الأمر بعد كل طلب RDO لضمان نجاح طلب RDO من خلال قراءة البت الكامل.
قناع الكتابة (0x1E)
- يمكّن هذا الأمر المقاطعات التي تشير إلى المضيف من خلال دبوس GPIO3 الخاص بـ AP33772. تتضمن المقاطعات Deating وOTP وOCP وOVP وRequest Rejected وRequest
- مكتمل، وجاهز. لتمكين مقاطعة معينة، قم بتعيين البت المقابل إلى واحد. على سبيل المثالample، لتمكين مقاطعة OCP، قم بتعيين البت 4 من تسجيل MASK على واحد باستخدام ما يلي ضمن بيئة python3:
- SMBus.write_byte_data(0x51, 0x1e, 0x10)
- سوف يرتفع دبوس GPIO3 الخاص بـ AP33772 عند تشغيل حماية OCP.
قراءة VOLTAGه (0x20)
- يُبلغ هذا الأمر عن المجلدtagتم قياسه بواسطة وحدة التحكم بالوعة AP33772. للإبلاغ عن المجلدtage، استخدم ما يلي ضمن بيئة python3:
- SMBus.read_byte_data(0x51, 0x20)
- وحدة واحدة من القيمة المبلغ عنها تمثل 80 مللي فولت.
القراءة الحالية (0x21)
- يُبلغ هذا الأمر عن التيار المُقاس بواسطة وحدة التحكم بالوعة AP33772. للإبلاغ عن الوضع الحالي، استخدم ما يلي ضمن بيئة python3
- SMBus.read_byte_data(0x51, 0x21)
- وحدة واحدة من القيمة المبلغ عنها تمثل 24 مللي أمبير.
قراءة درجة الحرارة (0x22)
- يُبلغ هذا الأمر عن درجة الحرارة التي تم قياسها بواسطة وحدة التحكم بالوعة AP33772. للإبلاغ عن درجة الحرارة، استخدم ما يلي ضمن بيئة python3:
- SMBus.read_byte_data(0x51, 0x22)
- وحدة واحدة من القيمة المبلغ عنها تمثل 1 درجة مئوية.
قراءة وكتابة OCPTHR (0x23)، OTPTHR (0x24)، وDRTHR (0x25)
- يمكن تغيير عتبات OCP وOTP وDering إلى قيم مرغوبة من قبل المستخدم عن طريق كتابة القيم في سجلات OCPTHR وOTPTHR وDRTHR. كسابقample، لتغيير عتبة OCP إلى 3.1A، يجب على المستخدم كتابة 0x3E (=3100/50=62=0x3E) إلى OCPTHR باستخدام ما يلي ضمن بيئة python3: SMBus.write_byte_data(0x51, 0x23, 0x3e)
- لتغيير عتبة OTP إلى 110 درجة مئوية، يجب على المستخدم كتابة 0x6E (=110) إلى OTPTHR باستخدام ما يلي ضمن بيئة python3: SMBus.write_byte_data(0x51, 0x24, 0x6e)
- لتغيير حد Deating إلى 100 درجة مئوية، يجب على المستخدم كتابة 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)
- يتم تعبئة الثرمستور Murata 10KΩ بمعامل درجة الحرارة السالبة (NTC) NCP03XH103 على AP33772 EVB. يفضل المستخدم تغيير الثرمستور إلى آخر مختلف في التصميم النهائي. يجب على المستخدم تحديث قيمة التسجيل TR25 وTR50 وTR75 وTR100 وفقًا لمواصفات الثرمستور المستخدم. على سبيل المثالample، تم استخدام Murata's 6.8KΩ NCP03XH682 في التصميم. قيم المقاومة عند 25 درجة مئوية، و50 درجة مئوية، و75 درجة مئوية، و100 درجة مئوية هي 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(0x51, 0x2e)
- قيم الإرجاع هي أيضًا كلمات مكونة من 2 بايت. نظرًا لأن الأوامر تتعامل مع كلمة ذات بايتين مباشرةً، فلا داعي للقلق بشأن ترتيب البايتات النهائي الصغير هنا.
كتابة RDO (0x30~0x33)
- لبدء إجراء تفاوض طلب PDO، تتم كتابة البيانات ذات 4 بايت إلى تسجيل RDO (كائن بيانات الطلب) بترتيب بايت صغير. كما السابقample، لطلب PDO3 بـ 15 فولت و3 أمبير، سيتم كتابة 0x3004B12C في سجل RDO. استخدم ما يلي ضمن بيئة python3:
- SMBus.write_i2c_block_data(0x51, 0x30, [0x2c, 0xb1, 0x04, 0x30])
- برجاء الرجوع إلى الجدول 9 والجدول 10 في دليل مستخدم EVB لجهاز التحكم بالوعة AP33772 للحصول على معلومات مفصلة عن محتوى RDO.
- يمكن للمستخدم إصدار إعادة تعيين ثابت عن طريق كتابة تسجيل RDO ببيانات صفرية بالكامل:
- SMBus.write_i2c_block_data(0x51, 0x30, [0x00, 0x00, 0x00, 0x00])
- ستتم إعادة ضبط وحدة التحكم بالوعة AP33772 إلى حالتها الأولية وسيتم إيقاف تشغيل الإخراج.
مثال عمليampليه
Example 1: أدوات باش I2C على سبيل المثالampلو: ap33772_querypdo.bash
هذا السابقampيتحقق le من جميع أهداف تنمية المشروعات الصالحة ويسرد المجلدtagه ومعلومات القدرة الحالية خارج.
تفاصيل الكود
تنفيذ التعليمات البرمجية والمخرجات
Example 2: بيثون SMBus2 السابقينampلو: ap33772_allpdo.py3
هذا السابقampيتحقق le من جميع أهداف تنمية المشروعات الصالحة ويطلبها واحدًا تلو الآخر بترتيب أعلى وأسفل.
تفاصيل الكود
تنفيذ التعليمات البرمجية والمخرجات
Exampتحميل لو كود
قائمة السابقينampلو كود
- Exampتحتوي رموز le على إصدارات Bash Script وPython
- ap33772_querypdo: يستعلم عن جميع معلومات PDO
- ap33772_reqpdo: يُبلغ عن جميع معلومات PDO ويرسل طلب PDO المحدد من قبل المستخدم
- ap33772_allpdo: يُبلغ عن جميع معلومات PDO ويستعرض جميع طلبات PDO بطريقة صعودًا وهبوطًا
- ap33772_pps: يُبلغ عن جميع معلومات PDO، وrampصعودا وهبوطا في المجلد PPS بأكملهtagنطاق e في حجم الخطوة 50mV
- ap33772_vit: التقارير المجلدtagالمعلومات الإلكترونية والتيار ودرجة الحرارة
Exampموقع تحميل لو
Example يمكن تنزيل الرموز من جيثب. قم بإصدار الأمر التالي للتنزيل: 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/
- دليل مستخدم EVB لجهاز التحكم بالوعة AP33772 I2C: https://www.diodes.com/applications/ac-dc-chargers-and-adapters/usb-pd-sink-controller/
- راسبيري باي زيرو 2 دبليو: https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
- نظام Raspberry Pi OS: https://www.raspberrypi.com/software/
- فائدة أدوات I2C: 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 وجميع الشركات التي يتم تمثيل منتجاتها في Diodes Incorporated webالموقع غير ضار ضد جميع الأضرار.
- لا تضمن شركة Diodes Incorporated أو تقبل أي مسؤولية مهما كانت فيما يتعلق بأي منتجات تم شراؤها من خلال قنوات مبيعات غير مصرح بها.
في حالة قيام العملاء بشراء أو استخدام منتجات Diodes Incorporated لأي تطبيق غير مقصود أو غير مصرح به، يجب على العملاء تعويض شركة Diodes واحتجازها - إن شركة Incorporated وممثليها غير ضارة ضد جميع المطالبات والأضرار والنفقات وأتعاب المحاماة الناشئة عن، بشكل مباشر أو غير مباشر، أي مطالبة بالإصابة الشخصية أو الوفاة المرتبطة بهذا التطبيق غير المقصود أو غير المصرح به.
- قد تكون المنتجات الموصوفة هنا مغطاة بواحدة أو أكثر من براءات الاختراع الأمريكية أو الدولية أو الأجنبية المعلقة. أسماء المنتجات والعلامات المذكورة هنا قد تكون مغطاة أيضًا بواحدة أو أكثر من العلامات التجارية الأمريكية أو الدولية أو الأجنبية.
- هذا المستند مكتوب باللغة الإنجليزية ولكن يمكن ترجمته إلى لغات متعددة للرجوع إليه. النسخة الإنجليزية فقط من هذا المستند هي التنسيق النهائي والحاسم الذي أصدرته شركة Diodes Incorporated.
دعم الحياة
- لا يُسمح باستخدام منتجات Diodes Incorporated على وجه التحديد كمكونات أساسية في أجهزة أو أنظمة دعم الحياة دون موافقة كتابية صريحة من الرئيس التنفيذي لشركة Diodes Incorporated. كما هو مستخدم هنا:
- A. أجهزة أو أنظمة دعم الحياة هي الأجهزة أو الأنظمة التي:
- تهدف إلى الزرع في الجسم ، أو
- دعم الحياة أو إدامتها والتي قد يؤدي فشلها في الأداء عند استخدامها بشكل صحيح وفقًا لتعليمات الاستخدام الواردة في الملصقات إلى حدوث إصابة كبيرة للمستخدم.
- B. المكون الحاسم هو أي مكون في جهاز أو نظام دعم الحياة يمكن توقع أن يؤدي إخفاقه في الأداء بشكل معقول إلى فشل جهاز دعم الحياة أو التأثير على سلامته أو فعاليته.
- يقر العملاء بأن لديهم كل الخبرة اللازمة في مجال السلامة والتداعيات التنظيمية لأجهزة أو أنظمة دعم الحياة الخاصة بهم، ويقرون ويوافقون على أنهم المسؤولون الوحيدون عن جميع المتطلبات القانونية والتنظيمية والمتعلقة بالسلامة المتعلقة بمنتجاتهم وأي استخدام للثنائيات المنتجات المدمجة في هذه الأجهزة أو الأنظمة ذات الأهمية الحيوية للسلامة ودعم الحياة، بغض النظر عن أي معلومات أو دعم متعلق بالأجهزة أو الأنظمة التي قد تقدمها شركة Diodes Incorporated.
- علاوة على ذلك، يجب على العملاء تعويض Diodes Incorporated وممثليها بشكل كامل ضد أي أضرار ناشئة عن استخدام منتجات Diodes Incorporated في مثل هذه الأجهزة أو الأنظمة الحيوية للسلامة ودعم الحياة.
- حقوق النشر © 2017 ، Diodes Incorporated
- www.diodes.com
المستندات / الموارد
![]() |
الثنائيات AP33772 USB PD بالوعة تحكم Raspberry Pi I2C واجهة [بي دي اف] دليل المستخدم AP33772 وحدة تحكم بالوعة USB PD واجهة Raspberry Pi I2C، AP33772، وحدة تحكم بالوعة USB PD واجهة Raspberry Pi I2C، واجهة Raspberry Pi I2C، واجهة Pi I2C |