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.

[参考译文] LMH1219:读取和菊花链期间使用 SPI SS_N

Guru**** 2933120 points

Other Parts Discussed in Thread: LMH1218, LMH1219

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1574777/lmh1219-spi-ss_n-use-during-read-and-daisy-chain

部件号:LMH1219
主题中讨论的其他器件:LMH1218

工具/软件:

我们将对一个现有产品进行调试、该产品以菊花链形式连接两个 2 个 LMH1219 和两个 LMH1218。 在某些模块上、我们一直经历 通过链中的第二个 LMH1219 的不经常、零星的视频丢失、这也可以通过某些模块上的加热来实现。 发生这种情况时、某些寄存器(包括 CableEQ/驱动器页面的寄存器 0x7)中的奇数值已 变高、该值变为 0xFF、而不是 0x24。 这是一个保留寄存器、我们不知道该寄存器的功能、但将其设置回 0x24 将导致信号再次传递。 由于这发生在链中的第二个 LMH1219 上并可通过加热来复制、因此怀疑 SPI 菊花链信号的时序。 初始化后、仅在菊花链器件上执行读取(即不应发生写入)。 我们的 SPI 接口使用处理器 GPO 而不是硬件 SPI 接口进行“位拆裂“。 降低 SPI 接口速率可以改善问题、但如果不了解原因、或者随着时间/条件的推移是否仍然存在问题、则可能无法提供可靠的修复。 我们对几个 SPI 信号边沿进行了微调以确保数据表时序、但没有改进。  

在查看数据表以了解 SPI 详细信息时、图 19 显示 SS_N 在读取期间的事务中变为活动状态。 但是、相对于 SCLK 或 MOSI、不为该脉冲提供时序。 此外、第 7.4.2.2 节指出“在 N x LMH1219 器件的菊花链配置中、主机在概念上可以看到基本 SPI 事务的长度为 17 x N 的移位寄存器、在此期间、SS_N 在 17 x N 个时钟周期内被置为低电平。“ 在该句子的末尾“在此期间 、SS_N 在 17 x N 个时钟周期内被置为低电平“、将导致 SS_N 实际上不应在事务期间变为活动状态。

目前、软件工程师(属于硬件)已经根据图 19 在事务中实现了 SS_N 脉冲、因为如果没有这个、他们根本无法正常工作。 尽管如此、图中没有显示 脉冲的相对时序、其实现必须是任意的。 是否需要中事务 SS_N 脉冲? 如果是、我们能否收到与 SCK 和 MOSI 相关的时序详细信息? 问题是、该脉冲可能会导致 MISO 在  菊花链中后续器件的 R/W 位期间进入 tri 状态、从而导致第一个器件的一些读取变更为第二个器件的写入。  

谢谢、Alex

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

    Alex

    我相信您的问题与此类似 、您能看一下并告诉我它是否回答了您的问题吗?

    谢谢

    David

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

    谢谢 David、答案中提议的时序图确实提供了我们所需的详细信息。 我已经把它传递给软件工程师来检查代码。  

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

    这回答了时序问题、但并没有导致识别问题、因为已经发现时序符合要求。 我附上了软件工程师的日志文件、并附有说明:“我使用该构建进行了测试、以确保不会出现 CH2、但我确实看到发生了这种情况、附件是串行日志、当时寄存器 0x7 最初开始在一段时间内读取 0xff 和 0x24 之间切换一次、并且在下游间歇性读取 0xff 时 检测到视频、最终切换到读取且下游停止检测视频。“ 是否介绍了保留寄存器 0x7、以及任何其他可能对继续调试有用的寄存器?  e2e.ti.com/.../ch2issue.txt

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

    Alex

    因此、如果我理解正确、您正在从寄存器[0x07]读取有效值、这不是与 SPI 总线相关的时序问题?

    LMH1219 寄存器映射分为三个寄存器页面。 这些寄存器页面用于控制 LMH1219 功能的不同方面。 这些页面的简要摘要如下所示:

    1.共享寄存器页面:此页面对应于全局参数、例如 LMH1219 器件 ID 和 LOCK_N 状态配置。 这是启动时的默认页面。

    2. CTLE/CDR 寄存器页面:此页面对应于 IN1 PCB CTLE、输入和输出多路复用器设置、CDR 设置以及输出中断覆盖。 通过设置寄存器 0xFF[2:0]= 100'b 来访问此页面

    3. CableEQ/驱动器寄存器页面:此页面对应于 IN0 电缆 EQ 以及 OUT0 和 OUT1 驱动器输出设置。 通过设置寄存器 0xFF[2:0]= 101'b 来访问此页面

    对于寄存器 0x07、本例中使用的是哪个页面?

    谢谢

    David