TYPE-C PD升壓協(xié)議全解析參考_第1頁(yè)
TYPE-C PD升壓協(xié)議全解析參考_第2頁(yè)
TYPE-C PD升壓協(xié)議全解析參考_第3頁(yè)
TYPE-C PD升壓協(xié)議全解析參考_第4頁(yè)
TYPE-C PD升壓協(xié)議全解析參考_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、TYPE-C PD升壓協(xié)議全解析TYPE-C PD升壓協(xié)議全解析TYPE-C PD升壓協(xié)議全解析TYPE-C PD升壓協(xié)議全解析PD是Power Delivery的簡(jiǎn)稱,代表著TYPE-C電力傳輸?shù)囊粋€(gè)通訊協(xié)議。一個(gè)簡(jiǎn)單的TYPE-C PD使用環(huán)境,需要下面幾個(gè)設(shè)備構(gòu)成: HOST、DEVICE、CABLE(即:主機(jī),機(jī),EMARKER)PD的協(xié)議書主要的內(nèi)容集中在:PD協(xié)議的BMC編碼規(guī)則;PD協(xié)議的4B5B解碼;PD協(xié)議的通信流程;PD協(xié)議的通信指令結(jié)構(gòu);PD協(xié)議的通信內(nèi)容解析; PD協(xié)議獨(dú)立與USB協(xié)議之外,但由于TYPE-C口的兼容特性,可以讓PD協(xié)議、QC協(xié)議、MTK協(xié)議、FCP協(xié)議

2、等快沖協(xié)議熔于一爐。 PD的物理層由發(fā)射模塊和接收模塊組成,由于CC是單線協(xié)議,所以所有通信都是半雙工的。 BMC編碼規(guī)則是曼切斯特編碼的一個(gè)版本,按照脈寬來(lái)設(shè)定的0和1。 可以從上圖看出,01的編碼并不以電平的變化為依據(jù),而是按照脈寬來(lái)決定。 BMC的最大頻率達(dá)330KHz,單指令長(zhǎng)度在1ms內(nèi)。 通過(guò)邏輯分析儀對(duì)波形的讀取,我們可以看到未經(jīng)BMC解碼的原碼 通過(guò)BMC從左到右按照脈寬解碼后,我們可以得到一系列01的無(wú)序組合。 通過(guò)對(duì)01組合的觀察,可以看到從左開始有64對(duì)01的前導(dǎo)碼,來(lái)作為數(shù)據(jù)的等待和除干擾。64對(duì)前導(dǎo)碼后,才是需要關(guān)注的數(shù)據(jù)內(nèi)容。 通過(guò)BMC解碼后,并去除前導(dǎo)碼的數(shù)據(jù),

3、也并不是最終可以解析的數(shù)據(jù)。PD通信協(xié)議在這里增加了一個(gè)軟編碼,稱為4B5B編碼。即接收到的數(shù)據(jù)每5個(gè)二進(jìn)制數(shù)據(jù),需要經(jīng)過(guò)一個(gè)4B5B編碼表還原成正確的PD通信數(shù)據(jù)。 看到這里,都可以想到無(wú)線電的加密工作了,但是PD官方資料給出的解釋是4B5B是為了降低接收器的設(shè)計(jì)復(fù)雜度并且允許更加多樣化的接收器設(shè)計(jì)。 4B5B的解碼表如下: 根據(jù)圖二我們可以做一個(gè)4B5B的解碼例子: 取出圖二中引導(dǎo)碼后,我們可以得到的數(shù)據(jù):00011 00011 00011 10001 10010,通過(guò)上述4B5B表格進(jìn)行解碼后我們得到最終的數(shù)據(jù)為:SYNC1- SYNC1-SYNC1-SYNC2-1。 看到這里可能你有疑

4、問(wèn),00011在表格中不是Reserved嗎?是的,沒(méi)錯(cuò),4B5B還有個(gè)編碼規(guī)則,就是從左到右記錄數(shù)據(jù)時(shí),需要將讀取的數(shù)據(jù)倒過(guò)來(lái)編譯,即00011要倒成11000。 由于PD通信的流程復(fù)雜,且BMC解碼后的數(shù)據(jù)往往長(zhǎng)達(dá)上百位,人工編解碼耗時(shí)耗力且容易出錯(cuò),所以需要使用一些自制的電腦軟件來(lái)進(jìn)行輔助解碼,于是才有了下面的自制解碼軟件。 該軟件就包括了4B5B的解碼,和數(shù)據(jù)內(nèi)容的解析,能夠快速的將BMC解碼的數(shù)據(jù)內(nèi)容轉(zhuǎn)換成功能定義。 PD協(xié)議內(nèi)容繁多,主要包括以下流程:Power Negotiation 電壓協(xié)商流程(電壓升降壓) Gotomin Operation Soft Reset 軟件復(fù)位流

5、程Hard Reset 硬件復(fù)位流程 Cable Reset Power Role Swap Fast Role Swap Data Role Swap VCONN Swap Addition Capability and Status Security 密鑰流程Firmware Update 固件升級(jí)流程 Structured VDM 廠商自定義結(jié)構(gòu)流程 BIST PD協(xié)議時(shí)序測(cè)試流程 今天我們就根據(jù)Power Negotiation講解PD電壓升降的流程結(jié)構(gòu)。 Power Negotiation流程發(fā)生在Source與Sink之間,在這里Source可以是適配器,可以是車充,也可以是移動(dòng)電

6、源。Sink可以是任何支持Type-c PD的受電端。 Power Negotiation的協(xié)議流程包括以下PD指令: Source send CAPABILITY 供電能力指令(包含內(nèi)容:具有哪幾種電壓值和電流值) Sink send REQUEST 需電請(qǐng)求指令(包含內(nèi)容:選取哪種電壓和電流值) Source send ACCEPT 同意需電請(qǐng)求指令(包含內(nèi)容:經(jīng)過(guò)對(duì)比需電在自己的供電范圍內(nèi))Source send PS_RDY 完成需求指令 (包含內(nèi)容:已經(jīng)成功進(jìn)行能電壓改變) GOODCRC 指令接收通過(guò)指令 在實(shí)際應(yīng)用中這些指令是怎么操作的呢,接下來(lái)我來(lái)詳細(xì)述說(shuō):首選Source端工

7、作在TYPE-C的CC模式5V3A檢測(cè)模式下,一旦檢測(cè)到有SINK受電端接入,便開始輸出5V給SINK端。 而這時(shí)在CC線上,Source開始不間斷發(fā)送Source send CAPABILITY指令,SINK端接收到Source send CAPABILITY指令后,判斷PD通信數(shù)據(jù)符合協(xié)議規(guī)定,便回復(fù)GOODCRC表示已經(jīng)成功接收到數(shù)據(jù),接著SINK會(huì)根據(jù)Source端能夠提供的電壓進(jìn)行選擇,SINK選擇好合適的電壓電流便對(duì)SOURCE進(jìn)行供電請(qǐng)求,于是SINK發(fā)出Sink send REQUEST進(jìn)行需電請(qǐng)求指令。 Source接收到Sink send REQUEST后,會(huì)給SINK回復(fù)

8、GOODCRC,然后對(duì)Sink send REQUEST指令請(qǐng)求的電壓進(jìn)行校對(duì),如果符合Source的供電能力,Source便對(duì)SINK發(fā)Source send ACCEPT指令,表明同意SINK的端電壓請(qǐng)求。SINK接收到Source發(fā)送的ACCEPT指令后,回復(fù)GOODCRC。Source接收到SINK發(fā)出的GOODCRC后,便開始進(jìn)行電壓調(diào)節(jié),電壓調(diào)節(jié)成功后,便發(fā)出Source send PS_RDY表示已經(jīng)調(diào)整電壓成功,SINK收到后,便回復(fù)GOODCRC表示接收指令成功。 以上就是一個(gè)完整的升壓指令流程。 PD的通信指令(就升壓來(lái)說(shuō))有兩種方式一種方式是控制包,而另一種是帶數(shù)據(jù)包。

9、指令包格式如下: 一個(gè)完整包結(jié)構(gòu)包括引導(dǎo)碼,SOP*使用場(chǎng)景碼,Message Header功能碼,Byte0-n數(shù)據(jù)碼和CRC校驗(yàn)碼,EOP結(jié)束碼。 如果Byte數(shù)據(jù)碼沒(méi)有,說(shuō)明指令僅僅作為控制指令使用,沒(méi)有數(shù)據(jù)內(nèi)容,所以叫做控制包。有數(shù)據(jù)內(nèi)容的叫做數(shù)據(jù)包,通常數(shù)據(jù)包里攜帶了要變化的電壓值和電流值等信息。引導(dǎo)碼:BMC解碼后可以看到由64對(duì)01組成,主要為了進(jìn)行接收緩沖。 SOP*碼:BMC解碼后由20位的二進(jìn)制數(shù)組成,通過(guò)4B5B解碼后我們可以看到SOP由Sync1和Sync2的解碼值構(gòu)成。表明該指令是應(yīng)用在Source與SINK之間。此處還有SOP、SOP的場(chǎng)景碼,表明是Source與E

10、-marker之間的場(chǎng)景指令。 Message Header功能碼:BMC解碼后由20位的二進(jìn)制數(shù)組成,經(jīng)過(guò) 4B5B解碼后為16位二進(jìn)制數(shù)據(jù)構(gòu)成。 Message Header通常包括:數(shù)據(jù)包還是控制包說(shuō)明,是由SINK還是SOURCE發(fā)出的指令,PD的協(xié)議版本,如果是數(shù)據(jù)包還包含了有多少個(gè)數(shù)據(jù)包的信息。 詳細(xì)表格說(shuō)明如下: 其中,低四位二進(jìn)制碼比較重要,代表的是該P(yáng)D指令的名字,比如說(shuō)升壓中用到的Source send CAPABILITY就是又這四位來(lái)定義的。 其它指令的定義表如下: 在指令包的結(jié)構(gòu)中,過(guò)了Message Header向右就是數(shù)據(jù)區(qū)域,通過(guò)4B5B的轉(zhuǎn)換后,SOP是16個(gè)

11、二進(jìn)制位,Message Header也是16個(gè)二進(jìn)制位,而數(shù)據(jù)區(qū)域,每個(gè)獨(dú)立的數(shù)據(jù)塊包括了32個(gè)二進(jìn)制位。所以Byte0(32位)Byte1(32位).那么新的問(wèn)題又來(lái)了,一條完整的指令包到底怎么判斷包含了多少的數(shù)據(jù)塊呢,這個(gè)時(shí)候就需要由Message Header來(lái)進(jìn)行判斷了。Message Header的12到14位表示1到7個(gè)數(shù)字,代表的就是指令包的數(shù)據(jù)數(shù)量,所以我們可以認(rèn)為指令包的最大數(shù)據(jù)數(shù)為7。數(shù)據(jù)模塊一般應(yīng)用在Source send CAPABILITY,Sink send REQUEST等這樣需要帶電壓電流的PD指令中。 數(shù)據(jù)模塊右邊就是一個(gè)32位的數(shù)據(jù)校驗(yàn)區(qū)域,也稱作CRC校

12、驗(yàn)。CRC校驗(yàn)是PD通信協(xié)議中獨(dú)特的一套校驗(yàn)方式,為了保持?jǐn)?shù)據(jù)的完整與糾錯(cuò),整個(gè)PD指令任何一個(gè)位變動(dòng),都會(huì)造成CRC改變。 經(jīng)過(guò)了引導(dǎo)碼、SOP碼、MessageHeader、data碼、CRC碼后,接下來(lái)就是EOP碼即結(jié)束碼,在4B5B中我們可以看到接收到01101的BMC編碼,即代表PD指令包全部接收完畢。 下面我們就實(shí)際做一次PD協(xié)議分析: 首先準(zhǔn)備好待測(cè)試的PD適配器、PD數(shù)據(jù)線(兩頭都是TYPE-C的那種)、PD測(cè)試架、邏輯分析儀。 然后將插拔過(guò)程中PD的數(shù)據(jù)流程通過(guò)邏輯分析儀讀取出來(lái)如下: 首先我們要做的就是PD指令的BMC解碼,將脈沖長(zhǎng)短變化成二進(jìn)制數(shù)據(jù),然后通過(guò)協(xié)議分析軟件進(jìn)

13、行代碼解析,為了更好的講解,我們先人工分析一條指令。 引導(dǎo)碼由64位二進(jìn)制的01組成,這一段可以直接略過(guò)。 SOP*碼從左到右BMC解碼后等于:00011 00011 00011 10001 根據(jù)圖三進(jìn)行4B5B解碼我們可以得到:SYNC1-SYNC1-SYNC1-SYNC2 于是我們可以知道,該指令屬于SOURCE與SINK之間的指令。 我們接著往下分析: Message Header碼從左到右BMC解碼后等于:10010 01110 10010 00101。通過(guò)4B5B解碼后為:0001 0110 0001 0010。15到0位為:0010 0001 0110 0001 根據(jù)圖六可以得到以

14、下信息: 從15,14,13,12位可以得到此PD指令包括2個(gè)數(shù)據(jù)塊。從11,10, 9位可以知道此PD指令正在進(jìn)行第一個(gè)回合。(PD指令+GOODCRC指令為一個(gè)回合)從8位可以得知此PD指令由SOURCE發(fā)出。 從7,6位得知指令遵循的是PD2.0規(guī)則。 從5得知發(fā)指令的設(shè)備角色為DFP。 從4,3,2,1,0得到00001并查閱圖七得到該指令名:Message Header指令,為電壓協(xié)商協(xié)議的發(fā)起指令。 數(shù)據(jù)指令過(guò)長(zhǎng)過(guò)程不再詳敘,用協(xié)議軟件可以分析得到: 接下來(lái)我們用協(xié)議軟件分析,速度會(huì)快很多,能夠迅速掌握這個(gè)流程功能和異常: 此指令為上條Message Header的回復(fù)指令。 接著

15、下條指令為: 此為SINK端發(fā)出的Sink send REQUEST指令,我們可以得到相關(guān)信息,已經(jīng)SINK請(qǐng)求的電壓等級(jí)。 SOURCE端的回復(fù)指令: 從該指令信息中,我們可以知道該信息由SOURCE發(fā)出,用來(lái)回復(fù)SINK端發(fā)出的電壓請(qǐng)求。 接著SOURCE端收到指令后,又發(fā)出的指令: 該指令信息為SOURCE發(fā)出的ACCEPT指令,由上述流程的介紹可以知道,該指令表明SOURCE端同意了SINK的電壓升壓請(qǐng)求,并開始做好升壓的準(zhǔn)備。 接下來(lái)SINK端發(fā)的GOODCRC,如下: 該指令為SOURCE發(fā)的第二條指令,所以SINK回復(fù)的GOODCRC中的MSGID這里開始計(jì)數(shù)到001; 與此同時(shí),SOURCE端的硬件已經(jīng)進(jìn)入升壓模式,由于升壓要一定時(shí)間,所以PD通信會(huì)有90ms多的延時(shí),才迎來(lái)了第三條SOURCE指令,如果流程沒(méi)有錯(cuò)的話就是 PS_RDY指令:用PD協(xié)議分析軟件的分析如下: 指令流程進(jìn)行到這里,說(shuō)明SOURCE端已經(jīng)成功將電壓升壓到

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論