Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Serial Peripheral Interface
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Synchronous serial communication interface}} {{Cleanup rewrite|[[WP:NOTTEXTBOOK|it reads like a guide or textbook]]|article|date=March 2021}} {{Infobox connector <!-- NOTE: Not a perfect template match, but good enough for now --> | name = Serial Peripheral Interface (SPI) | type = [[Serial communication]] [[Bus (computing)|bus]] | designer = [[Motorola]] | data_style = [[Full-duplex]] [[serial communication|serial]] | daisy_chain = [[#Daisy chain configuration|Depends]] on devices | manufacturer = various | data_devices = [[#Multidrop configuration|Multidrop]] limited by slave selects. [[#Daisy chain configuration|Daisy chaining]] unlimited. | data_bit_width = 1 bit (bidirectional) | high_freq = yes | pin_custom1_name = MOSI | pin_name_custom1 = Master Out Slave In | pin_name_custom2 = Master In Slave Out | pin_custom2_name = MISO | pin_custom3_name = SCLK | pin_custom4_name = {{Overline|SS}} | pin_name_custom3 = Serial Clock | pin_name_custom4 = [[Slave Select]] (one or more) | pinout_notes = (pins may have [[#Alternative terminology|alternative names]]) | maximum_voltage = Unspecified | maximum_current = Unspecified | physical_connector = Unspecified | design_date = Around early 1980s{{NoteTag|The earliest definitive mention of a "Serial Peripheral Interface" in bitsavers archives of Motorola manuals is from 1983 (see {{slink||Original definition}}). While some sources on the web allege that Motorola introduced SPI when 68000 was introduced in 1979, however many of those appear to be [[citogenesis]] or speculation, and Motorola's 1983 68000 manual has no mention of "Serial Peripheral Interface", so the alleged 1979 date doesn't seem to be reliable information. Please only add a specific design_date if you have a definitive source from Motorola around then.}} }} '''Serial Peripheral Interface''' ('''SPI''') is a <!--DO NOT ITALICIZE; CONSIDERED ANGLICIZED-->[[de facto standard]] (with many [[#Variations|variants]]) for [[Comparison of synchronous and asynchronous signalling|synchronous]] [[serial communication]], used primarily in [[embedded systems]] for short-distance [[wired communication]] between [[integrated circuits]]. SPI follows a [[master–slave (technology)|master–slave architecture]],<ref name=":0">{{Cite web |last=Stoicescu |first=Alin |date=2018 |title=Getting Started with SPI |url=https://ww1.microchip.com/downloads/en/Appnotes/TB3215-Getting-Started-with-SPI-90003215A.pdf |url-status=live |website=[[Microchip]]}}</ref> where a master device [[Signaling (telecommunications)|orchestrates communication]] with one or more slave devices by driving the [[clock signal|clock]] and [[chip select]] signals. Some devices support changing master and slave roles on the fly. [[Motorola]]'s original specification (from the early 1980s) uses four [[logic signal]]s, aka lines or wires, to support [[full duplex]] communication. It is sometimes called a ''four-wire'' [[serial bus]] to contrast with [[Serial Peripheral Interface#Three-wire|three-wire]] variants which are [[half duplex]], and with the ''two-wire'' [[I²C]] and [[1-Wire]] serial buses. Typical [[#Applications|applications]] include interfacing [[microcontrollers]] with peripheral chips for [[Secure Digital]] cards, [[liquid crystal display]]s, [[analog-to-digital]] and [[digital-to-analog converters]], [[Flash memory#Serial flash|flash]] and [[EEPROM#Serial bus devices|EEPROM]] memory, and various communication chips. Although SPI is a synchronous serial interface,<ref>{{cite web |url= https://digital.ni.com/public.nsf/allkb/862567530005F09C862566BE004E469D |title= What is Serial Synchronous Interface (SSI)? |access-date= 2015-01-28 }}</ref> it is different from [[Synchronous Serial Interface]] (SSI). SSI employs [[differential signaling]] and provides only a single [[simplex communication]] channel.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)