SCEA117 July   2022 SN74HCS164 , SN74HCS164-Q1 , SN74HCS165 , SN74HCS165-Q1 , SN74HCS595 , SN74HCS595-Q1

 

  1.   Abstract
  2.   Trademarks
  3. 1Overview
    1. 1.1 Types of Shift Registers
    2. 1.2 Default State of a Shift Register
    3. 1.3 164 Function Shift Registers
    4. 1.4 165 Function Shift Registers
    5. 1.5 595 Function Shift Registers
    6. 1.6 Daisy-Chain Two Shift Registers
  4. 2Design Challenges
    1. 2.1 Controller Loading Limits
    2. 2.2 Operating over Large Distances
    3. 2.3 Data Loss Due to Signal Timing
    4. 2.4 Data Rate Limitations
    5. 2.5 Software Overview
  5. 3Example Design - Daisy Chain 72 Shift Registers
    1. 3.1 System Overview
    2. 3.2 System Design
    3. 3.3 Software Examples
  6. 4References

Types of Shift Registers

There are three primary types of shift registers: Serial-In Parallel-Out (SIPO), Parallel-In Serial-Out (PISO), and so-called universal shift registers, which contain both parallel-in and parallel-out connections. Often these are shortened to parallel-in, parallel-out, and universal, as the parallel connections are the key concern. All shift registers have serial input and output connections to allow for series connection (aka daisy chaining) of devices.

Parallel-in shift registers are used to increase the number of inputs on a controller, an application often referred to as input expansion. Devices like the SN74HCS165 provide eight additional inputs per integrated circuit (IC).

Parallel-out shift registers are used to increase the number of outputs on a controller, an application often referred to as output expansion. Devices like the SN74HCS164 provide eight additional outputs per IC.

Universal shift registers provide the ability to switch between reading inputs into the internal registers or sending the internal data to outputs. They are not used as commonly, however, as they provide fewer storage bits than their dedicated input- or output-type counterparts. For example, a 16-pin universal shift register like the CD74HC194 can be used for inputs or outputs, however it can only contain up to 4 bits of data, while the aforementioned SN74HCS165 and SN74HCS164, both of which are also in 16-pin packages, can hold eight bits of data each.