Skip to content Skip to navigation

Connexions

You are here: Home » Content » Serial Buses

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

Serial Buses

Module by: adrian valenzuela, CJ Ganier. E-mail the authors

Summary: A data bus is usually a group of parallel wires connecting different parts of a circuit with each individual wire carrying a different logic signal.

Bus Interfaces

In both circuit board and chip level design, moving data from one part of the design to another is a major consideration. The traditional way to move information between devices or between elements of a single device is with some form of wire. For the wire traces on a PCB board, a group of traces or signals associated with the same data transmission is called a bus.

Buses generally fit into one of two categories: Parallel buses reserve a separate wire for each bit of a transmitted byte. Serial buses send the bits of a byte on the same wire, sequentially in time. There are cases of buses that blend these categories, but most bus protocols fall into one or the other. Serial buses are much slower but save a proportionally large amount of space.

Buses can also be categorized as synchronous or asynchronous. Synchronous buses send an additional clock signal to keep the communicating parties in sync with each other. This makes the communications protocols easier to implement in hardware. The chip controlling the clock signal determines the baud rate of the bus. The baud rate of a bus is the number of bits per second that can be transmitted on the bus including overhead. Asynchronous buses do not have a clock signal going between communicating parties so the baud rate is generally agreed to in advance and the correct phase is “inferred” from the transmission. Asynchronous buses save board space, but often have more communications overhead.

Other attributes of buses include what kind of parity, if any, it uses. Parity is the inclusion of an additional bit or bits with a byte to ensure correct transmission. Byte length, stop and start conventions, polarity, and bus voltage are all variable.

Below are described some examples of bus interfaces. There are many more. For complete descriptions of a bus interface, its best to read the data sheet for the parts that are going to use the bus because sometimes there are irregularities in the design that will deviate from the “standard” configuration. Timing diagrams, drawings, and charts are usually provided.

SPI Bus

SPI stands for serial port interface, and it is a four wire serial synchronous interface for communication between chips. The SPI protocol is also hierarchical, so one chip on the bus is the “master” who governs the clock and transmission schedule. The other three wires on the SPI are “master output slave input” (MOSI), “master input slave output” (MISO), and “chip select” (CS or STE). Data from the master to the slave is sent over the MOSI line. Data from the slave to the master is sent over the MISO line. The STE line is used to wake the slave device, and this line must always be enabled during communication.

I2C

I2C stands for inter-integrated circuit control, and it is a two wire serial synchronous interface for communications between a master and many slaves. I2C is more strictly hierarchical than SPI because there are no chip select wires to resolve conflicts. The master generally controls the clock wire of I2C, and the data wire is used by whichever party is transmitting. Because there can be many slaves on the bus, the first byte a master transmits in an I2C packet tells the slaves which one of them is the designated recipient of the message.

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks