본문 바로가기
전자 부품

IC 74HC595 (Shift Registor)

by sinki 2022. 3. 30.

오늘은 74HC595 Shift Registor IC에 대하여 공부해 볼까 합니다. 

 

<Shift Registor 란?>

  하나의 bit를 저장하는 플립-플롭(Flip-Flop) 회로 여러 개를 일렬로 연결하여 여러 bit의 정보를 저장하는 것을 Registor라고 하고,  외부에서 들어로 데이터를 내부 플립-플롭 간 이동 저장 출력하는 소자를 Shift Registor라고 합니다.  

 

<Shift Registor의 종류>

SIPO   : Serial IN - Parallel OUT

POSO : Parallel IN - Serial OUT

PIPO   : Parallel IN - Parallel OUT

SISO   : Serial IN - Serial OUT

74HC595칩은 직렬 입력-병렬 출력 SIPO (Serial In – Parallel Out) 유형에 해당합니다..

 

 

<74HC595 란?>

 하나의 시리얼 입력 포트를 통해 1bit씩 순차적으로 받고 총 8Bit의 저장공간에 순차적으로 이동시키면서 저장하며 8 Bit의 데이터를 한 번에 패럴렐 포트를 통해 출력하는 시프트 레지스터 소자입니다.

 아두이노에서  3개의 출력 단자로 8의 배수만큼의 출력단을 확장할 수 있습니다. 

  데이터를 순차적으로 입력받아한 레지스트씩 옆으로 이동 저장 및 동시 8Bit 단위로 출력하는 시프트 레지스터로 아두이노의 경우 출력 포트의 확장용으로 주로 이용됩니다.

 

 

<74HC595 PIN Assignment>

onsemi사 Data Sheet 발취

  1. VCC (Pin no : 16) : 동작전압 DC 2V ~ 6V (아두이노 3.3V 혹은 5V 모두 사용 가능)
  2. GND (Pin no : 8) : Ground 접지 
  3. A (Pin no : 14) : Serial Data Input 클럭 신호에 맞춰 데이트를 입력받는 핀
  4. QA ~QH (Pin no : 15, 1 ~ 7) : Parallel Data Output  출력을 담당하는 8개 단자, QA ~ QH까지 8개 순차적 연결
  5. OUTPUT ENABLE (Pin no : 13) : 출력 핀 전체를 한 번에  on/off 시키는 단자. 출력 신호를 LED에 연결 사용 시 아두이노 PWM 단자를 이용  LED 밝기 조절이 가능 합니다. 일반사용시 아두이노 GND 단자에 연결하여 사용하시면 됩니다. { 0일때 ON, 1일때 OFF}
  6. RESET (Pin no : 10) :  0의 신호가 들어오면 저장 데이터를 초기화 단자. 일반적으로 사용시 아두이노  VCC(3.3V 혹은 5V)에 연결 사용하시면 됩니다. {0일 때 RESET, 1 일때 미동작)
  7. SHIFT CLOCK (Pin no : 11) : 시리얼데이터 입력단에서 입력 받은 데이터를 시프트 레지스터에 저장 및 이동을 위한 클럭 신호 단자입니다. 
  8. LATCH CLOCK (Pin no : 12) : 시프트 레지스터에 저장된 데이터를 스토리지 레지스터에 저장 후 페럴러 데이터 아웃으로 출력하도록 해주는 신호 단자입니다.
  9. S Q H (Pin no : 9) :  확장 신호 단자, 시프트 레지스터를 확장(추가) 사용 시 다음 시프트 레지스터로 데이터를 전달하는 출력 단자입니다. 다음 레지스터의 14핀에 연결 사용할 수 있습니다.  연결할 추가 레지스터가 없다면 미사용.

<74HC595 동작>

위의 로직 다이아그램은 실제 74HC595의 구동을 이해할 수 있는 회로도입니다. 하지만 일반분들이나 처음 전자회로를 공부하시는 분들은 위 회로만 보고 이해하기 힘든 부분입니다. 쉽게 위의 네모들이 1bit 단위를 저장하는 플립플롭들입니다. 세모들은 내부 신호들을 필요에 의해 조작하는 로직 회로 들입니다. serial data는 serial data input으로 들어와서 위 보라색 화살표를 따라 이동 serial data output SQH로 나갑니다.  간단히 말하면 serial data는 Shift clock에 의해 흐르면서 shift register에 우선 저장되고 저장된 이신호들은 Latch clock 의해 storage register로 넘어가고 parallel data outputs을 통해 바로 출력됩니다.

Timing 다이아그램으로 각 신호의 동작 시점을 확인해보겠습니다.

  1. RESET은 low 상태에서 초기화 이기 때문에 하강 에지에서 초기화가 됩니다. low 신호가 들어오면 Shift Register 부분의 각 저장 플립-플롭(SRA, SRB.... SRG, SRH)에 초기화 신호를 전달 초기화됩니다.
  2. OUTPUT ENABLE은 HIGH 상태에서 출력이 제한하기(OUTPUT 이 나가지 않음) 때문에 상승에지에서 출력 제한을 합니다. high 신호시 3 State Buffer의 논리 소자를 모두 0 상태로 유지 합니다. 이때 내부적으로 저장 데이터가 초기화 되는 것은 아님. 단순 출력만 제어합니다 
  3. Shift Clock 은 상승 엣지에서 동작합니다.(Shift register 부분에서 동작함)
    1. 상승 에지 신호가 들어오면 마지막 플립-플롭인 SRH의 데이터를 Serial  data Output SQH로 보냅니다.( 다른 시스터 레지스터 IC가 있다면 그쪽으로 전달되고 없다면 신호는 소멸).
    2. SRH는 바로 전 플립-플롭인 SRG의 데이터를 받아오고 SRG는 SRF의 데이터를 받는 식으로 Shift Register 안의 플립-플롭들은 바로 전 플립-플롭으로부터 data를 받아 저장합니다(DATA가 하나씩 이동 저장됨)
    3. 첫 번째 플립-플롭인 SRA는 Serial Data Inout A에 들어온 신호를 받아 저장합니다.
  4. Latch Clock은 상승 에지에서 동작합니다.  Latch Clock에 high 신호가 들어오면 Stotage register 부에 있는 플립-플롭들이 저장하고 있는 데이터가 3 state buffer를 통해 parallel data outputs으로 출력됩니다.

처음부터 동작을 이해하기는 많이 힘이 듭니다. 다음 첨부 파일은 "ON Semiconductor" 사에서 제공되는 74HC595A에 대한 DATASHEET입니다.  부족한 설명 참조하세요.

datasheet.pdf
0.25MB

'전자 부품' 카테고리의 다른 글

7세그먼트(7 Segment)  (0) 2022.04.04
브레드 보드(Bread Board : 빵판)  (0) 2022.03.22