먼저 알아둘 신호
CD4017·자리 출력(Q0~Q9) — CD4017은 입력 클록(clock, 일정한 간격의 전기 신호)의 상승 에지마다 HIGH가 되는 출력이 Q0부터 Q9까지 한 칸씩 옮겨 가는 10진 카운터(decade counter)입니다. HIGH는 전원 전압 쪽, LOW는 접지 쪽의 논리 상태를 뜻합니다. 리셋(reset) 입력을 HIGH로 만들면 계수 상태가 Q0으로 돌아갑니다. 실제 전압의 HIGH·LOW 판정 범위는 공급 전압과 사용 부품의 데이터시트로 확인해야 합니다.
자릿올림(carry)·다음 자리 클록 — 앞자리가 한 바퀴 돌 때 뒷자리를 한 번 증가시키는 신호입니다. CD4017의 CARRY OUT은 정상적인 10단 순환에 맞춘 출력입니다. 초·분의 십의 자리처럼 0~5만 세고 되돌아가는 6단 계수(modulo-6 counting)에서는 Q6에 도달하는 순간의 리셋과 자릿올림을 함께 설계해야 합니다. 10단 순환용 출력을 회로에 그대로 연결했다고 해서 6단 경계에서 필요한 상승 에지가 자동으로 보장되는 것은 아닙니다.
펄스 폭·리셋 해제 시간 — 펄스 폭은 신호가 한 논리 상태를 유지하는 시간이고, 리셋 해제 시간은 리셋이 끝난 뒤 다음 클록을 받아들일 준비에 필요한 시간입니다. 짧은 펄스를 LED 눈금으로는 보기 어려우므로 경계 검사는 오실로스코프(oscilloscope)나 논리 분석기(logic analyzer)를 사용합니다.

근접 센서를 클록에 연결할 때는 입력과 상태를 나누어 확인합니다
적외선 근접 센서(infrared proximity sensor)의 출력(OUT)을 CD4017의 CLOCK(14번 핀)에 넣고, Q1(2번 핀)을 릴레이 모듈(relay module, 제어 입력으로 별도의 접점을 전환하는 보드)의 입력(IN)에 연결하려는 경우를 생각해 보겠습니다. 센서가 물체를 감지했다는 사실만으로 카운터가 한 번 진행했거나 접점이 바뀌었다고 볼 수 없습니다. 센서 OUT → CLOCK → Q1 → 모듈 IN을 서로 다른 검사 지점으로 나눕니다.
먼저 센서의 출력 방식·전원 범위와 풀업(pull-up, 출력이 스스로 HIGH를 만들지 못할 때 전원 쪽으로 끌어올리는 저항 연결)의 필요 여부를 정확한 제품 자료에서 확인합니다. 물체가 다가올 때, 머무를 때, 떠날 때 OUT과 14번 핀의 전압을 같은 시간축에서 기록하고, 유효한 상승 에지(rising edge, LOW에서 HIGH로 바뀌는 순간)가 한 번의 통과에 몇 번 생기는지 봅니다. 감지할 때 LOW이고 해제할 때 HIGH인 방식이라면 계수는 접근이 아니라 이탈할 때 일어날 수 있습니다. 실제 극성은 측정 전에는 알 수 없으며, 전압과 펄스 폭을 CD4017의 공급 전압별 입력 조건과 대조해야 합니다.
리셋 입력 RESET(15번 핀)이 미결선이거나 상태가 확인되지 않으면, 클록 억제 입력 CLOCK INHIBIT(13번 핀, LOW일 때 클록을 받도록 하는 입력)만 LOW라고 해서 전원 투입 직후 Q0이라고 가정하지 않습니다. 사용한 CD4017의 데이터시트에 맞게 리셋을 적용했다가 해제하고, 이후 15번 핀이 정해진 LOW 상태를 유지하는지 측정합니다. 13번 핀이 LOW이고 Q0에서 시작했으며 14번 핀에 유효한 상승 에지가 하나씩 들어온다는 조건에서만 Q0→Q1→Q2…→Q9→Q0 순서로 진행합니다. Q1은 첫 에지 뒤 HIGH, 둘째 에지 뒤 LOW가 되고 열한 번째 에지 뒤 다시 HIGH가 됩니다. 따라서 Q1 하나는 감지할 때마다 켜짐과 꺼짐이 번갈아 바뀌는 두 상태 토글(toggle)이 아닙니다.
Q1과 모듈 IN 사이에 직렬 저항이 있다면 그 값과 Q1의 출력 전압·허용 전류를 확인하고, 모듈 입력이 HIGH와 LOW 중 어느 쪽에서 동작하며 얼마의 전류를 요구하는지 해당 제품 자료와 저전압 측정으로 대조합니다. 모듈의 정격 전원과 귀로도 별도로 확인합니다. 교류 부하를 연결하기 전에 접점의 무전원 도통 상태와 저전압 구동 시 전환 여부를 따로 시험합니다. 입력 극성이나 전류 여유를 모르면 Q1이 HIGH라는 이유만으로 릴레이나 조명이 켜졌다고 말할 수 없습니다.
클록 자체와 자릿올림 문제를 나눕니다
수정 진동자(crystal resonator) 32.768 kHz를 CD4060의 14단 분주기(divider)에 넣으면 계산상 32,768 / 2^14 = 2 Hz입니다. CD4027 플립플롭(flip-flop, 입력 에지마다 저장 상태를 바꿀 수 있는 논리 소자)으로 다시 둘로 나누면 1 Hz가 됩니다. 이는 회로가 의도한 주파수 계산이며, 실제 수정이 발진하고 장시간 정확하게 시간을 유지한다는 측정 결과는 아닙니다.
표시되는 모든 자리의 진행 속도가 함께 틀리면 먼저 기준 클록과 분주 출력을 측정합니다. 반대로 초 일의 자리가 일정하게 진행하는데 59→00에서 분만 올라가지 않는다면, 발진기보다 초 십의 자리와 분 일의 자리 사이를 먼저 봅니다. 이처럼 증상이 나타나는 경계를 정해야 불필요하게 수정의 커패시터부터 바꾸지 않습니다.
두 자리 사이를 측정하는 순서
- 회로도와 실장 부품에서 앞자리의
CLOCK, Q5, Q6,RESET, 뒷자리의CLOCK과 Q0·Q1이 어디에 연결됐는지 표시합니다. 프로브 접지는 같은 회로의 안정된 접지에 연결합니다. 수정 발진 핀에 일반 프로브를 대면 부하 용량이 바뀔 수 있으므로, 우선 디지털 분주 출력부터 확인합니다. - 시간을 빠르게 맞출 수 있는 회로라면 초 십의 자리 5에서 0으로 넘어가는 경계를 반복해서 만듭니다. 실제 1 Hz 신호를 쓰거나 부품 허용 범위 안의 시험 클록을 입력합니다. 시험 중 설정 스위치가 카운터 클록과 동시에 신호를 만들지 않도록 회로의 설정 모드를 확인합니다.
- 공통 시간축에 앞자리
CLOCK상승 에지, Q5가 끝나는 순간, Q6가 나타나는 순간,RESET의 상승·하강, 뒷자리CLOCK의 상승 에지를 기록합니다. Q6가 보였다는 사실만으로 뒷자리의 입력에도 유효한 에지가 들어갔다고 판단하지 않습니다. - 뒷자리
CLOCK에 에지가 실제로 보이는데도 Q0→Q1로 진행하지 않으면 그 칩의 공급 전압, 클록 억제 입력(CLOCK INHIBIT), 리셋 상태와 실제 부품의 입력 임계 전압을 확인합니다. 에지가 없다면 앞자리의 Q6·리셋에서 뒷자리 클록까지의 연결과 펄스 생성 회로를 따라갑니다. 에지는 있으나 폭이 짧다면 데이터시트의 최소 펄스 폭과 리셋 해제 시간을 공급 전압 조건에 맞춰 대조합니다.
빵판에서는 세던 회로가 PCB에서만 자릿올림을 놓친다면 부품값을 바꾸기 전에 두 버전의 배선을 비교합니다. 전원을 끄고 회로도·빵판 배선·PCB의 Q6, RESET, 다음 자리 CLOCK 경로를 차례로 짚으면서 게이트 입출력과 저항이 같은 위치에 연결됐는지 확인해 보세요. 부품표에 제너 전압을 3.9 V로 적었더라도 주문한 부품번호가 4.3 V 제품을 가리킬 수 있으므로, 품번·데이터시트·실장 표시를 서로 대조합니다. 차이를 바로잡은 뒤에는 전원을 켜고 5→0 전이에서 리셋 펄스, 다음 자리 클록의 상승 에지와 실제 한 칸 증가를 다시 측정합니다. 어느 차이가 원인이었는지는 이 측정 전에는 단정할 수 없습니다.
빵판(breadboard)에서 세던 회로가 PCB에서 자릿올림을 놓친다면 제너 다이오드(zener diode, 역방향 전압이 일정 수준에 도달할 때 전류가 흐르는 소자)나 커패시터 값부터 바꾸지 마십시오. 먼저 Q6가 RESET을 올리는 즉시 사라지는지, 그 짧은 시간 동안 CARRY OUT이 다음 자리에서 인식할 만한 상승 에지를 만드는지 측정합니다. 6단 경계의 펄스를 다듬으려고 3V9 제너와 1 µF 커패시터를 사용한 회로가 있어도, 그 값은 공급 전압·논리 임계값·부품 특성과 연결 방식이 같은 경우에만 참고할 수 있습니다. 검증되지 않은 값을 그대로 복사하면 오히려 펄스가 너무 짧거나 두 번 생길 수 있습니다.
새 6단 회로를 설계할 때는 Q6가 나타나는 순간 NOR 게이트 2개로 만든 S–R 래치(set–reset latch, 입력 순간을 받아 리셋 상태를 일정 시간 유지하는 회로)를 설정하고, Q0 출력과 입력 클록의 상태를 조합해 래치를 해제하는 구성을 검토할 수 있습니다. 이 방식은 리셋이 너무 빨리 사라지지 않도록 하면서 CARRY OUT의 상승 에지로 다음 자리를 구동하는 제조사 응용 회로에 쓰입니다. 부품을 그대로 배치하는 데서 끝내지 말고 실제 공급 전압에서 리셋 폭과 다음 자리 클록 에지, 한 주기당 한 번만 증가하는 결과를 확인해야 합니다.
표시값도 전이표로 확인합니다
LED가 켜지는 출력과 사람이 읽는 숫자를 같다고 가정하지 않습니다. 시간의 1을 내부 Q0에 연결하는 것처럼 표시 위치를 한 칸 옮기는 방식을 쓰면, 내부 상태 0이 화면의 1이 됩니다. 이때 내부 상태와 화면의 숫자를 따로 적은 전이표(state transition table)를 만들어야 잘못된 시간 표시를 찾아낼 수 있습니다.
| 확인할 전이 | 앞자리에서 확인할 것 | 뒷자리·표시에서 확인할 것 |
|---|---|---|
| 09→10초 | 초 일의 자리 9→0 | 초 십의 자리 0→1 |
| 59→00초 | 초 십의 자리 5→0 | 분 일의 자리 +1, 초의 0 표시 또는 의도한 공백 처리 |
| 10:10의 0 표시 | 내부 Q0과 화면 숫자의 대응 | 각 자리의 0이 실제로 어떻게 보이는지 |
| 12:59:59→01:00:00 | 분·초의 59→00 | 12시간 표시라면 시간 12→1의 리셋과 자릿올림 |
0을 LED로 표시하지 않는 디자인도 만들 수 있습니다. 0을 일부러 비웠는지, 신호가 누락되어 안 보이는지는 전이표와 실제 출력으로 구분해야 합니다. 12시간제와 24시간제 역시 같은 리셋 조건을 쓰지 않으므로 표시 모드를 먼저 확정해야 합니다.
수정한 뒤 확인할 결과
같은 경계를 여러 번 반복하면서 한 번의 앞자리 순환에 뒷자리가 정확히 한 번 올라가는지 봅니다. 다음 자리 클록에 펄스가 두 번 생기거나 전원 투입·시간 설정 직후에 임의로 한 칸 움직이면 아직 해결되지 않았습니다. 온도와 공급 전압 범위를 바꾸어도 필요한 논리 전압과 펄스 폭이 남는지 확인합니다. 마지막으로 실제 시간과 하루 이상 비교해 자릿올림의 누락·중복과 기준 발진기의 시간 오차를 따로 기록하면 두 문제를 혼동하지 않습니다.
555를 주기적인 클록원으로 사용할 수 있습니다
555 타이머의 비안정(astable) 발진 출력을 CD4017B의 클록으로 사용하면 MCU 코드 없이 활성 출력 위치를 차례로 바꾸는 구성을 만들 수 있습니다. 다만 두 소자의 공급 전압·출력 HIGH/LOW와 입력 문턱이 맞아야 하고, 리셋과 CLOCK INHIBIT 상태도 정해져 있어야 합니다.
실제 기판에서는 출력 파형의 에지·주기와 LED별 전류 제한을 확인합니다. 어떤 R/C 값이나 핀 배선도 제시하지 않은 제작 영상만으로 발진 주파수·구동 전류·전체 점등 순서를 확정하지 않습니다. 555를 쓴다고 해서 앞 절의 6단 리셋·자릿올림 경계 문제가 저절로 해결되지는 않습니다.