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!
==Development tools== === Single-board computers === [[Single-board computers]] may provide [[Lead (electronics)|pin]] access to SPI hardware units. For instance, the [[Raspberry Pi#J8 header and general purpose input-output (GPIO)|Raspberry Pi's J8 header]] exposes at least two SPI units that can be used via [[Linux]] [[Device driver|drivers]] or [[Python (programming language)|python]]. === USB to SPI adapters === There are a number of [[USB]] adapters that allow a desktop [[Personal computer|PC]] or [[smartphone]] with [[USB]] to communicate with SPI chips (e.g. CH341A/B<ref>{{cite web |title=USB Bridge Controller CH341 with UART, SPI and I2C | url=https://wch-ic.com/products/CH341.html |access-date=27 February 2025 |website=WCH}}</ref> based or [[FTDI|FT]]221xs<ref>{{cite web |title=USB to SPI converter |url=https://ftdichip.com/products/ft221xs/ |access-date=14 February 2021 |website=FTDI|date=2 August 2020 }}</ref>). They are used for embedded systems, chips ([[FPGA]], [[Application-specific integrated circuit|ASIC]], and [[System on a chip|SoC]]) and peripheral testing, programming and debugging. Many of them also provide scripting or programming capabilities (e.g. [[Visual Basic]], [[C (programming language)|C]]/[[C++]], [[VHDL]]) and can be used with open source programs like [[Flashrom_(utility)|flashrom]], IMSProg, SNANDer or avrdude for [[Flash_memory|flash]], [[EEPROM]], [[Bootloader|bootloader]] and [[BIOS]] programming. The key SPI parameters are: the maximum supported frequency for the serial interface, command-to-command latency, and the maximum length for SPI commands. It is possible to find SPI adapters on the market today that support up to 100 MHz serial interfaces, with virtually unlimited access length. SPI protocol being a de facto standard, some SPI host adapters also have the ability of supporting other protocols beyond the traditional 4-wire SPI (for example, support of quad-SPI protocol or other custom serial protocol that derive from SPI<ref>[https://www.byteparadigm.com/product-spi-storm-39.html SPI Storm β Serial Protocol Host Adapter] with support of custom serial protocols, Byte Paradigm.</ref>). ===Protocol analyzers=== {{Main articles|Logic analyzer}} [[Logic analyzers]] are tools which collect, [[timestamp]], analyze, decode, store, and view the high-speed waveforms, to help [[Debugging|debug]] and develop. Most logic analyzers have the capability to decode SPI bus signals into high-level protocol data with human-readable labels. ==== Oscilloscopes ==== SPI [[waveforms]] can be seen on [[Analog signal|analog]] channels (and/or via [[Digital signal|digital]] channels in [[Oscilloscope#Mixed-signal oscilloscope|mixed-signal oscilloscopes]]).<ref>{{cite web |title=N5391B IΒ²C and SPI Protocol Triggering and Decode for Infiniium scopes |url=https://www.keysight.com/en/pd-1646694-pn-N5391B/ic-and-spi-protocol-triggering-and-decode?cc=US&lc=eng}}</ref> Most [[oscilloscope]] vendors offer optional support for SPI protocol analysis (both 2-, [[Serial Peripheral Interface#Three-wire|3-]], and 4-wire SPI) with triggering.
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)