首页 > 技术知识 > 正文

1. 前言

fpdlink显示方案出现黑屏问题 定位问题与0x28寄存器值有关。

该值表示系统上电后设备未进入正常模式(0x19)和保持转发通道禁用模式(0x20),故障率1/15000,在特殊系统(具体947和948)中问题重复率为100%。

系统模块如下: DS90UH948-Q1 连接947 fpdlink显示方案黑屏问题调试1

调试结果如下:

(1)系统电源顺序(947和948)正确。 (2)当关闭/打开947和保持948电源时,这个问题无法消除。 (3)STP线缆维护连接,可消除关闭/打开948和维护947电源时的问题。 (4)断开/重新连接STP线缆,同时关闭/打开948电源,同时维护947电源,问题无法解决。 (5)维护系统供电时,拉低/拉高948配电盒,可消除此问题。 (6)维护系统供电,将948按0x01[0]位复位,无法解决问题。 (7)当维护系统电源时,将948按0x01[1]位复位两次(一次,问题无法消除),问题可以消除。 (8)尝试手动将正确的值写入948 0x28寄存器,但这个寄存器无法操作。 2. 梳理以下问题

(1)是否确保两边的升级顺序(即947和948)符合d/s?包括计时吗? (2)是否申请勘误表? (3)是否使用GPIO来控制你的显示?例如:控制显示器的背光? (4)使用的是单链接模式还是双链接模式?

1.948的上电顺序不符合数据表的要求。 我们修正了能量提升的顺序,但它没有起作用。 2.已经应用了勘误表, 但问题是947寄存器0xC=0x4,这意味着没有检测到电缆,所以勘误表没有在那个时候执行 3.没有,我们没有使用任何GPIO。 4. 使用双链接模式,自动

另外发现出现故障(947Registers 0xC=0x4)时 LANE0和LANE1的FPDLINK波形不同。 DS90UH948-Q1 连接947 fpdlink显示方案黑屏问题调试11

DS90UH948-Q1 连接947 fpdlink显示方案黑屏问题调试12

3. 检查register

(1)如果reg 0x0C=0x04表示链路未检测到

(2)这个在reg 0x01[2]中 这个位必须总是1

(3)良好的工作情况下提供来自947和948的转储, 而在失败模式下提供另一个转储

FAIL FAIL-GOOD GOOD Register Name Data Data Data 0x0000 I2C Device ID 0x58 0x58 1 0x58 1 0x0001 Reset 0x04 0x04 1 0x04 1 0x0002 General Configuration 0 0x00 0x00 1 0x00 1 0x0003 General Configuration 1 0xF8 0xF8 1 0xF8 1 0x0004 BCC Watchdog Control 0xFE 0xFE 1 0xFE 1 0x0005 I2C Control 1 0x1E 0x1E 1 0x1E 1 0x0006 I2C Control 2 0x00 0x00 1 0x00 1 0x0007 REMOTE ID 0x00 0x18 0 0x18 0 0x0008 SlaveID[0] 0x00 0x00 1 0x00 1 0x0009 SlaveID[1] 0x00 0x00 1 0x00 1 0x000A SlaveID[2] 0x00 0x00 1 0x00 1 0x000B SlaveID[3] 0x00 0x00 1 0x00 1 0x000C SlaveID[4] 0x00 0x00 1 0x00 1 0x000D SlaveID[5] 0x00 0x00 1 0x00 1 0x000E SlaveID[6] 0x00 0x00 1 0x00 1 0x000F SlaveID[7] 0x00 0x00 1 0x00 1 0x0010 SlaveAlias[0] 0x00 0x00 1 0x00 1 0x0011 SlaveAlias[1] 0x00 0x00 1 0x00 1 0x0012 SlaveAlias[2] 0x00 0x00 1 0x00 1 0x0013 SlaveAlias[3] 0x00 0x00 1 0x00 1 0x0014 SlaveAlias[4] 0x00 0x00 1 0x00 1 0x0015 SlaveAlias[5] 0x00 0x00 1 0x00 1 0x0016 SlaveAlias[6] 0x00 0x00 1 0x00 1 0x0017 SlaveAlias[7] 0x00 0x00 1 0x00 1 0x0018 MAILBOX_18 0x00 0x00 1 0x00 1 0x0019 MAILBOX_19 0x01 0x01 1 0x01 1 0x001A GPIO[9] and Global GPIO Config 0x00 0x00 1 0x00 1 0x001B Frequency Counter 0x00 0xF4 0 0xF4 0 0x001C General Status 0x22 0x33 0 0x33 0 0x001D GPIO0 Config 0x13 0x10 0 0x13 1 0x001E GPIO1_2 Config 0x33 0x00 0 0x33 1 0x001F GPIO3 Config 0x03 0x00 0 0x03 1 0x0020 GPIO5_6 Config 0x33 0x00 0 0x33 1 0x0021 GPIO7_8 Config 0x33 0x00 0 0x33 1 0x0022 Datapath Control 0x00 0x40 0 0x00 1 0x0023 RX Mode Status 0x30 0x30 1 0x30 1 0x0024 BIST Control 0x08 0x08 1 0x08 1 0x0025 BIST ERROR COUNT 0x00 0x00 1 0x00 1 0x0026 SCL High Time 0x19 0x83 0 0x19 1 0x0027 SCL Low Time 0x19 0x84 0 0x19 1 0x0028 Datapath Control 2 0x20 0x19 0 0x19 0 0x0029 FRC Control 0x00 0x00 1 0x00 1 0x002A White Balance Control 0x00 0x00 1 0x00 1 0x002B I2S Control 0x00 0x00 1 0x00 1 0x002C Reserved 0x00 0x00 1 0x00 1 0x002D Reserved 0x00 0x00 1 0x00 1 0x002E PCLK Test Mode 0x00 0x00 1 0x00 1 0x002F Reserved 0x00 0x00 1 0x00 1 0x0030 Reserved 0x00 0x00 1 0x00 1 0x0031 Reserved 0x00 0x00 1 0x00 1 0x0032 Reserved 0x90 0x90 1 0x90 1 0x0033 Reserved 0x25 0x25 1 0x25 1 0x0034 DUAL_RX_CTL 0x01 0x01 1 0x01 1 0x0035 AEQ TEST 0x00 0x00 1 0x00 1 0x0036 Reserved 0x00 0x00 1 0x00 1 0x0037 MODE_SEL 0xAC 0xAC 1 0xAC 1 0x0038 Reserved 0x00 0x00 1 0x00 1 0x0039 Reserved 0x00 0x00 1 0x00 1 0x003A I2S_DIVSEL 0x00 0x00 1 0x00 1 0x003B Reserved 0x3F 0x00 0 0x3F 1 0x003C Reserved 0x20 0x20 1 0x20 1 0x003D Reserved 0xC0 0xC0 1 0xC0 1 0x003E Reserved 0x23 0x23 1 0x23 1 0x003F Reserved 0x00 0x00 1 0x00 1 0x0040 Reserved 0x43 0x43 1 0x43 1 0x0041 LINK ERROR COUNT 0x13 0x03 0 0x13 1 0x0042 Reserved 0x03 0x03 1 0x03 1 0x0043 HSCC_CONTROL 0x00 0x00 1 0x00 1 0x0044 ADAPTIVE EQ BYPASS 0x60 0x60 1 0x60 1 0x0045 ADAPTIVE EQ MIN MAX 0x88 0x88 1 0x88 1 0x0046 Reserved 0x00 0x00 1 0x00 1 0x0047 Reserved 0x00 0x00 1 0x00 1 0x0048 Reserved 0x0F 0x0F 1 0x0F 1 0x0049 FPD_TX_MODE 0xE0 0x80 0 0xE0 1 0x004A Reserved 0x00 0x00 1 0x00 1 0x004B reg_4B 0x08 0x08 1 0x08 1 0x004C Reserved 0x00 0x00 1 0x00 1 0x004D Reserved 0x00 0x00 1 0x00 1 0x004E Reserved 0x63 0x63 1 0x63 1 0x004F Reserved 0x00 0x00 1 0x00 1 0x0050 Reserved 0x03 0x03 1 0x03 1 0x0051 Reserved 0x10 0x10 1 0x10 1 0x0052 areg12_2 0x00 0x00 1 0x00 1 0x0053 Reserved 0x01 0x01 1 0x01 1 0x0054 Reserved 0x80 0x80 1 0x80 1 0x0055 Reserved 0x00 0x00 1 0x00 1 0x0056 areg12_6 0x00 0x00 1 0x00 1 0x0057 areg12_7 0x00 0x00 1 0x00 1 0x0058 Reserved 0x00 0x00 1 0x00 1 0x0059 Reserved 0x7F 0x7F 1 0x7F 1 0x005A Reserved 0x20 0x20 1 0x20 1 0x005B Reserved 0x20 0x20 1 0x20 1 0x005C Reserved 0x00 0x00 1 0x00 1 0x005D Reserved 0x00 0x00 1 0x00 1 0x005E Reserved 0x00 0x00 1 0x00 1 0x005F Reserved 0x00 0x00 1 0x00 1 0x0060 Reserved 0x00 0x00 1 0x00 1 0x0061 Reserved 0x00 0x00 1 0x00 1 0x0062 Reserved 0x00 0x00 1 0x00 1 0x0063 Reserved 0x00 0x00 1 0x00 1 0x0064 PGCTL 0x10 0x10 1 0x10 1 0x0065 PGCFG 0x00 0x00 1 0x00 1 0x0066 PGIA 0x00 0x00 1 0x00 1 0x0067 PGID 0x00 0x00 1 0x00 1 0x0068 PGDBG 0x00 0x00 1 0x00 1 0x0069 PGTSTDAT 0x00 0x00 1 0x90 0 0x006E GPI Pin Status 1 0x00 0x00 1 0x00 1 0x006F GPI Pin Status 2 0x00 0x00 1 0x00 1 0x0070 Reserved 0x00 0x00 1 0x00 1 0x0071 Reserved 0x00 0x00 1 0x00 1 0x0072 Reserved 0x00 0x00 1 0x00 1 0x0073 Reserved 0x07 0x07 1 0x07 1 0x0074 Reserved 0x07 0x07 1 0x07 1 0x0075 Reserved 0x08 0x08 1 0x08 1 0x0076 Reserved 0x00 0x00 1 0x00 1 0x0077 Reserved 0x00 0x00 1 0x00 1 0x0078 Reserved 0x00 0x00 1 0x00 1 0x0079 Reserved 0x00 0x00 1 0x00 1 0x007A Reserved 0x00 0x00 1 0x00 1 0x007B Reserved 0x00 0x00 1 0x00 1 0x007C Reserved 0x02 0x02 1 0x02 1 0x0080 RX_BKSV0 0x34 0x00 0 0x34 1 0x0081 RX_BKSV1 0x8C 0x00 0 0x8C 1 0x0082 RX_BKSV2 0xAF 0x00 0 0xAF 1 0x0083 RX_BKSV3 0x5A 0x00 0 0x5A 1 0x0084 RX_BKSV4 0xE4 0x00 0 0xE4 1 0x0090 TX_KSV0 0x00 0x00 1 0x00 1 0x0091 TX_KSV1 0x00 0x00 1 0x00 1 0x0092 TX_KSV2 0x00 0x00 1 0x00 1 0x0093 TX_KSV3 0x00 0x00 1 0x00 1 0x0094 TX_KSV4 0x00 0x00 1 0x00 1 0x0098 Reserved 0x00 0x00 1 0x00 1 0x0099 Reserved 0x00 0x00 1 0x00 1 0x009A Reserved 0x00 0x00 1 0x00 1 0x009B Reserved 0x00 0x00 1 0x00 1 0x009C Reserved 0x00 0x00 1 0x00 1 0x009D Reserved 0x00 0x00 1 0x00 1 0x009E Reserved 0x00 0x00 1 0x00 1 0x009F Reserved 0x00 0x00 1 0x00 1 0x00C0 HDCP_DBG 0x00 0x00 1 0x00 1 0x00C1 HDCP_DBG2 0x00 0x00 1 0x00 1 0x00C3 Reserved 0x00 0x00 1 0x00 1 0x00C4 HDCP_STS 0x00 0x00 1 0x00 1 0x00C5 Reserved 0x00 0x00 1 0x00 1 0x00C8 Reserved 0xC0 0xC0 1 0xC0 1 0x00C9 NVM_DATA 0x00 0x00 1 0x00 1 KSV_FIFO_DATA 1 1 0x00CA NVM_ADDR0 0x00 0x00 1 0x00 1 KSV_FIFO_ADDR0 1 1 0x00CB NVM_ADDR1 0x00 0x00 1 0x00 1 KSV_FIFO_ADDR1 1 1 0x00CC Reserved 0x00 0x00 1 0x00 1 0x00E0 RPTR_TX0 0x00 0x00 1 0x00 1 0x00E1 RPTR_TX1 0x00 0x00 1 0x00 1 0x00E2 RPTR_TX2 0x00 0x00 1 0x00 1 0x00E3 RPTR_TX3 0x00 0x00 1 0x00 1 0x00E8 XRPTR_STS 0x00 0x00 1 0x00 1 0x00E9 XRPTR_CTL 0x00 0x00 1 0x00 1 0x00EA XRPTR_BSTS0 0x00 0x00 1 0x00 1 0x00F0 HDCP_RX_ID0 0x5F 0x5F 1 0x5F 1 0x00F1 HDCP_RX_ID1 0x55 0x55 1 0x55 1 0x00F2 HDCP_RX_ID2 0x48 0x48 1 0x48 1 0x00F3 HDCP_RX_ID3 0x39 0x39 1 0x39 1 0x00F4 HDCP_RX_ID4 0x34 0x34 1 0x34 1 0x00F5 HDCP_RX_ID5 0x38 0x38 1 0x38 1 0x00F6 Reserved 0x00 0x00 1 0x00 1 0x00F8 Reserved 0x00 0x00 1 0x00 1 0x00F9 Reserved 0x00 0x00 1 0x00 1
<

(4)所有947寄存器都显示NO Detected DES

确保在SER启动后DES已上电并发送转发信道信号 否则需要在接收到有效信号后对DES进行复位

同样在非工作模式下,将强制在reg 0x5B[0]中的链接, 而在工作模式下则不强制

此外,在非工作模式下,正在写一些保留位和寄存器, 例如947上的0x23和0x24。 编写这两个寄存器是勘误表的一部分, 但是应该再次将这些寄存器写入0x00以使其正常工作

4. 梳理配置流程

(1)947+948系统是否有推荐的上电顺序图? (2)如果Reg0x24≠1B,将继续重复第1步和第2步, 在本例中,因为0x24≠0x1b。 所以0x24的值一直在变化。 这就是为什么0x24不等于0x00。

步骤1: Reg0x23 = 0x80 //开启上电状态机读取功能 Reg0x24 = 0x80 //在0x24寄存器中启用状态机的寄存器读取功能 if Read Reg0x24[4:0] //Read register 0x24[4:0] for power-up state-machine status .读取寄存器0x24[4:0] //如果Reg0x24[4:0]的值是5b11011,请执行步骤2 //如果Reg0x24[4:0]有任何其他值,在最小延迟10ms后重新读取Reg0x24[4:0] 步骤2:清除寄存器 Reg0x24 = 0x00 //清除寄存器0x24 Reg0x23 = 0x00 //关闭read of powerup state machine state

猜你喜欢