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.

[参考译文] DS90UB940-Q1EVM:DS90UB940:不可访问 I2C 从器件

Guru**** 2578945 points
Other Parts Discussed in Thread: DS90UB940-Q1EVM, ALP

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1280001/ds90ub940-q1evm-ds90ub940-i2c-slave-not-accessible

器件型号:DS90UB940-Q1EVM
主题中讨论的其他器件: ALP

您好!

我正在尝试将 FPD3摄像头连接到 DS90UB940-Q1EVM 并通过 I2C 访问摄像头、但这对不起作用。 摄像头是 Allied Vision Alvium 1800 C-240C、连接到 EVM 上的 J3连接器(SMA 连接器)。 EVM 的配置为:

MODE_SEL0:1 (4个数据通道、1个 CSI 端口处于活动状态)
MODE_SEL1:4 (HS 反向通道:20Mbps、输入模式:同轴电缆)

这是寄存器的当前配置:

寄存器显示- ALP Nano 1 - DS90UB940、连接器1

寄存器 数据   名称
0x0000   0x58   I2C 器件 ID
0x0001 0x04      复位
0x0002   0x00   通用配置0
0x0003   0xF8   通用配置1
0x0004   0xFE   BCC 看门狗控制
0x0005   0x1E   I2C 控制1
0x0006   0x00   I2C 控制2
0x0007   0x79  远程 ID
0x0008   0x78  SlaveID[0]
0x0009   0x00   SlaveID[1]
0x000A   0x00   SlaveID[2]
0x000B   0x00   SlaveID[3]
0x000C   0x00   SlaveID[4]
0x000D   0x00   SlaveID[5]
0x000E   0x00   SlaveID[6]
0x000F   0x00   SlaveID[7]
0x0010   0x78  SlaveAlias[0]
0x0011   0x00   SlaveAlias[1]
0x0012   0x00   SlaveAlias[2]
0x0013   0x00   SlaveAlias[3]
0x0014   0x00   SlaveAlias[4]
0x0015   0x00   SlaveAlias[5]
0x0016   0x00   SlaveAlias[6]
0x0017   0x00   SlaveAlias[7]
0x0018   0x00   MAILBOX_18
0x0019   0x01   MAILBOX_19
0x001A   0x00   GPIO[9]和全局 GPIO 配置
0x001B   0x00   频率计数器
0x001C   0x22   常规状态
0x001D   0x60   GPIO0配置
0x001E   0x00   GPIO1_2配置
0x001F   0x00   GPIO_3配置
0x0020   0x00   GPIO_5_6配置
0x0021   0x00   GPIO_7_8配置
0x0022   0x00   数据路径控制
0x0023   0x38   RX 模式状态
0x0024   0x08   BIST 控制
0x0025   0x00   BIST 错误计数
0x0026   0x83   SCL 高电平时间
0x0027   0x84   SCL 低电平时间
0x0028   0x00   数据路径控制2
0x0029   0x00   保留
0x002A   0x00   保留
0x002B   0x00   I2S 控制
0x002C   0x00   保留
0x002D   0x00   保留
0x002E   0x00   PCLK 测试模式
0x002F   0x00   保留
0x0030   0x00   保留
0x0031   0x00   保留
0x0032   0x90   保留
0x0033   0x25   保留
0x0034   0x01   DUAL_RX_CTL
0x0035   0x00   AEQ 测试
0x0036   0x00   保留
0x0037   0xB8   MODE_SEL
0x0038   0x00   保留
0x0039   0x00   保留
0x003A 0x00      I2S_DIVSEL
0x003B   0x3F   保留
0x003C   0x20   保留
0x003D   0xE0   保留
0x003E   0x23   保留
0x003F   0x00   保留
0x0040   0x43   保留
0x0041   0x03   链路错误计数
0x0042   0x03   保留
0x0043   0x00   HSCC_CONTROL
0x0044   0x60   自适应 EQ 旁路
0x0045   0x88   自适应 EQ 最小值最大值
0x0046   0x00   保留
0x0047   0x00   保留
0x0048   0x0F   保留
0x0049   0x00   保留
0x004A   0x00   保留
0x004B   0x08   保留
0x004C   0x00   保留
0x004D   0x00   保留
0x004E   0x63   保留
0x004F   0x00   保留
0x0050   0x03   保留
0x0051   0x10   保留
0x0052   0x00   areg12_2
0x0053   0x01   保留
0x0054   0x80   保留
0x0055   0x00   保留
0x0056   0x00   areg12_6
0x0057   0x00   areg12a_f
0x0059   0x7F   保留
0x005A   0x20   保留
0x005B   0x20   保留
0x005C 0x00      保留
0x005D   0x00   保留
0x005F   0x00   保留
0x0060   0x00   保留
0x0061   0x00   保留
0x0062   0x00   保留
0x0063   0x00   保留
0x0064   0x10   PGCTL
0x0065   0x00   PGCFG
0x0066   0x00   PGIA
0x0067   0x00   PGID
0x0068   0x00   PGDBG
0x0069   0x00   PGTSTDAT
0x006A   0x00   CSICFG0
0x006B   0x00   CSICFG1
0x006C   0x00   CSIIA
0x006D   0x01   CSIID
0x006E   0x00   GPI 引脚状态1
0x006F   0x00   GPI 引脚状态2
0x0070   0x00   保留
0x0071   0x00   保留
0x0072   0x00   保留
0x0073   0x07   保留
0x0074   0x07   保留
0x0075   0x08   保留
0x0076   0x00   保留
0x0077   0x00   保留
0x0078   0x00   保留
0x0079   0x00   保留
0x007A   0x00   保留
0x007B 0x00      保留
0x007C   0x02   保留
0x0080   0x00   保留
0x0081   0x00   保留
0x0082   0x00   保留
0x0083   0x00   保留
0x0084   0x00   保留
0x0090   0x00   保留
0x0091   0x00   保留
0x0092   0x00   保留
0x0093   0x00   保留
0x0094   0x00   保留
0x0098   0x00   保留
0x0099   0x00   保留
0x009A   0x00   保留
0x009B   0x00   保留
0x009C   0x00   保留
0x009D   0x00   保留
0x009E   0x00   保留
0x009F   0x00   保留
0x00A1   0x00   保留
0x00A2   0x8C   保留
0x00C0   0x00   保留
0x00C1   0x00   保留
0x00C4   0x00   保留
0x00C5   0x00   保留
0x00C8   0xC0   保留
0x00C9   0x00   保留
0x00CA   0x00   保留
0x00CB 0x00      保留
0x00CC   0x00   保留
0x00E0   0x00   保留
0x00E1   0x00   保留
0x00E2   0x00   保留
0x00E3   0x00   保留
0x00E8   0x00   保留
0x00E9   0x00   保留
0x00EA   0x00   保留
0x00F0   0x5F RX_ID0    
0x00F1   0x55   RX_ID1
0x00F2   0x42   RX_ID2
0x00F3   0x39   RX_ID3
0x00F4   0x34   RX_ID4
0x00F5   0x30   RX_ID5
0x00F6   0x00   保留
0x00F8   0x00   保留
0x00F9   0x00   保留

这是 ALP 中的"Information"选项卡:

当我单击"Scan Connected Devices"时、我只会看到 EVM 本身。

当我尝试通过 I2C 访问摄像机时(例如读取寄存器地址0x198的序列号)、似乎无法访问摄像机:

board.ReadI2C (0x78、0x198、64)
[0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0]

我是否忘记配置任何东西以将摄像头作为 I2C 从器件进行访问?

谢谢。
此致。
坦桑尼亚

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

    您好、Tanzou、

    尽管寄存器的寻址和别名对于 I2C 通信是正确的、但串行器的配置对于建立从 DES -> SER 的路径同样重要。 远程 SER ID 似乎为0x79。 您能提供此应用中使用的串行器吗?

    此致!

    米格尔

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

    你好、Miguel、

    感谢您的答复。 摄像头内的串行器是 DS90UB953。 我发现在摄像头用户指南中给出了 DS90UB953 I2C 地址:0x30 (8位地址)/0x18 (7位地址)。 因此、我将寄存器远程 ID 的值更改为0x30 (因为寄存器需要一个7位地址、但 bit[0]用于"冻结器件 ID")。

    摄像头本身具有 I2C 地址0x78、我已在寄存器 SlaveID[0]和 SlaveAlias[0]中配置该地址。

    我希望在"Information"选项卡中可以看到串行器的伙伴信息、但始终显示为灰色。

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

    您好、Tanzou、

    我希望在"Information"选项卡中可以看到串行器的合作伙伴信息,但该信息始终显示为灰色。

    是的、会出现这种情况。

    如果伙伴信息灰显、则可能表示未建立锁定。 我看到您已连接到940 EVM 的 J3、我是否可以确认此处使用的是哪种类型的布线?

    端接阻抗可能会导致失锁-如果使用单端布线连接、R50必须组装在50欧姆处、连接953侧也是如此。

    您是否愿意分享配置的方框图/布线类型?

    此致!

    米格尔