Difference between revisions of "BeagleBoard Hardware Interfacing"

From eLinux.org
Jump to: navigation, search
Line 23: Line 23:
  
 
= Level Shifting =
 
= Level Shifting =
 +
There are several options for level shifting to use 3.3V or 5V devices.
 +
 +
== MAX3378 ==
 +
The MAX3378 is a quad-input 16MBps bidirectioanl level shifter.  It works well with I2C or GPIO.  Many of the commercial expansion boards use these for level shifting.  They are only available in a small TSSOP surface mount package, making it difficult to use on a breadboard or some milled boards.
 +
 +
== Single MOSFET Bidirectional Level Shifter ==
 +
See NXP's Appnote [[http://ics.nxp.com/support/documents/interface/pdf/an97055.pdf|AN97055]] for more information on this method.  BSS88 and BSS138 appear to be compatible with the BeagleBoard and this design.  This has not been tested with the BeagleBoard, so be sure to research this option fully before implementing it.
  
 
= I2C Devices =
 
= I2C Devices =

Revision as of 22:21, 28 April 2010

This page is meant to help anyone who wants to create an expansion board to interface with the BeagleBoard. It summarizes some of the commercial options, and includes some recommendations for components for a custom board.

Commercial Options

There are several commercial boards that may work without the need to create a custom board.

A few more options can be found on the here.

General Notes

1.8V I/O

It is very important to remember that the I/O on the BeagleBoard is 1.8V I/O. Level shifting must occur to interface with 3.3V or 5V devices.

Powering the Beagle

The BeagleBoard is typically powered through the barrel connector or the Mini-USB connector. When adding an expansion board, the option is available to power the BeagleBoard from a power supply on that expansion board.

Expansion Connectors

There are several expansion connectors available on the BeagleBoard, depending on the revision. All revisions have J3, a 0.1" spaced header. This is not populated by default, it is left up the user to decide which gender header is desired, and where is should be placed. There have been some indications that newer versions of the BeagleBoard will come populated with a female header oriented facing downward. It may be wise to design with this decision in mind to allow for future expandability.

There are two other headers available (J4 and J5). These are 0.05" spaced headers, and are usually used only for interfacing with and external LCD. Headers and connectors are more difficult to find. It is probably best to stick with using the main expansion header unless these signals or the additional I/O is required.

Level Shifting

There are several options for level shifting to use 3.3V or 5V devices.

MAX3378

The MAX3378 is a quad-input 16MBps bidirectioanl level shifter. It works well with I2C or GPIO. Many of the commercial expansion boards use these for level shifting. They are only available in a small TSSOP surface mount package, making it difficult to use on a breadboard or some milled boards.

Single MOSFET Bidirectional Level Shifter

See NXP's Appnote [[1]] for more information on this method. BSS88 and BSS138 appear to be compatible with the BeagleBoard and this design. This has not been tested with the BeagleBoard, so be sure to research this option fully before implementing it.

I2C Devices

Some general information about I2C and a few compatabile devices can be found on Interfacing_with_I2C_Devices.