大師匈說重點 電源協商!!!!!
這部分大師匈分倆部分,今天講一下基本的協商邏輯,有學習這塊內容的同學或者在快充領域的同志們也都見到過,使用某公司的協議分析工具,但是那么抓包工具略顯捉急,有點貴,而且不支持PD3.0,
回到正題,大師匈一直在講,PD最重要的就是電源協商,前面講的都是鋪墊,基礎知識,現在是真正需要利用前面的基礎進行電源協商溝通,
策略實作機制:
策略層就是一個個狀態機,有看過PD手冊的同學知道,第八章8.3.3的名字就是State Diagram(狀態機),狀態機就是每一個步驟都有一個狀態,執行哪一個操作要根據狀態來看的,有著嚴謹的邏輯,必須在某一個狀態下才能去做某一個操作,百度有很多的狀態機解釋,

上圖就是一個簡單的狀態機,在饑渴的狀態下,會使得人去吃飯,那么就是這個狀態觸發了這個動作,最后達到一個吃飽的狀態,
那么PD的策略狀態機也是差不多的概念,在某一個狀態下會觸發一個動作,然后到達另一個狀態,然后再去觸發下一個狀態,比上圖看到的多一些而已,
電源協商的協議溝通!!!!
PD協議策略的實作有賴于協議層,也有賴于時間限制,某一動作必須在一定時間內完成,保證能夠source端能夠及時回應sink端的需求,以及保證PD協議軟體的正常執行,穩定性,不會卡死在某一個中間狀態,
關于PD的時間這一塊我會講在內容里面穿插著講,但是大家一定要知道時間很重要!!!!但是也要了解,PD標準對時間的要求都是毫秒級的,大多比較寬松, 但是這不意味著我們實際的軟體也很寬松,因為兼容性,
下面上圖

上圖是一個最簡單的溝通流程,
1、source端發起一個廣播source cap(150ms廣播一次,知道收到goodcrc)
2、sink端收到并請求某一檔位的電源,以及電流要求,(收到source cap的24ms內)
3、source端評估是否接受,接受就回復接受accept,這個也是需要在24ms內去回復的
4、 如果source端接受,那么此時source端應該開始準備這個檔位的電源,
5、當電源準備完成的時候,發出ps_ready協議,表示準備妥當,可以開始抽電了,這個需要在450ms內,
上面就是最基本的一個溝通程序,以及上述的時間都是標準值,標準內的時間有一個范圍,我在里面去了中間值或者邊界值給大家講解,比如150ms的這個時間,標準內應該是100~200ms都可以,
以上是大師匈今天的內容,下一期會按照標準檔案說明,會比較復雜一些,以及上述內容如果哪里不嚴謹或者錯誤,請大家私信,
最新有人給大師匈留言提問,同學可以在評論區提問嘛?嘿嘿,然后順便關注一下,給大師匈一點動力,繼續更新,
有興趣可以加群717720218,大家一起進行技術交流,共同進步,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/183488.html
標籤:python
