Difference between revisions of "Raspberry Pi Interfacing"

From CDOT Wiki
Jump to: navigation, search
Line 1: Line 1:
[[Category:Raspberry Pi]]
+
[[Category:Raspberry Pi]]{{Chris Tyler Draft}}
  
 
{{Admon/note|Model B - Revision 1|Most of these notes apply specifically to the Raspberry Pi Model B Revision 1 board. They are not applicable to the Beta boards, and there are some small differences between the Revision 1 and Revision 2 boards.}}
 
{{Admon/note|Model B - Revision 1|Most of these notes apply specifically to the Raspberry Pi Model B Revision 1 board. They are not applicable to the Beta boards, and there are some small differences between the Revision 1 and Revision 2 boards.}}
Line 17: Line 17:
  
 
For custom-designed devices, the GPIO pin headers (and sometimes the audio output and/or USB connections) are usually used.
 
For custom-designed devices, the GPIO pin headers (and sometimes the audio output and/or USB connections) are usually used.
 +
 +
== PinMux ==
 +
 +
The Broadcom BCM2835 system-on-a-chip used in the Raspberry Pi, like other SOCs, uses pin multiplexing (pinmux) to select which signals will be present on the pins/balls of the chip. This is done because the number of available signals exceeds the number of available pins.
 +
 +
== Precautions ==
 +
 +
The BCM2835 is directly connected to signals present on the GPIO connector. Therefore, when you connect to the GPIO pin header, you are directly attaching to the SOC, and an overvoltage or overcurrent condition can seriously and irreversibly damage or destroy the SOC and render the Raspberry Pi useless.
 +
 +
These conditions cause particular problems:
 +
# Grounding a pin which is expected to be an input when it is configured as an output, either through the GPIO configuration or the PinMux configuration. This will cause as much current to flow as is available from the power supply,

Revision as of 15:47, 25 September 2012

Important.png
This is a draft only!
It is still under construction and content may change. Do not rely on this information.
Note.png
Model B - Revision 1
Most of these notes apply specifically to the Raspberry Pi Model B Revision 1 board. They are not applicable to the Beta boards, and there are some small differences between the Revision 1 and Revision 2 boards.

Available Interfaces

The Raspberry Pi (model B, revision 1 or 2) is equipped with these standard interfaces:

  • USB 2.0 (x2)
  • 10 or 100 Mbps ethernet on twisted pair
  • HDMI at up to 1080p30 resolution (1920x1080, progressive scan, 30 frames/second). Note that DVI-D and HDMI are equivalent except for the connectors and the inclusion of sound in HDMI - therefore, the Pi can be connected to a DVI monitor with the appropriate HDMI to DVI-D cables and/or adapters.
  • Composite video (NTSC/NTSC-J or PAL/PAL-M format). This output can be used to drive older video monitors, or small composite LCD displays.
  • Analog stereo audio (on a 3.5 mm (1/8") TRS jack).
  • Pin header exposing GPIO, SPI, I2C, serial, and (in board revision 2) JTAG. All of these signals are provided at TTL 3v3 (+3.3 volts DC (VDC) +/-10% for a logical "high" or "1", 0 VDC for a logical "low" or "0"). A +5 VDC (+/-5%) supply is also provided.
  • CSI - Camera serial interface. The connector accepts a [fttp://en.wikipedia.org/wiki/Flexible_flat_cable flexible flat cable].
  • DSI - Display serial interface, for connection to a small LCD panel or similar interface. The connector accepts a [fttp://en.wikipedia.org/wiki/Flexible_flat_cable flexible flat cable].

For custom-designed devices, the GPIO pin headers (and sometimes the audio output and/or USB connections) are usually used.

PinMux

The Broadcom BCM2835 system-on-a-chip used in the Raspberry Pi, like other SOCs, uses pin multiplexing (pinmux) to select which signals will be present on the pins/balls of the chip. This is done because the number of available signals exceeds the number of available pins.

Precautions

The BCM2835 is directly connected to signals present on the GPIO connector. Therefore, when you connect to the GPIO pin header, you are directly attaching to the SOC, and an overvoltage or overcurrent condition can seriously and irreversibly damage or destroy the SOC and render the Raspberry Pi useless.

These conditions cause particular problems:

  1. Grounding a pin which is expected to be an input when it is configured as an output, either through the GPIO configuration or the PinMux configuration. This will cause as much current to flow as is available from the power supply,