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.

[参考译文] FPC402EVM:FPC-402复位失败

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1108859/fpc402evm-fpc-402-was-failed-to-reset

器件型号:FPC402EVM
主题中讨论的其他器件:FPC401FPC402

请查看以下为该案例提供的更多信息:

1. FPC-402未能复位、无法从已编程的 i2c 地址配置为默认 I2C 地址(0x0F)。  
  使用  i2c 器件 ID 寄存器(偏移= 0x01)将 FPC-402配置为 i2c 地址0x19
  i2cset -y 1 0x0F 0x01 0x32  
  将 FPC 复位回默认地址、发送0x8F 到 复位寄存器(0ffset = 0x00)
  执行此操作后、寄存器值 将恢复为默认复位值、但除外  
 IN_A 和聚合中断状态寄存器(偏移= 0x06)&
 IN_B 和 IN_C 状态寄存器(偏移= 0x07)
  FPC-i2c 地址仍然是配置的 i2c 地址(0x19 =(0x32 >> 1))。  
 
IN_A 和聚合中断状态寄存器以及 IN_B 和 IN_C 状态寄存器的默认值是多少  
  根据编程人员指南、复位后这些值应该为0x00、但在我的例子中 、这些 都是可以实现的  
 偏移 量0x06 = F0  
 偏移量 0x07 = FF  
  您能告诉我   什么可能是根本原因吗?  
  
3.要启用 QSFP 端口、我将 值0x22写入 GPIO0和 GPIO1选择寄存器(偏移= 0x96)、  
  我可以打开端口状态 LED 指示灯,但端口 无法检测到实际的 QSFP,我们 如何确认  
  已启用实际 QSFP 端口以检测 QSFP 硬件。  

4.我使用 Raspberry PI 3.3V 引脚 通过接头 J7为 FPC 加电、此 功率足以加电   
  QSFP 端口?   

使用值为0x8F 的复位寄存器复位后的 i2cdump  

root@raspberrypi:/home/pi# i2cdump -y -r 0x00-0xFF 1 0x19
未指定大小(使用字节数据访问)
    0 1 2 3 4   5 6 7 8 9 A b c d e f  0123456789abcdef
00:00 3f 00 11 06 1c f0 ff 00 ff 00 00 00 01 cc  ??????????????
10:11 98 00 00 00 00 00 00 00 30 00 00 00 00 00  00???。 0…
20:00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00.?..........   
30:11 98 00 00 00 00 00 00 00 00 30 00 00 00 00 00  00???。 0…
40:00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00.?..........   
50:11 98 00 00 00 00 00 00 00 30 00 00 00 00 00  00???。 0…
60:00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00.?..........   
70:11 98 00 00 00 00 00 00 00 30 00 00 00 00 00  00???。 0…
80:00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00.?..........   
90:00 00 00 00 00 00 00 00 00 00 00 00 00 0A 0A 0A......   ???
A0:0A 23 23 23 00 00 00 00 83 83 83 00 00 00 00  00 0?####?????...
B0:00 00 00 50 51 50 51 50 51 50 51 00 00 00  .... PQPQPQPQPQ....
C0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   
D0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   
E0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   
F0:10 a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ??..........  

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

    您好!

    我们有展示不同模式 FPC 设置的 SDK。 请向我发送朋友请求以及您的电子邮件地址、以便我们可以向您提供这些文档。

    此致、Nasser

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

    感谢 Nasser 的回应,  

    我向朋友发送 了请求,请务必填写,我 正在分享 我 的邮件 ID:-   hramala@qti.qualcomm.com。   

    我有 setup_FPC401_EVM.exe 安装程序,我成功创建  了链接,但 我无法读取和写入 本地实例 和下游 i2c 寄存  器,您是否也可以与我共享 setup_FPC401_EVM_with_RTE.exe。   

     I falled programmers guide to reset FPC (reset the FPC default address),  i2cset -y 1 0x0F 0x00 0x8F (用0x8F 更新寄存器偏移量0x00)

     )但 FPC 仍在响应编程地址,  我是否需要除此之外的其他任何东西?  

    谢谢、  

    R. Harshavardhan。   

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

    您好、Ramala、

    您现在可以访问 FPC402设计文件、包括 GUI、SDK 和编程指南。 在20-30分钟内、您应该能够访问这些文件。

    此致、Nasser

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

    您好,Nasser,   

    是的,我尝试    了编程指南中提到的过程, 当我  通过寄存器重置 FPC 时,所有 寄存器值 都将恢复 为默认的重置 值, 但 FPC 未能重置 其 i2c 地址,   

    • FPC-402无法复位,无法从已编程的 i2c 地址(0x18)配置为默认 I2C 地址(0x1F)。
    • 使用 i2c 器件 ID 寄存器(偏移= 0x01)将 FPC-402配置为 i2c 地址(0x0C 7位地址)-(0x18对应的8位地址)

    i2cset -y 1 0x0F 0x01 0x18 (用0x18更新 I2C 器件 ID 寄存器0x01)

    • 在发送0x8F 到复位寄存器的 EXIT 模块中将 FPC 复位回默认地址(0ffset = 0x00)
    • 执行此操作后,寄存器值返回到默认复位值,如(0ffset 0x01=0x3f)

                  FPC-i2c 地址仍然是配置的 i2c 地址(0x0c =(0x0x18 >> 1)。  

    • 但对于文档、执行寄存器复位的 snlu222b 和 FPC402_SNLU227_Programrs_Guide.pdf 将恢复  

                  默认 i2c 地址。  

    在本视频中、我们将    使用0x8F 然后 通过0x0设置复位寄存 器以复位 FPC、但 FPC i2c 地址仍然无法复位到默认值。  

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

    您好!

    请注意、默认 I2C 地址为0x1E、而不是0x1F。

    此外、FPC402数据表的表6中列出了有效的 I2C 8位地址。

    此致、Nasser

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

    抱歉,拼写错误,默认地址仅为0x1E,我允许使用 FPC402数据表的表6,
    而且、我正在使用0x10对 FPC 的 i2c 地址进行编程、并且我可以看到所有 FPC (0x08)、QSFP-0 (0x40)的7位地址、
    QSFA-1 (0x42)。

    在驱动程序的退出例程中,我将重置 FPC,以便寄存器地址0x01变为0x3F (默认值),
    但 FPC i2c-adress 仍然存在(0x08 =编程地址)、理想情况下复位后应为(0x0F 默认7位地址)= 0x1E。  

    允许以下复位序列:-
    将寄存器偏移量0x00设置为0x8F、然后设置为0x0

    i2cset -y 1 0x08 0x00 0x8F
    i2cset -y 1 0x08 0x00 0x0

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

    您好、Ramala、

    表6列出了有效的 FPC 地址。 如果您更改 I2C 地址、它应该是此表中注明的地址之一。

    此致、Nasser

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

    您好、Nasser、

    是的,我使用表8-6中提到的一个 i2c 地址对 FPC i2c 地址进行编程。
    默认情况下、FPC i2c 地址为0x1E、对应的 i2cdump 为

     

    我将使用表8-6中的地址对 FPC 进行编程、例如- 10

    将0x18写入 FPC 寄存器0x01  

      i2cset -y 1 0x0F 0x01 0x18、转储为   

    允许以下序列重置 FPC:-
    将寄存器偏移量0x00设置为0x8F、然后设置为0x0

    i2cset -y 1 0x08 0x00 0x8F
    i2cset -y 1 0x08 0x00 0x00

    这里的问题不是默认 i2c 地址,也不是设置 FPC 的 i2c 地址,我只允许使用表,i2caddress 的问题 没有恢复 到其默认值,即0x1E,即使在使用寄存器偏移量0x00重置 FPC 后也是如此。  

     

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

    您好、Ramala、

    请将0x0F 写入复位寄存器偏移量0x00。 您是否看到 I2C 地址恢复回表6设置?

    此致、Nasser  

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

    是,即使在将0x0F 写入复位寄存器偏移 量0x00后 ,   也无法将 I2C 地址恢复到表6设置为默认地址 0x0E。  

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

    您好、Ramala、

    将寄存器恢复为默认设置的唯一方法似乎是将0x8F 写入寄存器0x00。 由于这起作用、什么会阻止您将0x8F 写入寄存器0x00? 使用此变通办法时、我们看不到问题。

    此致、Nasser

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

    您好 Nasset、  

    您能否查看我之前的评论,我解释 了如何重置 FPC, 我尝试将0x8F 写入偏移寄存器0x00,即使 FPC 仅响应已编程的 i2c 地址,而不是默认的 i2c 地址 0x1E,  在将 偏移寄存器0x01复位 回 默认值 0x3F 后 ,FPC 仍然无法响应其默认地址,您可以  查看我 之前  的评论 ,我在这里解释得很清楚。  

     是否可以  通过软件切换 EN 引脚?  这可以解决我的问题。   

    谢谢、  

    R. Harsha

     

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

    您好 Ramal、

    我再次阅读您之前的评论、我不理解 您之前的陈述。 如果我正确理解这一点、您将拥有:

    寄存器0x00 = 0x8F

    寄存器0x01 = 0x3F

    但是、即使寄存器0x01[0]=1'B1器件不会恢复默认的0x1E 默认地址设置。 我假设该器件已将 SET_ADDR_N (CTRL3)连接到 GND。 请确认。

    此致、Nasser

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

    是的、 ADDR_N (CTRL_3)借助随 Evolution 板提供的跳线电缆连接到 GND。  

     切换 EN 引脚 意味 着 EN = GND、然后 EN = VDD1  I 能够将 FPC i2c 地址重置为其默认地址0x1E。  

     是否可以  通过软件切换 EN 引脚?  

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

    已检查寄存器映射、无法找到与 EN 引脚相同功能的方法。 我们将继续进行检查。

    我做了一个实验、如下所示:

    1)。 为器件加电

    2)。 将寄存器0x01从0x3F 更改为0x18 -正如您所做的那样。

    3)。 设置寄存器0x00 = 0x80

    4)。 读回寄存器0x01、我看到默认值(0x3F)。

    您能否按照以下确切步骤查看您是否可以重复我的发现。

    此致、Nasser