Tuesday, September 18, 2012

Raspberry PI - Lots of ways to interface to the GPIO pins


By installing the appropriate LINUX drivers and Software Modules (more on this in a later post, I hope), the rPI can communicate on the General Purpose I/O Pins (GPIO) with a LOT of different protocols.

At least one rPI LINUX disto from Adafruit has support for SPI, I2C, and one wire already built in.

Just be aware that the rPI GPIO pins are 3v3 level, and not buffered, so you have to be careful in interfacing to them, see this post for more information.


Parallel (on rPI 3v3)
http://en.wikipedia.org/wiki/Parallel_communications
up to 17 wires + Gnd
up to Mhz
Many devices (LEDs, switches)


Serial Asynchronous - Start/8 Bit/Stop  (on the rPI, level is 3v3, not RS-232 level
http://en.wikipedia.org/wiki/RS-232
2 wires + Gnd (or more)
115,200 bit/s and above
Many devices (especially legacy)


1-Wire (on rPI 3v3)
http://en.wikipedia.org/wiki/One_wire
1 Wire + Gnd
up to 16.3 kbit/s
Devices
     Memory
     Thermometers
     Clock / Timer
     Digital Potentiometer
     etc.


I2C (on rPI 3v3)
http://en.wikipedia.org/wiki/I2c
2 Wires + Gnd
      Serial Data Line (SDA), Serial Clock (SCL)
Up to  5 MHz
Devices
     SPD EEPROMs on SDRAM, DDR SDRAM, DDR2 SDRAM, NVRAM
     DACs and ADCs.
     intelligent speakers.
     OLED/LCD displays
     hardware monitors and diagnostic sensors
     real-time clocks
     etc.


SPI - Serial Peripheral Interface Bus  (on rPI 3v3
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
4 wires + Gnd
     SCLK: serial clock (output from master);
     MOSI; SIMO: master output, slave input (output from master);
     MISO; SOMI: master input, slave output (output from slave);
     SS: slave select (active low, output from master).
Not limited to any maximum clock speed, typical 1–100 MHz
Devices
     Sensors: temperature, pressure, ADC, touchscreens, video game controllers
     Control devices: audio codecs, digital potentiometers, DAC
     Camera lenses: Canon EF lens mount
     Communications chips: Ethernet, USB, USART, CAN, IEEE 802.15.4, IEEE 802.11
     Memory: flash and EEPROM
     Real-time clocks
     LCD displays, sometimes even for managing image data
     etc.





Eric Pierce VA3EP - See the Disclaimer in the Introduction

© Eric Pierce and "VA3EP Amateur Radio And Other Geek Pursuits", 1952-2099. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Eric Pierce and "VA3EP Amateur Radio And Other Geek Pursuits", with appropriate and specific direction to the original content.

No comments:

Post a Comment