[Oberon] PO2013 - Real time measurement

John R. Strohm strohm at airmail.net
Mon Dec 17 15:44:34 CET 2018

The one catch is that you need a separate CS (chip select) line for each 
device you want to connect to a given SPI bus.  Only one CS may be active at 
any time.  (Hint: 3-8 decoder/demultiplexer, or even 4-16.)

Some microcontroller SPI devices need very careful software design and 
implementation to make SPI work properly.  Motorola/Freescale/NXP is very 
much in this category.  To trigger a data transfer, you must read (and 
implicitly clear) the SPI Data In buffer register.  The implication is that 
you have to have a way to "snoop" that register, without actually reading 
and clear it, to get the last data byte in a message, and your driver must 
KNOW enough about the particular device's data protocol to know when to read 
and when to snoop.  Analog Devices Blackfin SPI devices are a nightmare. 
(Friends don't let friends do Blackfin SPI.  Those words are written in my 
personal blood, thank you for asking.)

-----Original Message----- 
From: Tomas Kral
Sent: Monday, December 17, 2018 3:10 AM
To: oberon at lists.inf.ethz.ch
Subject: Re: [Oberon] PO2013 - Real time measurement

> 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.


Thank you, I wanted to achieve a small system bus for Oberon devices,
inexpensive, with as few components as possible. I learnt SPI cannot be
addressed, but only chip selected by `CS'. My idea was to drive `CS'
by Oberon through `GPIO' + interrupt, being a master letting only one
party to talk, the other listen, at at time.

Thus having a simple HUB, for some A/D sensors. Alternatively to have
also D/D, D/A outputs.

Designing a small control system, so to speak.

Tomas Kral <thomas.kral at email.cz>
Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems

This email has been checked for viruses by Avast antivirus software.

More information about the Oberon mailing list