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

下載本文檔

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

文檔簡介

1、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ī)則; P D協(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é)議等快沖協(xié)議熔于一爐。PD的物理層由發(fā)射模塊和接收模塊組成,由于CC是單線協(xié)議,

2、所以所有通信都是半雙工的。BMC編碼規(guī)則是曼切斯特編碼的一個(gè)版本,按照脈寬來設(shè)定的0和1。Data In0 10 10 10 10 0 0rL n nLnBMCLTinRJinRTTJlJLnLrWL圖_可以從上圖看出.01的編碼并不以電平的變化為依據(jù),而是按照脈寬來決 定。BMC的最大頻率達(dá)330KHZ ,單指令長度在1ms內(nèi)。通過邏輯分析儀對(duì)波形的讀取Z我們可以看到未經(jīng)BMC解碼的原碼L.48fflS1.5ms.92mtl.Mrni1.58ms1.6ms即100 1卽回I少帆少兇凹少抄凹1 01抄小也J i即抄匹J I 0|呼也巴?抄即匹?抄回I圖二通過BMC從左到右按照脈寬解碼后,我們可

3、以得到一系列01的無序組合。通過對(duì)01組合的觀察,可以看到從左開始有64對(duì)01的前導(dǎo)碼,來作為數(shù) 據(jù)的等待和除干擾。64對(duì)前導(dǎo)碼后,才是需要關(guān)注的數(shù)據(jù)內(nèi)容。通過BMC解碼后,并去除前導(dǎo)碼的數(shù)據(jù),也并不是最終可以解析的數(shù)據(jù)。PD通信協(xié)議在這里增加了一個(gè)軟編碼,稱為4B5B編碼。即接收到的數(shù)據(jù)每5個(gè)二進(jìn)制數(shù)據(jù)Z需要經(jīng)過一個(gè)4B5B編碼表還原成正確的PD通信數(shù)據(jù)??吹竭@里,都可以想到無線電的加密工作了 ,但是PD官方資料給出的解釋 是4B5B是為了降低接收器的設(shè)計(jì)復(fù)雜度并且允許更加多樣化的接收器設(shè)計(jì)。4B5B的解碼表如下:Table 5-1 4b5b Symbol Encoding TableNam

4、e4b5b SymbolDescription0oooollllOhex data 010001OlOOlhex data 12001010100hex data 23001110101hex data 34010001010hex data 450101OlOllhex data 560110OHIOhex data 67011101111hex data 78100010010hex data 89100110011hex data 9A101010110hex dau AB101110111hex data BC1100llOlOhex daca CD1101ILOllhex dau D

5、EUlO11100hex djca EF1111ILlOlhex data FK<odeIL 000SurtsynchffiKcode10001Startsynch 82nSTlK«codeoomHard Reset »lR5T2Kcode11001Hard Reset «2EOPKcode01101EOP End Of PacketResentedError00000Stull not be usedReservedError00001Shall not be usedRfSfrvedError00010Shall not be ufidResentedE

6、rror00011ShdllnocbeucedResentedError00100Sibling be usedReservedError00101Shall not be usedSyncSK«code00110Startsynch 3ResentedError01000Shall not be uudResentedError01100Stull noc be usedReservedError10000SiullnocbeusedReservedError11111Stull not be us«d根據(jù)圖二我們可以做一個(gè)4B5B的解碼例子:取出圖二中引導(dǎo)碼后,我們可以

7、得到的數(shù)據(jù):00011 00011 00011 10001 10010 ,通過上述4B5B表格進(jìn)行解碼后我們得到最終的數(shù)據(jù)為:SYNC1-SYNC1-SYNC1-SYNC2-1,看到這里可能你有疑問,00011在表格中不是Reserved嗎?是的,沒錯(cuò),4B5B還有個(gè)編碼規(guī)則,就是從左到右記錄數(shù)據(jù)時(shí)需要將讀取的數(shù)據(jù)倒過來編 譯,即 00011 sffli成 11000。由于PD通信的流程復(fù)雜,且BMC解碼后的數(shù)據(jù)往往長達(dá)上百位.人工編解碼耗時(shí)耗力且容易岀錯(cuò).所以需要使用一些自制的電腦軟件來逬行輔助解碼, 于是才有了下面的自制解碼軟件。0 PD數(shù)揭毘析10010synl00101synl0111

8、1synl10111syn201111數(shù)里0001110010110100100001011110010OlOOl000001111>1111OlOOl000001011100101111解析結(jié)果;00010110100000101011000011110000011111000011111100ISGHeaderDataTxanSOP2400»ASourceCap5000VDFP2000mAPD2.014800*VSOURCEOmAMsgldzOOO DataOlO0b¥窗余I圖四該軟件就包括了 4B5B的解碼,和數(shù)據(jù)內(nèi)容的解析,能夠快速的將BMC解碼的數(shù)據(jù)內(nèi)容轉(zhuǎn)換

9、成功能定義。PD協(xié)議內(nèi)容繁多,主要包括以下流程: Power Negotiation電壓協(xié)商流程(電壓升降壓) Gotomin Op eratio nSoft Reset軟件復(fù)位流程Hard Reset硬件復(fù)位流程Cable Reset Power Role Swap Fast Role Swap Data Role Swap VCONN Swap Additi on Cap ability and Status Security密鑰流程Firmware Update固件升級(jí)流程 Structured VDM 廠商自定義結(jié)構(gòu)流程BIST PD協(xié)議時(shí)序測試流程今天我們就根據(jù)Power Negot

10、iation講解PD電壓升降的流程結(jié)構(gòu)。Power Negotiation 流程®生在 Source 與 Sink 之間,在這里 Source可以是適配器,可以是車充,也可以是移動(dòng)電源。Sink可以是召枝持TypicPD的受電端。Power Negotiation的協(xié)議流程包括以下PD指令: Source send CAPABILITY供電能力指令(包含內(nèi)容:具有哪幾種電壓值和電流值)Sink send REQUEST需電譴求指令(包含內(nèi)容:選取哪種電壓和電流值) Source send ACCEPT同意需電譴求指令(包含內(nèi)容:經(jīng)過對(duì)比需電在自己的供電范圍內(nèi))Source send

11、PS_RDY完成需求指令(包含內(nèi)容:已經(jīng)成功進(jìn)行能電壓改變) GOODCRC指令接收通過指令5A容在實(shí)際應(yīng)用中這些指令是怎么操作的呢,接下來我來詳細(xì)述說:首選Source 端工作在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會(huì)根據(jù)Source端能夠提供的電壓逬行選擇SINK選擇好合適的電壓電

12、流便對(duì)SOURCE進(jìn)行供電譴求*于是SINK發(fā)岀Sink send REQUEST逬行需電譴求指令。Source 接收到 Sink send REQUEST 后,會(huì)給 SINK 回復(fù) GOODCRC ,然 后對(duì)Sink send REQUEST指令譴求的電壓逬行校對(duì),如果符合Source的供電能力,Source便對(duì)SINK發(fā)Source send ACCEPT指令,表明同意SINK的端電壓it求。SINK接收到Source發(fā)送的ACCEPT指令后,回復(fù)GOODCRC。Source接收到SINK發(fā)出的GOODCRC后,便開始進(jìn)行電壓調(diào)節(jié),電壓調(diào)節(jié)成功后,便發(fā)出Source send PS_RDY

13、表示已經(jīng)調(diào)整電壓成功,SINK收到后,便回復(fù)GOODCRC表示接收指令成功。以上就是一個(gè)完整的升壓指令流程。PD的通信指令(就升壓來說)有兩種方式一種方式是控制包,而另一種是指令包格式如下:PrMmbIe(trainlng for receive"SOP* (Start Of Packet)Message HeaderByteOBytel Byte rbl Byten圖五一個(gè)完整包結(jié)構(gòu)包括引導(dǎo)碼,SOP*使用場景碼,Message Header功能碼,ByteO-n數(shù)據(jù)碼和CRC校驗(yàn)碼,EOP結(jié)束碼。如果Byte數(shù)據(jù)碼沒有,說明指令僅僅作為控制指令使用,沒有數(shù)據(jù)內(nèi)容, 所以叫做控制包

14、。有數(shù)據(jù)內(nèi)容的叫做數(shù)據(jù)包,通常數(shù)據(jù)包里攜帶了要變化的電壓 值和電流值等信息。引導(dǎo)碼:BMC解碼后可以看到由64對(duì)01組成,主要為了進(jìn)行接收緩沖。SOP托馬:BMC解碼后由20位的二進(jìn)制數(shù)組成,通過4B5B解碼后我們可以看到SOP由Syncl和Sync2的解碼值構(gòu)成。表明該指令是應(yīng)用在Source與SINK之間。此處還有SOP'、SOP'的場景碼,表明是Source與Emake之間的場景指令。©Message Header功能碼:BMC解碼后由20位的二進(jìn)制數(shù)組成,經(jīng)過4B5B解碼后為16位二進(jìn)制數(shù)據(jù)構(gòu)成。Message Header通常包括:數(shù)據(jù)包還是控制包說明,是由

15、SINK還是SOURCE發(fā)出的指令,PD的協(xié)議版本,如果是數(shù)據(jù)包還包含了有多少個(gè)數(shù)據(jù)包的信息。詳細(xì)表格說明如下: mcssagr beackr4-0SUrt ofrjarWt sorSOT 5orSOFovilr sor/sor sor10: dataconirol msgVvwbrr gg. OtrrUHrMwrTO0: control msg 1 data 單位,DIS0: sink0: UFP1: DFP»r/$orSfvrrf/lovffMi JlrtiilMtefo JMr1: source只用干SOP,且接收方 不對(duì)其正確性做檢S?blO: PD3.00; message

16、來自DFP UFPI: message來自CABLE PLUG結(jié)合number of data呦ects判斷星控 制包還星效據(jù)包燃后根據(jù)這5個(gè)定是何種包頭圖六其中,低四位二進(jìn)制碼比較重要,代表的是該P(yáng)D指令的名字,比如說升壓 中用到的Source send CAPABILITY就是又這四位來定義的。其它指令的定義表如下:Bits 4.0TypeSent byValid Start of Packet0 0000Reserved0 0001Source. CupabilUiesSource or Dual-Role Po werSOP only0 0010RequestSink onlySOP

17、only0 0011BISTTester, Source or SinkSOP*0 0100Siiii(_CapahUitifiSource or DuahRole Po vverSOP only00101fiatteryStatusSource or SinkSOP only00110AlertSource or SinkSOP only00111-0 1110Reserved0 1111VendorDefinedSource, SinkerCable PlugSOP*1 0000-1 nilReserved圖七在指令包的結(jié)構(gòu)中,過了 Message Header向右就是數(shù)據(jù)區(qū)域,通過4B5

18、B的轉(zhuǎn)換后,SOP是16個(gè)二逬制位,Message Header也是16個(gè)二進(jìn)制位,而數(shù)據(jù)區(qū)域侮個(gè)獨(dú)立的數(shù)據(jù)塊包括了 32個(gè)二進(jìn)制位。所以ByteO( 32位)Bytel(32位)那么新的問題又來了 , 一條完整的指令包到底怎么判斷包含了多少 的數(shù)據(jù)塊呢,這個(gè)時(shí)候就需要由Message Header來進(jìn)行判斷了。MessageHeader的12到14位表示1到7個(gè)數(shù)字,代表的就是指令包的數(shù)據(jù)數(shù)量,所以我們可以認(rèn)為指令包的最大數(shù)據(jù)數(shù)為7。數(shù)據(jù)模塊一般應(yīng)用在Source sendCAPABILITY , Sink send REQUEST等這樣需要帶電壓電流的PD指令中。數(shù)據(jù)模塊右邊就是一個(gè)32位

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

20、化成二進(jìn)制數(shù)據(jù),然后通過協(xié)議分析軟件逬行代碼解析為了更好的講解,我們先人工分析一條指令。圖九引導(dǎo)碼由64位二逬制的01組成,這一段可以直接略過。SOP碼M2II 0 1 0 UM3jL.56msl.SSms1.6ms圖十SOP*碼從左到右BMC解碼后等于:00011 00011 00011 10001根據(jù)圖三進(jìn)行4B5B解碼我們可以得到:SYNC1-SYNC1-SYNC1-SYNC2于是我們可以知道,該指令厲于SOURCE與SINK之間的指令。我們接看往下分析:Myssdyy RedderM31M21.6ms1,64ms1.66m5圖十一Message Header 碼從左到右 BMC 解碼后

21、等于:10010 OHIO 10010 00101,通過 4B5B 解碼后為:0001 0110 0001 0010,15到0位為:0010 0001 0110 0001根據(jù)圖六可以得到以下信患:-從15,14,13位可以得到此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丄Q得到00001并查閱圖七得到該指令名:Message Header指令,為電壓協(xié)商協(xié)議的發(fā)起指令。數(shù)據(jù)指令過長過程不再詳敘,用協(xié)議軟件可以分析得到:11001synl10010synl01111syid0100101111數(shù)量syn20

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論