FND 모듈

머피의 법칙·2025년 1월 17일

STM32

목록 보기
1/3

세그먼트 회로(8 세그먼트)


PIN 배열은 기본적으로 반시계방향으로 1~12까지 존재한다.

각각의 핀이 A, B, C, D, E, F, G, DP 위치에 해당하는 LED를 제어한다.
출력하고 싶은 세그먼트를 선택하고 싶다면 6, 8, 9, 12번 공통 애노드 PIN을 HIGH로 만들어야 한다.

💡 공통 애노드란?
애노드는 세그먼트 LED의 +극과 연결되어있다.
애노드 PIN이 HIGH가 되고, 반대편의 전압이 LOW가 되어야 세그먼트에 전압차가 발생해서 LED가 켜지게된다.

74HC595 칩 회로

Standard SPI를 지원한다.

  • SERIAL DATA INPUT A(SI, 14) : 직렬 데이터가 입력되는 핀이다.
  • SHIFT CLOCK(SCK, 11) : 클럭 신호로, 상승 엣지에서 데이터가 하나씩 시프트 한다.
  • LATCH CLOCK(RCK, 12) : 래치 클럭으로, 상승 엣지에 내부 래치에 저장된 데이터를 병렬 출력한다. 하강 엣지에는 병렬 출력 상태를 유지한다.
  • RESET(10) : LOW가 되면 시프트 레지스터의 모든 데이터를 초기화한다.
  • SERIAL DATA OUTPUT(9) : 또다른 시프트 레지스터와 연결해서 데이터를 이동 시킬 수 있다.
  • OUTPUT ENABLE(13) : 출력 핀(QA~QH)을 활성화하거나 비활성화 한다.

FND 모듈 제어

총 4개의 세그먼트와 두 개의 칩으로 이루어져 있다.

세그먼트를 제어하기 위한 핀은 총 12개이다. 즉, 칩 두 개를 이어 붙여서 12개의 레지스터만을 사용해서 제어함을 알 수 있다.

  • GPIO Output 제어시

    • RCLK
      Rising Edge에서 데이터를 저장하고 Falling Edge에서 데이터를 hold한다.
      High를 초기 전압으로 실행할 시, 이상한 값이 나타나고 곧바로 꺼지는 것으로 보았을 때, RCLK의 LOW상태가 데이터 초기화와 연관이 있는 것을 추측된다.
      LOW를 초기 전압으로 설정하고, shift register의 값을 LED에 나타낼 때 마다 HIGH로 올리도록 구현한다.

    • SCLK
      마찬가지로 Rising Edge에서 데이터를 저장하고 Falling Edge에서 데이터를 hold한다.
      초기 전압의 설정과 상관 없이 작동한다.

  • SPI 제어시

    • RCLK
      GPIO Output 제어와 동일하게 설정한다.
    • SCLK
      Clock Polarity를 high로 설정시, Clock Phase를 2Edge로 설정한다.
      Clock Polarity를 Low로 설정시, Clock Phase를 1Edge로 설정한다.

0개의 댓글