Anonymous
Not logged in
Talk
Contributions
Create account
Log in
RS-485
Search
Editing
Serial Peripheral Interface
(section)
From RS-485
Namespaces
Page
Discussion
More
More
Page actions
Read
Edit
Edit source
History
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!
==Applications== {{Multiple image | image1 = ATI Radeon X1300 256MB - Atmel 25F512AN-5397.jpg | caption1 = SPI Memory by [[Atmel]] | image2 = ADSV-931 Mini Docking Station - LAN module - Fairchild 93C46-93553.jpg | caption2 = [[Fairchild Semiconductor|Fairchild]] EEPROM using [[#Microwire|Microwire]] | image3 = Sumup AIR1 E205 - board - Microchip 26F032B-1521.jpg | caption3 = [[Microchip Technology|Microchip]] 32-Mbit [[#QPI/SQI|SQI]] Flash Memory | direction = horizontal | total_width = 400 }} SPI is used to talk to a variety of peripherals, such as * Sensors: [[temperature]], [[pressure]], [[analog-to-digital converter|ADC]], [[touchscreens]], [[video game controllers]] * Control devices: [[audio codec]]s, [[digital potentiometer]]s, [[digital-to-analog converter|DACs]] * Camera lenses: [[Canon EF lens mount]] * Memory: [[flash memory#Serial flash|flash]] and [[EEPROM#Serial bus devices|EEPROMs]] ** Any [[MultiMediaCard|MMC]] or [[Secure Digital|SD]] card (including [[Secure Digital#SDIO|SDIO]] variant{{NoteTag|Not to be confused with the SDIO (Serial Data I/O) line of the half-duplex implementation of SPI sometimes also called "3-wire" SPI. Here e.g. MOSI (via a resistor) and MISO (no resistor) of a master is connected to the SDIO line of a slave.|name=3wireSDI}}) * [[Real-time clock|Real-time clocks]] * [[LCD|LCDs]], sometimes even for managing image data * [[Shift registers]] for additional I/O<ref name=":3" /><ref name=":2" /> [[Printed circuit board|Board]] real estate and wiring savings compared to a [[Parallel communication|parallel]] bus are significant, and have earned SPI a solid role in embedded systems. That is true for most [[system-on-a-chip]] processors, both with higher-end 32-bit processors such as those using [[ARM architecture|ARM]], [[MIPS architecture|MIPS]], or [[PowerPC]] and with lower-end microcontrollers such as the [[Atmel AVR|AVR]], [[PIC microcontroller|PIC]], and [[MSP430]]. These chips usually include SPI controllers capable of running in either master or slave mode. [[In-system programming|In-system programmable]] AVR controllers (including blank ones) can be programmed using SPI.<ref>{{cite web |url=http://www.atmel.com/dyn/resources/prod_documents/DOC0943.PDF |title=AVR910 - In-system programming |archive-url=https://web.archive.org/web/20110302123348/http://www.atmel.com/dyn/resources/prod_documents/DOC0943.PDF |archive-date=2011-03-02}}</ref> Chip or [[FPGA]] based designs sometimes use SPI to communicate between internal components; on-chip real estate can be as costly as its on-board cousin. And for high-performance systems, [[FPGA]]s sometimes use SPI to interface as a slave to a host, as a master to sensors, or for flash memory used to bootstrap if they are SRAM-based. The full-duplex capability makes SPI very simple and efficient for single master/single slave applications. Some devices use the full-duplex mode to implement an efficient, swift data stream for applications such as [[digital audio]], [[digital signal processing]], or [[channel (communications)|telecommunications channels]], but most off-the-shelf chips stick to half-duplex request/response protocols.
Summary:
Please note that all contributions to RS-485 may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
RS-485:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Wiki tools
Wiki tools
Special pages
Page tools
Page tools
User page tools
More
What links here
Related changes
Page information
Page logs