拆解探索MagSafe電源接口結構和指示燈變顏色原理


你有沒有想過一個Mac的MagSafe接頭里面有什么? 控制光線是什么? 在Mac如何知道它是什么樣的充電器? 本文探討的MagSafe連接器內,並回答這些問題。
  2006年由蘋果公司推出的MagSafe接頭十分方便,他靠磁力吸在Mac身上,插拔方便而且有人踢到電源線時會自動斷開,而且不分反正。 連接器上的一個小LED燈改變顏色指示充電狀態。
  下面的圖片顯示了新的MagSafe 2連接器,很苗條,陣腳這樣的排列方法使它可以不用區分反正。 充電器和計算機通過適配器檢測引腳連通(也稱為充電控制引腳),本文將在下面詳細解釋。 兩個接地引腳比別的引腳稍長,所以當你插上連接器他們會首先接觸,這點跟USB相同。
<ignore_js_op>


MagSafe接頭拆解
  我有一個MagSafe電源電纜發生故障導致燃燒的電源引腳,你可以看到下面的照片,我拆開看看里面究竟是什么。 下面的連接器是一個較舊的MagSafe,跟上邊的Magsafe2相比還是有很大區別的。 還要注意,中間適配器引腳遠遠小於其他引腳,不像MagSafe2。
<ignore_js_op>


  卸下塑料外殼里邊有一塊軟塑料,也許是聚乙烯,有助於彌​​漫LED發出的光,並保護底下的電路。
<ignore_js_op>


  切割掉保護電路板的透明塑料塗層,該充電器電線焊接此板的背面上。 只有兩根線,電源線和地線連接到充電器。適配器針腳與充電器本身有沒有數據通信。
<ignore_js_op>

  
  拆卸連接器可以看到彈簧加載的“ 波戈銷 “,可以形成物理連接到Mac。 塑料部件支撐着針腳,下圖左側的金屬塊並沒有磁力,但可以被Mac的連接器的強力磁鐵所吸引。
<ignore_js_op>


  你可以在下圖中看到MagSafe連接器的內部電路板非常小,在中間有兩個LED,桔黃色/紅色和綠色,左邊是一個微小的芯片DS2413 1-Wire雙通道可尋址開關 。 該芯片有兩個功能:控制開關上的狀態LED(即“雙通道開關”部分),另外它也記錄提供充電器的規格和序列號的ID值。
<ignore_js_op>


  該芯片采用1-Wire協議 ,這是一個聰明的系統,可以通過一條線連接低速設備(加上接地)。 1-Wire系統很方便,在這里,Mac可以通過一個適配器檢測引腳與MagSafe通信。
了解充電器的ID代碼
  您可以在Mac上輕松找到充電器信息(打開“關於本機”,“更多信息”,“系統報告”,“電源”),里邊的瓦數和序列號很好理解,但ID、Revision和Family是哪來的? 事實證明,這些都是用於芯片內部連接器1-Wire協議的一部分。
<ignore_js_op>


  1-Wire家族中的每一個芯片都有一個唯一的64位ID(如圖可以看到為16進制,每4位可以表示一個數字)。 在1-Wire 標准中,64位ID由8位家族碼識別1-Wire器件的類型,一個48位的唯一序列號,以及一個8位非加密的CRC校驗用以驗證ID是否正確。 這些公司(比如蘋果)可以自定義ID號:頂端12位的序列號被用作一個客戶ID,接下來的12位數據由客戶指定的,而其余的24位為序列號。
  有了這些信息,現在Mac的AC充電器信息來源可依了,下面的圖顯示了如何用64位ID映射充電器的信息。 ID字段100表明蘋果的客戶ID,在12位客戶的數據(十六進制3C是十進制的60,表明60瓦)的功率和修訂,家庭代碼BA是1-Wire家族代碼為DS2413的芯片。 因此,AC充電器信息實際上是1-Wire芯片的底層信息。
<ignore_js_op>


  有些充電器信息可能是下圖的樣子,因為一些原因后來的充電器使用家族碼為85,這並不代表這是一個85瓦的充電器。以MacSafe2為例,在客戶ID中使用7A1表示45瓦,921表示60瓦,AA1表示85瓦。令人奇怪的是,這個85瓦充電器仍然包含60瓦的信息(16進制的3C)。
<ignore_js_op>


如何讀ID號
  讀取MagSafe接頭ID號碼很容易,使用Arduino板和一個2K上拉電阻,以及Paul Stoffregen的Arduino 1-Wire庫和簡單的Arduino程序。
<ignore_js_op>


  連接MagSafe連接器地線外和數據線內適配器感引腳可以讓Arduino立即讀取並顯示的64位ID號,該充電器不需要接電。
<ignore_js_op>


  用來在液晶屏上顯示序列號的電路看起來比較復雜,其實只需要利用一個簡單的程序,就可以將64ID號碼顯示出來。
<ignore_js_op>


控制MagSafe狀態指示燈
  Mac控制的MagSafe連接器燈光通過適配器引腳發送命令到DS2413 1-Wire開關IC控制兩對LED的開啟或關閉狀態。 通過適配器針腳發送相應的命令到IC,一個Arduino可以隨意控制LED。  
<ignore_js_op>


<ignore_js_op>


充電器的啟動過程
  每次把 MagSafe 電源插到蘋果電腦側面的接口上時,會經過以下步驟:
  插到電腦上之前,MagSafe 只維持大約 100 µA 的極弱電流
  插頭吸到蘋果電腦上一瞬間,MagSafe 電源檢測到上面說的那股極弱電流遇到了阻性負載,電阻值也吻合,於是開始全功率供電。蘋果電腦檢測到電源口有供電后,就通過接口中間那個觸點讀取 MagSafe 芯片里儲存的身份信息,確認后就接受供電。
  蘋果電腦通過接口中間那個觸點發送信號給 MagSafe 電源里的芯片,控制插頭上那顆 LED 燈改變顏色以顯示供電狀態:電池充電中(橙色)還是電池已充滿只給主機供電(綠色)。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM