Other Parts Discussed in Thread: CDCE6214, CDCI6214, CDCE6214-Q1
主题中讨论的其他器件:CDCE6214、 CDCI6214、
我尝试在 I2C 模式下使用 CDCE6214。
我已将 REFSEL 直接接地、因此它将在运行模式下加电。 所有电源均为2.5V。 我正在 output0上查找 LVCMOS、在另一个上查找 LVDS 4. 我有3个该系统的原型、它们的运行方式都是相同的。
PDN、SDA、SCL、HW_SW_CTRL 和 GPIO4均由 FPGA 驱动。 GPIO1也连接到 FPGA、但现在 FPGA 将该引脚配置为输入。
如果我设置 HW_SW_CTRL='1'、 GPIO4 (OE)='0'、则将 PDN 从"1"更改为"0"。 我可以通过 I2C 进行通信、我还看到电源电流增加。
这是 PDN 被清零后的寄存器值。
0x0053 (d83)= 0xFF00 0x0052 (d82)= 0x05C0 0x0051 (d81)= 0x0004 0x0050 (D80)= 0x0008 0x004F (d79)= 0x0008 0x004E (D78)= 0x0000 0x0000 0x004D (d77)= 0x0002 0x00241 (d80)= 0x0008 0x0074 (d74) = 0x0047 (0x0074)= 0x0074 (d48)= 0x0074 (0x0047 (d74)= 0x0048 (0x0074) 0x0047 (d74)= 0x0074 (d48) = 0x0406 0x0046 (d70)= 0x0898 0x0045 (D69)= 0xA241 0x0044 (d68)= 0x0000 0x0043 (d67)= 0x0006 0x0042 (D66)= 0x0006 0x0041 (D65)= 0x4AD8 0x0040 (d64)= 0xA241 0x0043 (d67)= 0x0006 0x0042 (D66)= 0x0006 0x00061 (0x00036) = 0x00061 (D360)= 0x0036 (0x0036)= 0x0036 (0x0063) 0x0036 (0x00061)(0x0036 (D360)= 0x0036 (D360)= 0x00061 0x003A (d58)= 0x5032 0x0039 (d57)= 0x0000 0x0038 (d56)= 0x0006 0x0037 (d55)= 0x001E 0x0036 (d54)= 0x3400 0x0035 (d53)= 0x0069 0x0034 (D52)= 0x5000 0x0033 (d51)= 0x0040 (d54)= 0x0035 (d53)= 0x0021)= 0x0040 (d02)= 0x0032 (d32) 0x0040 (d02)= 0x0040 (d02)= 0x2 (d02 (d02) = 0x0000 0x002D (D45)= 0x4F80 0x002C (D44)= 0x0318 0x002B (D43)= 0x0051 0x002A (D42)= 0x0002 0x0029 (d41)= 0x0000 0x0028 (D40)= 0x0000 0x0027 (d39)= 0x0026 (d42)= 0x0002 0x0029 (d41)= 0x0000 0x0028 ( 0x0034 )= 0x0000=0x0023 (0x0038) 0x0023 (0x0000=0x0023) 0x0000=0x0034 (D35) 0x0023 (0x0023) 0x0023 (0x0023) 0x0021 (D33)= 0x0000 0x0020 (D32)= 0x0000 0x001F (D31)= 0x0000 0x001E (D30)= 0x0030 0x001D (d29)= 0x0000 0x001C (d28)= 0x0000 0x001B (D27)= 0x0004 0x001A (d26)= 0x0030 0x001D (d29)= 0x0000 0x001C (d28)= 0x0020 (d28)= 0x00000x00000x0021 ( 0x0022)= 0x0020 (D24 )= 0x0020 (0x0020 (D24) 0x0020 (D27) 0x0020 (0x0021)= 0x0020 (0x00 = 0x0503 0x0014 (d20)= 0x0000 0x0013 (D19)= 0x0000 0x0012 (d18)= 0x0000 0x0011 (d17)= 0x26C4 0x0010 (D16)= 0x921F 0x000F (D15)= 0xA037 0x000E (D14)= 0x09 0x000D (0x0000 0x000D)= 0x000D (0x0000 0x000C)= 0x0009 (0x000C)= 0x0009 (0x000C)= 0x0009 (0x000C)= 0x00012 (0x000C (0x000C)= 0x00012 (0x000B) 0x000C (0x000C)= 0x00012 ( 0x0008 (D08)= 0x0001 0x0007 (D07)= 0x0C2D 0x0006 (D06)= 0x0DEC 0x0005 (D05)= 0x0008 0x0004 (D04)= 0x0000 0x0003 (D03)= 0x0200 0x0002 (D02)= 0x0000 0x0001 (D01)= 0x0000 7652 (0xd00)
我注意到两件事。 寄存器0为0x2000。 非常确定它应该是0x1000。 寄存器3指示 CRC 故障。 不确定这是否正常。
我有一个在 TICS Pro 中开发的配置。 我导出寄存器设置并尝试将其写入 CDCE6214。 第三列是将第二列中的值写入第一列中的地址后的回读值。
0x0053 = 0xFD00 0xFF00 0x0052 = 0x01C0 0x05C0 0x0051 = 0x0004 0x0050 = 0x0000 0x0000 0x004F = 0x0000 0x0000 0x004E = 0x1000 0x1000 0x004D = 0x0000 0x0000 0x004C = 0x0188 0x0188 0x004B = 0x8008 0x0047 = 0x0048 = 0x0048 = 0x0006 0x00181 = 0x0048 = 0x0048 0x0006 0x0006 0x0046 = 0x0008 0x0008 0x0045 = 0xA181 0xA181 0x0044 = 0x0000 0x0043 = 0x0006 0x0006 0x0042 = 0x0006 0x0006 0x0041 = 0x0808 0x0808 0x0040 = 0xA3C 0xA181 0x003F = 0x8000000 0x00008 0x003B = 0x8000000 0x008 = 0x0008 0x0008 0x0008 = 0x0008 0x0008 0x0008 0x0008 0x0008 = 0x0003 0x003A = 0x502C 0x0039 = 0x0002 0x0002 0x0038 = 0x0006 0x0006 0x0037 = 0x001E 0x0036 = 0x3400 0x0035 = 0x0069 0x0034 = 0x5000 0x5000 0x0033 = 0x40C0 0x40C0 0x0032 = 0x0031 = 0x0014 = 0x0014 = 0x0013 0x0014 = 0x0014 = 0x0013 0xA2F = 0x0014 = 0x0013 0x0013 0x0013 0x0013 0x0013 0x0013 0x0013 0x0013 0x0013 0x0013 0x0013 0x0014 = 0x0013 0x0013 0x0013 0x0013 0x0013 0x 0x0000 0x0000 0x002D = 0x4F80 0x002C = 0x0318 0x0318 0x002B = 0x0051 0x002A = 0x0002 0x0002 0x0029 = 0x0000 0x0000 0x0028 = 0x0000 0x0000 0x0027 = 0x0000 0x0000 0x0026 = 0x0000 0x0025 = 0x0000 0x0022 = 0x0000 0x0023 = 0x0000 0x0000 0x0023 0x0021 = 0x0000 0x0020 = 0x0000 0x001F = 0x0000 0x001E = 0x0030 0x0030 0x001D = 0x0000 0x0000 0x001C = 0x0000 0x0000 0x001B = 0x0004 0x0004 0x001A = 0x0000 0x0000 0x0019 = 0x0400 0x0018 = 0x0006 = 0x0018 = 0x07A2 0x0018 = 0x0018 = 0x0018 = 0x0006 0x00A2 0x0018 = 0x0006 0x0018 = 0x00A2 0x0017 0x0503 0x0503 0x0014 = 0x0000 0x0013 = 0x0000 0x0012 = 0x0000 0x0011 = 0x26C4 0x0010 = 0x921F 0x921F 0x000F = 0xA037 0x000E = 0x0000 0x0000 0x000D = 0x0000 0x0000 0x000C = 0x0000 0x0000 0x000C = 0x0000 0x0000 0x000B = 0x0000 0x0000 000B = 0x0000 0x0000 000B 0x0008 = 0x0001 0x0007 = 0x0C0D 0x0C2D 0x0006 = 0x0E2C 0x0DEC 0x0005 = 0x0008 0x0008 0x0004 = 0x0040 0x0040 0x0003 = 0x0000 0x0002 = 0x0000 0x0000 0x0001 = 0x2660 0x2660 0x0000 = 0x100C 0x2000
您可以在此处看到地址0未更改。 我知道 RESET 位应该自行清除、但 GPIO 方向仍然不正确。
我还可以读取 EEPROM。 以下是有用的结果。
EE 地址0x0000 (00)= 0x7002 EE 地址0x0001 (01)= 0x487F EE 地址0x0002 (02)= 0x1B12 EE 地址0x0003 (03)= 0x0000 EE 地址0x0004 (04)= 0x28A0 EE 地址0x0005 (05)= 0x4CD0 EE 地址0x0006 (07)= 0x0007 EE 地址0x0007 (EE 地址) 0x0008 (08)= 0x8320 EE Addr 0x0009 (09)= 0x5A24 EE Addr 0x000A (10)= 0x6C24 EE Addr 0x000B (11)= 0x122D EE Addr 0x000C (12)= 0x1626 EE Addr 0x000D (13)= 0x4909 EE Addr 0x000E (0x00014 ) EE Addr 0x00014 (0x0410) = 0xA801 EE Addr 0x0011 (17)= 0x00EC EE Addr 0x0012 (18)= 0x4000 EE Addr 0x0013 (19)= 0x2470 EE Addr 0x0014 (20)= 0x0200 EE Addr 0x0015 (21)= 0x0060 EE Addr 0x0016 (22)= 0x0000 EE Addr 0x0017 (0x0023 ) EE Addr 0x0019 (25)= 0x0A22 EE Addr 0x001A (26)= 0x1800 EE Addr 0x001B (27)= 0x00D8 EE Addr 0x001C (28)= 0x8000 EE Addr 0x001D (29)= 0x0C40 EE Addr 0x001E (30)= 0x0000 EE Adr 0x001C (30)= 0x0000 EE ADDR 0x0031 (0x0040 EE ADDR 0x001F)= 0x0032) 0x0021 (33)= 0x0D08 EE 地址0x0022 (34)= 0x0000 EE 地址0x0023 (35)= 0x1008 EE 地址0x0024 (36)= 0x0000 EE 地址0x0025 (37)= 0x0000 EE 地址0x0026 (38)= 0x0000 EE 地址0x0027 (39)= 0x1000 EE 地址0x40 ( 39) = 0x00EC EE 地址0x002A (42)= 0x4000 EE 地址0x002B (43)= 0x2470 EE 地址0x002C (44)= 0x0200 EE 地址0x002D (45)= 0x0060 EE 地址0x002E (46)= 0x0000 EE 地址0x002F (47)= 0x0000 EE 地址0x002F (47)= 0x000000 EE 地址0x0031 (0x0031) 0x0048 EE Addr 0x0032 (50)= 0x1800 EE Addr 0x0033 (51)= 0x00D8 EE Addr 0x0034 (52)= 0x0000 EE Addr 0x0035 (53)= 0x0C50 EE Addr 0x0036 (54)= 0x0000 EE Addr 0x0037 (55)= 0x0C50 EE Addr 0x0038 (0x0039 ) EE Addr 0x0039 (EEE Addr) 0x003A (58)= 0x0000 EE 地址0x003B (59)= 0x1100 EE 地址0x003C (60)= 0x0000 EE 地址0x003D (61)= 0x0000 EE 地址0x003E (62)= 0x0000 EE 地址0x003F (63)= 0x0000
我注意到 CRC 寄存器全为0、因此很可能难怪 CRC 比较失败。
我卡住了。 我已经尝试过几件事、但无法使其生成所需的输出。 这似乎是一个编程问题。 您是否看到过这样的内容?
