Performance analysis of SPI drivers for ATBEN

Werner Almesberger werner at
Wed Apr 10 12:48:40 EDT 2013

Ron K. Jeffries wrote:
> *You do amazing work. Full stop.*

Heh, thanks :)

> Does spi-jz470-gpio only require the UBB board to interface to the outside
> world using spi?

Yes, and you may not even need a kernel driver for most things.
SPI is quite trivial to implement in user space, and we have
a library that helps with the tricky bits.

> Does your code implement SPI host capability, or SPI slave, or both?

Only SPI host/master. SPI slave would be difficult without extra
hardware, because the time between chip select and the first bit
is usually very short, too short for software to respond reliably.

You'd also have to provide a flow control mechanism, etc., and
you'd need some of the more advanced trickery for making sure the
Ben can reliably keep up with the data clock, once it has detected
the beginning of a transmission.

Things are a lot more relaxed if you're the master. There, you only
need to worry about any speed limits of the device, and in many
cases, these constraints are beyond what software could exceed

> Bottom line, for $25 (Model A no Ethernet and 1xUSB) or $35 (Model B with
> Ethernet and 2xUSB) it's a low cost way to provide internet connectivity to
> a Ben NN when at a fixed location.

RPi as SPI-based IO extender for the Ben. Certainly sounds feasible.
With hardware-assisted SPI, the RPi should have no trouble keeping
up with the Ben. Seems that you've found yourself a project :-)

> p.s. Counting down time until someone tells me to shut up and buy a Ben

Well, you'll kinda need one for this project, even if it's only for
pictures showing the two happily united ;-) (You can of course do
the prototyping with a pair of RPis, or possible even with just one,
talking to itself.)

- Werner

More information about the discussion mailing list