Skip to main content
Chemistry LibreTexts

16.1: SPI

  • Page ID
    474565
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    Serial Per

     

     

     

     

    clipboard_e1a3b463af41a7a78bec746b0eb027fbe.pngFigure \(\PageIndex{1}\): Data lines for SPI interface with three peripheral devices.  Note you still need to provide power and a ground to the perpherials. (Belford CC-BY)

     

     

    Note

    The Open Source Hardware Association has put forth a resolution to redefine the SPI Signal Names.  In many devices and data sheets you will see the older names, and you will need to be familiar with both.  In essence the old terminology used Master/Slave designation and the new one uses Controller/Peripheral (device) designations.

    Figure \(\PageIndex{2}\): New signal designations. (SparkFun  CC 0.0)

     

    New Signal Names

    • SDO - Serial Data Out.  An output signal sent to another SPI device
    • SDI -  Serial Data In.  An input signal received from another SPI device.
    • CS - Chip Select. Picks which peripheral device is active (old SS).
    • PICO - Peripheral In Controller Out. Signal being sent from controller to peripheral (old MOSI).
    • POCI - Peripheral Out Controller In. Signal sent from peripheral to controller (old MISO). 
    • SDIO - Serial Data In/Out. Bidirectional serial signal.

    Deprecated Signal Names

    • MOSI - Master Out Slave In
    • MISO - Master In Slave Out
    • SS - Slave Select
    • MOMI - Master Out Master In
    • SOSI - Slave Out Slave In

    Unchanged Signal Names

    • SCK - Serial Clock.  Controller generated clock signal for the common bus.

     

     

     

     solving problems, as long as you get the proper values a

     

     

     

     

     


    This page titled 16.1: SPI is shared under a not declared license and was authored, remixed, and/or curated by Robert Belford.

    • Was this article helpful?