[Oberon] PO2013 - Real time measurement

Skulski, Wojciech skulski at pas.rochester.edu
Mon Dec 17 01:12:21 CET 2018


SPI is a bidirectional bus meant for communication between a single bus master (e.g., Oberon System) and multiple slaves, one slave at a time. You can connect as many slaves to the ribbon as you wish, but you can only communicate with a single slave while others are not active. A small variation of this scheme is when you only send data out from the master to all slaves, without slaves returning their responses. 

The cable can be of any length, but you need to tune the clock frequency to the cable and the driver chip, such that the voltage levels have enough time to settle. The clock can be of any frequency. You can drive a very long cable, if you can accept slow performance.

There are few if any driver chips which would be specifically SPI. The reason is that SPI is not meant to be driven over long distances, and a short SPI run can be driven by any chip. If you want to use long cable runs, esp. in a harsh environment, then RS-485 or CAN are much better because their drivers are specified for doing just that. In particular, a long cable can pick up a large common mode, which the RS-485 or CAN can cope with. 

Another such standard is RS-232, where the signal immunity is achieved by brute force with signals of a large amplitude. RS-232 is single ended, but its amplitude is so large that even a substantial noise pickup can be tolerated. (Note that RS-485 is differential, which is achieving the same goal using a different approach.) 

You can learn a lot about building such systems from a very popular book "The Final Word on the 8051" by Matthew Chapman. The PDF is very easy to find on the net and worth reading.

Hope it helps,

From: Oberon [oberon-bounces at lists.inf.ethz.ch] on behalf of Tomas Kral [thomas.kral at email.cz]
Sent: Sunday, December 16, 2018 1:51 PM
To: oberon at lists.inf.ethz.ch
Subject: Re: [Oberon] PO2013 - Real time measurement

On Sun, 16 Dec 2018 18:24:49 +0000
Paul Reed <paulreed at paddedcell.com> wrote:

> It's wise not to be too general about this but just design for some
> specific examples.

Yes, now I see. I was tempted to operate `CS' through `GPIO', Oberon
doing device multiplex in S/W. SPI ribbon cable some 10-20 cm max?

Reading about SPI over RS485, now.

SPI is probably meant single device connection. nRF therefore appears
obvious signal transport means.

My experience with PIC is so far minimal, assembly language only.
PIC SPI port, is this a real port featured by some PIC models, or just
a program driver operating on PIC I/O signals doing SPI protocol?

Tomas Kral <thomas.kral at email.cz>

More information about the Oberon mailing list