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.

[参考译文] DS90UB933-Q1:如何使用954芯片组与933通信

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/768850/ds90ub933-q1-how-to-talk-to-933-with-954-chipset

器件型号:DS90UB933-Q1
主题中讨论的其他器件:ALPUSB2ANYTIDA-01002

您好!

我们有一个954解串器  、通过1米 STP 链路占用933块芯片中的2块

尝试通过 alp v1.57与芯片通信。

到目前为止、我已经获得了这个通路 ALP

我尝试将以下代码作为脚本文件运行、但在第一行中失败。 ,看看是否可以连接

我是否缺少 python 库?

# 954 ID 60 8'b (默认加法。 TI 954EVM 板上的)
devAddr = 0x60
#"FPD3_PORT_SEL RX0"
board.WriteI2C (devAddr、0x4c、0x01)# RX_PORT 0 READ / WRITE
#"启用直通"
board.WriteI2C (devAddr、0x58、0x58)#启用直通
board.WriteI2C (devAddr、0x5c、0x18)#"SER_ALIAS_ID"
board.WriteI2C (devAddr、0x5d、0x60)#"SlaveID [0](SlaveID [0])"
board.WriteI2C (devAddr、0x65、0x60)#"SlaveAlias​​[0](SlaveAlias [0])"

感谢您的任何帮助。

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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    是否已连接到 UB954并从"Scripting"选项卡运行它? 请发布整个 ALP 屏幕的图片、其中显示了您所连接的配置文件。 在合作伙伴信息中、不确定为什么端口号显示为 N/A 请显示运行脚本时所遇到的确切错误的屏幕截图。
    谢谢、
    Vishy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是完整的 ALP 屏幕。

    我手动放置

    我手动设置从 CSI 到 RAW 的输入模式、因为它在设计 时通过 CSI 的 MODE 引脚进行绑定、因为我们还将使用双953板连接到954。

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

    您好!

    我注意到、在随附的屏幕截图中、您正在从"系统脚本"选项卡运行脚本。 而应使用"Scripting"选项卡。 请参阅下面的内容

    谢谢、

    Vishy

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

    计算出,远程端仍然没有 i2c,认为913连接而不是933。

    是否有可以验证933与954链接的简单脚本?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    DS90UB933与913A 器件相同、可在高达100MHz 的频率下工作(913A 时为75MHz)、具有12位有效载荷。 寄存器是相同的、因此 ALP 将其识别为913A。

    谢谢、
    Vishy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到您使用的是913而不是913A。 因此、我们想澄清一下、上述答案同样适用于913。 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,实际设备上的部件代码是 UB933Q:仍然看不到任何远程寄存器。

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

    您好!

    请进一步解释您的954/933设置。 您使用的是954/933 EVM 还是您自己的电路板? 它们是如何供电的? 您是否正在使用 POC? 如果是 EVM、请查看954 EVM 用户指南并注意以下内容

    谢谢、

    Vishy

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

    我们使用 STP 和954 EVM、PDB 被拉至低电平、因此我们可以与接收器板上的954通信。

    链路在电缆的两侧都进行了100N 耦合。  

    工作台上的电缆长度为1米。

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

    由于 PDB 在954 EVM 上被拉低、因此您不使用954。 EVM 的 I2C 线路是否连接到接收器板(因此您将 EVM 用作 USB2ANY)?

    为了成功进行933通信、除了设置 PORT_CONFIG (0x6D)寄存器 STP 模式和 FPD3_MODE 外、还必须将 BCC_CONFIG 寄存器(0x58)位2:0 (BC_FREQ_SELECT)设置为2.5Mbps。 请查看954数据表。

    谢谢、
    Vishy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,将954 EVM 用作 usb2any。 需要知道要设置的寄存器。 前一屏幕截图显示2.5Mbps 链路存在。 因此、需要对上述寄存器进行编程、以使 I2C 通信运行
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    a)请参阅随附的屏幕截图。 我展示了一个示例954/953远程寄存器选项卡。 在远程寄存器窗口中、您必须选择用于建立通信的 RX 端口。 您是否选择了它并尝试了?

    b)在954 Registers 选项卡中、确保正确选择了寄存器0x4C 位。 在此寄存器中、您只能选择要访问的端口寄存器及其 R/W 访问。

    c)此外、检查寄存器0x5B 和0x5C 也会初始化与之通信的端口的串行器 ID 和别名。

    d)此外、在"Scripting"选项卡上、您可以使用 "board.ReadI2C (devAddrs 、0x0)"检查是否能够正确读取寄存器0x0中的串行器地址。 这里 devAddr 是串行器地址。 请参阅下面的窗口

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

    我现在可以看到2个 933芯 片:一个芯片在0xB4上是 i2c,并且有一个图像传感器连接 i2c 地址0x90,另一个芯片在0xBA 上是 i2c,图像传感器在 i2c 0xBA 上。

    我运行了以下脚本,但运行后只能看到 RX0远程寄存器,[将别名分配给0x18和0x19的933 ]:为什么只能看到一组寄存器

    # 954 ID 60 8'b (默认加法。 TI 954EVM 板上的)
    # devAddr = 0x60:4端口 PCB 中的第一个通道使用此地址
     #"FPD3_PORT_SEL RX0"
     
    导入时间
    board.WriteI2C (0x60、0x4c、0x01)# RX_PORT 0读取/写入 ser1芯片
    4C 表示保留了密钥
     #"启用直通"
    board.WriteI2C (0x60、0x58、0x58)# enable pass through:Back channel enable and CRC enable:first serializer is i2c address B4 in register 0x58
    board.WriteI2C (0x60、0x5c、0x18)#"SER_ALIAS_ID":别名地址
    board.WriteI2C (0x60、0x5d、0x90)#"SlaveID [0]: Aptina 传感器#1的 id:由电阻器设置
    board.WriteI2C (0x60、0x65、0x60)#"SlaveAlias​​[0](SlaveAlias [0])"
    board.WriteI2C (0x60、0x4c、0x10)# RX_PORT 1读/写 SER2芯片
    4C 表示保留了密钥
     #"启用直通"
    board.WriteI2C (0x60、0x4c、0x10)# RX_PORT 0读取/写入 ser1芯片
    board.WriteI2C (0x60、0x58、0x58)# enable pass through:Back channel enable and CRC enable:first serializer is i2c address BA in register 0x58
    board.WriteI2C (0x60、0x5c、0x19)#"SER_ALIAS_ID":别名地址
    board.WriteI2C (0x60、0x5d、0xba)#"SlaveID [0]: Aptina 传感器#1的 id:由电阻器设置
    board.WriteI2C (0x60、0x65、0x60)#"SlaveAlias​​[0](SlaveAlias [0])"

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

    在脚本中、未针对端口1正确初始化0x4C 寄存器。 应将其设置为0x12而不是0x10。 那么只启用写入。 此外、确保寄存器0x0C 初始化正确:默认情况下、此寄存器中的两个端口都启用。

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

    谢谢 Vishy:我运行了以下脚本,可以在0x18和0x19上看到两个远程寄存器集:只需看看我现在是否可以从图像传感器读取

    board.WriteI2C (0x60、0x4c、0x01)# RX_PORT 0读取/写入 ser1芯片

    4C 表示保留了密钥
     #"启用直通"
    board.WriteI2C (0x60、0x58、0x58)# enable pass through:Back channel enable and CRC enable:first serializer is i2c address B4 in register 0x58
    board.WriteI2C (0x60、0x5c、0x18)#"SER_ALIAS_ID":别名地址
    board.WriteI2C (0x60、0x5d、0x90)#"SlaveID [0]: Aptina 传感器#1的 id:由电阻器设置
    board.WriteI2C (0x60、0x65、0x60)#"SlaveAlias​​[0](SlaveAlias [0])"


    4C 表示保留了密钥
     #"启用直通"
    board.WriteI2C (0x60、0x4c、0x12)# RX_PORT 1读/写 SER2芯片
    board.WriteI2C (0x60、0x58、0x58)# enable pass through:Back channel enable and CRC enable:first serializer is i2c address BA in register 0x58
    board.WriteI2C (0x60、0x5c、0x19)#"SER_ALIAS_ID":别名地址
    board.WriteI2C (0x60、0x5d、0xba)#"SlaveID [1]" :Aptina 传感器#2的 ID:由电阻器设置
    board.WriteI2C (0x60、0x65、0x60)#"SlaveAlias​​[1]"

    #设置 RX 端口控制寄存器

    board.WriteI2C (0x60、0x0c、b3)#在两个端口上启用 Rx 且所有端口均通过

    ########################################################

    注意:我们使用的传感器是 TIDA-01002参考设计中使用的 AS0140AT。

     是否有任何脚本可用于支持此传感器的启动、色条测试模式或视频输出。

    此致

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

    您好!

    为了避免混淆、我建议您将 SlaveAlias[0]和 SlaveAlias[1] id 与解串器 ID 0x60保持不同。
    关于 AS0140AT 传感器初始化、我建议您在"半"上进行检查。 他们将能够确保您拥有正确的驱动程序版本。 此外、我注意到以下文档(可能您已经知道)对所需的 SERDES 初始化进行了很好的总结
    www.ti.com/.../tiduc90c.pdf

    谢谢、
    Vishy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Vishy、
    board.writeI2C 和 boardReadI2C 是否支持16位寄存器地址和16位数据?
    如果没有,实现这一目标的方法是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是的、支持16位读取/写入。  

    我已显示以下16位成像仪读/写示例(i2c 地址0xC4)。

    a)使用命令向第一个寄存器地址0x3129写入值0x80

      board.WriteI2C (0xC4、0x31、[0x29、0x80])

    b)然后使用命令读回寄存器0x3129

      board.ReadI2C (0xC4、0x31、[0x29、0x01])

    c)或者、也可以使用以下命令读回 单个字节

      board.ReadI2C (0xC4、0x31、[0x29])

    要使用此功能、请确保您已从 Web 安装了最新的 ALP 帧工作实用程序(v1.57.0010)和 ALP-PROFILE-UPDATE

    http://www.ti.com/tool/ALP

    谢谢、

    Vishy

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

    因此,如果它是16位寄存器内容,那么0x02允许从寄存器读回2个字节?

    如果您想写入16位命令, 那么它是否像  board.WriteI2C (0xC4、0x31、[0x29、0x8002])那样将0x8002放入0x3129  

    许多 ONsemi 映像器使用16位寄存器模型。

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

    用附加的代码对2个传感器进行寻址,我能够读取 as0140at 传感器上的寄存器 ox0000的内容,该传感器应保持0x0062。 这适用于954上的端口0,但不适用于端口1。 就好像 i2c 在端口1上未正确启用一样?  在执行任何 I2C 端口1操作之前、我是否需要将 ox4c 寄存器设置为0x12  

    ############################################

    # 954 ID 60 8'b (默认加法。 TI 954EVM 板上的)
    # devAddr = 0x60
    #"FPD3_PORT_SEL RX0"

    导入时间
    #RESET 和初始化 AS0140AT

    #设置 ID
    UB954 = 0x60
    UB933ID = 0x30
    UB933A = 0x18
    UB933B = 0x19
    AS0140IDA = 0x90
    AS0140A = 0xC1
    AS0140IDB = 0xBA
    AS0140B = 0xC2
    ######################################################################################################################
    #设置端口0
    board.WriteI2C (UB954、0x4c、0x01)# RX_PORT 0 READ / WRITE
    打印"启用直通"
    board.WriteI2C (UB954、0x58、0x58)#启用直通
    #设置 SER 别名 ID
    board.WriteI2C (UB954、0x5c、UB933A)#"SER_ALIAS_ID"
    #设置从属设备/摄像机 ID
    board.WriteI2C (UB954、0x5d、AS0140IDA)#"SlaveID [0](SlaveID [0])"
    #设置从属/摄像机别名 ID
    board.WriteI2C (UB954、0x65、AS0140A)#"SlaveAlias​​[0](SlaveAlias)"

    ################################################
    #设置端口1
    board.WriteI2C (UB954、0x4c、0x12)# RX_PORT 1 READ / WRITE
    #"启用直通"
    board.WriteI2C (UB954、0x58、0x58)#启用直通
    #设置 SER 别名 ID
    board.WriteI2C (UB954、0x5c、UB933B)#"SER_ALIAS_ID"
    #设置从属设备/摄像机 ID
    board.WriteI2C (UB954、0x5d、AS0140IDB)#"SlaveID [1])"
    #设置从属/摄像机别名 ID
    board.WriteI2C (UB954、0x65、AS0140B)#"SlaveAlias​​[1])"

    #在串行器端口0/1和 STP 上启用12位 HF 模式
    board.WriteI2C (UB954、0x4c、0x01)# RX_PORT 0 READ / WRITE
    board.WriteI2C (UB954、0x6D、0x7A)# 12位高频模式和 STP 端口0
    board.WriteI2C (UB954、0x4c、0x12)# RX_PORT 1 READ / WRITE
    board.WriteI2C (UB954、0x6D、0x7A)# 12位高频模式和 STP 端口1
    board.WriteI2C (UB954、0x0C、0xB3)# RX 端口均通过且处于活动状态
    打印"Port 0/1 Setup Done (端口0/1设置完成)"
    ##########################################################################################################################
    #设置400MHz CSI 时钟
    ##########################################################################################################################
    #在 UB954中启用400Mbps CSI
    编号

    #将 CSI_TX_SPEED 设置为选择400Mbps
    board.WriteI2C (UB954、0x1F、0x3)

    #将 PLL 时钟分频器设置为32
    #board.Ind_Acc_Write (7、0xA、0x80)
    board.WriteI2C (UB954、0xB0、(0x7 << 2))
    board.WriteI2C (UB954、0xB1、0xA)
    board.WriteI2C (UB954、0xB2、0x80)

    #设置 PLL CP 电流
    #board.Ind_Acc_Write (0x7、0x7、0xE2)
    board.WriteI2C (UB954、0xB0、(0x7 << 2))
    board.WriteI2C (UB954、0xB1、0x7)
    board.WriteI2C (UB954、0xB2、0xE2)

    #设置 CSI 时序参数
    #board.Ind_Acc_Write (0x0、0x40、[0x83、0x8D、0x87、 0x87、0x83、0x86、0x84、0x86、 0x84]])
    board.WriteI2C (UB954、0xB0、0x2)#设置自动增量、页0
    board.WriteI2C (UB954、0xB1、0x40)# CSI 端口0
    board.WriteI2C (UB954、0xB2、0x83)# TCK Prep
    board.WriteI2C (UB954、0xB2、0x8D)# TCK 0
    board.WriteI2C (UB954、0xB2、0x87)# TCK 跟踪
    board.WriteI2C (UB954、0xB2、0x87)# TCK Post
    board.WriteI2C (UB954、0xB2、0x83)# THS Prep
    board.WriteI2C (UB954、0xB2、0x86)# THS Zero
    board.WriteI2C (UB954、0xB2、0x84)# THS Trail
    board.WriteI2C (UB954、0xB2、0x86)# THS Exit
    board.WriteI2C (UB954、0xB2、0x84)# TLPX

    #设置 CSI 时序参数
    #board.Ind_Acc_Write (0x0、0x60、[0x83、0x8D、0x87、 0x87、0x83、0x86、0x84、0x86、 0x84]])
    board.WriteI2C (UB954、0xB0、0x2)#设置自动增量、页0
    board.WriteI2C (UB954、0xB1、0x60)# CSI 端口1
    board.WriteI2C (UB954、0xB2、0x83)# TCK Prep
    board.WriteI2C (UB954、0xB2、0x8D)# TCK 0
    board.WriteI2C (UB954、0xB2、0x87)# TCK 跟踪
    board.WriteI2C (UB954、0xB2、0x87)# TCK Post
    board.WriteI2C (UB954、0xB2、0x83)# THS Prep
    board.WriteI2C (UB954、0xB2、0x86)# THS Zero
    board.WriteI2C (UB954、0xB2、0x84)# THS Trail
    board.WriteI2C (UB954、0xB2、0x86)# THS Exit
    board.WriteI2C (UB954、0xB2、0x84)# TLPX

    ##########################################################################################################################
    #只能在复位脉冲端口0上设置 GPO0遥控器来控制 as0140
    # GPIO 0 is reset:检查933寄存器是否正常
    #写入被解释为(传感器别名、reg msb、[reg lsb、data]

    ##########################################################################################################################
    board.WriteI2C (UB933A、0x0D、0x01)#将 GPIO 0设置为输出0x05
    board.WriteI2C (UB933A、0x0D、0x09)# SET 引脚0高电平
    time.sleep (0.1)# 100mSeCond 延迟
    board.WriteI2C (UB933A、0x0D、0x01)#将 GPIO0拉低以复位传感器
    时间睡眠(1)
    board.WriteI2C (UB933A、0x0D、0x09)# GPIO 0再次为高电平
    打印"传感器 A 发送复位脉冲"
    board.WriteI2C (UB933B、0x0D、0x01)#将 GPIO 0设置为输出0x05
    board.WriteI2C (UB933B、0x0D、0x09)# SET 引脚0高电平
    time.sleep (0.1)# 100mSeCond 延迟
    board.WriteI2C (UB933B、0x0D、0x01)#将 GPIO0拉低以复位传感器
    时间睡眠(1)
    board.WriteI2C (UB933B、0x0D、0x09)# GPIO 0再次为高电平
    打印"传感器 B 复位脉冲已发送"
    ######################################################################################################################
    #尝试为色条设置传感器:尝试先读取寄存器:
    ######################################################################################################################
    # ALP 可以执行 i2c 16位寄存器操作:
    #回读
    打印("芯片版本 A"、board.ReadI2C (AS0140A、0x00、[0x00、1]))

    打印("芯片版本 A "、board.ReadI2C (AS0140A、0x00、[0x00、2]))

    打印("芯片版本 b"、board.ReadI2C (AS0140B、0x00、[0x00、1]))

    打印("芯片版本 b "、board.ReadI2C (AS0140B、0x00、[0x00、2]))

    board.WriteI2C (AS0140B、0x00、[0x40、0x8e00])#获取当前系统状态
    时间睡眠(0.1)
    board.WriteI2C (AS0140B、0x00、[0x40、0x8e01])#初始化传感器
    时间睡眠(0.1)
    board.WriteI2C (AS0140B、0xc8、[0x8c、0x02])#摄像头模式选择
    board.WriteI2C (AS0140B、0xc8、[0x8F、0x02])#测试模式选择
    board.WriteI2C (AS0140B、0x00、[0x40、0x8100])

    #board.WriteI2C (AS0140A、0x31、[0x32、0x24])
    #回读

    board.WriteI2C (AS0140A、0x00、[0x40、0x8e00])
    时间睡眠(0.1)
    board.WriteI2C (AS0140A、0x00、[0x40、0x8e01])#初始化传感器
    时间睡眠(0.1)
    board.WriteI2C (AS0140A、0xc8、[0x8c、0x02])#摄像头模式选择
    board.WriteI2C (AS0140A、0xc8、[0x8F、0x02])#测试模式选择
    board.WriteI2C (AS0140A、0x00、[0x40、0x8100])# set 状态

    ##########################################################################################################################
    #首先为一个端口设置 CSI 端口
    ##########################################################################################################################
    board.WriteI2C (UB954、0x4c、0x01)# RX_PORT 0 READ / WRITE
    board.WriteI2C (UB954、0x7C、0x00)#port select:FV-high 和 LV-high RAW10模式

    board.WriteI2C (UB954、0x6E、0x99)#BC GPIO

    board.WriteI2C (UB954、0x70、0x1F)#RAW ID

    board.WriteI2C (UB954、0x71、0x1F)#RAW ID

    board.WriteI2C (UB954、0x7C、0xC0)#raw 10 8位

    board.WriteI2C (UB954、0x32、0x01)#CSI TX 端口1

    board.WriteI2C (UB954、0x33、0x03)#CSI 输出使能

    board.WriteI2C (UB954、0x20、0x00)#CSI 转发

    board.WriteI2C (UB954、0x1F、0x03)# CSI 400MHz
    ############################################################################################################################

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    >>>如果您要写入16位命令,是否要将0x8002放入0x3129中,如 board.WriteI2C (0xC4、0x31、[0x29、0x8002])

    应该是这样
    board.WriteI2C (0xC4、0x31、[0x29、0x80、0x02])

    基本上是按顺序写入的所有地址和数据字节的 python 列表(在方括号中)

    >>>如果是16位寄存器内容,0x02允许从寄存器读回2个字节?

    要读回多个数据字节(例如2)、请使用
    board.ReadI2C (0xC4、0x31、[0x29、0x02])

    读取调用返回已读取字节的列表

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

    >>>使用附加的代码对2个传感器进行寻址,我能够读取 as0140at 传感器上应包含0x0062的寄存器 ox0000的内容。 这适用于954上的端口0,但不适用于端口1。 就好像 i2c 在端口1上未正确启用一样?  在执行任何 I2C 端口1操作之前、我是否需要将 ox4c 寄存器设置为0x12

    是的。 在执行任何 I2C 端口1操作之前、您需要将0x4C 寄存器设置为0x12。 请参阅下面的数据表图片。

    谢谢、

    Vishy

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

    此外,在附加的代码中,将复位脉冲写入933A 也同时将其写入933B,这样我就得到了一个双脉冲。 我尝试单独复位。 别名设置是否不正确或是否是某些全局广播位设置不正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    >>>别名设置是否不正确或是否是某些全局广播位设置不正确?

    我认为您的别名设置(933A = 0x18、933B = 0x19)可能是问题所在。 请参阅数据表的表102。 如果您将端口1寄存器0x5C 初始化为0x19、则7位 SER_ALIAS_ID 为0x18、这与933A 相同、此外还会打开 SER_AUTO_ACK。 建议您将933B 更改为0x30。

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

    谢谢 Vishy,解决了双脉冲问题。 还发现第二个933具有 I2C 地址 BA、与第二个 As0140at 传感器相同。 通过电阻器更改将其更改为 B2、现在我可以在两个传感器中读取 reg 0000 [0x0062]。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好极了。 谢谢。 我将使线程状态为"已关闭"。