TOPS
雜談
Contents
1. 描述
Describes
調(diào)試記錄(粗略)
1、使用 IIC 對 TYPE-C 芯片寫多個字節(jié)的時候玫恳,發(fā)生多寫一個捌治,導(dǎo)致寫到寫一個寄存器,再去讀取的時候數(shù)據(jù)錯亂纽窟。
2肖油、走到 PD 協(xié)議時,底層未做多個字節(jié)讀取接口臂港。
3森枪、寄存器屬性 R/W/C, C 有時候會讀取之后自清。
4审孽、板子出現(xiàn)現(xiàn)象類似掉電丟失程序县袱,實際測試發(fā)現(xiàn) VBUS 供電沒到板子上,板子主控沒電佑力。
5式散、source 端外供電不能和 sink 通信,原因:source VBUS 沒有供電過來打颤。
6暴拄、51板子 ,sink 通過的 type-c 線编饺,VBUS 沒有電壓乖篷,線路問題。
7透且、51板子撕蔼,程序使用聯(lián)合體位域時,包含結(jié)構(gòu)體時秽誊,unsigned :1 MDK 編譯器會取兩字節(jié)對齊鲸沮,如果是單字節(jié)的聯(lián)合體,必須改為 unsigned char:1 锅论,否則寫入數(shù)據(jù)出錯讼溺,典型的字節(jié)對齊問題。
8棍厌、在底層 sink 或者 source 功能時肾胯,程序要避免 toggle check other cc line 。否則會進入超時耘纱,導(dǎo)致狀態(tài)復(fù)位敬肚。(有可能需要解決)
9、測試通信束析,如果在程序運行前已經(jīng)插入 CC 線艳馒,sink 端沒法獲取 source 的能力,因為 source 前期通信有超時機制员寇,必須要拔掉重新插入弄慰,通信發(fā)生在剛連接上的時刻。
10蝶锋、調(diào)試時重點關(guān)注陆爽,控制寄存器、狀態(tài)寄存器扳缕、中斷寄存器慌闭。
11、measure cc line valotage 寫測量標準進寄存器躯舔,再把測量值讀取出來時驴剔,不符合實際值,原因是 IIC讀寫接口問題粥庄。