آموزش نقشه خوانی

ارتباط بین Tigris و Tristar در آیفون 6

هدف این مقاله، ارائه توضیحات کامل و مفصل همراه با جزییات در رابطه با Tigris و Tristar است. آنچه اینجا گردآوری شده است درک ما از این موضوع بوده و هدف ما ارائه موضوعات مرتبط با چگونگی تبادل اطلاعات USB و شارژ در گوشی آیفون 6 می باشد. با ما همراه باشید!

Tristar چیست؟

Tristar یا همان U2 معروف یک IC کنترل کننده USB است که معمولاً در کنار Tigris معروف یعنی آی سی شارژر گوشی قرار می گیرد. هدف این آی سی شناسایی هر آنچه که به مسیرهایش وصل یا اختصاص داده شده می باشد. به عنوان نمونه در صورت اتصال لوازم جانبی صوتی به گوشی، Tristar آن را به آی سی CODEC صوت متصل می کند. مسیرهای دیتای USB خطوط مسئول برای شارژ و USB هستند که به طور مستقیم به CPU بخش اپلیکیشن متصل هستند.

به عنوان مثال، وقتی که شارژر را وصل می کنید، CPU بخش اپلیکیشن ولتاژ پایه های دیتا را چک می کند و تشخیص می دهد که چه چیزی (در اینجا شارژر) به گوشی وصل شده است. و با توجه به آن میزان جریان کشیده شده را مشخص می کند. مثلا با وجود 5V ولتاژ USB می تواند جریانی در حدود 500 میلی آمپر تا 2 آمپر را دریافت کند.

TIGRIS

شرکت اپل از زمان ساخت آیفون 6 تا کنون تصمیم گرفته است که برای درایو کردن شارژ گوشی های خود از آی سی تغذیه اصلی PMIC اصلی استفاده نکند و به جای آن در مدار شارژ از Tigris استفاده کند که با CPU بخش اپلیکیشن و Tristar جفت شده است.

Q1701

Q1701 یک ترانزیستور Q-Mosfet است که وظیفه محافظت مسیرها از ولتاژ معکوس را دارد. گیت Q1701 با یک مقاومت 10K به GND (زمین) وصل شده و موقع اتصال کابل شارژر با دریافت 5 ولت ورودی روی پایه درین (D) به صورت اتوماتیک روشن می شود و ولتاژ 5V به پایه سورس (S) منتقل می شود. این ولتاژ به پایه F6 آی سی Tristar وصل می شود. اکثراً به اشتباه این پایه را به عنوان مسیر اصلی تغذیه Tristar می دانند در حالیکه این پایه وظیفه Handshake یا تأیید ولتاژ 5 ولت USB را دارد. با استفاده از این ترانزیستور ولتاژهای پایین در حدود 1.8 و 3 ولت قادر به روشن کردن Tristar نخواهد بود.

بررسی پایه های تغذیه آی سی Tristar

  • PP1V8_SDRAM = 1.8V  پایه F3 (مقدار دیودی این پایه (در تست اهم چک) باید حدود 315 باشد)
  • PP3V0_TRISTAR = 3.0V پایه F4 (مقدار دیودی این پایه (در تست اهم چک) باید حدود 450 باشد)
  • PP3V3_ACC = 3.3V  پایه D5 (مقدار دیودی این پایه (در تست اهم چک) باید حدود 580 باشد)
  •  PP_TRISTAR_PIN = 5V پایه F6  (مقدار دیودی این پایه (در تست اهم چک) باید OL باشد. البته تا زمانی که شارژر وصل نشده باشد)

مسیر PP_TRISTAR_PIN معمولاً به خاطر کابل شارژرهای بی کیفیتی که نویز زیادی را به مسیر وارد می کنند صدمه دیده و نمی تواند وظیفه خود را به خوبی انجام دهد. مسیر مربوط به این پایه روی برد، تحمل ولتاژ ریپل بیشتر از 100 میلی ولت را ندارد و ممکن است باعث ایجاد آسیب در Tristar شود.

همین شرایط نیز در مورد مسیرهای DP نیز برقرار است و در صورت اضافه ولتاژ، برای محافظت از Tristar پایه D6 با نام TRISTAR_TO_PMU_OVP_SW_EN_L در وضعیت High قرار می گیرد. این خط در واقع مسیری است که Tristar را به Tigris وصل می کند. این مسیر برای بررسی کیفیت کابل شارژ توسط Tristar و قبل از شروع وظایف Tigris بین این دو آی سی قرار گرفته است. ایتدا Tristar وضعیت شارژر را چک کرده و با چراغ سبز نشان دادن به Tigris، آی سی شارژ عملیات شارژ را آغاز می کند.

به طور کلی دو آی سی  Tigris و Tristar به صورت مشارکتی با یکدیگر کار می کنند.

Tigris در واقع تنها فقط آی سی شارژ نیست. در حقیقت این آی سی توانایی های دیگری چون بررسی عملکرد درست باتری، بررسی  سلامت ولتاژهای VCC و VBATT و تغذیه USB در مواقع لزوم را دارد.

Tigris قابلیت های خود را به کمک دو درگاه ارتباطی زیر انجام می دهد:

  1. یک پورت I2C در ارتباط با CPU بخش اپلیکیشن
  2. HQD_SWI برای ارتباط با باتری. با استفاده از این لاین تشخیص نوع باتری و ذخیره بسیاری از اطلاعات دیگر امکان پذیر خواهد بود.

حال ممکن است که بپرسید چرا دو درگاه استفاده شده است؟ در پاسخ باید گفت که درگاه I2C که یک پورت Master/Slave است، فقط زمانی به کار می آید که گوشی روشن باشد و CPU کنترل آن را برعهده بگیرد. خوب، چطور می توان وضعیت باتری را هنگامی که گوشی در حالت خاموش شارژ می شود، نظارت کرد؟ اینجاست که HDQ_SWI وارد میدان می شود. مسیر HDQ_SWI در صورت خاموش بودن گوشی و در دسترس نبودن CPU بخش اپلیکیشن وظیفه ارسال اطلاعات باتری را برعهده دارد.

پایه BATTERY_SWI آی سی Tigris (پایه F2 یا HDQ_GAUGE) زمانی که گوشی روشن است و CPU فعال است به مسیر AP_TO_TIGRIS_SWI از CPU بخش اپلیکیشن وصل می شود. در این حالت که آن را حالت اول (STATE 1) می نامیم، CPU بخش اپلیکیشن اطلاعات باتری (GAS GAUGE) را از طریق Tigris دریافت می کند. نظارت Tigris بر روی باتری عمدتاً بر روی دمای آن است که می تواند بر کل عملکرد گوشی تاثیر بگذارد.

در کل دو حالت عملکرد برای Tigris وجود دارد. زمانی که ترانزیستور MOSFET متصل به آن (Q1403) روشن است و زمانی که این ترانزیستور خاموش است. کنترل این ترانزیستور توسط پایه CHG_ACT_DIO (پایه E2) انجام می شود.  حالت فعال بودن این ترانزیستور را حالت دیود فعال (Active Diode Mode) می نامیم که می تواند ناشی از Low ولتاژ شدن باتری یا به خاطر بالا رفتن سطح پایه HDQ آی سی شارژ به سطح High در هنگام بروز ایراد باشد.

 وظیفه دیگر Tigris چیست؟ تبدیل ولتاژ 5 ولت از USB به ولتاژ باتری (VCC_Main) که می تواند باتری را همزمان شارژ کند بدون اینکه اضافه شارژ رخ دهد. این کار چگونه صورت می گیرد؟

پایه مربوط به خروجی شارژ BUCK_SW / CHG_LX است. مدار کانورتر ولتاژ Buck شارژ با قابلیت سوییچینگ سریع خود ولتاژ را به L1401 می رساند. این ولتاژ در حدود 4.2 تنظیم شده است.

دیوتی سایکل جریان خروجی این مدار، در هر زمان به ولتاژ باتری وابسته است. چنان چه باتری در وضعیت درست خودش باشد، آنگاه جریان به خوبی تنظیم می شود و عملیات شارژ در سه مرحله شارژ باتری های لیتیومی که در ادامه به آن می پردازیم، انجام می شود.

مراحل شارژ باتری های سلولی لیتیومی

  1. وضعیت پیش شارژ (PRECHARGING MODE): در این حالت ولتاژ سلول درون باتری به زیر آستانه 3.2V می رسد و جریان شارژ به حدود 100 میلی آمپر محدود می شود. اگر باتری در این وضعیت (Low ولتاژ) قرار بگیرد و نتواند جریان را در این حدود (100mA) محدود کند، نتیجه آن متورم شدن و باد کردن باتری خواهد بود. سنجش جریان شارژ توسط یک مقاومت تعبیه شده در داخل باتری انجام می شود.
  2. وضعیت CC: پس از پشت سر گذاشتن مرحله پیش شارژ و آماده شدن باتری برای شارژ، باتری وارد حالت شارژ با جریان ثابت (CC: Constant Current) می شود. میزان جریان بستگی به نوع شارژر وصل شده به گوشی دارد.
  3. وضعیت CV: پس از شارژ شدن کامل باتری و رسیدن به حداکثر ولتاژ ممکن یعنی 4.2 ولت، ولتاژ باتری حتی در صورت وصل بودن به شارژ در همین سطح ثابت می ماند (CV: Constant Voltage) و جریان شارژ کاهش می یابد.

CHARGER_VBATT_SNS: مسیر CHARGER_VBATT_SNS را در شکل مشاهده کنید.

این مسیر وجود هر گونه ولتاژ باتری را چک می کند. چنان چه CHARGER_VBATT_SNS در وضعیت Low قرار گیرد آنگاه ACT_DIODE در وضعیت High باقی می ماند (ترانزیستور Q1401 خاموش) و دو مسیر PP_VCC_MAIN و PP_BATT_VCC از یکدیگر ایزوله خواهند شد.

شرایطی وجود دارد که برای عملکرد صحیح باتری باید برقرار باشد. به عنوان مثال اگر HDQ در سطح High و BAT_SNS در وضعیت Low باشد آنگاه Tigris اعلام می کند که در gas gauge ایرادی وجود دارد.

 Tigris حتی قبل از اجرای سیستم عامل iOS نیز می تواند تست و بررسی های قبل از بوت شدن را انجام دهد و برخی عملکردهای حالت اول (STATE 1) را نیز فعال کند.

برای این کار نیاز است که HDQ / SWI در وضعیت High باشد و باتری حداقل ولتاژ لازم را داشته باشد.

اگر خطایی در Gauge مثلا BATT Low باشد و HDQ در سطح High باشد، آنگاه TIGRIS ترانزیستور Q1403 را روشن و  HDQ در در حالت Low  قرار می دهد. با این روش خطا دور زده می شود اما زمانی این روش قابل انجام است که تغذیه USB به خوبی تأمین شده باشد. تعیین این مسأله بر عهده Tristar است. بنابراین با وجود یک Tristar سالم می توان یک باتری کاملاً خالی شده را پر و خطاهای آن را رفع کرد.

بخش حالت اول (STATE 1)  که در بالا به آن اشارهشد را بیاد بیاورید. Tristar حتی در شرایطی که خطایی وجود داشته باشد می تواند عملیات شارژ را انجام دهد. زیرا اگر بتوان دستگاه را بوت کنید آنگاه به جای استفاده از HDQ که مبتنی بر سخت افزار است، از تبادلات نرم افزاری CPU بخش اپلیکیشن استفاده می کند.

پروتکل تبادل اطلاعات HDQ پروتکل HDQ (High-speed Data Queue) یک نوع ارتباط تک لاین (Single Wire Interface) است. HDQ نیازمند یک مقاومت pull-up است که در داخل باتری قرار دارد. به همین دلیل است که پین HDQ در حالت Idle (معلق) ولتاژی بیش از 2 ولت دارد.

هنگامی که دستگاه قصد چک کردن اطلاعات باتری گوشی را دارد، پایه HDQ را بر روی حالت Low قرار می دهد تا بتواند اطلاعات را به وسیله یک رشته از پالس ها دریافت کند. برای ارسال اطلاعات نیاز است که مسیر  بر روی High قرار گیرد مشابه آنچه که در ارتباط I2C انجام می شود.

اگر مسیر به واسطه یک آی سی خراب (اتصال کوتاه شده) در سطح Low نگه داشته شود، آنگاه تبادل دیتا انجام نمی شود.

اگر اطلاعات نتواند از طریق HDQ تبادل شود، عمل شارژ حتی اگر iOS بوت شده باشد صورت نمی گیرد. این مشکل باعث می شود عمل شارژ شروع نشود و گوشی در وضعیت Bootloop قرار بگیرد. یعنی مدام روی لوگوی اپل آمده و ری استارت شود. برای تست این موقعیت کافیست تا مثلا در آیفون 6، مسیر SWI باتری را با حذف مقاومت R2511 قطع نماییم. در اینصورت با اتصال باتری و روشن کردن گوشی، در وضعیت Bootloop قرار خواهیم گرفت.

تست Tigris:

  • دستگاه اطلاعات باتری را تشخیص نمی دهد! مشکل از کجاست؟
  • باتری آسیب دیده است
  • مدار BATTERY-SWI از کانکتور باتری J2523 تا پایه F2 آی سی Tigris قطع شده است.
  • آی سی Tigris – U1401 آسیب دیده است.
  • مسیر پایه G1 آی سی Tigris تا CPU بخش اپلیکیشن (پایه AG4) قطع شده است.
  • خود CPU بخش اپلیکیشن دچار آسیب شده است.

برای حل این مشکل کاری که باید انجام دهید این است که ابتدا باتری را عوض کرده و آن را به کامپیوتر وصل کنید و با استفاده از برنامه 3uTools اطلاعات باتری را ببینید. اگر با 3uTools اطلاعاتی بدست نیامد به معنی آنست که ارتباط با باتری برقرار نشده است.

مسیرهای 5V0_USB به Tristar و Tigris را تست کنید تا مطمئن شوید که ولتاژ ورودی آی سی به خوبی تأمین می شود. در حالت تست دیودی (اهم چک)، پین BATTERY-SWI بر روی کانکتور باتری باید مقداری در حدود 390 نشان دهد که نشان دهنده سالم بودن مسیر است. اگر در حالت تست دیود با مدار باز یا OL برخورد کردید می تواند نشانه قطع شدن مسیر بین کانکتور باتری و Tigris باشد.

 اگر مسیر BATTERY-SWI  سالم بود، Tigris را بردارید و پا یه های آن را اهم چک کنید. ممکن است مسیر پایه G1 به سمت CPU بخش اپلیکیشن خراب شده باشد. مقدار دیودی پایه G1 را اندازه بگیرید، چنان چه در حدود 460 بود نشانه سالم بودن آن است.

اگر تا اینجا و با تمام مراحل گفته شده ایراد را پیدا نکرده اید، نگران نباشید، دو بخش Tigris و CPU بخش اپلیکیشن باقی مانده اند که باید برای عیب یابی بررسی شوند. در اول کار Tigris را تعویض کنید. اگرمشکل همچنان وجود داشت پس مشکل از این IC نیست و باید از CPU بخش اپلیکیشن باشد، زیرا CPU بخش اپلیکیشن آسیب دیده و ولتاژ گذرگاه I2C را در مسیر SWI پایین کشیده است و همین باعث شده است که نتوانیم داده های باتری را دریافت کنیم.

یک روش مفید وجود دارد که با استفاده از آن می توانید بدون اینکه نیاز باشد CPU بخش اپلیکیشن را بردارید، ولتاژ درگاه I2C را افزایش داده و آن را به سطح آستانه ای برسانید که برای عملکرد درست آن کافی باشد و بتوان اطلاعات باتری را به دست آورد. برای این کار نیاز است که یک مقاومت 2/2 کیلو اهمی را با مسیر پایه G1 آی سی Tigris و ولتاژ 3 ولت آی سی Tristar (PP3V0_TRISTAR) به صورت Pull Up قرار دهید. با این کار ارتباط بین Tigris و CPU مجددا برقرار خواهد شد.

مثال:

شرایطی را در نظر بگیرید که گوشی آیفون X خود را به شارژ وصل کرده اید اما گوشی شارژ نمی شود و هیچ عکس العملی ندارد. می دانید که مشکل از شارژر و کابل شارژ گوشی نیست. در این شرایط باید چکار کنید؟ ما برای حل این مشکل، قبل از هر چیز، ولتاژهای ورودی شارژ را چک می کنیم. منظور ولتاژ PP_VBUS1_E75 است که از پورت Lightning می آید و یا ولتاژ PP_VBUS2_IKTARA که از آی سی شارژ بی سیم (U3400) تأمین می گردد. اگر ولتاژ درست بود حال باید آی سی شارژ Tigris2 را مورد بررسی قرار دهیم. ما باید روی پایه A4 (PP_VBUS1_E75_RVP) یک ولتاژ 5V داشته باشیم. وجود این ولتاژ برای آی سی Hydra که ورژن جدیدتر آی سی Tristar است به معنی فراهم بودن شرایط آغاز شارژ است.

ممکن است در هنگام خاموش بودن گوشی، شارژ کاذب رخ بدهد به این صورت که باتری خالی است و با وجود نمایش علامت شارژ، باتری پر نمی شود. در این حالت ایراد در خروجی آی سی شارژ می تواند باشد. می تواند یک خازن خراب در مسیر TIGRIS_LX وجود داشته باشد. در این حالت گوشی فقط از طریق باتری روشن می شود نه از طریق کانورتر Buck (خروجی آی سی شارژ). خازن های متصل به خطوط PMID نیز ممکن است در این شرایط خراب شده باشد. بنابراین چک کردن آن ها را فراموش نکنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا