This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SN65DSI86EVM:无 DSI 连接的输出色条图形

Guru**** 669750 points
Other Parts Discussed in Thread: SN65DSI86EVM, SN65DSI86
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1308551/sn65dsi86evm-output-color-bar-pattern-without-dsi-connection

器件型号:SN65DSI86EVM
主题中讨论的其他器件: SN65DSI86TEST2

我尝试使用  SN65DSI86EVM 在通过 DisplayPort 电缆连接到开发套件的 BenQ GW2480监视器上进行色条测试。 我曾尝试在这里引用 E2E 上的几篇文章、以及使用 SN65DSI86_PANEL_VIDEOREGISTER_CALC Excel 文档、该文档具有我从显示屏收集到的 EDID。

我正在使用 Raspberry Pi 5通过 以下脚本向 SN65DSI86发送 I2C 命令。 我还要附加我在连接到 GW2480的 Linux 计算机上使用 Read-EDID | Parse-EDID 获得的 EDID 数据。

# reset registers
i2cset -y 1 0x2d 0x09 0x01
sleep 1

# select clock
# 3-1: 100 - REFCLK at 27 Mhz
#i2cset -y 1 0x2D 0x0A 0x06
echo "Get 0x0A"
i2cget -y 1 0x2D 0x0A

# dsi
# 6-5: 01 - four DSI lanes (A)
# 4-3: 00 - 4 lanes
i2cset -y 1 0x2D 0x10 0x26
echo "Get 0x10"
i2cget -y 1 0x2D 0x10

# DSIA Clock
i2cset -y 1 0x2D 0x5C

# select datarate (we need 3.24 Gbps to do 1920*1080@60 over 2 lanes)
i2cset -y 1 0x2D 0x94 0x80

### enable pll
i2cset -y 1 0x2D 0x0D 0x01
sleep 1
echo "Get 0x0D"
i2cget -y 1 0x2D 0x0D
# check if pll is locked - MSB must be set.
echo "Get 0x0A"
i2cget -y 1 0x2D 0x0A
# this returns 0x86 -> pll = locked.

# enable assr on panel (native aux command)
i2cset -y 1 0x2D 0x64 0x01
sleep 1
i2cset -y 1 0x2D 0x74 0x00
sleep 1
i2cset -y 1 0x2D 0x75 0x01
sleep 1
i2cset -y 1 0x2D 0x76 0x0A
sleep 1
i2cset -y 1 0x2D 0x77 0x01
sleep 1
i2cset -y 1 0x2D 0x78 0x81

# enable enhanced framing & ASSR
i2cset -y 1 0x2D 0x5A 0x05

# 2 lanes - disable spread spectrum
i2cset -y 1 0x2D 0x93 0x20

### start semi auto link
i2cset -y 1 0x2D 0x96 0x0A
sleep 1
# i2cset -y 2 0x2D 0x96 0x09
echo "Get 0x96 and 0xF0"
i2cget -y 1 0x2D 0x96
i2cget -y 1 0x2D 0xF0
echo "Get 0xF1"
i2cget -y 1 0x2D 0xF1
echo "Get 0xF2"
i2cget -y 1 0x2D 0xF2
echo "Get 0xF3"
i2cget -y 1 0x2D 0xF3
echo "Get 0xF4"
i2cget -y 1 0x2D 0xF4
echo "Get 0xF5"
i2cget -y 1 0x2D 0xF5
echo "Get 0xF6"
i2cget -y 1 0x2D 0xF6
echo "Get 0xF7"
i2cget -y 1 0x2D 0xF7
echo "Get 0xF8"
i2cget -y 1 0x2D 0xF8
# this returns 0x01 -> link ok + switched to normal

### set resolution (calculated with excel sheet)
# active line length
i2cset -y 1 0x2D 0x20 0x08
i2cset -y 1 0x2D 0x21 0x70
# vertical active size
i2cset -y 1 0x2D 0x24 0x05
i2cset -y 1 0x2D 0x25 0xA0
# horizontal pulse width
i2cset -y 1 0x2D 0x2C 0x00
i2cset -y 1 0x2D 0x2D 0x20
# vertical pulse width
i2cset -y 1 0x2D 0x30 0x00
i2cset -y 1 0x2D 0x31 0x0A
# HBP
i2cset -y 1 0x2D 0x34 0x50
# VBP
i2cset -y 1 0x2D 0x36 0x1B
# HFP
i2cset -y 1 0x2D 0x38 0x30
# VFP
i2cset -y 1 0x2D 0x3A 0x03

# DP color format - 24bpp
i2cset -y 1 0x2D 0x5B 0x00

### colorbar
i2cset -y 1 0x2D 0x3C 0x12
echo "Get 0x3C"
i2cget -y 1 0x2D 0x3C
sleep 1
# Enable video stream - enable ASSR & enhanced framing
i2cset -y 1 0x2D 0x5A 0x0C
echo "Get 0x5A"
i2cget -y 1 0x2D 0x5A

Section "Monitor"
	Identifier "BenQ GW2480"
	ModelName "BenQ GW2480"
	VendorName "BNQ"
	# Monitor Manufactured week 33 of 2023
	# EDID version 1.4
	# Digital Display
	DisplaySize 530 300
	Gamma 2.20
	Option "DPMS" "true"
	Horizsync 30-83
	VertRefresh 50-76
	# Maximum pixel clock is 170MHz
	#Not giving standard mode: 1920x1080, 60Hz
	#Not giving standard mode: 1680x1050, 60Hz
	#Not giving standard mode: 1600x900, 60Hz
	#Not giving standard mode: 1280x1024, 60Hz
	#Not giving standard mode: 1280x800, 60Hz
	#Not giving standard mode: 1280x720, 60Hz

	#Extension block found. Parsing...
	Modeline 	"Mode 16" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
	Modeline 	"Mode 0" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
	Modeline 	"Mode 1" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 2" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
	Modeline 	"Mode 3" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 4" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
	Modeline 	"Mode 5" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 6" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 7" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
	Modeline 	"Mode 8" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
	Modeline 	"Mode 9" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
	Modeline 	"Mode 10" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
	Modeline 	"Mode 11" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
	Modeline 	"Mode 12" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
	Modeline 	"Mode 13" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
	Modeline 	"Mode 14" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
	Modeline 	"Mode 15" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
	Modeline 	"Mode 17" 74.25 1920 2008 2052 2200 540 542 547 562 +hsync +vsync interlace
	Modeline 	"Mode 18" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync 
	Modeline 	"Mode 19" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync 
	Option "PreferredMode" "Mode 16"
EndSection

00 ff ff ff ff ff ff 00 09 d1 e7 78 45 54 00 00
21 21 01 04 a5 35 1e 78 3a 05 65 a7 56 52 9c 27
0f 50 54 a5 6b 80 d1 c0 b3 00 a9 c0 81 80 81 00
81 c0 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c
45 00 0f 28 21 00 00 1e 00 00 00 ff 00 4b 38 50
30 31 36 31 35 30 31 51 0a 20 00 00 00 fd 00 32
4c 1e 53 11 01 0a 20 20 20 20 20 20 00 00 00 fc
00 42 65 6e 51 20 47 57 32 34 38 30 0a 20 01 5b
02 03 1c f1 4f 90 1f 04 13 03 12 02 11 01 14 06
07 15 16 05 23 09 07 07 83 01 00 00 02 3a 80 18
71 38 2d 40 58 2c 45 00 0f 28 21 00 00 1f 01 1d
80 18 71 1c 16 20 58 2c 25 00 0f 28 21 00 00 9f
01 1d 00 72 51 d0 1e 20 6e 28 55 00 0f 28 21 00
00 1e 8c 0a d0 8a 20 e0 2d 10 10 3e 96 00 0f 28
21 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8d

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嘿、德鲁、

    您可以向我发送寄存器0xF0 - 0xF8的状态吗?

    此外、请尝试使用此脚本来显示色条。

    e2e.ti.com/.../2620.1DP_5F00_4DSI_5F00_HBR_5F00_800x600_5F00_Color_5F00_Bar.xml

    我们使用 Aardvark I2C 控制器、因此格式会有所不同、但您应该能够从这里提取寄存器值。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    0xF0 - 0xf8是错误寄存器、应该可以帮助确定问题所在。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我今天早上能够使色条正常工作。 下面附加了脚本。 似乎我无法使用 ASSR 设置、必须使用标准 DP 种子。 即使我尝试使用 AUX I2C 命令启用它、也无法使用 ASSR 运行。 您是否知道某些显示器/显示器是否缺少 ASSR 支持? TI 在 TEST2引脚/解锁序列之后锁定标准 DP 种子是否也有原因? 我的总体目标是使它与我们选择的 LCD 一起工作、但是我想首先尝试使用开发套件和已知的监控器。

    # reset registers
    i2cset -y 1 0x2d 0x09 0x01
    sleep 1
    
    # select clock
    # 3-1: 100 - REFCLK at 27 Mhz
    i2cset -y 1 0x2D 0x0A 0x06
    echo "Get 0x0A"
    i2cget -y 1 0x2D 0x0A
    # dsi
    # 6-5: 01 - four DSI lanes (A)
    # 4-3: 00 - 4 lanes
    i2cset -y 1 0x2D 0x10 0x26
    echo "Get 0x10"
    i2cget -y 1 0x2D 0x10
    
    # DSIA CLK FREQ 445Mhz
    #i2cset -y 1 0x2D 0x12 0x59
    
    # Enchanced Frame & ASSR
    #i2cset -y 1 0x2D 0x5A 0x05
    
    # 2DP lanes no SSC
    i2cset -y 1 0x2D 0x93 0x20
    
    # select datarate (we need 2.7 Gbps to do 1920*1080@60 over 2 lanes)
    i2cset -y 1 0x2D 0x94 0x80
    
    ### enable pll
    i2cset -y 1 0x2D 0x0D 0x01
    sleep 1
    echo "Get 0x0D"
    i2cget -y 1 0x2D 0x0D
    # check if pll is locked - MSB must be set.
    echo "Get 0x0A"
    i2cget -y 1 0x2D 0x0A
    # this returns 0x86 -> pll = locked.
    
    # POST-Cursor2 0DB
    i2cset -y 1 0x2D 0x95 0x00
    
    # enable assr on panel (native aux command)
    i2cset -y 1 0x2D 0x64 0x01
    i2cset -y 1 0x2D 0x74 0x00
    i2cset -y 1 0x2D 0x75 0x01
    i2cset -y 1 0x2D 0x76 0x0A
    i2cset -y 1 0x2D 0x77 0x01
    i2cset -y 1 0x2D 0x78 0x81
    sleep 1
    
    ### start semi auto link
    i2cset -y 1 0x2D 0x96 0x0A
    sleep 1
    echo "Get 0x96 and 0xF0"
    i2cget -y 1 0x2D 0x96
    i2cget -y 1 0x2D 0xF0
    #echo "Get 0xF1"
    #i2cget -y 1 0x2D 0xF1
    #echo "Get 0xF2"
    #i2cget -y 1 0x2D 0xF2
    #echo "Get 0xF3"
    #i2cget -y 1 0x2D 0xF3
    #echo "Get 0xF4"
    #i2cget -y 1 0x2D 0xF4
    #echo "Get 0xF5"
    #i2cget -y 1 0x2D 0xF5
    #echo "Get 0xF6"
    #i2cget -y 1 0x2D 0xF6
    #echo "Get 0xF7"
    #i2cget -y 1 0x2D 0xF7
    #echo "Get 0xF8"
    #i2cget -y 1 0x2D 0xF8
    # this returns 0x01 -> link ok + switched to normal
    
    ### set resolution (calculated with excel sheet)
    # active line length
    i2cset -y 1 0x2D 0x20 0x80
    i2cset -y 1 0x2D 0x21 0x07
    # vertical active size
    i2cset -y 1 0x2D 0x24 0x38
    i2cset -y 1 0x2D 0x25 0x04
    # horizontal pulse width
    i2cset -y 1 0x2D 0x2C 0x2C
    i2cset -y 1 0x2D 0x2D 0x00
    # vertical pulse width
    i2cset -y 1 0x2D 0x30 0x05
    i2cset -y 1 0x2D 0x31 0x00
    # HBP
    i2cset -y 1 0x2D 0x34 0x94
    # VBP
    i2cset -y 1 0x2D 0x36 0x24
    # HFP
    i2cset -y 1 0x2D 0x38 0x58
    # VFP
    i2cset -y 1 0x2D 0x3A 0x04
    
    # DP color format - 24bpp
    i2cset -y 1 0x2D 0x5B 0x00
    
    ### colorbar
    i2cset -y 1 0x2D 0x3C 0x10
    echo "Get 0x3C"
    i2cget -y 1 0x2D 0x3C
    sleep 1
    
    i2cset -y 1 0x2D 0xFF 0x07
    i2cset -y 1 0x2D 0x16 0x01
    echo "Get 0x16"
    i2cget -y 1 0x2D 0x16
    i2cset -y 1 0x2D 0xFF 0x00
    
    # Enable video stream - disable ASSR
    i2cset -y 1 0x2D 0x5A 0x0C
    echo "Get 0x5A"
    i2cget -y 1 0x2D 0x5A

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用下面的脚本、我的显示器上也在运行色条。 此显示支持 ASSR、但必须使用 AUX 命令启用它。 我真希望有一个更好的方法来告诉哪些显示器支持和不支持这个功能。 我在下面发布了代码、以防他人认为有用。

    # select clock REFCLK at 27 Mhz
    i2cset -y 2 0x2D 0x0A 0x06
    echo "Get 0x0A"
    i2cget -y 2 0x2D 0x0A
    
    # DSI - 4 lanes
    i2cset -y 2 0x2D 0x10 0x26
    echo "Get 0x10"
    i2cget -y 2 0x2D 0x10
    
    # DSIA CLK FREQ 445Mhz
    i2cset -y 2 0x2D 0x12 0x59
    
    # Enchanced Frame & ASSR
    i2cset -y 2 0x2D 0x5A 0x05
    
    # 2DP lanes no SSC
    i2cset -y 2 0x2D 0x93 0x20
    
    # select datarate (we need 2.7 Gbps to do 1920*1080@60 over 2 lanes)
    i2cset -y 2 0x2D 0x94 0x80
    
    ### enable pll
    i2cset -y 2 0x2D 0x0D 0x01
    sleep 0.1
    echo "Get 0x0D"
    i2cget -y 2 0x2D 0x0D
    # check if pll is locked - MSB must be set.
    echo "Get 0x0A"
    i2cget -y 2 0x2D 0x0A
    # this returns 0x86 -> pll = locked.
    
    # POST-Cursor2 0DB
    i2cset -y 2 0x2D 0x95 0x01
    
    # enable assr on panel (native aux command)
    i2cset -y 2 0x2D 0x64 0x01
    i2cset -y 2 0x2D 0x74 0x00
    i2cset -y 2 0x2D 0x75 0x01
    i2cset -y 2 0x2D 0x76 0x0A
    i2cset -y 2 0x2D 0x77 0x01
    i2cset -y 2 0x2D 0x78 0x81
    
    ### start semi auto link
    i2cset -y 2 0x2D 0x96 0x0A
    sleep 0.1
    echo "Get 0x96"
    i2cget -y 2 0x2D 0x96
    echo "Get 0xF0"
    i2cget -y 2 0x2D 0xF0
    echo "Get 0xF1"
    i2cget -y 2 0x2D 0xF1
    echo "Get 0xF2"
    i2cget -y 2 0x2D 0xF2
    echo "Get 0xF3"
    i2cget -y 2 0x2D 0xF3
    echo "Get 0xF4"
    i2cget -y 2 0x2D 0xF4
    echo "Get 0xF5"
    i2cget -y 2 0x2D 0xF5
    echo "Get 0xF6"
    i2cget -y 2 0x2D 0xF6
    echo "Get 0xF7"
    i2cget -y 2 0x2D 0xF7
    echo "Get 0xF8"
    i2cget -y 2 0x2D 0xF8
    
    ### set resolution (calculated with excel sheet)
    # active line length
    i2cset -y 2 0x2D 0x20 0x80
    i2cset -y 2 0x2D 0x21 0x07
    # vertical active size
    i2cset -y 2 0x2D 0x24 0x38
    i2cset -y 2 0x2D 0x25 0x04
    # horizontal pulse width
    i2cset -y 2 0x2D 0x2C 0x2C
    i2cset -y 2 0x2D 0x2D 0x00
    # vertical pulse width
    i2cset -y 2 0x2D 0x30 0x05
    i2cset -y 2 0x2D 0x31 0x00
    # HBP
    i2cset -y 2 0x2D 0x34 0x94
    # VBP
    i2cset -y 2 0x2D 0x36 0x24
    # HFP
    i2cset -y 2 0x2D 0x38 0x58
    # VFP
    i2cset -y 2 0x2D 0x3A 0x04
    
    # DP color format - 24bpp
    i2cset -y 2 0x2D 0x5B 0x00
    
    ### colorbar
    i2cset -y 2 0x2D 0x3C 0x10
    echo "Get 0x3C"
    i2cget -y 2 0x2D 0x3C
    
    # Enable video stream - enable ASSR & enhanced framing
    i2cset -y 2 0x2D 0x5A 0x0D
    echo "Get 0x5A"
    i2cget -y 2 0x2D 0x5A

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嘿、德鲁、

    很高兴听到它在工作!  

    是的、很遗憾、无法轻松识别哪些显示器和面板支持 ASSR。 如果您在 LCD 面板实施过程中还有其他问题、敬请告知。