DIODES AP33772 USB PD সিঙ্ক কন্ট্রোলার রাস্পবেরি Pi I2C ইন্টারফেস
ভূমিকা
- AP33772 সিঙ্ক কন্ট্রোলার, ইউএসবি PD3.0 টাইপ সি কানেক্টর-সজ্জিত ডিভাইস (TCD, এনার্জি সিঙ্ক) এর প্রোটোকল ডিভাইস হিসাবে কাজ করে, ইউএসবি PD3.0 টাইপ সি সংযোগকারী-সজ্জিত PD3.0 থেকে যথাযথ পাওয়ার ডেটা অবজেক্ট (PDO) অনুরোধ করার উদ্দেশ্যে। .XNUMX কমপ্লায়েন্স চার্জার (PDC, শক্তির উৎস)।
- চিত্র 1 একটি TCD চিত্রিত করে, PD3.0 সিঙ্ক কন্ট্রোলার IC (AP33772) এর সাথে এমবেড করা, PDC এর সাথে শারীরিকভাবে সংযুক্ত, USB PD3.0 ডিকোডার (AP43771) এর মাধ্যমে এমবেড করা
- সি-টু-টাইপ সি ক্যাবল টাইপ করুন। অন্তর্নির্মিত USB PD3.0 অনুগত ফার্মওয়্যারের উপর ভিত্তি করে, AP33772 এবং AP43771 জোড়া উপযুক্ত PD3.0 চার্জিং অবস্থা স্থাপন করতে USB PD3.0 স্ট্যান্ডার্ড সংযুক্তি পদ্ধতির মধ্য দিয়ে যাবে।
- AP33772 সিঙ্ক কন্ট্রোলার EVB I33772C ইন্টারফেসের মাধ্যমে AP2 বিল্ট-ইন কমান্ড পাঠিয়ে ইউএসবি পাওয়ার ডেলিভারি চার্জার থেকে PDO-এর অনুরোধ করার জন্য সিস্টেম ডিজাইনারের জন্য ব্যবহারের সহজতা এবং দুর্দান্ত বহুমুখিতা প্রদান করে। সাধারণ সিস্টেম ডিজাইনের জন্য MCU প্রোগ্রামিং প্রয়োজন যার জন্য নির্দিষ্ট সফ্টওয়্যার (যেমন IDE) সেটআপ প্রয়োজন এবং এটি একটি সময়সাপেক্ষ উন্নয়ন প্রক্রিয়া হতে পারে।
- বিপরীতে, রাস্পবেরি পাই (RPI), একটি একক বোর্ড কম্পিউটার (SBC) একটি ব্যবহারকারী-বান্ধব Linux OS-এ চলমান এবং নমনীয় GPIO পিন দিয়ে সজ্জিত, একটি PD চার্জারের সাথে কাজ করে AP33772 সিঙ্ক ইভিবি যাচাই করার একটি সহজ উপায় প্রদান করে৷ এই নির্দেশিকাটির লক্ষ্য হল সিস্টেম ডিজাইনারদের দ্রুত RPI-তে সফ্টওয়্যার বৈধতা সম্পূর্ণ করার জন্য একটি কার্যকর প্ল্যাটফর্ম প্রদান করা এবং তারপরে দ্রুত পরিবর্তনের বাজারের প্রয়োজনীয়তা পূরণের জন্য যেকোনো পছন্দসই MCU-তে বিকাশ পোর্ট করা।
- AP33772 EVB ব্যবহারকারী গাইডের একটি সম্পূরক নথি হিসাবে, এই ব্যবহারকারী নির্দেশিকাটি I33772C ইন্টারফেসের মাধ্যমে একটি RPI SBC এর সাথে AP2 EVB নিয়ন্ত্রণ করার একটি সহজ উপায় ব্যাখ্যা করে।
- AP1 এর সাথে ইন্টারফেস করার জন্য চিত্র 33772 এ চিত্রিত MCU ব্লকের ভূমিকা একটি RPI দ্বারা অভিনয় করা হয়েছে। এই ব্যবহারকারী নির্দেশিকাটি প্রাক্তন হিসাবে অনেক নিবন্ধন সংজ্ঞা এবং ব্যবহারের তথ্য কভার করেamples, যাইহোক, সম্পূর্ণ এবং সর্বাধিক আপডেট তথ্যের জন্য, অনুগ্রহ করে AP33772 EVB ব্যবহারকারীর নির্দেশিকা পড়ুন। (রেফারেন্স 2 দেখুন)
- চিত্র 1 - একটি সাধারণ TCD একটি USB Type-C PD33772/PPS কমপ্লায়েন্স সোর্স অ্যাডাপ্টার থেকে পাওয়ার অনুরোধ করতে I2C ইন্টারফেসের সাথে AP3.0 PD সিঙ্ক কন্ট্রোলার ব্যবহার করে
বৈধতা প্ল্যাটফর্ম সেটআপ
AP33772 সিঙ্ক কন্ট্রোলার EVB
চিত্র 2 সিঙ্ক কন্ট্রোলার EVB এর ছবি দেখায়। এতে টাইপ-সি কানেক্টর, আই 2 সি পিন, ইন্টারাপ্টের জন্য GPIO3 পিন, OTP-এর জন্য NTC থার্মিস্টর, চার্জিং স্ট্যাটাস দেখানোর জন্য LED ইন্ডিকেটর এবং লোডের জন্য Vout কানেক্টর রয়েছে।
রাস্পবেরি পাই জিরো 2W
- RPI-এর যেকোনো সাম্প্রতিক সংস্করণ I33772C পিনের মাধ্যমে AP2 সিঙ্ক কন্ট্রোলার EVB নিয়ন্ত্রণ করতে সক্ষম। একটি রাস্পবেরি পাই জিরো 2 ডব্লিউ (RPI Z2W) এর খরচ কার্যকারিতা এবং বহুমুখীতার জন্য এই ব্যবহারকারী গাইডে ব্যবহার করা হয়েছে। সমস্ত RPI-এর মধ্যে এটির সবচেয়ে ছোট ফর্মফ্যাক্টর রয়েছে এবং এটি ওয়াইফাই এবং ব্লুটুথের সাথে একীভূত যা অতিরিক্ত উপাদান ছাড়াই বেতার সংযোগ তৈরি করে। এটি 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 এবং PD চার্জার পাওয়ার আপ করুন।
রাস্পবেরি পাই সফ্টওয়্যার সেটআপ
রাস্পবেরি পাই ওএস
- RPI সমর্থনকারী বিভিন্ন অপারেটিং সিস্টেম রয়েছে। এর মধ্যে, Raspberry Pi OS বেছে নেওয়া হয়েছে কারণ এটি RPI অফিসিয়াল সাইট দ্বারা সর্বাধিক ব্যবহৃত এবং সুপারিশ করা হয়।
OS ইমেজ ডাউনলোড করুন এবং SD কার্ড প্রস্তুত করুন
- একটি পিসিতে রাস্পবেরি পাই ইমেজার সরঞ্জামগুলি ডাউনলোড এবং ইনস্টল করুন (https://www.raspberrypi.com/software/)। সঠিক ওএস ইমেজ সহ লোড করা একটি মাইক্রো-এসডি প্রস্তুত করতে নির্দেশাবলী অনুসরণ করুন (https://youtu.be/ntaXWS8Lk34/) অনুগ্রহ করে মনে রাখবেন 32BG বা তার বেশি মাইক্রো-SD কার্ড সুপারিশ করা হয়।
রাস্পবেরি পিআই ওএস ইনস্টলেশন
- আরপিআই-এর মাইক্রো-এসডি স্লটে আগে ইমেজার দিয়ে লোড করা মাইক্রো-এসডি কার্ড ঢোকান। পাওয়ার অ্যাডাপ্টার, মাউস/কীবোর্ড এবং HDMI মনিটর সংযোগ করুন। আরপিআই চালু করুন এবং OS ইনস্টলেশন এবং মৌলিক সেটআপ সম্পূর্ণ করার জন্য নির্দেশাবলী অনুসরণ করুন। নিশ্চিত করুন যে সর্বশেষ আপডেটগুলি OS এ অন্তর্ভুক্ত রয়েছে।
প্রয়োজনীয় বৈশিষ্ট্য সেটআপ
- RPI তে I2C ইন্টারফেস সফলভাবে চালানোর জন্য, আমাদের অবশ্যই SSH, VNC, এবং I2C বৈশিষ্ট্যগুলি কনফিগার বা ইনস্টল করতে হবে।
রাস্পবেরি পাই কনফিগ - SSH, VNC, I2C
- RPI বুট-আপ করার পরে, "রাস্পবেরি পাই কনফিগার" ইউটিলিটি খুলুন এবং SSH, VNC, এবং I2C বৈশিষ্ট্যগুলি চালু করুন।
I2C বড রেট কনফিগারেশন
- /boot/config.txt-এ dtparam এবং dtoverlay সম্পর্কিত লাইনগুলি প্রতিস্থাপন করুন file সঙ্গে:
- dtoverlay=i2c-bcm2708
- dtparam=i2c_arm=on,i2c_arm_baudrate=640000
I2C- টুলস ইনস্টলেশন
- I2C-Tools হল একটি টুলসেট যা রাস্পবেরি পাই ওএসের অধীনে কমান্ড লাইনে চলমান সাধারণ কমান্ড সরবরাহ করে। চালানোর মাধ্যমে OS এ I2C-Tools ইনস্টল করুন: sudo apt i2c-tools ইনস্টল করুন
SMBus2 ইনস্টলেশন
- SMBus2 হল একটি পাইথন মডিউল যা ব্যবহারকারীর জন্য পাইথন পরিবেশের অধীনে I2C ইন্টারফেস নিয়ন্ত্রণ করতে সুবিধাজনক ফাংশন প্রদান করে। OS এ Python-এর জন্য SMBus2 মডিউল ইনস্টল করুন: sudo pip3 install smbus2
বেসিক কমান্ড প্রাক্তনampলেস
- এই ব্যবহারকারী গাইড RPI-তে I2C ইন্টারফেসের সাথে কাজ করার জন্য দুটি ভিন্ন পদ্ধতি প্রদর্শন করে। সেগুলো হল I2C-Tools Utility এবং Python SMBus2 মডিউল। উভয় পদ্ধতির মৌলিক কমান্ড এই বিভাগে চালু করা হয়েছে.
I2C-Tools Command Exampলেস
- I2C-Tools ইউটিলিটি প্যাকেজ i2cdetect, i2cget, এবং i2cset কমান্ড প্রদান করে। সরলীকৃত ব্যবহার প্রাক্তন বর্ণনা করা হয়ampএই বিভাগের অধীনে les. I2C-Tools ইউটিলিটি সম্পর্কে সম্পূর্ণ তথ্যের জন্য, অনুগ্রহ করে পড়ুন https://linuxhint.com/i2c-linux-utilities/.
- সারণি 1 ব্যবহারকারীর সুবিধার জন্য এই বিভাগে কমান্ড ব্যবহার হজম করার জন্য AP33772 রেজিস্টার সারাংশ দেখায়। সম্পূর্ণ নিবন্ধন তথ্যের জন্য, অনুগ্রহ করে AP33772 সিঙ্ক কন্ট্রোলার EVB ব্যবহারকারী গাইড দেখুন।
নিবন্ধন করুন | আদেশ | দৈর্ঘ্য | বৈশিষ্ট্য | পাওয়ার-অন | বর্ণনা |
SRCPDO |
0x00 |
28 |
RO |
সব 00h |
পাওয়ার ডেটা অবজেক্ট (PDO) PD সোর্স (SRC) পাওয়ার ক্ষমতা প্রকাশ করতে ব্যবহৃত হয়।
মোট দৈর্ঘ্য 28 বাইট |
PDONUM | 0x1 সি | 1 | RO | 00 ঘন্টা | বৈধ উৎস PDO নম্বর |
স্ট্যাটাস | 0x1D | 1 | RC | 00 ঘন্টা | AP33772 স্ট্যাটাস |
মাস্ক | 0x1E | 1 | RW | 01 ঘন্টা | বাধা সক্রিয় মাস্ক |
ভোলTAGE | 0x20 | 1 | RO | 00 ঘন্টা | LSB 80mV |
বর্তমান | 0x21 | 1 | RO | 00 ঘন্টা | LSB 24mA |
TEMP | 0x22 | 1 | RO | 19 ঘন্টা | তাপমাত্রা, একক: °C |
OCPTHR | 0x23 | 1 | RW | 00 ঘন্টা | OCP থ্রেশহোল্ড, LSB 50mA |
OTPTHR | 0x24 | 1 | RW | 78 ঘন্টা | OTP থ্রেশহোল্ড, ইউনিট: °C |
ডিআরটিএইচআর | 0x25 | 1 | RW | 78 ঘন্টা | ডি-রেটিং থ্রেশহোল্ড, ইউনিট: °সে |
TR25 | 0x28 | 2 | RW | 2710 ঘন্টা | থার্মাল রেজিস্ট্যান্স @25°C, ইউনিট: Ω |
TR50 | 0x2A | 2 | RW | 1041 ঘন্টা | থার্মাল রেজিস্ট্যান্স @50°C, ইউনিট: Ω |
TR75 | 0x2 সি | 2 | RW | 0788 ঘন্টা | থার্মাল রেজিস্ট্যান্স @75°C, ইউনিট: Ω |
TR100 | 0x2E | 2 | RW | 03CEh | থার্মাল রেজিস্ট্যান্স @100°C, ইউনিট: Ω |
আরডিও | 0x30 | 4 | WO | 00000000 ঘন্টা | রিকোয়েস্ট ডেটা অবজেক্ট (RDO) পাওয়ার ক্ষমতার অনুরোধ করতে ব্যবহার করা হয়। |
ভিআইডি | 0x34 | 2 | RW | 0000 ঘন্টা | বিক্রেতা আইডি, ভবিষ্যতের অ্যাপ্লিকেশনের জন্য সংরক্ষিত |
পিআইডি | 0x36 | 2 | RW | 0000 ঘন্টা | পণ্য আইডি, ভবিষ্যতের অ্যাপ্লিকেশনের জন্য সংরক্ষিত |
সংরক্ষিত | 0x38 | 4 | – | – | ভবিষ্যতের অ্যাপ্লিকেশনের জন্য সংরক্ষিত |
সারণি 1 – AP33772 রেজিস্টার সারাংশ
I2C- i2cdetect-এর সাথে সংযুক্ত সমস্ত ডিভাইস সনাক্ত করুন
- বর্তমানে I2C-2 বাসের সাথে সংযুক্ত সমস্ত i1c ডিভাইস প্রদর্শন করতে, কমান্ড প্রম্পটের অধীনে নিম্নলিখিতটি টাইপ করুন: i2cdetect -y 1
- যদি AP33772 সিঙ্ক কন্ট্রোলার EVB সংযুক্ত থাকে, ব্যবহারকারীর দেখতে হবে ডিভাইসটি 0x51 ঠিকানায় সংযুক্ত আছে
SRCPDO পড়ুন (0x00~ 0x1B)
- i2cget কমান্ড 2 বাইটের বেশি রিড ব্লক সমর্থন করে না। সমস্ত 28-বাইট দীর্ঘ PDO ডেটা প্রদর্শন করতে ব্যবহারকারীকে "লুপের জন্য" ব্যবহার করতে হবে। সমস্ত PDO ডেটা প্রদর্শন করতে, {0..27}-এ i-এর জন্য bash কমান্ড প্রম্পটের অধীনে নিম্নলিখিতটি টাইপ করুন; do i2cget -y 1 0x51 $ib; সম্পন্ন
- 28-বাইট ডেটা 7 PDO প্রতিনিধিত্ব করে প্রদর্শিত হবে
পড়ুন PDONUM (0x1C)
- বৈধ PDO-র মোট সংখ্যা প্রদর্শন করতে, কমান্ড প্রম্পটের অধীনে নিম্নলিখিতটি টাইপ করুন: i2cget -y 1 0x51 0x1c b
স্ট্যাটাস পড়ুন (0x1D)
- এই কমান্ডটি ডি-রেটিং, OTP, OCP, OVP, অনুরোধ প্রত্যাখ্যান, অনুরোধ সম্পূর্ণ এবং প্রস্তুত সহ সিঙ্ক কন্ট্রোলারের অবস্থা রিপোর্ট করে। স্থিতি তথ্য প্রদর্শন করতে, কমান্ড প্রম্পটের অধীনে নিম্নলিখিতটি টাইপ করুন: i2cget -y 1 0x51 0x1d b
- কমপ্লিট বিট পড়ে সফল RDO অনুরোধ নিশ্চিত করতে ব্যবহারকারীর প্রতিটি RDO অনুরোধের পরে এই কমান্ডটি ব্যবহার করা উচিত। 4.1.5 মাস্ক লিখুন (0x1E)
- এই কমান্ডটি AP3 এর GPIO33772 পিনের মাধ্যমে হোস্টকে সংকেত দেয় এমন বাধাগুলিকে সক্ষম করে। বাধাগুলির মধ্যে রয়েছে ডিরেটিং , OTP, OCP, OVP, অনুরোধ প্রত্যাখ্যান, অনুরোধ সম্পূর্ণ এবং প্রস্তুত। একটি নির্দিষ্ট বাধা সক্ষম করতে, সংশ্লিষ্ট বিটটিকে একটিতে সেট করুন। প্রাক্তন জন্যample, OCP বাধা সক্রিয় করতে, কমান্ড প্রম্পটের অধীনে নিম্নলিখিত টাইপ করে MASK রেজিস্টারের বিট 4 সেট করুন: i2cset -y 1 0x51 0x1e 0x10 b
- যখন OCP সুরক্ষা ট্রিগার হবে তখন AP3-এর GPIO33772 পিন উচ্চ হবে৷
ভোল পড়ুনTAGE (0x20)
- এই কমান্ড ভলিউম রিপোর্টtage AP33772 সিঙ্ক কন্ট্রোলার দ্বারা পরিমাপ করা হয়। ভলিউম রিপোর্ট করতেtage, কমান্ড প্রম্পটের অধীনে নিম্নলিখিত টাইপ করুন: 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, এবং Derating থ্রেশহোল্ডগুলি OCPTHR, OTPTHR, এবং DRTHR রেজিস্টারে মানগুলি লিখে ব্যবহারকারীর পছন্দসই মানগুলিতে পরিবর্তন করা যেতে পারে। প্রাক্তন হিসেবেample, OCP থ্রেশহোল্ডকে 3.1A তে পরিবর্তন করতে, ব্যবহারকারীকে OCPTHR-এ 0x3E (=3100/50=62=0x3E) লিখতে হবে কমান্ড প্রম্পটের অধীনে নিম্নলিখিতটি টাইপ করে: 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) পড়ুন এবং লিখুন
- একটি মুরাতা 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 w 0 0296xXNUMX
- মানগুলি পড়তে, কমান্ড প্রম্পটের অধীনে নিম্নলিখিতটি টাইপ করুন: 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 ব্যবহারকারীর সারণি 10 এবং টেবিল 33772 দেখুন
- বিস্তারিত RDO বিষয়বস্তুর তথ্যের জন্য নির্দেশিকা।
- ব্যবহারকারী অল-জিরো ডেটা সহ RDO রেজিস্টার লিখে একটি হার্ড রিসেট ইস্যু করতে পারেন: i2cset -y 1 0x51 0x30 0x00 0x00 0x00 0x00 i
- AP33772 সিঙ্ক কন্ট্রোলার তার প্রাথমিক অবস্থায় রিসেট করা হবে এবং আউটপুট বন্ধ করা হবে।
Python SMBus2 কমান্ড Exampলেস
- পাইথন সমর্থিত মডিউলগুলির দুর্দান্ত বৈচিত্র্যের জন্য আরও জনপ্রিয় হচ্ছে। 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/.
SRCPDO পড়ুন (0x00~ 0x1B)
- SMBus.read_i2c_block_data 32-বাইট পর্যন্ত ব্লক ডেটা রিড সমর্থন করার জন্য একটি কার্যকর কমান্ড। সমস্ত 28-বাইট PDO ডেটা পড়তে, python3 পরিবেশের অধীনে নিম্নলিখিতগুলি ব্যবহার করুন:
- SMBus.read_i2c_block_data(0x51, 0x00, 28)
- 28টি এক-বাইট ডেটা 7টি পিডিও প্রতিনিধিত্ব করে তালিকা ডেটা কাঠামোতে ফেরত দেওয়া হবে।
পড়ুন PDONUM (0x1C)
- বৈধ PDO-র মোট সংখ্যা পড়তে, python3 পরিবেশের অধীনে নিম্নলিখিতগুলি ব্যবহার করুন:
- SMBus.read_byte_data(0x51, 0x1c)
- বৈধ PDO গণনা প্রতিনিধিত্ব করে এক বাইট ডেটা ফেরত দেওয়া হবে।
স্ট্যাটাস পড়ুন (0x1D)
- এই কমান্ডটি ডেরাটিং , OTP, OCP, OVP, অনুরোধ প্রত্যাখ্যান, অনুরোধ সম্পূর্ণ এবং প্রস্তুত সহ সিঙ্ক কন্ট্রোলারের অবস্থা রিপোর্ট করে। স্ট্যাটাস তথ্য পড়তে, python3 পরিবেশের অধীনে নিম্নলিখিত ব্যবহার করুন:
- SMBus.read_byte_data(0x51, 0x1d)
- সম্পূর্ণ বিট পড়ে সফল RDO অনুরোধ নিশ্চিত করতে ব্যবহারকারী প্রতিটি RDO অনুরোধের পরে এই কমান্ডটি ব্যবহার করতে পারেন।
মাস্ক লিখুন (0x1E)
- এই কমান্ডটি AP3 এর GPIO33772 পিনের মাধ্যমে হোস্টকে সংকেত দেয় এমন বাধাগুলিকে সক্ষম করে। বাধাগুলির মধ্যে রয়েছে ডিরেটিং , OTP, OCP, OVP, অনুরোধ প্রত্যাখ্যান, অনুরোধ
- সম্পূর্ণ, এবং প্রস্তুত. একটি নির্দিষ্ট বাধা সক্ষম করতে, সংশ্লিষ্ট বিটটিকে একটিতে সেট করুন। প্রাক্তন জন্যample, OCP interrupt সক্ষম করতে, MASK রেজিস্টারের বিট 4 সেট করুন python3 পরিবেশের অধীনে নিম্নলিখিত ব্যবহার করে একটিতে:
- SMBus.write_byte_data(0x51, 0x1e, 0x10)
- যখন OCP সুরক্ষা ট্রিগার হবে তখন AP3-এর GPIO33772 পিন উচ্চ হবে৷
ভোল পড়ুনTAGE (0x20)
- এই কমান্ড ভলিউম রিপোর্টtage AP33772 সিঙ্ক কন্ট্রোলার দ্বারা পরিমাপ করা হয়। ভলিউম রিপোর্ট করতেtage, 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, এবং Derating থ্রেশহোল্ডগুলি OCPTHR, OTPTHR, এবং DRTHR রেজিস্টারে মানগুলি লিখে ব্যবহারকারীর পছন্দসই মানগুলিতে পরিবর্তন করা যেতে পারে। প্রাক্তন হিসেবেample, OCP থ্রেশহোল্ডকে 3.1A এ পরিবর্তন করতে, ব্যবহারকারীকে 0x3E (=3100/50=62=0x3E) OCPTHR-এ python3 পরিবেশের অধীনে নিম্নলিখিত ব্যবহার করে লিখতে হবে: SMBus.write_byte_data(0x51, 0x23, 0x3e)
- OTP থ্রেশহোল্ড 110°C এ পরিবর্তন করতে, ব্যবহারকারীকে 0x6E (=110) python3 পরিবেশের অধীনে নিম্নলিখিত ব্যবহার করে OTPTHR-এ লিখতে হবে: 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) পড়ুন এবং লিখুন
- একটি মুরাতা 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(0x51e)
- রিটার্ন মানগুলিও 2-বাইট শব্দ। যেহেতু কমান্ডগুলি সরাসরি 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-Tools Example: ap33772_querypdo.bash
এই প্রাক্তনample সব বৈধ PDO চেক করে এবং ভলিউম তালিকা করেtagই এবং বর্তমান ক্ষমতা তথ্য আউট.
কোডের বিবরণ
কোড এক্সিকিউশন এবং আউটপুট
Example 2: Python SMBus2 Example: ap33772_allpdo.py3
এই প্রাক্তনample সব বৈধ PDOs চেক করে এবং সেগুলোকে একের পর এক আপ এবং ডাউন ক্রমে অনুরোধ করে।
কোডের বিবরণ
কোড এক্সিকিউশন এবং আউটপুট
Example কোড ডাউনলোড করুন
প্রাক্তনদের তালিকাample কোডস
- Example কোডগুলিতে ব্যাশ স্ক্রিপ্ট এবং পাইথন সংস্করণ রয়েছে
- ap33772_querypdo: সমস্ত PDO তথ্য জিজ্ঞাসা করে
- ap33772_reqpdo: সমস্ত PDO তথ্য রিপোর্ট করে এবং ব্যবহারকারীর দ্বারা নির্দিষ্ট করা PDO অনুরোধ পাঠায়
- ap33772_allpdo: সমস্ত PDO তথ্য রিপোর্ট করে এবং সমস্ত PDO অনুরোধগুলি উপরে এবং নীচের পদ্ধতিতে পায়
- ap33772_pps: সমস্ত PDO তথ্য রিপোর্ট করে এবং আরampসম্পূর্ণ পিপিএস ভলিউমের উপরে এবং নিচেtage পরিসীমা 50mV ধাপ আকারে
- ap33772_vit: রিপোর্ট ভলিউমtage, বর্তমান, এবং তাপমাত্রা তথ্য
Example ডাউনলোড সাইট
Example কোডগুলি Github থেকে ডাউনলোড করা যেতে পারে। ডাউনলোড করতে নিম্নলিখিত কমান্ডটি ইস্যু করুন: 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 W: 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 | প্রাথমিক রিলিজ | এডওয়ার্ড ঝাও |
গুরুত্বপূর্ণ বিজ্ঞপ্তি
- DIODES অন্তর্ভুক্ত এই নথির সাথে সম্পর্কিত, কোনো ধরনের, প্রকাশ বা উহ্য, এর কোনো ওয়্যারেন্টি দেয় না, যার মধ্যে রয়েছে, কিন্তু সীমাবদ্ধ নয়, ব্যবসায়িক সক্ষমতার জন্য উহ্য ওয়্যারেন্টি এবং সক্ষমতার জন্য যে কোন বিচার বিভাগের আইনের অধীনে ভ্যালেন্টস)।
- ডায়োডস ইনকর্পোরেটেড এবং এর অধীনস্থ সংস্থাগুলি এই নথি এবং এখানে বর্ণিত যে কোনও পণ্যের আরও বিজ্ঞপ্তি ছাড়াই পরিবর্তন, বর্ধন, উন্নতি, সংশোধন বা অন্যান্য পরিবর্তন করার অধিকার সংরক্ষণ করে। ডায়োড ইনকর্পোরেটেড এই নথির আবেদন বা ব্যবহার বা এখানে বর্ণিত কোনো পণ্যের ফলে উদ্ভূত কোনো দায় স্বীকার করে না; ডায়োডস ইনকর্পোরেটেড তার পেটেন্ট বা ট্রেডমার্ক অধিকারের অধীনে কোনো লাইসেন্স বা অন্যদের অধিকারের কথা জানায় না। এই ধরনের অ্যাপ্লিকেশনগুলিতে এখানে বর্ণিত এই নথি বা পণ্যগুলির যেকোন গ্রাহক বা ব্যবহারকারী এই ধরনের ব্যবহারের সমস্ত ঝুঁকি গ্রহণ করবে এবং ডায়োড ইনকর্পোরেটেড এবং সেই সমস্ত সংস্থাগুলিকে ধরে রাখতে সম্মত হবে যাদের পণ্যগুলি ডায়োড ইনকর্পোরেটেডে প্রতিনিধিত্ব করা হয় webসাইট, সমস্ত ক্ষতির বিরুদ্ধে নিরীহ।
- ডায়োডস ইনকর্পোরেটেড অননুমোদিত বিক্রয় চ্যানেলের মাধ্যমে কেনা কোনো পণ্যের ক্ষেত্রে কোনো দায়বদ্ধতা দেয় না বা গ্রহণ করে না।
গ্রাহকরা যদি কোনো অনিচ্ছাকৃত বা অননুমোদিত অ্যাপ্লিকেশনের জন্য ডায়োড ইনকর্পোরেটেড পণ্য ক্রয় বা ব্যবহার করেন, গ্রাহকরা ক্ষতিপূরণ এবং ডায়োড ধরে রাখবেন - ইনকর্পোরেটেড এবং এর প্রতিনিধিরা এই ধরনের অনিচ্ছাকৃত বা অননুমোদিত আবেদনের সাথে সম্পর্কিত ব্যক্তিগত আঘাত বা মৃত্যুর যে কোনও দাবির কারণে প্রত্যক্ষ বা পরোক্ষভাবে উদ্ভূত সমস্ত দাবি, ক্ষতি, ব্যয় এবং অ্যাটর্নি ফিগুলির বিরুদ্ধে নিরীহ ছিল৷
- এখানে বর্ণিত পণ্যগুলি এক বা একাধিক মার্কিন যুক্তরাষ্ট্র, আন্তর্জাতিক বা বিদেশী পেটেন্ট মুলতুবি দ্বারা আচ্ছাদিত হতে পারে। এখানে উল্লিখিত পণ্যের নাম এবং চিহ্নগুলি এক বা একাধিক মার্কিন যুক্তরাষ্ট্র, আন্তর্জাতিক বা বিদেশী ট্রেডমার্ক দ্বারা আচ্ছাদিত হতে পারে।
- এই নথিটি ইংরেজিতে লেখা কিন্তু রেফারেন্সের জন্য একাধিক ভাষায় অনুবাদ করা হতে পারে। এই নথির শুধুমাত্র ইংরেজি সংস্করণ হল Diodes Incorporated দ্বারা প্রকাশিত চূড়ান্ত এবং নির্ধারক বিন্যাস।
লাইফ সাপোর্ট
- ডায়োড ইনকর্পোরেটেড পণ্যগুলি ডায়োডস ইনকর্পোরেটেডের প্রধান নির্বাহী কর্মকর্তার স্পষ্ট লিখিত অনুমোদন ব্যতীত লাইফ সাপোর্ট ডিভাইস বা সিস্টেমে গুরুত্বপূর্ণ উপাদান হিসাবে ব্যবহারের জন্য বিশেষভাবে অনুমোদিত নয়। এখানে ব্যবহৃত হিসাবে:
- A. লাইফ সাপোর্ট ডিভাইস বা সিস্টেম হল ডিভাইস বা সিস্টেম যা:
- শরীরের মধ্যে ইমপ্লান্ট করার উদ্দেশ্যে করা হয়, বা
- সমর্থন বা জীবন টিকিয়ে রাখা এবং লেবেলিং-এ প্রদত্ত ব্যবহারের নির্দেশাবলী অনুসারে সঠিকভাবে ব্যবহার করার সময় যার কার্যকারিতা ব্যর্থতার ফলে ব্যবহারকারীর উল্লেখযোগ্য ক্ষতি হতে পারে বলে আশা করা যায়।
- B. একটি ক্রিটিকাল কম্পোনেন্ট হল একটি লাইফ সাপোর্ট ডিভাইস বা সিস্টেমের যেকোন উপাদান যার কার্য সম্পাদনে ব্যর্থতা লাইফ সাপোর্ট ডিভাইসের ব্যর্থতা বা এর নিরাপত্তা বা কার্যকারিতাকে প্রভাবিত করার জন্য যুক্তিসঙ্গতভাবে আশা করা যায়।
- গ্রাহকরা প্রতিনিধিত্ব করে যে তাদের লাইফ সাপোর্ট ডিভাইস বা সিস্টেমের নিরাপত্তা এবং নিয়ন্ত্রক প্রভাবগুলির সমস্ত প্রয়োজনীয় দক্ষতা রয়েছে এবং স্বীকার করে এবং সম্মত হন যে তারা তাদের পণ্য এবং ডায়োডের যেকোনো ব্যবহার সম্পর্কিত সমস্ত আইনি, নিয়ন্ত্রক, এবং নিরাপত্তা-সম্পর্কিত প্রয়োজনীয়তার জন্য সম্পূর্ণরূপে দায়ী। ডায়োড ইনকর্পোরেটেড দ্বারা সরবরাহ করা হতে পারে এমন কোনও ডিভাইস- বা সিস্টেম-সম্পর্কিত তথ্য বা সহায়তা সত্ত্বেও এই জাতীয় সুরক্ষা-গুরুত্বপূর্ণ, জীবন সমর্থন ডিভাইস বা সিস্টেমগুলিতে অন্তর্ভুক্ত পণ্যগুলি।
- অধিকন্তু, গ্রাহকদের অবশ্যই ডায়োড ইনকর্পোরেটেড এবং এর প্রতিনিধিদের এই ধরনের নিরাপত্তা-সমালোচনামূলক, জীবন-সহায়ক ডিভাইস বা সিস্টেমে ডায়োড ইনকর্পোরেটেড পণ্য ব্যবহারের ফলে উদ্ভূত ক্ষতির বিরুদ্ধে সম্পূর্ণরূপে ক্ষতিপূরণ দিতে হবে।
- কপিরাইট © 2017, ডায়োডস ইনকর্পোরেটেড
- www.diodes.com
দলিল/সম্পদ
![]() |
DIODES AP33772 USB PD সিঙ্ক কন্ট্রোলার রাস্পবেরি Pi I2C ইন্টারফেস [পিডিএফ] ব্যবহারকারীর নির্দেশিকা AP33772 USB PD সিঙ্ক কন্ট্রোলার রাস্পবেরি Pi I2C ইন্টারফেস, AP33772, USB PD সিঙ্ক কন্ট্রোলার রাস্পবেরি Pi I2C ইন্টারফেস, রাস্পবেরি পাই I2C ইন্টারফেস, Pi I2C ইন্টারফেস |