Extend SPI bus between Arduino Due & FLiR Lepton

Thread Starter

npw14

Joined Feb 22, 2010
4
MISO Signal via line drivers.jpg MISO Signal not via line drivers.jpg
I have got the example code shown below by Josep Bordes working fine using the Arduino Due to interface the Thermal FLiR camera using SPI & I2C bus.https://github.com/josepbordesjove/FLiR-lepton

I was wondering if you can help with any ideas to solve a problem I have extending the SPI bus from the Arduino Due to the FLiR camera....

I have built a circuit using DS8921 differential line driver/receiver chips to transmit signals from the Arduino Due SPI 4 data lines to the FLiR 4 data lines and at the moment I use only a very short cable 10cm to test everything by entering the 'captureImage' command in the serial monitor.
I have put an oscilloscope on all 4 SPI signals when connected via my line driver circuit and it works for the CS, CLK, MOSI lines (correct waveforms) but I have a problem on the MISO line... (See image attached)

The correct MISO signal has 2 separate pulse combinations but when I connect it through my line drivers circuit the MISO signal has a continuous one pulse train that doesn't end after I enter the 'captureImage' command.

I have tried the following but they don't fix my problem:
- I have tested circuit and it works fine and also adjusted the SPI clock in software code to slow down the clock speed i.e. software clock slowed by divide by 32 and 64 in software SPI.setClockDivider(5);
- I have tested with a 100 ohm resistor connected and disconnected to the receiver differential pair that goes to the FLiR.

If you have any suggestions to try that would be great.
 

Attachments

Thread Starter

npw14

Joined Feb 22, 2010
4
Hi,
How I see it is Arduino = Master & FLiR Camera = Slave.
So do I need another line driver on MISO from FLiR Camera (driver) in parallel back to the Arduino (receiver) ? or just reverse the direction of the MISO signal whereby the FLiR camera is the driver and the Arduino is the receiver ?

Many thanks for help.
 

Papabravo

Joined Feb 24, 2006
15,049
Hi,
How I see it is Arduino = Master & FLiR Camera = Slave.
So do I need another line driver on MISO from FLiR Camera (driver) in parallel back to the Arduino (receiver) ? or just reverse the direction of the MISO signal whereby the FLiR camera is the driver and the Arduino is the receiver ?

Many thanks for help.
just reverse the direction of the MISO signal whereby the FLiR camera is the driver and the Arduino is the receiver
 

jayanthd

Joined Jul 4, 2015
904
just reverse the direction of the MISO signal whereby the FLiR camera is the driver and the Arduino is the receiver
Reverse MISO and MOSI.

MISO means Master In Slave Out and it should connect to SDI of FliR

MOSI means Master Out Slave In and it should connect to SDO of FliR.
 

Papabravo

Joined Feb 24, 2006
15,049
Reverse MISO and MOSI.

MISO means Master In Slave Out and it should connect to SDI of FliR

MOSI means Master Out Slave In and it should connect to SDO of FliR.
I think you might have this backwards. Arduino is the Master, and FliR is the slave device.
Master(Arduino) should have 3 outputs and 1 input
Slave(FliR) should have three inputs and 1 output
 
Top