




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、TYPE-C PD升壓協(xié)議全解析TYPE-C PD升壓協(xié)議全解析TYPE-C PD升壓協(xié)議全解析TYPE-C PD升壓協(xié)議全解析PD是Power Delivery的簡稱,代表著TYPE-C電力傳輸?shù)囊粋€(gè)通訊協(xié)議。一個(gè)簡單的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è)版本,按照脈寬來設(shè)定的0和1。 可以從上圖看出,01的編碼并不以電平的變化為依據(jù),而是按照脈寬來決定。 BMC的最大頻率達(dá)330KHz,單指令長度在1ms內(nèi)。 通過邏輯分析儀對波形的讀取,我們可以看到未經(jīng)BMC解碼的原碼 通過BMC從左到右按照脈寬解碼后,我們可以得到一系列01的無序組合。 通過對01組合的觀察,可以看到從左開始有64對01的前導(dǎo)碼,來作為數(shù)據(jù)的等待和除干擾。64對前導(dǎo)碼后,才是需要關(guān)注的數(shù)據(jù)內(nèi)容。 通過BMC解碼后,并去除前導(dǎo)碼的數(shù)據(jù),
3、也并不是最終可以解析的數(shù)據(jù)。PD通信協(xié)議在這里增加了一個(gè)軟編碼,稱為4B5B編碼。即接收到的數(shù)據(jù)每5個(gè)二進(jìn)制數(shù)據(jù),需要經(jīng)過一個(gè)4B5B編碼表還原成正確的PD通信數(shù)據(jù)。 看到這里,都可以想到無線電的加密工作了,但是PD官方資料給出的解釋是4B5B是為了降低接收器的設(shè)計(jì)復(fù)雜度并且允許更加多樣化的接收器設(shè)計(jì)。 4B5B的解碼表如下: 根據(jù)圖二我們可以做一個(gè)4B5B的解碼例子: 取出圖二中引導(dǎo)碼后,我們可以得到的數(shù)據(jù):00011 00011 00011 10001 10010,通過上述4B5B表格進(jìn)行解碼后我們得到最終的數(shù)據(jù)為:SYNC1- SYNC1-SYNC1-SYNC2-1。 看到這里可能你有疑
4、問,00011在表格中不是Reserved嗎?是的,沒錯(cuò),4B5B還有個(gè)編碼規(guī)則,就是從左到右記錄數(shù)據(jù)時(shí),需要將讀取的數(shù)據(jù)倒過來編譯,即00011要倒成11000。 由于PD通信的流程復(fù)雜,且BMC解碼后的數(shù)據(jù)往往長達(dá)上百位,人工編解碼耗時(shí)耗力且容易出錯(cuò),所以需要使用一些自制的電腦軟件來進(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 固件升級流程 Structured VDM 廠商自定義結(jié)構(gòu)流程 BIST PD協(xié)議時(shí)序測試流程 今天我們就根據(jù)Power Negotiation講解PD電壓升降的流程結(jié)構(gòu)。 Power Negotiation流程發(fā)生在Source與Sink之間,在這里Source可以是適配器,可以是車充,也可以是移動電
6、源。Sink可以是任何支持Type-c PD的受電端。 Power Negotiation的協(xié)議流程包括以下PD指令: Source send CAPABILITY 供電能力指令(包含內(nèi)容:具有哪幾種電壓值和電流值) Sink send REQUEST 需電請求指令(包含內(nèi)容:選取哪種電壓和電流值) Source send ACCEPT 同意需電請求指令(包含內(nèi)容:經(jīng)過對比需電在自己的供電范圍內(nèi))Source send PS_RDY 完成需求指令 (包含內(nèi)容:已經(jīng)成功進(jìn)行能電壓改變) GOODCRC 指令接收通過指令 在實(shí)際應(yīng)用中這些指令是怎么操作的呢,接下來我來詳細(xì)述說:首選Source端工
7、作在TYPE-C的CC模式5V3A檢測模式下,一旦檢測到有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會根據(jù)Source端能夠提供的電壓進(jìn)行選擇,SINK選擇好合適的電壓電流便對SOURCE進(jìn)行供電請求,于是SINK發(fā)出Sink send REQUEST進(jìn)行需電請求指令。 Source接收到Sink send REQUEST后,會給SINK回復(fù)
8、GOODCRC,然后對Sink send REQUEST指令請求的電壓進(jìn)行校對,如果符合Source的供電能力,Source便對SINK發(fā)Source send ACCEPT指令,表明同意SINK的端電壓請求。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的通信指令(就升壓來說)有兩種方式一種方式是控制包,而另一種是帶數(shù)據(jù)包。
9、指令包格式如下: 一個(gè)完整包結(jié)構(gòu)包括引導(dǎo)碼,SOP*使用場景碼,Message Header功能碼,Byte0-n數(shù)據(jù)碼和CRC校驗(yàn)碼,EOP結(jié)束碼。 如果Byte數(shù)據(jù)碼沒有,說明指令僅僅作為控制指令使用,沒有數(shù)據(jù)內(nèi)容,所以叫做控制包。有數(shù)據(jù)內(nèi)容的叫做數(shù)據(jù)包,通常數(shù)據(jù)包里攜帶了要變化的電壓值和電流值等信息。引導(dǎo)碼:BMC解碼后可以看到由64對01組成,主要為了進(jìn)行接收緩沖。 SOP*碼:BMC解碼后由20位的二進(jìn)制數(shù)組成,通過4B5B解碼后我們可以看到SOP由Sync1和Sync2的解碼值構(gòu)成。表明該指令是應(yīng)用在Source與SINK之間。此處還有SOP、SOP的場景碼,表明是Source與E
10、-marker之間的場景指令。 Message Header功能碼:BMC解碼后由20位的二進(jìn)制數(shù)組成,經(jīng)過 4B5B解碼后為16位二進(jìn)制數(shù)據(jù)構(gòu)成。 Message Header通常包括:數(shù)據(jù)包還是控制包說明,是由SINK還是SOURCE發(fā)出的指令,PD的協(xié)議版本,如果是數(shù)據(jù)包還包含了有多少個(gè)數(shù)據(jù)包的信息。 詳細(xì)表格說明如下: 其中,低四位二進(jìn)制碼比較重要,代表的是該P(yáng)D指令的名字,比如說升壓中用到的Source send CAPABILITY就是又這四位來定義的。 其它指令的定義表如下: 在指令包的結(jié)構(gòu)中,過了Message Header向右就是數(shù)據(jù)區(qū)域,通過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位).那么新的問題又來了,一條完整的指令包到底怎么判斷包含了多少的數(shù)據(jù)塊呢,這個(gè)時(shí)候就需要由Message Header來進(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è)位變動,都會造成CRC改變。 經(jīng)過了引導(dǎo)碼、SOP碼、MessageHeader、data碼、CRC碼后,接下來就是EOP碼即結(jié)束碼,在4B5B中我們可以看到接收到01101的BMC編碼,即代表PD指令包全部接收完畢。 下面我們就實(shí)際做一次PD協(xié)議分析: 首先準(zhǔn)備好待測試的PD適配器、PD數(shù)據(jù)線(兩頭都是TYPE-C的那種)、PD測試架、邏輯分析儀。 然后將插拔過程中PD的數(shù)據(jù)流程通過邏輯分析儀讀取出來如下: 首先我們要做的就是PD指令的BMC解碼,將脈沖長短變化成二進(jìn)制數(shù)據(jù),然后通過協(xié)議分析軟件進(jìn)
13、行代碼解析,為了更好的講解,我們先人工分析一條指令。 引導(dǎo)碼由64位二進(jìn)制的01組成,這一段可以直接略過。 SOP*碼從左到右BMC解碼后等于:00011 00011 00011 10001 根據(jù)圖三進(jìn)行4B5B解碼我們可以得到:SYNC1-SYNC1-SYNC1-SYNC2 于是我們可以知道,該指令屬于SOURCE與SINK之間的指令。 我們接著往下分析: Message Header碼從左到右BMC解碼后等于:10010 01110 10010 00101。通過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ù)指令過長過程不再詳敘,用協(xié)議軟件可以分析得到: 接下來我們用協(xié)議軟件分析,速度會快很多,能夠迅速掌握這個(gè)流程功能和異常: 此指令為上條Message Header的回復(fù)指令。 接著
15、下條指令為: 此為SINK端發(fā)出的Sink send REQUEST指令,我們可以得到相關(guān)信息,已經(jīng)SINK請求的電壓等級。 SOURCE端的回復(fù)指令: 從該指令信息中,我們可以知道該信息由SOURCE發(fā)出,用來回復(fù)SINK端發(fā)出的電壓請求。 接著SOURCE端收到指令后,又發(fā)出的指令: 該指令信息為SOURCE發(fā)出的ACCEPT指令,由上述流程的介紹可以知道,該指令表明SOURCE端同意了SINK的電壓升壓請求,并開始做好升壓的準(zhǔn)備。 接下來SINK端發(fā)的GOODCRC,如下: 該指令為SOURCE發(fā)的第二條指令,所以SINK回復(fù)的GOODCRC中的MSGID這里開始計(jì)數(shù)到001; 與此同時(shí),SOURCE端的硬件已經(jīng)進(jìn)入升壓模式,由于升壓要一定時(shí)間,所以PD通信會有90ms多的延時(shí),才迎來了第三條SOURCE指令,如果流程沒有錯(cuò)的話就是 PS_RDY指令:用PD協(xié)議分析軟件的分析如下: 指令流程進(jìn)行到這里,說明SOURCE端已經(jīng)成功將電壓升壓到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術(shù)合同涉稅政策
- 電商行業(yè)買賣合同
- 辦公樓裝飾施工方案
- 長期供貨合同的協(xié)議書
- 員工考勤記錄表格系列
- 設(shè)備采購預(yù)算表格化統(tǒng)計(jì)分析報(bào)告
- 合同執(zhí)行進(jìn)展一覽表
- 宿州拆煙囪施工方案
- 兒童廁所改造施工方案
- 別墅背景墻大理石施工方案
- 2025年開封文化藝術(shù)職業(yè)學(xué)院單招職業(yè)技能測試題庫含答案
- 2025年遼寧冶金職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫有完整答案
- 2025年安徽揚(yáng)子職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫(各地真題)
- 2025年共青科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整版
- 煙草職業(yè)鑒定三級技能考點(diǎn)
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024年江西應(yīng)用工程職業(yè)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
- 2023《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀PPT
- 星巴克運(yùn)營管理手冊
- 人教鄂教版小學(xué)科學(xué)三年級下冊全冊教案教學(xué)設(shè)計(jì)
- 2鋼結(jié)構(gòu)工程常用構(gòu)件代號及相關(guān)知識
評論
0/150
提交評論