DIODES AP33772 USB PD सिंक नियन्त्रक रास्पबेरी Pi I2C इन्टरफेस
परिचय
- AP33772 सिंक कन्ट्रोलर, USB PD3.0 Type C कनेक्टर-सुसज्जित यन्त्र (TCD, Energy Sink) को प्रोटोकल उपकरणको रूपमा काम गर्ने, USB PD3.0 Type C कनेक्टर-सुसज्जित PD3.0 बाट उचित पावर डेटा वस्तु (PDO) अनुरोध गर्नको लागि हो। .XNUMX अनुपालन चार्जर (PDC, ऊर्जा स्रोत)।
- चित्र 1 ले PD3.0 सिंक कन्ट्रोलर IC (AP33772) सँग इम्बेड गरिएको TCD लाई चित्रण गर्दछ, PDC मा भौतिक रूपमा जडान गरिएको छ, USB PD3.0 डिकोडर (AP43771) मार्फत इम्बेड गरिएको छ।
- C-to-Type C केबल टाइप गर्नुहोस्। बिल्ट-इन USB PD3.0 अनुरूप फर्मवेयरमा आधारित, AP33772 र AP43771 जोडीले उपयुक्त PD3.0 चार्जिङ अवस्था स्थापना गर्न USB PD3.0 मानक संलग्न प्रक्रिया मार्फत जानेछ।
- AP33772 सिंक कन्ट्रोलर EVB ले I33772C इन्टरफेस मार्फत AP2 बिल्ट-इन आदेशहरू पठाएर USB पावर डेलिभरी चार्जरबाट PDOs अनुरोध गर्न प्रणाली डिजाइनरको लागि प्रयोगमा सजिलो र उत्कृष्ट बहुमुखी प्रतिभा प्रदान गर्दछ। सामान्य प्रणाली डिजाइनमा MCU प्रोग्रामिङ आवश्यक हुन्छ जसलाई विशिष्ट सफ्टवेयर (जस्तै IDE) सेटअप चाहिन्छ र समय-उपभोग गर्ने विकास प्रक्रिया हुन सक्छ।
- यसको विपरित, Raspberry Pi (RPI), एक एकल बोर्ड कम्प्युटर (SBC) प्रयोगकर्ता-अनुकूल लिनक्स OS मा चलिरहेको छ र लचिलो GPIO पिनहरूसँग सुसज्जित छ, PD चार्जरसँग काम गर्ने AP33772 सिंक EVB प्रमाणित गर्न एक सीधा तरिका प्रदान गर्दछ। यस गाइडको लक्ष्य प्रणाली डिजाइनरहरूलाई RPI मा सफ्टवेयर प्रमाणीकरण द्रुत रूपमा पूरा गर्न र त्यसपछि विकासलाई कुनै पनि वांछनीय MCU मा द्रुत टर्नअराउंड बजार आवश्यकताहरू पूरा गर्नको लागि एक प्रभावकारी प्लेटफर्म प्रदान गर्नु हो।
- AP33772 EVB प्रयोगकर्ता गाइडको पूरक कागजातको रूपमा, यो प्रयोगकर्ता गाइडले I33772C इन्टरफेस मार्फत RPI SBC सँग AP2 EVB नियन्त्रण गर्ने सजिलो तरिकालाई चित्रण गर्छ।
- AP1 सँग इन्टरफेस गर्न चित्र १ मा चित्रण गरिएको MCU ब्लकको भूमिका RPI द्वारा खेलिएको छ। यो प्रयोगकर्ता गाइडले धेरै दर्ता परिभाषा र पूर्वको रूपमा प्रयोग जानकारी समावेश गर्दछamples, यद्यपि, पूर्ण र सबैभन्दा अद्यावधिक जानकारीको लागि, कृपया AP33772 EVB प्रयोगकर्ता गाइड हेर्नुहोस्। (सन्दर्भ २ हेर्नुहोस्)
- चित्र १ - एक विशिष्ट TCD ले USB Type-C PD33772/PPS अनुपालन स्रोत एडाप्टरबाट पावर अनुरोध गर्न I2C इन्टरफेसको साथ AP3.0 PD सिंक कन्ट्रोलर प्रयोग गर्दछ।
प्रमाणीकरण प्लेटफर्म सेटअप
AP33772 सिंक नियन्त्रक EVB
चित्र १ सिंक नियन्त्रक EVB को तस्वीर देखाउँछ। यसमा Type-C कनेक्टर, I2C पिन, Interrupt को लागि GPIO3 पिन, OTP को लागी NTC Thermistor, LED इन्डिकेटरहरु चार्ज गर्ने स्थिति देखाउन र लोडमा Vout कनेक्टर रहेको छ।
रास्पबेरी पाई शून्य 2W
- RPI को कुनै पनि नवीनतम संस्करण I33772C पिन मार्फत AP2 सिंक कन्ट्रोलर EVB नियन्त्रण गर्न सक्षम छ। A Raspberry Pi Zero 2 W (RPI Z2W) यसको लागत प्रभावकारिता र बहुमुखी प्रतिभाको लागि यो प्रयोगकर्ता गाइडमा प्रयोग गरिएको छ। यसमा सबै RPI हरू मध्ये सबैभन्दा सानो फारमफ्याक्टर छ र WiFi र ब्लुटुथसँग एकीकृत छ जसले अतिरिक्त कम्पोनेन्ट बिना वायरलेस जडान बनाउँछ। यसले AP33772 सिंक कन्ट्रोलर EVB प्रमाणीकरण प्लेटफर्मको रूपमा उद्देश्यलाई पूर्ण रूपमा सर्भर गर्दछ।
- प्रयोगकर्ताले रास्पबेरी पाई आधिकारिक जाँच गर्न सक्छ webथप जानकारीको लागि साइट (https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/)
प्रमाणीकरण प्लेटफर्म जडान र पावर अप
चित्र १ प्रमाणीकरण प्लेटफर्मको पूर्ण जडान र सेटअप देखाउँछ। प्रयोगकर्ताले यी चरणहरू पालना गर्नुपर्छ:
- RPI र AP33772 EVB बीच SCL, SDA र GND पिनहरू जडान गर्नुहोस्
- 65W PD चार्जर र AP33772 EVB लाई टाइप-सी केबलले जडान गर्नुहोस्
- RPI र PD चार्जरलाई पावर अप गर्नुहोस्।
रास्पबेरी पाई सफ्टवेयर सेटअप
रास्पबेरी पाई ओएस
- त्यहाँ धेरै फरक अपरेटिङ सिस्टमहरू छन् जसले RPI समर्थन गर्दछ। यी मध्ये, Raspberry Pi OS छनोट गरिएको छ किनभने यो RPI आधिकारिक साइट द्वारा सबैभन्दा धेरै प्रयोग र सिफारिस गरिएको हो।
OS छवि डाउनलोड गर्नुहोस् र SD कार्ड तयार गर्नुहोस्
- PC मा Raspberry Pi Imager उपकरणहरू डाउनलोड र स्थापना गर्नुहोस् (https://www.raspberrypi.com/software/)। सही OS छवि (https://youtu.be/ntaXWS8Lk34/)। कृपया ध्यान दिनुहोस् कि 32BG वा माथिको माइक्रो-SD कार्ड सिफारिस गरिएको छ।
रास्पबेरी पीआई ओएस स्थापना
- RPI को माइक्रो-SD स्लटमा पहिले इमेजरले लोड गरिएको माइक्रो-SD कार्ड घुसाउनुहोस्। पावर एडाप्टर, माउस/किबोर्ड, र HDMI मनिटर जडान गर्नुहोस्। RPI मा पावर गर्नुहोस् र OS स्थापना र आधारभूत सेटअप पूरा गर्न निर्देशनहरू पालना गर्नुहोस्। सुनिश्चित गर्नुहोस् कि नवीनतम अद्यावधिकहरू OS मा समावेश छन्।
आवश्यक सुविधाहरूको सेटअप
- RPI मा I2C इन्टरफेस सफलतापूर्वक चलाउनको लागि, हामीले SSH, VNC, र I2C सुविधाहरू कन्फिगर वा स्थापना गर्नुपर्छ।
रास्पबेरी पाई कन्फिग - SSH, VNC, I2C
- RPI बुट-अप पछि, "रास्पबेरी Pi कन्फिगर" उपयोगिता खोल्नुहोस् र SSH, VNC, र I2C सुविधाहरू खोल्नुहोस्।
I2C बाउड दर कन्फिगरेसन
- /boot/config.txt मा dtparam र dtoverlay सम्बन्धी लाइनहरू बदल्नुहोस् file संग:
- dtoverlay=i2c-bcm2708
- dtparam=i2c_arm=on,i2c_arm_baudrate=640000
I2C-उपकरण स्थापना
- I2C-Tools एक टूलसेट हो जसले Raspberry Pi OS अन्तर्गत कमाण्ड लाइनमा चलिरहेको साधारण आदेशहरू प्रदान गर्दछ। चलाएर OS मा I2C-Tools स्थापना गर्नुहोस्: sudo apt install i2c-tools
SMBus2 स्थापना
- SMBus2 एक पाइथन मोड्युल हो जसले प्रयोगकर्तालाई पाइथन वातावरण अन्तर्गत I2C इन्टरफेस नियन्त्रण गर्नका लागि सुविधाजनक कार्यहरू प्रदान गर्दछ। चलाएर OS मा पाइथनको लागि SMBus2 मोड्युल स्थापना गर्नुहोस्: sudo pip3 smbus2 स्थापना गर्नुहोस्
आधारभूत आदेश पूर्वampलेस
- यो प्रयोगकर्ता गाइडले RPI मा I2C इन्टरफेससँग काम गर्न दुई फरक तरिकाहरू देखाउँछ। तिनीहरू I2C-उपकरण उपयोगिता र पाइथन SMBus2 मोड्युल हुन्। दुवै विधिका आधारभूत आदेशहरू यस खण्डमा प्रस्तुत गरिएका छन्।
I2C-उपकरण कमाण्ड पूर्वampलेस
- I2C-उपकरण उपयोगिता प्याकेजले i2cdetect, i2cget, र i2cset आदेशहरू प्रदान गर्दछ। सरलीकृत प्रयोगहरू पूर्वमा वर्णन गरिएको छampयस खण्ड अन्तर्गत। I2C-उपकरण उपयोगिता बारे पूर्ण जानकारीको लागि, कृपया सन्दर्भ गर्नुहोस् https://linuxhint.com/i2c-linux-utilities/.
- तालिका 1 ले प्रयोगकर्ताको सुविधाको लागि AP33772 दर्ता सारांश देखाउँछ यस खण्डमा आदेश प्रयोग पचाउन। पूर्ण दर्ता जानकारीको लागि, कृपया AP33772 सिंक कन्ट्रोलर EVB प्रयोगकर्ता गाइड हेर्नुहोस्।
दर्ता गर्नुहोस् | आदेश | लम्बाइ | विशेषता | चालु गर | विवरण |
SRCPDO |
८x४० |
28 |
RO |
सबै 00h |
पावर डेटा वस्तु (PDO) PD स्रोत (SRC) पावर क्षमताहरू उजागर गर्न प्रयोग गरियो।
कुल लम्बाइ २८ बाइट हो |
PDONUM | ०x१ सी | 1 | RO | ९० घन्टा | मान्य स्रोत PDO नम्बर |
STATUS | 0x1D | 1 | RC | ९० घन्टा | AP33772 स्थिति |
मास्क | 0x1E | 1 | RW | ९० घन्टा | अवरोध सक्षम मास्क |
भोल्युमTAGE | ८x४० | 1 | RO | ९० घन्टा | LSB 80mV |
वर्तमान | ८x४० | 1 | RO | ९० घन्टा | LSB 24mA |
TEMP | ८x४० | 1 | RO | ९० घन्टा | तापमान, एकाइ: डिग्री सेल्सियस |
OCPTHR | ८x४० | 1 | RW | ९० घन्टा | OCP थ्रेसहोल्ड, LSB 50mA |
OTPTHR | ८x४० | 1 | RW | ९० घन्टा | OTP थ्रेसहोल्ड, एकाइ: °C |
DRTHR | ८x४० | 1 | RW | ९० घन्टा | डि-रेटिङ थ्रेसहोल्ड, एकाइ: °C |
TR25 | ८x४० | 2 | RW | ९० घन्टा | थर्मल प्रतिरोध @25°C, एकाइ: Ω |
TR50 | 0x2A | 2 | RW | ९० घन्टा | थर्मल प्रतिरोध @50°C, एकाइ: Ω |
TR75 | ०x१ सी | 2 | RW | ९० घन्टा | थर्मल प्रतिरोध @75°C, एकाइ: Ω |
TR100 | 0x2E | 2 | RW | ०३ ई | थर्मल प्रतिरोध @100°C, एकाइ: Ω |
RDO | ८x४० | 4 | WO | ९० घन्टा | अनुरोध डाटा वस्तु (RDO) पावर क्षमताहरू अनुरोध गर्न प्रयोग गरिन्छ। |
VID | ८x४० | 2 | RW | ९० घन्टा | विक्रेता ID, भविष्यका अनुप्रयोगहरूको लागि आरक्षित |
PID | ८x४० | 2 | RW | ९० घन्टा | उत्पादन ID, भविष्यका अनुप्रयोगहरूको लागि आरक्षित |
आरक्षित | ८x४० | 4 | - | - | भविष्यका आवेदनहरूको लागि आरक्षित |
तालिका 1 - AP33772 दर्ता सारांश
I2C - i2cdetect मा संलग्न सबै उपकरणहरू पत्ता लगाउनुहोस्
- हाल I2C-2 बसमा संलग्न सबै i1c उपकरणहरू प्रदर्शन गर्न, कमाण्ड प्रम्प्ट अन्तर्गत निम्न टाइप गर्नुहोस्: i2cdetect -y 1
- यदि AP33772 सिंक कन्ट्रोलर EVB जोडिएको छ भने, प्रयोगकर्ताले 0x51 ठेगानामा उपकरण संलग्न भएको देख्नुपर्छ।
पढ्नुहोस् SRCPDO (0x00~ 0x1B)
- i2cget कमाण्डले २ बाइटभन्दा लामो पढ्ने ब्लकलाई समर्थन गर्दैन। सबै 2-बाइट लामो PDO डाटा प्रदर्शन गर्न प्रयोगकर्ताले "लूपको लागि" प्रयोग गर्न आवश्यक छ। सबै PDO डाटा प्रदर्शन गर्न, निम्न टाइप गर्नुहोस् bash कमाण्ड प्रम्प्ट अन्तर्गत i को लागी {28..0}; do i27cget -y 2 1x0 $ib; सकियो
- 28 PDO को प्रतिनिधित्व गर्ने 7-बाइट डाटा प्रदर्शन गरिनेछ
PDONUM (0x1C) पढ्नुहोस्
- वैध PDOs को कुल संख्या देखाउन, कमाण्ड प्रम्प्ट अन्तर्गत निम्न टाइप गर्नुहोस्: i2cget -y 1 0x51 0x1c b
पढ्नुहोस् STATUS (0x1D)
- यो आदेशले सिङ्क कन्ट्रोलरको स्थिति रिपोर्ट गर्छ जसमा डि-रेटिङ, OTP, OCP, OVP, अनुरोध अस्वीकार गरिएको, अनुरोध पूरा भयो, र तयार छ। स्थिति जानकारी प्रदर्शन गर्न, आदेश प्रम्प्ट अन्तर्गत निम्न टाइप गर्नुहोस्: i2cget -y 1 0x51 0x1d b
- प्रयोगकर्ताले प्रत्येक RDO अनुरोध पछि यो कमाण्ड प्रयोग गर्नु पर्छ सफल RDO अनुरोध पूरा बिट पढेर सुनिश्चित गर्न। 4.1.5 मास्क (0x1E) लेख्नुहोस्
- यो आदेशले AP3 को GPIO33772 पिन मार्फत होस्टलाई संकेत गर्ने अवरोधहरूलाई सक्षम बनाउँछ। अवरोधहरूमा Derating , OTP, OCP, OVP, अनुरोध अस्वीकार, अनुरोध पूरा, र तयार समावेश छन्। एक विशिष्ट अवरोध सक्षम गर्न, सम्बन्धित बिटलाई एकमा सेट गर्नुहोस्। पूर्वका लागिample, OCP अवरोध सक्षम गर्न, MASK दर्ताको बिट 4 लाई कमाण्ड प्रम्प्ट अन्तर्गत निम्न टाइप गरेर एउटामा सेट गर्नुहोस्: i2cset -y 1 0x51 0x1e 0x10 b
- OCP सुरक्षा ट्रिगर हुँदा AP3 को GPIO33772 पिन उच्च हुनेछ।
VOL पढ्नुहोस्TAGE (0x20)
- यो आदेश भोल्युम रिपोर्ट गर्दछtage AP33772 सिंक नियन्त्रक द्वारा मापन। भोल्युम रिपोर्ट गर्नtage, कमांड प्रम्प्ट अन्तर्गत निम्न टाइप गर्नुहोस्: i2cget -y 1 0x51 0x20 b
- रिपोर्ट गरिएको मानको एक एकाइले 80mV को प्रतिनिधित्व गर्दछ।
पढ्नुहोस् CURRENT (0x21)
- यो आदेशले AP33772 सिंक नियन्त्रक द्वारा मापन गरिएको वर्तमान रिपोर्ट गर्दछ। हालको रिपोर्ट गर्न, कमांड प्रम्प्ट अन्तर्गत निम्न टाइप गर्नुहोस्: i2cget -y 1 0x51 0x21 b
- रिपोर्ट गरिएको मानको एक एकाइले 24mA को प्रतिनिधित्व गर्दछ।
TEMP पढ्नुहोस् (0x22)
- यो आदेशले AP33772 सिंक नियन्त्रक द्वारा मापन गरिएको तापमान रिपोर्ट गर्दछ। तापमान रिपोर्ट गर्न, आदेश प्रम्प्ट अन्तर्गत निम्न टाइप गर्नुहोस्:
i2cget -y 1 0x51 0x22 b - रिपोर्ट गरिएको मानको एक एकाइले 1°C को प्रतिनिधित्व गर्दछ।
- OCPTHR (0x23), OTPTHR (0x24), र DRTHR (0x25) पढ्नुहोस् र लेख्नुहोस्
- OCP, OTP, र Derating थ्रेसहोल्डहरू OCPTHR, OTPTHR, र DRTHR दर्ताहरूमा मानहरू लेखेर प्रयोगकर्ता वांछनीय मानहरूमा परिवर्तन गर्न सकिन्छ। पूर्वको रूपमाample, OCP थ्रेसहोल्डलाई 3.1A मा परिवर्तन गर्न, प्रयोगकर्ताले 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) पढ्नुहोस् र लेख्नुहोस्।
- A Murata 10KΩ नकारात्मक तापक्रम गुणांक (NTC) थर्मिस्टर NCP03XH103 AP33772 EVB मा भरिएको छ। अन्तिम डिजाइनमा थर्मिस्टरलाई फरकमा परिवर्तन गर्न प्रयोगकर्ताको प्राथमिकता हो। प्रयोगकर्ताले TR25, TR50, TR75, र TR100 दर्ता मानहरू प्रयोग गरिएको थर्मिस्टरको निर्दिष्टीकरण अनुसार अद्यावधिक गर्नुपर्छ। पूर्वका लागिampले,
- मुराताको ६.८KΩ NCP6.8XH03 डिजाइनमा प्रयोग गरिएको छ। 682°C, 25°C, 50°C, र 75°C मा प्रतिरोध मानहरू क्रमशः 100Ω (6800x0A1), 90Ω (2774x0AD0), 6Ω (1287x0), र 0507Ω (662x0) हुन्। यी दर्ताहरूमा सम्बन्धित मानहरू लेख्नको लागि, कमाण्ड प्रम्प्ट अन्तर्गत निम्न टाइप गर्नुहोस्:
- 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 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-बाइट शब्दलाई प्रत्यक्ष रूपमा ह्यान्डल गर्ने भएकोले, प्रयोगकर्ताहरूले यहाँ थोरै एन्डियन बाइट अर्डरको बारेमा चिन्ता लिनु पर्दैन।
RDO लेख्नुहोस् (0x30~ 0x33)
- PDO अनुरोध वार्ता प्रक्रिया प्रारम्भ गर्न, 4-बाइट डाटा RDO (अनुरोध डाटा वस्तु) दर्तामा लिटिल-एन्डियन बाइट अर्डरमा लेखिएको छ। पूर्वको रूपमाample, 3V र 15A सँग PDO3 अनुरोध गर्न, 0x3004B12C RDO दर्तामा लेखिनेछ। आदेश प्रम्प्ट अन्तर्गत निम्न टाइप गर्नुहोस्: i2cset -y 1 0x51 0x30 0x2c 0xb1 0x04 0x30 i
- सानो एन्डियन बाइट अर्डर नोटेशन फिट गर्नको लागि सबैभन्दा कम महत्त्वपूर्ण बाइट (0x2C) पहिले लेखिएको हुनुपर्छ। कृपया AP9 सिंक कन्ट्रोलर EVB प्रयोगकर्ताको तालिका ९ र तालिका १० हेर्नुहोस्
- विस्तृत RDO सामग्री जानकारीको लागि गाइड।
- प्रयोगकर्ताले सबै-शून्य डेटाको साथ 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यस खण्ड अन्तर्गत। 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 गणना प्रतिनिधित्व गर्ने एक बाइट डाटा फिर्ता गरिनेछ।
पढ्नुहोस् STATUS (0x1D)
- यो कमाण्डले सिङ्क कन्ट्रोलरको स्थिति रिपोर्ट गर्दछ जसमा Derating , OTP, OCP, OVP, अनुरोध अस्वीकार गरिएको, अनुरोध पूरा भयो, र तयार छ। स्थिति जानकारी पढ्नको लागि, python3 वातावरण अन्तर्गत निम्न प्रयोग गर्नुहोस्:
- SMBus.read_byte_data(0x51, 0x1d)
- प्रयोगकर्ताले प्रत्येक RDO अनुरोध पछि पूरा बिट पढेर सफल RDO अनुरोध सुनिश्चित गर्न यो आदेश प्रयोग गर्न सक्छ।
मास्क (0x1E) लेख्नुहोस्
- यो आदेशले AP3 को GPIO33772 पिन मार्फत होस्टलाई संकेत गर्ने अवरोधहरूलाई सक्षम पार्छ। अवरोधहरू समावेश छन् Derating, OTP, OCP, OVP, अनुरोध अस्वीकार, अनुरोध
- पूरा, र तयार। एक विशिष्ट अवरोध सक्षम गर्न, सम्बन्धित बिटलाई एकमा सेट गर्नुहोस्। पूर्वका लागिample, OCP अवरोध सक्षम गर्न, python4 वातावरण अन्तर्गत निम्न प्रयोग गरेर MASK दर्ताको बिट 3 सेट गर्नुहोस्:
- SMBus.write_byte_data(0x51, 0x1e, 0x10)
- OCP सुरक्षा ट्रिगर हुँदा AP3 को GPIO33772 पिन उच्च हुनेछ।
VOL पढ्नुहोस्TAGE (0x20)
- यो आदेश भोल्युम रिपोर्ट गर्दछtage AP33772 सिंक नियन्त्रक द्वारा मापन। भोल्युम रिपोर्ट गर्नtage, python3 वातावरण अन्तर्गत निम्न प्रयोग गर्नुहोस्:
- SMBus.read_byte_data(0x51, 0x20)
- रिपोर्ट गरिएको मानको एक एकाइले 80mV को प्रतिनिधित्व गर्दछ।
पढ्नुहोस् CURRENT (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, र Derating थ्रेसहोल्डहरू OCPTHR, OTPTHR, र DRTHR दर्ताहरूमा मानहरू लेखेर प्रयोगकर्ता वांछनीय मानहरूमा परिवर्तन गर्न सकिन्छ। पूर्वको रूपमाample, OCP थ्रेसहोल्डलाई 3.1A मा परिवर्तन गर्न, प्रयोगकर्ताले python0 वातावरण अन्तर्गत निम्न प्रयोग गरेर OCPTHR मा 3x3100E (=50/62=0=3x3E) लेख्नुपर्छ: SMBus.write_byte_data(0x51, 0x23, 0x3e)
- OTP थ्रेसहोल्डलाई 110°C मा परिवर्तन गर्न, प्रयोगकर्ताले python0 वातावरण अन्तर्गत निम्न प्रयोग गरेर OTPTHR मा 6x110E (=3) लेख्नुपर्छ: SMBus.write_byte_data(0x51, 0x24, 0x6e)
- Derating थ्रेसहोल्डलाई 100°C मा परिवर्तन गर्न, प्रयोगकर्ताले 0x64 (=100) DRTHR मा python3 वातावरण अन्तर्गत निम्न प्रयोग गरेर लेख्नुपर्छ: SMBus.write_byte_data(0x51, 0x25, 0x64)
- OCPTHR, OTPTHR र DRTHR को मानहरू पढ्नको लागि, python3 वातावरण अन्तर्गत निम्न प्रयोग गर्नुहोस्: SMBus.read_byte_data(0x51, 0x23) SMBus.read_byte_data(0x51, 0x24) SMBus.read_byte_data(0x51, 0x25)।
- TR25 (0x28~0x29), TR50 (0x2A~0x2B), TR75 (0x2C~0x2D), र TR100 (0x2E~0x2F) पढ्नुहोस् र लेख्नुहोस्।
- A Murata 10KΩ नकारात्मक तापक्रम गुणांक (NTC) थर्मिस्टर NCP03XH103 AP33772 EVB मा भरिएको छ। अन्तिम डिजाइनमा थर्मिस्टरलाई फरकमा परिवर्तन गर्न प्रयोगकर्ताको प्राथमिकता हो। प्रयोगकर्ताले TR25, TR50, TR75, र TR100 दर्ता मान प्रयोग गरिएको थर्मिस्टरको निर्दिष्टीकरण अनुसार अद्यावधिक गर्नुपर्छ। पूर्वका लागिample, Murata को 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(0x51e)
- फिर्ता मानहरू पनि २-बाइट शब्दहरू हुन्। आदेशहरूले 2-बाइट शब्दलाई प्रत्यक्ष रूपमा ह्यान्डल गर्ने भएकोले, प्रयोगकर्ताहरूले यहाँ थोरै एन्डियन बाइट अर्डरको बारेमा चिन्ता लिनु पर्दैन।
RDO लेख्नुहोस् (0x30~ 0x33)
- PDO अनुरोध वार्ता प्रक्रिया प्रारम्भ गर्न, 4-बाइट डाटा RDO (अनुरोध डाटा वस्तु) दर्तामा लिटिल-एन्डियन बाइट अर्डरमा लेखिएको छ। पूर्वको रूपमाample, 3V र 15A सँग PDO3 अनुरोध गर्न, 0x3004B12C RDO दर्तामा लेखिनेछ। 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 सिंक नियन्त्रक यसको प्रारम्भिक अवस्थामा रिसेट हुनेछ र आउटपुट बन्द हुनेछ।
व्यावहारिक पूर्वampलेस
Example 1: Bash I2C-उपकरणहरू पूर्वample: ap33772_querypdo.bash
यो पूर्वample ले सबै वैध PDO हरू जाँच गर्छ र भोल्युम सूचीबद्ध गर्दछtage र वर्तमान क्षमता जानकारी बाहिर।
कोड विवरण
कोड कार्यान्वयन र आउटपुटहरू
Example 2: Python SMBus2 Example: ap33772_allpdo.py3
यो पूर्वample ले सबै वैध PDO हरू जाँच गर्दछ र तिनीहरूलाई माथि र तलको क्रममा एक-एक गरी अनुरोध गर्दछ।
कोड विवरण
कोड कार्यान्वयन र आउटपुटहरू
Exampकोड डाउनलोड गर्नुहोस्
पूर्वको सूचीampकोडहरू
- Example कोडहरूमा Bash Script र Python संस्करणहरू छन्
- ap33772_querypdo: सबै PDO जानकारी क्वेरी गर्दछ
- ap33772_reqpdo: सबै PDO जानकारी रिपोर्ट गर्दछ र प्रयोगकर्ता द्वारा निर्दिष्ट PDO अनुरोध पठाउँछ।
- ap33772_allpdo: सबै PDO जानकारी रिपोर्ट गर्दछ र सबै PDO अनुरोधहरू माथि र तल तरिकामा जान्छ।
- ap33772_pps: सबै PDO जानकारी रिपोर्ट गर्दछ, र rampमाथि र तल सम्पूर्ण PPS भोल्युमtage दायरा 50mV चरण आकारमा
- ap33772_vit: रिपोर्ट भोल्युमtage, वर्तमान, र तापमान जानकारी
Exampडाउनलोड साइट
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 W: 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 | ११/२/२०२२ | प्रारम्भिक रिलीज | एडवर्ड झाओ |
महत्त्वपूर्ण सूचना
- समावेश गरिएको DIODES ले यस कागजातको सम्बन्धमा कुनै पनि प्रकारको, अभिव्यक्त वा निहितको कुनै ग्यारेन्टी दिदैन, लगायत, तर सीमित छैन, व्यापारिक क्षमता र क्षमताको लागि निहित वारेन्टीहरू कुनै पनि क्षेत्राधिकारको कानून अन्तर्गत भ्यालेन्टहरू)।
- Diodes Incorporated र यसका सहायकहरूले यस कागजात र यहाँ वर्णन गरिएको कुनै पनि उत्पादनलाई थप सूचना बिना परिमार्जन, परिमार्जन, सुधार, सुधार, वा अन्य परिवर्तनहरू गर्ने अधिकार आरक्षित गर्दछ। Diodes Incorporated ले यस कागजात वा यहाँ वर्णन गरिएको कुनै पनि उत्पादनको आवेदन वा प्रयोगबाट उत्पन्न हुने कुनै दायित्व ग्रहण गर्दैन; न त Diodes Incorporated ले आफ्नो पेटेन्ट वा ट्रेडमार्क अधिकार अन्तर्गत कुनै इजाजतपत्र प्रदान गर्दछ, न त अरूको अधिकार। यस कागजातको कुनै पनि ग्राहक वा प्रयोगकर्ता वा त्यस्ता अनुप्रयोगहरूमा यहाँ वर्णन गरिएका उत्पादनहरूले त्यस्ता प्रयोगका सबै जोखिमहरू ग्रहण गर्नेछन् र डायोड्स इन्कर्पोरेट र सबै कम्पनीहरू जसका उत्पादनहरू डायोड्स इनकर्पोरेटेडमा प्रतिनिधित्व हुन्छन्। webसाइट, सबै क्षतिहरू विरुद्ध हानिरहित।
- Diodes Incorporated ले अनधिकृत बिक्री च्यानलहरू मार्फत खरिद गरिएका कुनै पनि उत्पादनहरूको सम्बन्धमा कुनै पनि दायित्व स्वीकार गर्दैन।
यदि ग्राहकहरूले कुनै पनि अनावश्यक वा अनाधिकृत अनुप्रयोगको लागि डायोड इन्कर्पोरेटेड उत्पादनहरू खरिद गरे वा प्रयोग गरेमा, ग्राहकहरूले डायोडहरूलाई क्षतिपूर्ति र होल्ड गर्नेछन्। - निगमित र यसका प्रतिनिधिहरू सबै दावीहरू, क्षतिहरू, खर्चहरू, र वकील शुल्कहरू विरुद्ध हानिरहित थिए, प्रत्यक्ष वा अप्रत्यक्ष रूपमा, व्यक्तिगत चोट वा मृत्युको कुनै पनि दावी त्यस्तो अनावश्यक वा अनधिकृत आवेदनसँग सम्बन्धित।
- यहाँ वर्णन गरिएका उत्पादनहरू एक वा बढी संयुक्त राज्य, अन्तर्राष्ट्रिय वा विदेशी प्याटेन्ट पेन्डिङद्वारा कभर गर्न सकिन्छ। यहाँ उल्लेख गरिएका उत्पादनको नाम र चिन्हहरू एक वा बढी संयुक्त राज्य, अन्तर्राष्ट्रिय वा विदेशी ट्रेडमार्कहरूद्वारा कभर गर्न सकिन्छ।
- यो कागजात अंग्रेजीमा लेखिएको छ तर सन्दर्भको लागि धेरै भाषाहरूमा अनुवाद गर्न सकिन्छ। यस कागजातको अङ्ग्रेजी संस्करण मात्र डायोड्स इन्कर्पोरेटेडद्वारा जारी गरिएको अन्तिम र निर्णायक ढाँचा हो।
जीवन समर्थन
- डायोडहरू समावेश गरिएका उत्पादनहरू विशेष रूपमा डायोड्स इनकर्पोरेटका मुख्य कार्यकारी अधिकारीको स्पष्ट लिखित स्वीकृति बिना जीवन समर्थन उपकरणहरू वा प्रणालीहरूमा महत्वपूर्ण घटकहरूको रूपमा प्रयोगको लागि अधिकृत छैनन्। यहाँ प्रयोग गरिएको रूपमा:
- A। जीवन समर्थन उपकरणहरू वा प्रणालीहरू उपकरणहरू वा प्रणालीहरू हुन् जुन:
- शरीर मा प्रत्यारोपण गर्न को लागी उद्देश्य हो, वा
- समर्थन वा जीवन दिगो र लेबलिङमा प्रदान गरिएको प्रयोगको लागि निर्देशनहरू अनुसार उचित रूपमा प्रयोग गर्दा प्रदर्शन गर्न असफल हुँदा प्रयोगकर्तालाई महत्त्वपूर्ण चोटपटक लाग्ने अपेक्षा गर्न सकिन्छ।
- B. एक महत्वपूर्ण कम्पोनेन्ट जीवन समर्थन उपकरण वा प्रणालीमा कुनै पनि घटक हो जसको प्रदर्शन गर्न असफल हुँदा जीवन समर्थन उपकरणको विफलता वा यसको सुरक्षा वा प्रभावकारितालाई असर गर्ने उचित रूपमा आशा गर्न सकिन्छ।
- ग्राहकहरूले प्रतिनिधित्व गर्छन् कि उनीहरूसँग उनीहरूको जीवन समर्थन उपकरणहरू वा प्रणालीहरूको सुरक्षा र नियामक प्रभावहरूमा सबै आवश्यक विशेषज्ञताहरू छन्, र स्वीकार र सहमत छन् कि तिनीहरू आफ्ना उत्पादनहरू र डायोडहरूको कुनै पनि प्रयोग सम्बन्धी सबै कानूनी, नियामक, र सुरक्षा-सम्बन्धित आवश्यकताहरूको लागि पूर्ण रूपमा जिम्मेवार छन्। यस्ता सुरक्षा-महत्वपूर्ण, जीवन समर्थन यन्त्रहरू वा प्रणालीहरूमा समावेश गरिएका उत्पादनहरू, कुनै पनि यन्त्रहरू- वा प्रणाली-सम्बन्धित जानकारी वा समर्थनहरू जुन डायोड्स इनकर्पोरेटद्वारा प्रदान गरिएको हुन सक्छ।
- यसबाहेक, ग्राहकहरूले त्यस्ता सुरक्षा-महत्वपूर्ण, जीवन-समर्थन उपकरणहरू वा प्रणालीहरूमा डायोडहरू समावेश गरिएका उत्पादनहरूको प्रयोगबाट उत्पन्न हुने कुनै पनि क्षतिको विरुद्धमा डायोड इनकर्पोरेट र यसका प्रतिनिधिहरूलाई पूर्ण रूपमा क्षतिपूर्ति दिनुपर्छ।
- प्रतिलिपि अधिकार © 2017, डायोड्स समावेश
- www.diodes.com
कागजातहरू / स्रोतहरू
![]() |
DIODES AP33772 USB PD सिंक नियन्त्रक रास्पबेरी Pi I2C इन्टरफेस [pdf] प्रयोगकर्ता गाइड AP33772 USB PD सिंक कन्ट्रोलर रास्पबेरी Pi I2C इन्टरफेस, AP33772, USB PD सिंक कन्ट्रोलर रास्पबेरी Pi I2C इन्टरफेस, रास्पबेरी Pi I2C इन्टरफेस, Pi I2C इन्टरफेस |