Part Number:SN65DSI86-Q1Other Parts Discussed in Thread:SN65DSI86
目前手邊eDP面板(2 Lane)的解析度設定如下
Detailed Timing Descriptors:
DTD 1: 1920×1200 60.025902 Hz 8:5 74.192 kHz 156.100000 MHz (286 mm x 178 mm)
Hfront 16 Hsync 16 Hback 152 Hpol N
Vfront 3 Vsync 14 Vback 19 Vpol N
我想先打出COLOR BAR, 所以用了[3C]-10 // COLOR_BAR_EN = 1
下面是我下的代碼 ( //後是註解 方便閱讀, 中括弧內是ADDRESS, 後面是16進制DATA)
IC WRITE
[20]-80-07 // CHA_ACTIVE_LINE_LENGTH 1920 => 0780h
[24]-B0-04 // CHA_VERTICAL_DISPLAY 1200 => 04B0h
[2C]-10-00 // CHA_HSYNC_PULSE_WIDTH_LOW 16 => 10h
[30]-0E-00 // CHA_VSYNC_PULSE_WIDTH_LOW 14 => 0Eh
[34]-98 // CHA_HORIZONTAL_BACK_PORCH 152 => 98h
[36]-13 // CHA_VERTICAL_BACK_PORCH 19 => 13h
[38]-10 // CHA_HORIZONTAL_FRONT_PORCH 16 => 10h
[3A]-03 // CHA_VERTICAL_FRONT_PORCH 3 => 03h
[5B]-00 // 0 = 24BPP RGB
[93]-20 // DP 2 LANES
[94]-80 // 100 = 2.70 Gbps per lane (HBR)
[96]-0A // 1010 = Semi-Auto Link Training.
[3C]-10 // COLOR_BAR_EN = 1
I2C是有通的, 我有回讀0x00~0x07都跟datasheet上顯示一樣
另外因為我目前還是無法點亮面板, 根據手冊內容我想透過I2C Over AUX回讀IC狀態
IC WRITE
[74]-00
[75]-00
[76]-00
[77]-03
[78]-91
IC READ
[79]
[7A]
[7B]
回讀都是00h
然後根據手冊查到回讀0xF4可以看目前狀態
回讀0xF4=09h -> AUX_RPLY_TOUT
目前想請問如果我們想要debug點亮或回讀需要從哪裡下手比較有機會, 謝謝
Kailyn Chen:
您好,关于您的问题,我这边尽快给您答复,下午会给您答复。
,
Kailyn Chen:
您好,抱歉回复晚了,问题的原因可能是DSI86的配置和面板的时序是不匹配的。
下面有一篇FAQ 关于如何正确配置DSI86的寄存器,里面附有一个EXCEL表格关于SN65DSI86 Register Calculator。您可以参考下:
https://e2e.ti.com/support/interface-group/interface/f/interface-forum/945404/faq-sn65dsi86-how-do-i-programming-the-sn65dsi86-registers
,
? ??:
Hi Kailyn,
我依據回讀EDID輸入Excel產出來的Script使用後還是無法點亮Color Bar
因為我不確定面板是否支持ASSR, 但我使用Script_ASSR已及Script_NoASSR兩個流程都有試過都是無法點亮的
另外根據手冊內容我想透過I2C Over AUX回讀IC狀態
IC WRITE
[74]-00
[75]-00
[76]-00
[77]-03
[78]-91
但回讀0xF4可以看目前狀態是09h (AUX_RPLY_TOUT)
是否有其他問題導致?
,
? ??:
目前還是無法正常點亮Color Bar
請問在點Color bar測試圖的時候MIPI同步也需要給出信號嗎?
,
Kailyn Chen:
? ?? said:因為我不確定面板是否支持ASSR, 但我使用Script_ASSR已及Script_NoASSR兩個流程都有試過都是無法點亮的
您好,ASSR控制的时候需要将TSET2拉高, 您这边确认下。
另外,color bar点不亮。0XF6寄存器是否有报错呢?
如果0xF6没有报错的话,说明DSI86的配置是符合面板时序的。
,
? ??:
剛剛我們確認發現AUX電路有點問題, 修正後已經解決AUX_RPLY_TOUT的異常
目前回讀0xF0~0xF8結果如下:
[F0] = 00[F1] = 00[F2] = 00[F3] = 00[F4] = 00[F5] = 02[F6] = 00[F7] = 00[F8] = 0A
兩個問題
1. LT_CR_MAXVOD_ERR. This field is set whenever link training fails in clock recovery phase due to maximum VOD reached without LANEx_CR_DONE bit(s) getting set.
2. LT_FAIL. This field is set whenever the Semi-Auto link training fails to train the DisplayPort Link
目前還有什麼debug方向呢?
,
? ??:
確認我們手邊的屏幕是有支援ASSR的所以使用了Script_ASSR的流程
目前Color Bar不會顯示
並且回讀0xF0~0xF8結果如下:
[F0] = 00[F1] = 00[F2] = 00[F3] = 00[F4] = 01[F5] = 02[F6] = 00[F7] = 00[F8] = 0A
如果關掉test pattern並且輸入MIPI DSI訊號也不會顯示, 回讀0xF0~0xF8結果如下:
[F0] = 00[F1] = 03[F2] = 00[F3] = 00[F4] = 01[F5] = 02[F6] = 00[F7] = 00[F8] = 0A
目前還是無法正常點亮, 是否還有其他debug方向提我們參考, 謝謝
,
Kailyn Chen:
? ?? said:1. LT_CR_MAXVOD_ERR. This field is set whenever link training fails in clock recovery phase due to maximum VOD reached without LANEx_CR_DONE bit(s) getting set.
这里的意思是由于Vod输出达到最大值,而LANEx_CR_DONE 没有置位,在时钟恢复相位的时候导致link 失败。
? ?? said: LT_FAIL. This field is set whenever the Semi-Auto link training fails to train the DisplayPort Link
Train the DisplayPort Link采用的是semi-auto link。
采用这种半自动training方法是存在首选的数据速率和通道数,但像其他参数就比如 TX_SWING 和预加重或 eDP sink端不知道的前提下一般选用这种方法。
通过软件可以将 ML_TX_MODE 转换为semi-auto link training。 如果trainging成功,将设置 LT_PASS 标志,并且 ML_TX_MODE 将转换为正常模式。 如果training失败,将设置 LT_FAIL 标,并且 ML_TX_MODE 将转换为主链路关闭。 然后,软件必须指定不同的数据速率和/或通道数组合,并再次尝试自动链接training。 这会一直重复,直到成功。但是数据速率的变化会导致 DP PLL 失去锁定。
所以综上两个报错,F6没有报错那DSI86的时序是没问题的,应该是和时钟有关。可能要在时钟这方面去排查原因。
,
? ??:
確實是跟clk有關係, 目前問題已解決, 主要是產生代碼的Excel在DSI Channel Mode選擇Single的時候對應的clk rate沒有變成2倍,
需要同時將DSI B Lanes設定為0才會產生正確的代碼, 因為我以為選Single就不需在特別設定DSI B Lanes導致的
,
Kailyn Chen:
很高兴您的问题得以解决,也非常感谢您的反馈,给后面遇到类似问题的客户做个参考。
后续有什么问题,再联系。