Main Site Documentation

Microframework, SPI Slave


#1

I want to connect 2 STM32F405’s together (or some other Usbzi chip). Can they be connected via the SPI bus? If not then apart from Serial (which I abhor) is there another way to connect them?


#2

SPI Won’t work as NETMF has only implemented Master on SPI as you already know… so the only way is to use Standard Serial TX, RX using the null modem Module. or I2C. you may even make it work through DaisyLink…

Cheers,
Jay.


#3

What is the distance between your modules?


#4

Distance between modules is perhaps 14 feet.


#5

I guess that’s a couple of meters.
By this I wouldn’t recommend using SPI. It’s designed for high speed onboard communication. In my opinion, everything with 3V3 GPIO level is not really a good choice.
Not even null-modem UART.
A very robust hw layer would be RS485 or for this distance also RS232.


#6

I’m using SPI to traverse that distance currently… Is that bad? with 8 daisy chained dSpin stepper motor drivers. Is that bad?


#7

Is it bad? Well, you could say: “If it works, it works”.
But if it needs to be an reliable setup, then I would at least test it over a long period in an at least twice as ‘dirty’ environment as it needs to run in, like: put some large motors, or other bad EMV devices, next to the cables.

But when designing a system to run in the field, I would use a bus system that is well known to work in an industrial environment like RS485, CAN, Ethernet, …


#8

I’ve got the wires passing by 7 NEMA23 2 amp per phase stepper motors. Does that count?


#9

I would collapse the SPI driver chips to be with the controller and run the stepper wires longer. Much less chance of interference IMHO.


#10

@ Brett, thought of that, but running 28 wires in a bundle for that distance doesn’t sound like the best idea to me. If I used shielded wire would that help?


#11

CanBus is proven to work well in automotive and industrial environments where distance and (lots of) noise/interference can be an issue. RS458 could also be a good choice.