您好!
我有两个 PCB 彼此面向、它们使用高速 LVDS 接口(在时钟和数据线路上)进行连接、从端(电路板 B)在捕获主端(电路板 A)发送的数据时遇到困难。
电路板 A 的传输和电路板 B (从器件侧)上的接收使用传统模式下的 SPI 和 DMA。 时钟极性为1、时钟相位为0。 VCLK 为75MHz
如果我使用15Mbps 时钟速率、则必须设置373ns 延迟(WDEL 格式字段= 0x1A)最小值才能实现良好的通信。
如果我使用25Mbps 时钟速率、则 必须设置720ns 延迟(WDEL 格式字段= 0x34)最小值 才能实现良好的通信。
在示波器上、在所有配置中、正确发送28 16位字符的总时间为50µs μ s。
因此、我无法获得比这更好的性能、我对有效速率在所有情况下都远低于15Mbps 的原因感到困惑。
如果我不使用 DMA、只发送一个字符(16位)、我会遇到相同的问题。 如果我减小 WDEL 值、我会在 BUFR 寄存器中读取垃圾邮件。 如额外位或丢失位。
6 VCLK 规则不适合应用、因为6 VCLK @ 75 MHz 是80ns。
这里没有 CS、因此我不使用格式的保留功能。 时钟通常为高电平、然后下降、数据就绪、时钟上升、应仅捕获位值。
但我在 SPIBUF 寄存器中遇到了垃圾。 我已经尝试了所有时钟和极性组合、并在 SPIBUF 中获取不同的捕捉数据错误。
发送的16位字符值为0x2222、当处理所有极性和相位组合时、我将得到:8888、1111、9111、4444。
如何提高这条简单的主从链路的有效性能?



