डायोड एपी33772 यूएसबी पीडी सिंक नियंत्रक रास्पबेरी पाई आई2सी इंटरफ़ेस
परिचय
- AP33772 सिंक नियंत्रक, USB PD3.0 टाइप C कनेक्टर से सुसज्जित डिवाइस (TCD, एनर्जी सिंक) के प्रोटोकॉल डिवाइस के रूप में काम करता है, जिसका उद्देश्य USB PD3.0 टाइप C कनेक्टर से सुसज्जित PD3.0 से उचित पावर डेटा ऑब्जेक्ट (PDO) का अनुरोध करना है। .XNUMX अनुपालन चार्जर (पीडीसी, ऊर्जा स्रोत)।
- चित्र 1 एक टीसीडी को दर्शाता है, जो PD3.0 सिंक नियंत्रक IC (AP33772) के साथ एम्बेडेड है, PDC से भौतिक रूप से जुड़ा हुआ है, USB PD3.0 डिकोडर (AP43771) के साथ एम्बेडेड है।
- टाइप सी-टू-टाइप सी केबल। अंतर्निहित USB PD3.0 अनुरूप फर्मवेयर के आधार पर, AP33772 और AP43771 जोड़ी उपयुक्त PD3.0 चार्जिंग स्थिति स्थापित करने के लिए USB PD3.0 मानक अनुलग्नक प्रक्रिया से गुजरेगी।
- AP33772 सिंक कंट्रोलर EVB I33772C इंटरफ़ेस के माध्यम से AP2 बिल्ट-इन कमांड भेजकर USB पावर डिलीवरी चार्जर से PDO का अनुरोध करने के लिए सिस्टम डिजाइनर के लिए उपयोग में आसानी और महान बहुमुखी प्रतिभा प्रदान करता है। विशिष्ट सिस्टम डिज़ाइन के लिए MCU प्रोग्रामिंग की आवश्यकता होती है जिसके लिए विशिष्ट सॉफ़्टवेयर (जैसे IDE) सेटअप की आवश्यकता होती है और यह एक समय लेने वाली विकास प्रक्रिया हो सकती है।
- इसके विपरीत, रास्पबेरी पाई (आरपीआई), एक एकल बोर्ड कंप्यूटर (एसबीसी) जो उपयोगकर्ता के अनुकूल लिनक्स ओएस पर चलता है और लचीले जीपीआईओ पिन से सुसज्जित है, पीडी चार्जर के साथ काम करने वाले एपी33772 सिंक ईवीबी को मान्य करने का एक सीधा तरीका प्रदान करता है। इस गाइड का लक्ष्य सिस्टम डिजाइनरों को आरपीआई पर सॉफ्टवेयर सत्यापन को जल्दी से पूरा करने के लिए एक प्रभावी मंच प्रदान करना है और फिर तेजी से बदलाव की बाजार आवश्यकताओं को पूरा करने के लिए विकास को किसी भी वांछनीय एमसीयू में पोर्ट करना है।
- AP33772 EVB उपयोगकर्ता गाइड के पूरक दस्तावेज़ के रूप में, यह उपयोगकर्ता मार्गदर्शिका I33772C इंटरफ़ेस के माध्यम से RPI SBC के साथ AP2 EVB को नियंत्रित करने का एक आसान तरीका बताती है।
- एपी1 के साथ इंटरफेस करने के लिए चित्र 33772 में दर्शाए गए एमसीयू ब्लॉक की भूमिका एक आरपीआई द्वारा निभाई जाती है। यह उपयोगकर्ता मार्गदर्शिका उदाहरण के तौर पर बहुत सारी रजिस्टर परिभाषा और उपयोग संबंधी जानकारी को शामिल करती हैampहालाँकि, पूर्ण और सबसे अद्यतन जानकारी के लिए, कृपया AP33772 EVB उपयोगकर्ता मार्गदर्शिका देखें। (संदर्भ 2 देखें)
- आंकड़ा 1 - एक विशिष्ट टीसीडी यूएसबी टाइप-सी पीडी33772/पीपीएस अनुपालन स्रोत एडाप्टर से बिजली का अनुरोध करने के लिए आई2सी इंटरफेस के साथ एपी3.0 पीडी सिंक नियंत्रक का उपयोग करता है।
सत्यापन प्लेटफ़ॉर्म सेटअप
AP33772 सिंक नियंत्रक EVB
आंकड़ा 2 सिंक नियंत्रक ईवीबी की तस्वीर दिखाता है। इसमें टाइप-सी कनेक्टर, आई2सी पिन, इंटरप्ट के लिए जीपीआईओ3 पिन, ओटीपी के लिए एनटीसी थर्मिस्टर, चार्जिंग स्थिति दिखाने के लिए एलईडी संकेतक और लोड के लिए वाउट कनेक्टर की सुविधा है।
रास्पबेरी पाई ज़ीरो 2W
- RPI का कोई भी नवीनतम संस्करण I33772C पिन के माध्यम से AP2 सिंक कंट्रोलर EVB को नियंत्रित करने में सक्षम है। इस उपयोगकर्ता गाइड में रास्पबेरी पाई जीरो 2 डब्ल्यू (आरपीआई जेड2डब्ल्यू) का उपयोग इसकी लागत प्रभावशीलता और बहुमुखी प्रतिभा के लिए किया जाता है। इसमें सभी आरपीआई के बीच सबसे छोटा फॉर्मफैक्टर है और यह वाईफाई और ब्लूटूथ के साथ एकीकृत है जो अतिरिक्त घटक के बिना वायरलेस कनेक्शन बनाता है। यह AP33772 सिंक कंट्रोलर EVB वैलिडेशन प्लेटफ़ॉर्म के रूप में उद्देश्य को पूरी तरह से पूरा करता है।
- उपयोगकर्ता रास्पबेरी पाई अधिकारी की जांच कर सकता है webअतिरिक्त जानकारी के लिए साइट (https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/)
सत्यापन प्लेटफ़ॉर्म कनेक्शन और पावर अप
आंकड़ा 5 वैलिडेशन प्लेटफ़ॉर्म का संपूर्ण कनेक्शन और सेटअप दिखाता है। उपयोगकर्ता को इन चरणों का पालन करना चाहिए:
- RPI और AP33772 EVB के बीच SCL, SDA और GND पिन कनेक्ट करें
- 65W PD चार्जर और AP33772 EVB को टाइप-सी केबल से कनेक्ट करें
- आरपीआई और पीडी चार्जर को पावर अप करें।
रास्पबेरी पाई सॉफ्टवेयर सेटअप
रास्पबेरी पाई ओएस
- ऐसे कई अलग-अलग ऑपरेटिंग सिस्टम हैं जो RPI का समर्थन करते हैं। इनमें से, रास्पबेरी पाई ओएस को चुना गया है क्योंकि यह आरपीआई आधिकारिक साइट द्वारा सबसे अधिक उपयोग और अनुशंसित है।
ओएस छवि डाउनलोड करें और एसडी कार्ड तैयार करें
- पीसी पर रास्पबेरी पाई इमेजर टूल डाउनलोड और इंस्टॉल करें (https://www.raspberrypi.com/software/). सही OS छवि के साथ लोड किया गया माइक्रो-एसडी तैयार करने के लिए निर्देशों का पालन करें (https://youtu.be/ntaXWS8Lk34/). कृपया ध्यान दें कि 32BG या इससे अधिक का माइक्रो-एसडी कार्ड अनुशंसित है।
रास्पबेरी पीआई ओएस स्थापना
- इमेजर से पहले से लोड किए गए माइक्रो-एसडी कार्ड को आरपीआई के माइक्रो-एसडी स्लॉट में डालें। पावर एडॉप्टर, माउस/कीबोर्ड और एचडीएमआई मॉनिटर को कनेक्ट करें। आरपीआई चालू करें और ओएस इंस्टॉलेशन और बुनियादी सेटअप को पूरा करने के लिए निर्देशों का पालन करें। सुनिश्चित करें कि नवीनतम अपडेट OS पर शामिल हैं।
आवश्यक सुविधाओं का सेटअप
- RPI पर I2C इंटरफ़ेस को सफलतापूर्वक चलाने के लिए, हमें SSH, VNC और I2C सुविधाओं को कॉन्फ़िगर या इंस्टॉल करना होगा।
रास्पबेरी पाई कॉन्फ़िगरेशन - एसएसएच, वीएनसी, आई2सी
- आरपीआई बूट-अप के बाद, "रास्पबेरी पाई कॉन्फिगर" उपयोगिता खोलें और एसएसएच, वीएनसी और आई2सी सुविधाओं को चालू करें।
I2C बॉड दर कॉन्फ़िगरेशन
- /boot/config.txt में dtparam और dtoverlay से संबंधित पंक्तियों को बदलें file साथ:
- dtoverlay=i2c-bcm2708
- dtparam=i2c_arm=on,i2c_arm_baudrate=640000
I2C-उपकरण इंस्टालेशन
- I2C-टूल्स एक टूलसेट है जो रास्पबेरी पाई ओएस के तहत कमांड लाइन पर चलने वाले सरल कमांड प्रदान करता है। OS पर I2C-टूल्स चलाकर इंस्टॉल करें: sudo apt install i2c-tools
SMBus2 इंस्टालेशन
- SMBus2 एक पायथन मॉड्यूल है जो उपयोगकर्ता को पायथन वातावरण के तहत I2C इंटरफ़ेस को नियंत्रित करने के लिए सुविधाजनक फ़ंक्शन प्रदान करता है। OS पर Python के लिए SMBus2 मॉड्यूल चलाकर इंस्टॉल करें: sudo pip3 install sbus2
बेसिक कमांड एक्सampलेस
- यह उपयोगकर्ता मार्गदर्शिका RPI पर I2C इंटरफ़ेस के साथ काम करने के लिए दो अलग-अलग तरीकों को प्रदर्शित करती है। वे I2C-टूल्स यूटिलिटी और पायथन SMBus2 मॉड्यूल हैं। इस अनुभाग में दोनों विधियों के मूल आदेश प्रस्तुत किए गए हैं।
I2C-टूल्स कमांड एक्सampलेस
- I2C-टूल्स उपयोगिता पैकेज i2cdetect, i2cget, और i2cset कमांड प्रदान करता है। सरलीकृत उपयोग पूर्व में वर्णित हैंampइस अनुभाग के अंतर्गत les. I2C-टूल्स उपयोगिता के बारे में पूरी जानकारी के लिए कृपया देखें https://linuxhint.com/i2c-linux-utilities/.
- तालिका 1 इस अनुभाग में कमांड उपयोग को पचाने के लिए उपयोगकर्ता की सुविधा के लिए AP33772 रजिस्टर सारांश दिखाती है। संपूर्ण रजिस्टर जानकारी के लिए, कृपया AP33772 सिंक कंट्रोलर EVB उपयोगकर्ता गाइड देखें।
पंजीकरण करवाना | आज्ञा | लंबाई | गुण | पावर ऑन | विवरण |
एसआरसीपीडीओ |
0x00 |
28 |
RO |
सभी 00 बजे |
पावर डेटा ऑब्जेक्ट (पीडीओ) का उपयोग पीडी सोर्स (एसआरसी) पावर क्षमताओं को उजागर करने के लिए किया जाता है।
कुल लंबाई 28 बाइट्स है |
पीडीओनम | 0x1C | 1 | RO | 00 घंटे | वैध स्रोत पीडीओ नंबर |
स्थिति | 0x1डी | 1 | RC | 00 घंटे | एपी33772 स्थिति |
नकाब | 0x1ई | 1 | RW | 01 घंटे | इंटरप्ट इनेबल मास्क |
वॉल्यूमTAGE | 0x20 | 1 | RO | 00 घंटे | एलएसबी 80एमवी |
मौजूदा | 0x21 | 1 | RO | 00 घंटे | एलएसबी 24एमए |
अस्थायी | 0x22 | 1 | RO | 19 घंटे | तापमान, इकाई: डिग्री सेल्सियस |
ओसीपीटीएचआर | 0x23 | 1 | RW | 00 घंटे | OCP थ्रेशोल्ड, LSB 50mA |
ओटीपीटीएचआर | 0x24 | 1 | RW | 78 घंटे | ओटीपी सीमा, इकाई: डिग्री सेल्सियस |
डीआरटीएचआर | 0x25 | 1 | RW | 78 घंटे | डी-रेटिंग सीमा, इकाई: डिग्री सेल्सियस |
टीआर25 | 0x28 | 2 | RW | 2710 घंटे | थर्मल प्रतिरोध @25°C, इकाई: Ω |
टीआर50 | 0x2ए | 2 | RW | 1041 घंटे | थर्मल प्रतिरोध @50°C, इकाई: Ω |
टीआर75 | 0x2C | 2 | RW | 0788 घंटे | थर्मल प्रतिरोध @75°C, इकाई: Ω |
टीआर100 | 0x2ई | 2 | RW | 03सीएच | थर्मल प्रतिरोध @100°C, इकाई: Ω |
आरडीओ | 0x30 | 4 | WO | 00000000 घंटे | अनुरोध डेटा ऑब्जेक्ट (आरडीओ) का उपयोग बिजली क्षमताओं का अनुरोध करने के लिए किया जाता है। |
वीडियो | 0x34 | 2 | RW | 0000 घंटे | विक्रेता आईडी, भविष्य के अनुप्रयोगों के लिए आरक्षित |
पीआईडी | 0x36 | 2 | RW | 0000 घंटे | उत्पाद आईडी, भविष्य के अनुप्रयोगों के लिए आरक्षित |
आरक्षित | 0x38 | 4 | – | – | भविष्य के अनुप्रयोगों के लिए आरक्षित |
तालिका 1 - एपी33772 रजिस्टर सारांश
I2C से जुड़े सभी उपकरणों का पता लगाएं - i2cdetect
- वर्तमान में I2C-2 बस से जुड़े सभी i1c उपकरणों को प्रदर्शित करने के लिए, कमांड प्रॉम्प्ट के तहत निम्नलिखित टाइप करें: i2cdetect -y 1
- यदि AP33772 सिंक नियंत्रक EVB संलग्न है, तो उपयोगकर्ता को यह देखना चाहिए कि डिवाइस 0x51 पते पर संलग्न है
एसआरसीपीडीओ पढ़ें (0x00~0x1B)
- i2cget कमांड 2 बाइट्स से अधिक लंबे ब्लॉक को पढ़ने का समर्थन नहीं करता है। उपयोगकर्ता को सभी 28-बाइट लंबे पीडीओ डेटा को प्रदर्शित करने के लिए "फॉर लूप" का उपयोग करने की आवश्यकता है। सभी पीडीओ डेटा प्रदर्शित करने के लिए, {0..27} में i के लिए बैश कमांड प्रॉम्प्ट के अंतर्गत निम्नलिखित टाइप करें; do i2cget -y 1 0x51 $ib; पूर्ण
- 28 पीडीओ का प्रतिनिधित्व करने वाला 7-बाइट डेटा प्रदर्शित किया जाएगा
PDONUM पढ़ें (0x1C)
- वैध पीडीओ की कुल संख्या प्रदर्शित करने के लिए, कमांड प्रॉम्प्ट के तहत निम्नलिखित टाइप करें: i2cget -y 1 0x51 0x1c b
स्थिति पढ़ें (0x1D)
- यह कमांड डी-रेटिंग, ओटीपी, ओसीपी, ओवीपी, अनुरोध अस्वीकृत, अनुरोध पूर्ण और तैयार सहित सिंक नियंत्रक की स्थिति की रिपोर्ट करता है। स्थिति की जानकारी प्रदर्शित करने के लिए, कमांड प्रॉम्प्ट के अंतर्गत निम्नलिखित टाइप करें: i2cget -y 1 0x51 0x1d b
- उपयोगकर्ता को प्रत्येक आरडीओ अनुरोध के बाद पूर्ण बिट को पढ़कर सफल आरडीओ अनुरोध सुनिश्चित करने के लिए इस कमांड का उपयोग करना चाहिए। 4.1.5 मास्क लिखें (0x1ई)
- यह कमांड AP3 के GPIO33772 पिन के माध्यम से होस्ट को सिग्नल देने वाले इंटरप्ट को सक्षम करता है। व्यवधानों में व्युत्पन्न, ओटीपी, ओसीपी, ओवीपी, अनुरोध अस्वीकृत, अनुरोध पूर्ण और तैयार शामिल हैं। किसी विशिष्ट व्यवधान को सक्षम करने के लिए, संबंधित बिट को एक पर सेट करें। पूर्व के लिएampले, OCP इंटरप्ट को सक्षम करने के लिए, कमांड प्रॉम्प्ट के तहत निम्नलिखित टाइप करके MASK रजिस्टर के बिट 4 को एक पर सेट करें: i2cset -y 1 0x51 0x1e 0x10 b
- OCP सुरक्षा ट्रिगर होने पर AP3 का GPIO33772 पिन ऊंचा हो जाएगा।
वॉल्यूम पढ़ेंTAGई (0x20)
- यह आदेश वॉल्यूम की रिपोर्ट करता हैtagई को AP33772 सिंक नियंत्रक द्वारा मापा गया। वॉल्यूम की रिपोर्ट करने के लिएtagई, कमांड प्रॉम्प्ट के अंतर्गत निम्नलिखित टाइप करें: i2cget -y 1 0x51 0x20 b
- रिपोर्ट किए गए मान की एक इकाई 80mV का प्रतिनिधित्व करती है।
वर्तमान पढ़ें (0x21)
- यह कमांड AP33772 सिंक नियंत्रक द्वारा मापी गई धारा की रिपोर्ट करता है। वर्तमान की रिपोर्ट करने के लिए, कमांड प्रॉम्प्ट के अंतर्गत निम्नलिखित टाइप करें: i2cget -y 1 0x51 0x21 b
- रिपोर्ट किए गए मान की एक इकाई 24mA का प्रतिनिधित्व करती है।
TEMP पढ़ें (0x22)
- यह कमांड AP33772 सिंक नियंत्रक द्वारा मापे गए तापमान की रिपोर्ट करता है। तापमान की रिपोर्ट करने के लिए, कमांड प्रॉम्प्ट के अंतर्गत निम्नलिखित टाइप करें:
i2cget -y 1 0x51 0x22 बी - रिपोर्ट किए गए मान की एक इकाई 1°C का प्रतिनिधित्व करती है।
- OCPTHR (0x23), OTPTHR (0x24), और DRTHR (0x25) पढ़ें और लिखें
- OCP, OTP और व्युत्पन्न थ्रेसहोल्ड को OCPTHR, OTPTHR और DRTHR रजिस्टरों में मान लिखकर उपयोगकर्ता वांछनीय मानों में बदला जा सकता है। एक पूर्व के रूप मेंampले, OCP थ्रेशोल्ड को 3.1A में बदलने के लिए, उपयोगकर्ता को कमांड प्रॉम्प्ट के तहत निम्नलिखित टाइप करके 0x3E (=3100/50=62=0x3E) को OCPTHR पर लिखना चाहिए: i2cset -y 1 0x51 0x23 0x3e b
- ओटीपी सीमा को 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 b
- TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D), और TR100 (0x2E~0x2F) पढ़ें और लिखें
- एक मुराटा 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) हैं। इन रजिस्टरों में संबंधित मान लिखने के लिए, कमांड प्रॉम्प्ट के अंतर्गत निम्नलिखित टाइप करें:
- 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-बाइट शब्द हैं। चूंकि कमांड सीधे 2-बाइट शब्द को संभालते हैं, इसलिए उपयोगकर्ताओं को यहां छोटे एंडियन बाइट ऑर्डर के बारे में चिंता करने की ज़रूरत नहीं है।
आरडीओ लिखें (0x30~0x33)
- पीडीओ अनुरोध बातचीत प्रक्रिया शुरू करने के लिए, 4-बाइट डेटा को छोटे-एंडियन बाइट क्रम में आरडीओ (रिक्वेस्ट डेटा ऑब्जेक्ट) रजिस्टर में लिखा जाता है। पूर्व के रूप मेंampले, 3वी और 15ए के साथ पीडीओ3 का अनुरोध करने के लिए, आरडीओ रजिस्टर पर 0x3004बी12सी लिखा जाएगा। कमांड प्रॉम्प्ट के अंतर्गत निम्नलिखित टाइप करें: i2cset -y 1 0x51 0x30 0x2c 0xb1 0x04 0x30 i
- छोटे एंडियन बाइट ऑर्डर नोटेशन को फिट करने के लिए सबसे कम महत्वपूर्ण बाइट (0x2C) को पहले लिखा जाना चाहिए। कृपया एपी9 सिंक नियंत्रक ईवीबी उपयोगकर्ता की तालिका 10 और तालिका 33772 देखें
- विस्तृत आरडीओ सामग्री जानकारी के लिए मार्गदर्शिका।
- उपयोगकर्ता पूर्ण-शून्य डेटा के साथ RDO रजिस्टर लिखकर हार्ड रीसेट जारी कर सकता है: i2cset -y 1 0x51 0x30 0x00 0x00 0x00 0x00 i
- AP33772 सिंक नियंत्रक को उसकी प्रारंभिक स्थिति में रीसेट कर दिया जाएगा और आउटपुट बंद कर दिया जाएगा।
पायथन SMBus2 कमांड एक्सampलेस
- पायथन अपने विभिन्न प्रकार के समर्थित मॉड्यूल के लिए अधिक लोकप्रिय हो रहा है। SMBus2 उनमें से एक है और I2C पढ़ने और लिखने के आदेशों को संभालने में सक्षम है। SMBus2 read_byte_data, read_word_data, read_i2c_block_data, write_byte_data, write_word_data, write_i2c_block_data कमांड प्रदान करता है। सरलीकृत उपयोग पूर्व में वर्णित हैंampइस अनुभाग के अंतर्गत les. SMBus2 मॉड्यूल के बारे में पूरी जानकारी के लिए कृपया देखें https://smbus2.readthedocs.io/en/latest/.
एसआरसीपीडीओ पढ़ें (0x00~0x1B)
- SMBus.read_i2c_block_data 32-बाइट ब्लॉक डेटा रीड तक का समर्थन करने के लिए एक प्रभावी कमांड है। सभी 28-बाइट पीडीओ डेटा को पढ़ने के लिए, Python3 वातावरण के अंतर्गत निम्नलिखित का उपयोग करें:
- SMBus.read_i2c_block_data(0x51, 0x00, 28)
- 28 पीडीओ का प्रतिनिधित्व करने वाला 7 एक-बाइट डेटा सूची डेटा संरचना में लौटाया जाएगा।
PDONUM पढ़ें (0x1C)
- वैध पीडीओ की कुल संख्या पढ़ने के लिए, Python3 वातावरण के अंतर्गत निम्नलिखित का उपयोग करें:
- SMBus.read_byte_data(0x51, 0x1c)
- वैध पीडीओ गिनती का प्रतिनिधित्व करने वाला एक बाइट डेटा वापस कर दिया जाएगा।
स्थिति पढ़ें (0x1D)
- यह कमांड व्युत्पन्न, ओटीपी, ओसीपी, ओवीपी, अनुरोध अस्वीकृत, अनुरोध पूर्ण और तैयार सहित सिंक नियंत्रक की स्थिति की रिपोर्ट करता है। स्थिति की जानकारी पढ़ने के लिए, Python3 वातावरण के अंतर्गत निम्नलिखित का उपयोग करें:
- SMBus.read_byte_data(0x51, 0x1d)
- उपयोगकर्ता प्रत्येक आरडीओ अनुरोध के बाद पूर्ण बिट को पढ़कर सफल आरडीओ अनुरोध सुनिश्चित करने के लिए इस कमांड का उपयोग कर सकता है।
मास्क लिखें (0x1E)
- यह कमांड AP3 के GPIO33772 पिन के माध्यम से होस्ट को सिग्नल देने वाले इंटरप्ट को सक्षम करता है। व्यवधानों में व्युत्पन्न, ओटीपी, ओसीपी, ओवीपी, अनुरोध अस्वीकृत, अनुरोध शामिल हैं
- पूरा, और तैयार. किसी विशिष्ट व्यवधान को सक्षम करने के लिए, संबंधित बिट को एक पर सेट करें। पूर्व के लिएampले, OCP इंटरप्ट को सक्षम करने के लिए, Python4 वातावरण के अंतर्गत निम्नलिखित का उपयोग करके MASK रजिस्टर के बिट 3 को एक पर सेट करें:
- SMBus.write_byte_data(0x51, 0x1e, 0x10)
- OCP सुरक्षा ट्रिगर होने पर AP3 का GPIO33772 पिन ऊंचा हो जाएगा।
वॉल्यूम पढ़ेंTAGई (0x20)
- यह आदेश वॉल्यूम की रिपोर्ट करता हैtagई को AP33772 सिंक नियंत्रक द्वारा मापा गया। वॉल्यूम की रिपोर्ट करने के लिएtagई, Python3 वातावरण के अंतर्गत निम्नलिखित का उपयोग करें:
- SMBus.read_byte_data(0x51, 0x20)
- रिपोर्ट किए गए मान की एक इकाई 80mV का प्रतिनिधित्व करती है।
वर्तमान पढ़ें (0x21)
- यह कमांड AP33772 सिंक नियंत्रक द्वारा मापी गई धारा की रिपोर्ट करता है। वर्तमान की रिपोर्ट करने के लिए, Python3 वातावरण के अंतर्गत निम्नलिखित का उपयोग करें
- SMBus.read_byte_data(0x51, 0x21)
- रिपोर्ट किए गए मान की एक इकाई 24mA का प्रतिनिधित्व करती है।
TEMP पढ़ें (0x22)
- यह कमांड AP33772 सिंक नियंत्रक द्वारा मापे गए तापमान की रिपोर्ट करता है। तापमान की रिपोर्ट करने के लिए, Python3 वातावरण के अंतर्गत निम्नलिखित का उपयोग करें:
- SMBus.read_byte_data(0x51, 0x22)
- रिपोर्ट किए गए मान की एक इकाई 1°C का प्रतिनिधित्व करती है।
OCPTHR (0x23), OTPTHR (0x24), और DRTHR (0x25) पढ़ें और लिखें
- OCP, OTP और व्युत्पन्न थ्रेसहोल्ड को OCPTHR, OTPTHR और DRTHR रजिस्टरों में मान लिखकर उपयोगकर्ता वांछनीय मानों में बदला जा सकता है। एक पूर्व के रूप मेंampले, OCP थ्रेशोल्ड को 3.1A में बदलने के लिए, उपयोगकर्ता को Python0 वातावरण के तहत निम्नलिखित का उपयोग करके 3x3100E (=50/62=0=3x3E) को OCPTHR पर लिखना चाहिए: SMBus.write_byte_data(0x51, 0x23, 0x3e)
- OTP सीमा को 110°C में बदलने के लिए, उपयोगकर्ता को Python0 वातावरण के अंतर्गत निम्नलिखित का उपयोग करके 6x110E (=3) को OTPTHR पर लिखना चाहिए: SMBus.write_byte_data(0x51, 0x24, 0x6e)
- व्युत्पन्न सीमा को 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) पढ़ें और लिखें
- एक मुराटा 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(0x51, 0x2e)
- रिटर्न मान भी 2-बाइट शब्द हैं। चूंकि कमांड सीधे 2-बाइट शब्द को संभालते हैं, इसलिए उपयोगकर्ताओं को यहां छोटे एंडियन बाइट ऑर्डर के बारे में चिंता करने की ज़रूरत नहीं है।
आरडीओ लिखें (0x30~0x33)
- पीडीओ अनुरोध बातचीत प्रक्रिया शुरू करने के लिए, 4-बाइट डेटा को छोटे-एंडियन बाइट क्रम में आरडीओ (रिक्वेस्ट डेटा ऑब्जेक्ट) रजिस्टर में लिखा जाता है। पूर्व के रूप मेंampले, 3वी और 15ए के साथ पीडीओ3 का अनुरोध करने के लिए, आरडीओ रजिस्टर पर 0x3004बी12सी लिखा जाएगा। Python3 वातावरण के अंतर्गत निम्नलिखित का उपयोग करें:
- SMBus.write_i2c_block_data(0x51, 0x30, [0x2c, 0xb1, 0x04, 0x30])
- कृपया विस्तृत आरडीओ सामग्री जानकारी के लिए AP9 सिंक कंट्रोलर EVB उपयोगकर्ता गाइड की तालिका 10 और तालिका 33772 देखें।
- उपयोगकर्ता पूर्ण-शून्य डेटा के साथ आरडीओ रजिस्टर लिखकर हार्ड रीसेट जारी कर सकता है:
- SMBus.write_i2c_block_data(0x51, 0x30, [0x00, 0x00, 0x00, 0x00])
- AP33772 सिंक नियंत्रक को उसकी प्रारंभिक स्थिति में रीसेट कर दिया जाएगा और आउटपुट बंद कर दिया जाएगा।
प्रैक्टिकल पूर्वampलेस
Example 1: बैश I2C-टूल्स एक्सampले: ap33772_querypdo.bash
यह भूतपूर्वampवह सभी वैध पीडीओ की जांच करता है और वॉल्यूम सूचीबद्ध करता हैtagई और वर्तमान क्षमता की जानकारी बाहर।
कोड विवरण
कोड निष्पादन और आउटपुट
Example 2: पायथन SMBus2 Exampले: ap33772_allpdo.py3
यह भूतपूर्वampवह सभी वैध पीडीओ की जांच करता है और उनसे ऊपर और नीचे क्रम में एक-एक करके अनुरोध करता है।
कोड विवरण
कोड निष्पादन और आउटपुट
Exampले कोड डाउनलोड
पूर्व की सूचीampले कोड
- Exampले कोड में बैश स्क्रिप्ट और पायथन संस्करण हैं
- ap33772_querypdo: सभी पीडीओ सूचनाओं पर सवाल उठाता है
- ap33772_reqpdo: सभी पीडीओ सूचनाओं की रिपोर्ट करता है और उपयोगकर्ता द्वारा निर्दिष्ट पीडीओ अनुरोध भेजता है
- ap33772_allpdo: सभी पीडीओ सूचनाओं की रिपोर्ट करता है और सभी पीडीओ अनुरोधों को ऊपर और नीचे तरीके से पूरा करता है
- एपी33772_पीपीएस: सभी पीडीओ जानकारी की रिपोर्ट करता है, और आरampसंपूर्ण पीपीएस खंड ऊपर और नीचे हैtagई रेंज 50mV चरण आकार में
- एपी33772_विट: रिपोर्ट खंडtagई, वर्तमान और तापमान की जानकारी
Exampले डाउनलोड साइट
Example कोड जीथब से डाउनलोड किए जा सकते हैं। डाउनलोड करने के लिए निम्नलिखित कमांड जारी करें: git क्लोन 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/
- रास्पबेरी पाई ज़ीरो 2 डब्ल्यू: https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/
- रास्पबेरी पाई ओएस: https://www.raspberrypi.com/software/
- I2C-टूल्स उपयोगिता: https://linuxhint.com/i2c-linux-utilities/
- SMBus2 मॉड्यूल: https://smbus2.readthedocs.io/en/latest/
संशोधन इतिहास
दोहराव | जारी करने की तिथि | टिप्पणी | लेखक |
1.0 | 4/15/2022 | प्रारंभिक रिहाई | एडवर्ड झाओ |
महत्वपूर्ण सूचना
- डायोड निगमित इस दस्तावेज़ के संबंध में किसी भी प्रकार की, व्यक्त या निहित, कोई वारंटी नहीं देता है, जिसमें किसी विशेष उद्देश्य के लिए व्यापारिकता और उपयुक्तता (और किसी भी क्षेत्राधिकार के कानून के तहत उनके समकक्ष) की निहित वारंटी शामिल है, लेकिन इन्हीं तक सीमित नहीं है।
- डायोड्स इनकॉर्पोरेटेड और इसकी सहायक कंपनियां इस दस्तावेज़ और यहां वर्णित किसी भी उत्पाद में बिना किसी सूचना के संशोधन, संवर्द्धन, सुधार, सुधार या अन्य परिवर्तन करने का अधिकार सुरक्षित रखती हैं। डायोड इनकॉर्पोरेटेड इस दस्तावेज़ या यहां वर्णित किसी भी उत्पाद के अनुप्रयोग या उपयोग से उत्पन्न होने वाली किसी भी देनदारी को स्वीकार नहीं करता है; न तो डायोड्स इनकॉर्पोरेटेड अपने पेटेंट या ट्रेडमार्क अधिकारों, न ही दूसरों के अधिकारों के तहत कोई लाइसेंस देता है। इस दस्तावेज़ या ऐसे अनुप्रयोगों में वर्णित उत्पादों का कोई भी ग्राहक या उपयोगकर्ता इस तरह के उपयोग के सभी जोखिमों को स्वीकार करेगा और डायोड इनकॉर्पोरेटेड और उन सभी कंपनियों को रखने के लिए सहमत होगा जिनके उत्पाद डायोड इनकॉर्पोरेटेड पर दर्शाए गए हैं। webसाइट, सभी नुकसानों के खिलाफ हानिरहित।
- अनधिकृत बिक्री चैनलों के माध्यम से खरीदे गए किसी भी उत्पाद के संबंध में डायोड इनकॉर्पोरेटेड किसी भी तरह की देनदारी की गारंटी या स्वीकार नहीं करता है।
क्या ग्राहकों को किसी भी अनपेक्षित या अनधिकृत अनुप्रयोग के लिए डायोड शामिल उत्पादों को खरीदना या उपयोग करना चाहिए, ग्राहक क्षतिपूर्ति करेंगे और डायोड को अपने पास रखेंगे। - निगमित और उसके प्रतिनिधि ऐसे अनपेक्षित या अनधिकृत आवेदन से जुड़े व्यक्तिगत चोट या मृत्यु के किसी भी दावे से प्रत्यक्ष या अप्रत्यक्ष रूप से उत्पन्न होने वाले सभी दावों, क्षति, खर्चों और वकील की फीस के प्रति हानिरहित थे।
- यहां वर्णित उत्पादों को एक या एक से अधिक संयुक्त राज्य, अंतरराष्ट्रीय या विदेशी पेटेंट लंबित द्वारा कवर किया जा सकता है। यहां नोट किए गए उत्पाद नाम और चिह्न एक या अधिक संयुक्त राज्य अमेरिका, अंतर्राष्ट्रीय या विदेशी ट्रेडमार्क द्वारा कवर किए जा सकते हैं।
- यह दस्तावेज़ अंग्रेजी में लिखा गया है लेकिन संदर्भ के लिए इसका कई भाषाओं में अनुवाद किया जा सकता है। इस दस्तावेज़ का केवल अंग्रेजी संस्करण डायोड्स इनकॉर्पोरेटेड द्वारा जारी अंतिम और निर्धारक प्रारूप है।
जीवन समर्थन
- डायोड्स शामिल उत्पादों को विशेष रूप से डायोड्स शामिल के मुख्य कार्यकारी अधिकारी की लिखित स्वीकृति के बिना जीवन समर्थन उपकरणों या प्रणालियों में महत्वपूर्ण घटकों के रूप में उपयोग करने के लिए अधिकृत नहीं किया गया है। जैसा कि यहां प्रयोग किया गया है:
- A. लाइफ सपोर्ट डिवाइस या सिस्टम ऐसे डिवाइस या सिस्टम हैं जो:
- शरीर में प्रत्यारोपित करने का इरादा है, या
- समर्थन या जीवन को बनाए रखना और लेबलिंग में दिए गए उपयोग के निर्देशों के अनुसार उचित रूप से उपयोग किए जाने पर प्रदर्शन करने में विफलता से उपयोगकर्ता को महत्वपूर्ण चोट लगने की उम्मीद की जा सकती है।
- B. एक महत्वपूर्ण घटक जीवन समर्थन उपकरण या प्रणाली में कोई भी घटक है जिसके प्रदर्शन में विफलता से जीवन समर्थन उपकरण की विफलता या इसकी सुरक्षा या प्रभावशीलता को प्रभावित करने की उचित उम्मीद की जा सकती है।
- ग्राहक दर्शाते हैं कि उनके पास अपने जीवन समर्थन उपकरणों या प्रणालियों की सुरक्षा और नियामक प्रभावों में सभी आवश्यक विशेषज्ञता है, और वे स्वीकार करते हैं और सहमत हैं कि वे अपने उत्पादों और डायोड के किसी भी उपयोग से संबंधित सभी कानूनी, नियामक और सुरक्षा-संबंधी आवश्यकताओं के लिए पूरी तरह जिम्मेदार हैं। ऐसे सुरक्षा-महत्वपूर्ण, जीवन समर्थन उपकरणों या प्रणालियों में शामिल उत्पाद, किसी भी उपकरण- या सिस्टम-संबंधी जानकारी या समर्थन के बावजूद जो डायोड इनकॉर्पोरेटेड द्वारा प्रदान किया जा सकता है।
- इसके अलावा, ग्राहकों को ऐसे सुरक्षा-महत्वपूर्ण, जीवन-समर्थन उपकरणों या प्रणालियों में डायोड इनकॉर्पोरेटेड उत्पादों के उपयोग से होने वाले किसी भी नुकसान के लिए डायोड इनकॉर्पोरेटेड और उसके प्रतिनिधियों को पूरी तरह से क्षतिपूर्ति करनी चाहिए।
- कॉपीराइट © 2017, डायोड्स शामिल
- www.diodes.com
दस्तावेज़ / संसाधन
![]() |
डायोड एपी33772 यूएसबी पीडी सिंक नियंत्रक रास्पबेरी पाई आई2सी इंटरफ़ेस [पीडीएफ] उपयोगकर्ता गाइड AP33772 USB PD सिंक नियंत्रक रास्पबेरी Pi I2C इंटरफ़ेस, AP33772, USB PD सिंक नियंत्रक रास्पबेरी Pi I2C इंटरफ़ेस, रास्पबेरी Pi I2C इंटरफ़ेस, Pi I2C इंटरफ़ेस |