EYE on NPI - Analog Devices LTC4332 Point-to-Point Rugged SPI Extender #EYEonNPI @DigiKey @ADI_News
Channel: Adafruit Industries
Date: 21/12/2023

This week's EYE ON NPI is an EYE ON SPI! We're going looooooooong with the Analog Devices LTC4332 Point-to-Point Rugged SPI Extender (https://www.digikey.com/en/product-highlight/a/analog-devices/ltc4332-point-to-point-rugged-spi-extender) which lets you take what normally would be a short PCB-trace connection to SPI devices and have them up to 1200 meters away - that's over 12 football fields (https://en.wikipedia.org/wiki/American_football_field) using a differential link protocol that can run on common CAT-6 cabling. This means you can have have super long SPI connections for distributed node communications that need more bandwidth than I2C but don't need the complexity of an Ethernet controller.

ADI's LTC4332 is a point-to-point rugged SPI extender designed for operation in high-noise industrial environments over long distances. Using a ±60 V fault-protected differential transceiver, the LTC4332 can transmit SPI data, including an interrupt signal, up to 2 MHz over two twisted pair cables. The extended common mode range and high common mode rejection on the differential link provide tolerance to large ground differences between nodes.

We're excited about the LTC4332 (https://www.digikey.com/short/88rpbrfh) because we know that Linear Tech-designed hardware is really good quality and the specifications are 'real' rather than optimistic. We've used a similar-family chip for I2C, the LTC4311 (https://www.adafruit.com/product/4756) which is an active terminator - but found it definitely will let you extend I2C to 100 feet with no issue and no code required. The LTC4332 (https://www.digikey.com/short/88rpbrfh) is, likewise, a 'transparent' bridge chip that converts a 4-wire SPI connection, with 3 chip selects and one IRQ line to a differential protocol that will work nicely with common Ethernet cables (https://en.wikipedia.org/wiki/Category_6_cable). One nice detail is that you can use any of the 4 common SPI modes for polarity and SCK latch-direction (https://en.wikipedia.org/wiki/Serial_Peripheral_Interface#Mode_numbers).
The same chip is used on both sides of the controller and peripheral connection, simply set the REMOTE pin to high or low to determine which side is which. Then make sure the SPEED pins are set up the same, as they will determine the expected max-clock speed. Wire up the two differential pairs, when the connection is good, the LINK pin will drop low which you can use like an Ethernet link light. For more advanced configuration you can connect to the internal chip to read fault and status bytes. However, it looks like you don't have to unless you want more control: the chip will function transparently even without firmware register configs.

One thing to watch out for, while controller-to-peripheral data is sent instantaneously, reading data is delayed by one byte because it has to read the full byte in and then transfer it over the differential connection. So if you're using it to read from a remote sensor or driver, make sure to 'toss' the first byte and read an extra byte at the end!

If you're looking to go long with a simple solution to remote SPI communication, the Analog Devices LTC4332 Point-to-Point Rugged SPI Extender is an excellent choice (https://www.digikey.com/short/7zcd7vc5), don't forget you'll need two for each remove device. There's also a compact dev board available called DC2799A (https://www.digikey.com/short/qbn5397v) that has input and output sides for instant testing. The LTC4332 (https://www.digikey.com/short/7zcd7vc5) is in stock right now for immediate shipment from DigiKey - order today and you'll be able to take your SPI devices to the next level - like literally to the new few floors up - by tomorrow afternoon!