|
|
(15 intermediate revisions by 5 users not shown) |
Line 1: |
Line 1: |
− | The Rpi allows peripherals to access the CPU by exposing the in and outputs. The production board has a 26-pin 1.27mm (50mil) expansion header, arranged in a 2x13 strip. They provide 8 GPIO pins plus access to I2C, SPI, UART), as well as +3V3, +5V and GND supply lines. Pin one is column 0 on the bottom row. <ref>http://www.raspberrypi.org/archives/384</ref>
| + | #REDIRECT [[RPi Low-level peripherals]] |
− | | |
− | Voltage levels are 3v3. There is no over-voltage protection on the board - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board.
| |
− | | |
− | | |
− | It is also possible to reconfigure some of the pins to provide a second I2C interface. [no-ref]
| |
− | | |
− | Kernel boot messages go to the UART at 115200bps.
| |
− | | |
− | '''Pinout:'''
| |
− | {| border="1" style="text-align:center;"
| |
− | | '''Top Row''' || bgcolor="red" | <span style="color:white">5V0</span> || DNC || bgcolor="black" | <span style="color:white">GND</span> || bgcolor="yellow" | TXD || bgcolor="yellow" | RXD || bgcolor="lime" | GPIO1 || DNC || bgcolor="lime" | GPIO4 || bgcolor="lime" | GPIO5 || DNC || bgcolor="lime" | GPIO6 || bgcolor="purple" | <span style="color:white">SPI_CE0_N</span> || bgcolor="purple" | <span style="color:white">SPI_CE1_N</span>
| |
− | |-
| |
− | | '''Bottom Row''' || bgcolor="orange" | 3V3 || bgcolor="cyan" | SDA0 || bgcolor="cyan" | SCL0 || bgcolor="lime" | GPIO7 || DNC || bgcolor="lime" | GPIO0 || bgcolor="lime" | GPIO2 || bgcolor="lime" | GPIO3 || DNC || bgcolor="purple" | <span style="color:white">SPI_MOSI</span> || bgcolor="purple" | <span style="color:white">SPI_MISO</span> || bgcolor="purple" | <span style="color:white">SPI_SCLK</span> || DNC
| |
− | |}
| |
− | | |
− | | |
− | {| border="1"
| |
− | ! Colour legend
| |
− | |-
| |
− | | bgcolor="red" | <span style="color:white">+5V</span>
| |
− | |-
| |
− | | bgcolor="orange" | +3.3V
| |
− | |-
| |
− | | Do not connect
| |
− | |-
| |
− | | bgcolor="yellow" | UART
| |
− | |-
| |
− | | bgcolor="lime" | GPIO
| |
− | |-
| |
− | | bgcolor="purple" | <span style="color:white">SPI</span>
| |
− | |-
| |
− | | bgcolor="cyan" | I2C
| |
− | |}
| |
− | | |
− | Colour-coded Image: https://sites.google.com/site/burngatehouse/home/drawings/GPIOs.gif
| |
− | | |
− | | |
− | | |
− | ==Power pins==
| |
− | ::''see also [[Rpi power]]''
| |
− | Maximum permitted current draw from the 3v3 pin is 50mA.
| |
− | Maximum permitted current draw from the 5v pin is the USB input current (usually 1A) minus any current draw from the rest of the board, or about 650 mA. <ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1536#postid-21841</ref>
| |
− | | |
− | ==General Purpose Input/Output (GPIO)==
| |
− | | |
− | General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software. For more information see:[http://en.wikipedia.org/wiki/GPIO the wikipedia article].
| |
− | | |
− | On the production board, all the UART, SPI and I2C pins can be reconfigured as GPIO pins, to provide a total of 17 GPIO pins.<ref>http://www.raspberrypi.org/archives/384</ref>
| |
− | | |
− | | |
− | At least some of the GPIO pins support PWM.<ref>http://twitter.com/#!/Raspberry_Pi/status/140548306886602752</ref>
| |
− | | |
− | Each GPIO can interrupt, high/low/rise/fall/change.<ref>http://www.raspberrypi.org/archives/384#comment-5217</ref>
| |
− | | |
− | It is also possible to reconfigure some of the pins to provide an ARM JTAG interface.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1288.1</ref>
| |
− | | |
− | It is also possible to reconfigure some of the pins to provide an I2S or PCM interface.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1288.2</ref>
| |
− | | |
− | | |
− | ===Driver support===
| |
− | | |
− | The Foundation will not include a GPIO driver in the initial release, standard linux GPIO drivers should work with minimal modification.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1278.0</ref>
| |
− | The Foundation will not include a SPI driver in the initial release, we hope the community might write one.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1278.0</ref>
| |
− | The Foundation will not include an I2C driver in the initial release, we hope the community might provide one, standard linux I2C drivers should work with minimal modification.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1202</ref>
| |
− | ===Code examples===
| |
− | Here, some code examples should be shown.
| |
− | | |
− | ==MIPI CSI-2==
| |
− | | |
− | On the production board, we bring out the MIPI CSI-2 interface to pads for an unpopulated 15-way flat flex connector
| |
− | | |
− | ==DSI==
| |
− | | |
− | On the production board, we bring out the DSI interface to pads for an unpopulated 15-way flat flex connector
| |
− | ==CEC==
| |
− | | |
− | HDMI-CEC is supported by hardware but some driver work will be needed and currently isn't exposed into Linux userland.
| |
− | Eben notes that he has seen CEC demos on the Broadcom SoC they are using.
| |
− | | |
− | == References ==
| |
− | <references/>
| |