做測試我們是認真的,苦於手上的手機都已升級iOS 10,為了搞清楚問題,只好專門買了一個iOS 9.31版本的iPhone 5S手機來做實驗。
問題現象:
我們發現一些高仿數據線在iOS 10上正常工作,但在iOS 9上不能很好地工作。
具體表現為:先插A公再插蘋果頭可以給手機正常充電,而如果不插A公,只插蘋果頭,過幾秒鐘手機提示不支持此配件,或者先插蘋果頭再插A公只有充電符號卻沒電流。
數據線問題分析:
以上為高仿方案典型原理圖,拆解發現有問題的數據線裡C1電容虛焊失效,在A公沒有插電的情況下,MCU的供電其實是由與手機通信的DQ腳供過來的微弱電流,由C1保持供給MCU正常工作,如果C1失效,那MCU無法正常工作了。
那為什麼在iOS 9和iOS 10表現會不一樣?是因為iOS 10的認證過程有改進。
看以下分析:
iOS 9認證過程分析:
從上面分析可以看出,如果先插入A公,因為A公過來的電壓可以保證MCU正常工作,不受C1失效影響,這時插入蘋果頭,則可以正常完成認證過程。如果先插入蘋果頭由於C1失效MCU無法工作則直接導至認證失敗。
iOS 10認證過程分析:
從上面可以看出iOS 10變得更聰明,先插入蘋果頭認證失敗的情況下,並不提示“不支持此配件”,而還是等到A公插電的情況下重新啟動認證,而此時A公電壓供給MCU已可以正常工作,完成認證並正常充電,表面已看不出有什麼問題。
總結:
以上分析結果正好與開頭的問題現象是一致的,說明iOS 10的兼容性更好,只要求A公插電的情況下能正常工作就行,不要求單端插入正常工作,iOS 9則要求單端插入也要正常才不會報錯,所以在iOS 10上能正常使用的數據線在iOS 9上可能不好使。