Type-C PD協(xié)議目前已經(jīng)大量用于手機(jī)/PC等數(shù)碼產(chǎn)品,但由于各家設(shè)備廠商在PD接口設(shè)計(jì)的時(shí)候做了一些定制化,導(dǎo)致在與第三方配件匹配的過(guò)程中,經(jīng)常有不兼容的情況發(fā)生。比如說(shuō)最常見(jiàn)的充電器,常常出現(xiàn)第三方充電器無(wú)法充電的情況,或者只能使用5V充電,無(wú)法進(jìn)入快充。這就給充電器的生產(chǎn)廠家?guī)?lái)很大的麻煩,不知道問(wèn)題出在哪里。
為了更加有效開(kāi)發(fā)和準(zhǔn)確驗(yàn)證基于控制流程的協(xié)議溝通,使用PD協(xié)議分析抓取CC線上的數(shù)據(jù)包是非常有必要的。某寶上有一款非常廉價(jià)的PD協(xié)議分析儀,可以兼容Cypress原廠的CY4500工具,通過(guò)USB接口將抓取到的協(xié)議包發(fā)送到主機(jī)端,通過(guò)上位機(jī)軟件EZ-PD Analyzer Utility解碼并顯示PD協(xié)議包。不僅可以實(shí)時(shí)顯示并解析PD通信包,而且還實(shí)時(shí)測(cè)量電力傳輸過(guò)程中的電壓和電流值,進(jìn)而縮短了開(kāi)發(fā)周期,對(duì)于調(diào)試以及兼容性測(cè)試幫助非常大。
某寶上買的協(xié)議分析儀

圖 1 充電器軟件的PD協(xié)議控制流程圖
本文利用PD協(xié)議分析儀記錄了充電過(guò)程中的標(biāo)準(zhǔn)PD協(xié)商供電以及私有化充電通信過(guò)程,如圖 2所示,而在此過(guò)程中CC電平和VBUS電壓變化情況圖 3所示。首先作為供電方的充電器廣播供電能力(Source Capability)5V/3A, 9V/2.7A和12V/2A,手機(jī)回復(fù)供電請(qǐng)求(Request),選擇9V,隨后充電器回復(fù)接受信息(Accept),并且將電壓調(diào)整至9V,發(fā)送供電準(zhǔn)備好信息(PS_RDY)??梢詮?span>Vbus(mv)一欄,看出在整個(gè)協(xié)商通信過(guò)程中的電壓變化情況,發(fā)送PS_RDY時(shí),電壓已經(jīng)調(diào)整至9V。標(biāo)準(zhǔn)PD協(xié)商供電之后,本位采用加密的非結(jié)構(gòu)化的定制化信息(Unstructured VDM)進(jìn)行私有化驗(yàn)證,驗(yàn)證通過(guò)之后手機(jī)端發(fā)起數(shù)據(jù)角色交換的命令(DR_SWAP),從而成為數(shù)據(jù)主設(shè)備,再發(fā)送調(diào)節(jié)電壓電流命令,完成高效的充電策略。

圖 2 協(xié)議分析儀抓取的充電器供電協(xié)商通信過(guò)程的PD協(xié)議
圖 3 充電器的PD供電協(xié)商波形
可以看到使用協(xié)議分析儀對(duì)CC線的通訊協(xié)議數(shù)據(jù)做監(jiān)測(cè),能使調(diào)試變得清晰可控,大大加速找到兼容性問(wèn)題原因的過(guò)程。