장비 구성
코드를 짜기 전에 알면 좋은 하드웨어 개념. 통신 프로토콜의 각 설정값이 왜 그 모양인지 여기서 답이 나온다.
전체 신호 경로
채널 구성
| 채널 # | 역할 | SCOPE | PQN |
|---|---|---|---|
| 0~7 | 입력 신호 (PD 센서) | O | O |
| 8 | sync (위상 기준) | X (보내지 않음) | O (항상) |
입력 채널이 8개라는 점은 변전소 한 베이의 3상 + 중성점 + 차폐 등을 동시 모니터링할 수 있는 수에 맞춰진 것. sync 채널은 AC 전원의 영교차를 따와서 모든 채널의 위상 기준점을 동기화해 준다.
sync — 가장 중요한 회로
sync 가 정확해야 모든 PD 분석이 의미를 가진다. 60Hz 사이클의 0° 시점을 매번 같은 곳으로 잡아야 PRPS/PRPD가 안 흔들리니까.
sync 신호 종류
- 외부(Ext) — 별도 입력 단자. PT(전압 변성기) 또는 별도 sync 인풋에서 받아옴. 정확.
- 내부(Int) — 장비 내부 발진. 외부 sync 라인이 없을 때 폴백.
HW_SET_PACKET.sync_sel = 0(int) / 1(ext) 로 선택.
sync 주파수 (sync_freq)
- 설정 범위 20~300 Hz (PDF), 기본 60 Hz
- 실제 측정값은
SCOPE_DATA_PACKET.sync_freq와PQN_DATA_PACKET.sync_freq필드에 들어옴 - sync를 못 잡으면
sync_freq = -1(PDF 명시)
sync 주파수가 다르면 위상 카운터 max 도 달라짐
장비 내부 위상 카운터는 10 ns 틱. 60 Hz면 한 주기 = 16,666,666 ns = 1,666,666 틱. sync_freq 가 바뀌면 max 값도 바뀐다.
phase_max ≈ 1e8 / sync_freq
60 Hz → 1,666,666
120 Hz → 833,333
300 Hz → 333,333
SELF_SYNC_ENABLE — 자체 싱크 모드
외부 sync 신호가 없을 때 장비가 자체 발진으로 sync 흉내를 내는 모드.
HW_SET_PACKET.sync_freq 값으로 주파수 조절. 켜고 끄려면
MSG_SELF_SYNC_ENABLE 에 magic byte('T'-'9'-'0')와 0/1 페이로드.
증폭 (gain)
채널별 gain (HW_SET.ch_gain[8])
각 입력 채널의 PD 신호 증폭률. 1~60 (기본 27). 매뉴얼은 21/27/33/39/45/51/57/60 8단계로 표시(GAIN_LV1~LV8).
sync gain (HW_SET.sync_gain)
1~7 (기본 2). sync 입력 신호 자체의 증폭.
TRIG — SCOPE 발화 조건
SCOPE 는 매 사이클이 아니라 TRIG 조건이 만족된 순간에만 발화 → SW 로 raw 파형 전송. PD 가 의심되는 순간만 깊게 보려는 설계.
| 설정 | 의미 |
|---|---|
trig_on | 채널별 TRIG 활성화 |
trig_type | 비트 마스크: bit0=H 매칭, bit1=L 매칭, 3=양쪽 |
trig_h_lv | 입력이 이 값보다 크면 발화 (H 측) |
trig_l_lv | 입력이 이 값보다 작으면 발화 (L 측) |
trig_depth | 한 발화당 보낼 샘플 수 (기본 500) |
trig_pos | 그 깊이 안에서 TRIG 시점이 위치할 인덱스 |
trig_pos 가 250 이고 trig_depth 가 500 이면,
TRIG 직전 250샘플 + TRIG 직후 250샘플을 함께 보내는 셈.
GATING — PQN의 잡음 차단
PQN 측은 한 사이클 통째로 들여다보면서 PD 펄스를 위상 슬롯에 누적해야 하므로, 잡음을 미리 차단하는 게이팅 회로가 별도로 있다.
| 설정 | 의미 |
|---|---|
gating_on | 채널별 게이팅 활성화 |
gating_src | 다른 채널의 신호를 게이팅 트리거로 쓰기 (다른 PD 센서가 동시 발생을 보면 외란으로 판단) |
gating_thd | 게이팅 발화 threshold |
gating_prd | 게이팅 후 신호를 무효화하는 시간 (10ns 단위, 0~65535) |
pre_gating_len_sel | 게이팅 직전 신호도 무효화하는 시간 (1µs 단위, 0~10) |
논리: "이 채널의 펄스가 다른 게이팅 소스 채널에도 동시 잡혔다면 외부 잡음 → 버린다." 절연 내부 PD 는 한 채널에만 잡히는 게 정상.
FILTER — 둘 다 공통
SCOPE/PQN 둘 다 filter_on/filter_type/freq/bandwidth 4종 설정을 따로 가진다. PD 의 주된 주파수 대역(보통 수백 kHz~수 MHz)만 통과시키고 전원 60Hz 잡음과 고주파 잡음은 차단.
| filter_type | 의미 |
|---|---|
| 0 | LPF (Low-pass) |
| 1 | HPF (High-pass) |
| 2 | BPF (Band-pass) — 기본값, PD 측정에 가장 흔함 |
| 3 | BSF (Band-stop) |
num_of_cycle — 한 패킷에 몇 사이클
HW_SET_PACKET.num_of_cycle: 5 ~ 60 (기본 5).
"256개 짜리 한 주기 데이터를 몇 주기 묶어 받을지" 의 설정.
값이 클수록 PQN 도착 빈도는 낮지만 한 번에 더 많은 사이클이 들어옴.
Rev 2 이전엔 buffer_size 라는 이름이었음.
네트워크
- 장비는 LAN 의 한 IP 로 떠 있고, SW 가 클라이언트로 접속
- 장비 IP/MAC 변경:
MSG_NET_CFG_SET/ 조회:MSG_NET_CFG_INFO - IP 유효성: a/b/c/d 모두 255 불가, a와 d는 0/1 불가