Article View: comp.robotics
Article #420MiniBoard high speed bus
From: Fred G Martin
Date: Fri, 14 Aug 1992 14:12
Date: Fri, 14 Aug 1992 14:12
63 lines
3357 bytes
3357 bytes
In article <bws.7@ccs.carleton.ca> bws@ccs.carleton.ca (Brian Sullivan) writes: >One question. The documentation talks about a high speed bus. >What is it used for, and does the library provide any way to >use it? I have not yet written library functions to use the high-speed bus. The hardware has been tested though. The basic functionity is provided by the SPI (Serial Peripheral Interface) intrinsic to 6811's and many other Motorola microprocessors. The way the Mini Board uses the SPI is as follows: one board chooses to become network master, and one or more other boards must choose to become network slave. The master then controls the data flow: it shifts a byte of data bits out on its MOSI (Master Out Slave In) line, while receiving bits from the slave on the master's MISO (Master In Slave Out) line. (While multiple slaves may *receive* a transmission from the master, only one is allowed to respond.) All slaves receive the master's data on their MOSI lines (the same line that is output for a master is input for a slave!); the one replying slave writes data back to the master---at the same time as the data is coming in from the master---by use of its MISO line. You can see that this means that all the 6811 MOSI lines are wired together; same with the MISO lines. The master generates the clock which is synchronized to the data on the SCK line (which also connects in parallel to all 6811's). Motorola's SPI port also has a Slave Select (SS) line, which allows the construction of hardware-selectable network locations. This requires the addition of extra non-6811 hardware---typically a latch and a comparator, which selects a slave when the appropriate number is written to the latch. In the MiniBoard, extra hardware is eschewed. The SS line is wired to be always true, so slaves are always selected. This means that a network protocol must be constructed in software. I mentioned earlier that only one of the slaves may respond to the master's message at any given time (otherwise, there will be bus contention on the MISO lines). You may ask, ``How is this possible, given that slaves are always selected by the hardware?'' The answer is that slaves can disable their transmissions while they still are active to receive data. This is done by turning off the output enable bit on the MISO line. A slave in this configuration can "listen" for network bytes, and pipe up to respond only when network protocol has selected it. If anyone goes ahead and implements a protocol, please post the code! I'm sure others would appreciate it too. If you want all the gory details on the SPI systems, get your hands on some Motorola 6811 doc's. - Fred Fred Martin | fredm@media.mit.edu | (617) 253-7143 | 20 Ames St. Rm. E15-301 Epistemology and Learning Group, MIT Media Lab | Cambridge, MA 02139 USA
Technical Details
Message-ID:
<1992Aug14.141218.5105@news.media.mit.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!sun-barr!cs.utexas.edu!sdd.hp.com!usc!snorkelwacker.mit.edu!news.media.mit.edu!fredmReferences:
<bws.7@ccs.carleton.ca>Show Full Headers
Complete Article Headers
Newsgroups: comp.robotics Path: arc1-ca.pugleaf.net!sparky!uunet!sun-barr!cs.utexas.edu!sdd.hp.com!usc!snorkelwacker.mit.edu!news.media.mit.edu!fredm From: fredm@media.mit.edu (Fred G Martin) Subject: MiniBoard high speed bus Message-ID: <1992Aug14.141218.5105@news.media.mit.edu> Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <bws.7@ccs.carleton.ca> Date: Fri, 14 Aug 1992 14:12:18 GMT Lines: 63