SPI最大距离

电器工程 spi
2022-01-10 00:53:59

我有一个 PIC16F877 µController,通过 SPI 连接到 MCP23S17,最后连接到键盘和 LCD 屏幕,µController 和 MCP 集成电路之间的距离为 5m。我的问题是它会起作用吗?如果它不起作用,我该如何解决这个问题。是否有解决方案(如集成电路或技巧)?

图片1

3个回答

Microchip 论坛上的回答中,“Serial Port Complete”一书的作者 Jan Axelson 声称 SPI 总线的最大电缆长度为 10'。其他帖子也提到了相同的数字。因此,您的 5m 距离可能会或可能不会起作用,因为它只是更长一点。

同一论坛上的另一个答案建议在线路上使用 120 欧姆的终端电阻。

在讨论这个主题时有几条建议说一个重要因素是降低时钟速度,低至 100 kHz。 然后用示波器查看您的信号。

增加超出您要求的距离的一种方法是使用数字隔离器和双绞线驱动器,如本文所述:“Extending the SPI bus for long-distance communication” 它声称距离为 100m(不是错字)。

您可以使用 LVDS 驱动器和接收器将单端逻辑信号转换为差分信号。对于单点设置(仅从电路板到外部电路板)最可靠,并且它要求接地的电位彼此接近。

使用双绞线(例如 Cat5 电缆)并确保使用适当的端接,否则它将无法可靠工作(如果有的话)。

https://www.fairchildsemi.com/application-notes/AN/AN-5017.pdf

可以通过使用 trans 接收器驱动程序在模块之间转换数据。RS485 像这样

在此处输入图像描述

MAX3490

您需要使用几个这种反式接收器,这个想法只是为了说明您可以使用任何包含双驱动程序并最适合您需要的反式驱动程序