Chip select

From Wikipedia, the free encyclopedia
An example SPI with a master and three slave select lines. Note that all four chips share the SCLK, MISO, and MOSI lines but each slave has its own slave select.

Chip select (CS) or slave select (SS) is the name of a control line in digital electronics used to select one (or a set) of integrated circuits (commonly called "chips") out of several connected to the same computer bus, usually utilizing the three-state logic.[1][2]

One bus that uses the chip/slave select is the Serial Peripheral Interface Bus (SPI bus).[3]

When an engineer needs to connect several devices to the same set of input wires (e.g., a computer bus), but retain the ability to send and receive data or commands to each device independently of the others on the bus, they can use a chip select. The chip select is a command pin on many integrated circuits which connects the I/O pins on the device to the internal circuitry of that device.[4]

When the chip select pin is held in the inactive state, the chip or device is "deaf", and pays no heed to changes in the state of its other input pins; it holds its outputs in the high impedance state, so other chips can drive those signals. When the chip select pin is held in the active state, the chip or device assumes that any input changes it "hears" are meant for it, and responds as if it is the only chip on the bus. Because the other chips have their chip select pins in the inactive state, their outputs are high impedance, allowing the single selected chip to drive its outputs.[5]

CS may also affect a power consumption or serve as cycle control in certain circuits (such as SRAM or DRAM).[6]


  1. ^ Kalinsky, David (February 2002). "Introduction to Serial Peripheral Interface". Retrieved 2 January 2013.
  2. ^ S. K. Venkata Ram (2004). Advanced Microprocessor & Microcontrollers. Firewall Media. pp. 94–. ISBN 978-81-7008-310-8.
  3. ^ John Catsoulis (16 May 2005). Designing Embedded Hardware. "O'Reilly Media, Inc.". pp. 176–. ISBN 978-0-596-00755-3.
  4. ^ Sivarama P. Dandamudi (15 July 2005). Guide to Assembly Language Programming in Linux. Springer Science & Business Media. pp. 45–. ISBN 978-0-387-25897-3.
  5. ^ H.R. Taylor (14 March 2013). Data Acquisition for Sensor Systems. Springer Science & Business Media. pp. 249–. ISBN 978-1-4757-4905-2.
  6. ^ "chip-enable input | JEDEC". Retrieved 2019-05-21.