카메라 외부 동기 입력 (fsync)
avs300은 카메라 프레임 동기(fsync) 신호의 원천을 두 가지 중에서 고를 수 있습니다.
| 원천 | 신호 | 선택 조건 |
|---|---|---|
| 내부 PWM (기본) | Thor PWM5 (pwmchip2, 810c600000.pwm) | CAM_FSYNC_SEL = LOW |
| 외부 입력 | 외부 커넥터 FSYNC_IN_CON | CAM_FSYNC_SEL = HIGH |
CAM_FSYNC_SEL은 Thor의 GPIO PV.03 이며, 보드 초기값(부트로더 BCT)이 LOW라 부팅할 때마다 내부 PWM으로 돌아갑니다. 외부 입력을 계속 쓰려면 아래의 부팅 유닛을 등록하십시오.
커넥터와 전기 사양
- 커넥터: 장비 후면 IN/OUT 단자대의
FSIN단자입니다(회로도 명칭FSYNC_IN_CON). GND 는 같은 IN/OUT 블록의GND단자를 사용하십시오.

두 가닥을 모두 연결하십시오 — FSIN(신호) + GND. 신호선만 연결하면 외부 장비와 AVS300 의 접지 전위가 서로 달라(상용전원 60Hz) 카메라가 엉뚱한 주기로 촬영됩니다. 실측에서는 GND 없이 신호선만 연결했을 때 60Hz·HIGH 80% 가 입력으로 들어왔고, 외부 장비를 어떻게 바꿔도 변하지 않았습니다.
- 입력 로직 레벨: 5V 로직 권장. 3.3V 로직은 입력 문턱 마진이 부족하므로 권장하지 않습니다.
- 입력은 직렬 다이오드와 클램프로 보호되어 있어 역극성·과전압에 견디지만, 정격은 5V TTL 기준입니다.
- GND 를 반드시 함께 연결하십시오. 신호선만 연결하면 외부 장비와의 접지 전위차(상용전원 60Hz)가 입력으로 들어가 카메라가 엉뚱한 주기로 촬영됩니다(실측: 60Hz, HIGH 80%).
- 펄스 폭: 입력 필터 때문에 약 0.5ms보다 좁은 펄스는 인식되지 않습니다.
외부 입력으로 전환
Thor(JetPack 7)에서는 libgpiod 도구를 사용합니다. CAM_FSYNC_SEL(PV.03)은 gpiochip2 line 18 입니다(sudo gpiofind PV.03 으로 확인할 수 있습니다).
# 외부 입력 선택
sudo gpioset -m exit gpiochip2 18=1
# 내부 PWM으로 복귀
sudo gpioset -m exit gpiochip2 18=0
gpioset 명령이 끝나도 핀 값은 그대로 유지됩니다(재부팅 전까지). 따라서 내부 PWM으로 돌아가려면 반드시 =0 을 다시 써야 합니다. 외부 입력을 선택한 상태에서 신호가 연결되어 있지 않으면 카메라는 약 30fps로 계속 촬영되므로, 겉보기에는 정상처럼 보입니다.
부팅 시 자동으로 외부 입력 선택
/etc/systemd/system/fsync-ext.service 를 만들고 활성화합니다.
[Unit]
Description=Select external camera fsync input (CAM_FSYNC_SEL=1)
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/usr/bin/gpioset -m exit gpiochip2 18=1
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now fsync-ext
외부 입력이 선택되어 있으면 내부 PWM(pwm_autorun)은 켜져 있어도 카메라에 영향을 주지 않습니다. 끌 필요는 없습니다.
외부 신호 요구사항 (ISX031 기준)
ISX031 카메라는 트리거 신호가 HIGH인 동안 33.3ms마다 캡처합니다(레벨 방식). 따라서
- 주기당 프레임 수 = ⌈카메라 측 HIGH 폭 ÷ 33.3ms⌉
- 주기당 1장을 얻으려면 카메라 측 HIGH 폭이 1 ~ 25ms 이어야 합니다. 33.3ms를 넘으면 주기당 2장(예: 20Hz 트리거에 약 40fps)이 됩니다.
- 트리거 주파수 범위: 10 ~ 30Hz 에서 검증되었습니다.
외부 입력단은 반전입니다(실보드 측정 확정). 즉 외부 신호의 LOW 구간이 카메라 측 HIGH가 됩니다. 따라서 외부 장비의 펄스는 "HIGH가 대부분, LOW가 1~25ms"가 되어야 주기당 1장이 됩니다. 짧은 양(+)펄스(예: 1ms HIGH)를 20Hz로 넣으면 카메라 측 HIGH가 49ms가 되어 약 40fps가 나옵니다.
외부 장비의 펄스 폭이나 극성을 바꿀 수 없는 경우에는 텔레리안으로 문의해 주십시오(외부 인버터 또는 센서 프레임 시간 조정으로 대응합니다).
동기 확인
주파수를 바꿔 가며 fps가 따라오는지로 판정합니다. frame sync pwm 설정 › 동기 동작 확인 방법 의 명령을 그대로 사용하십시오.
외부 입력을 선택한 상태에서 케이블이 빠져 있으면 입력이 HIGH로 고정되어 카메라가 약 30fps로 계속 찍힙니다. 동기가 걸린 것처럼 보이지만 아닙니다. 반드시 외부 장비의 주파수를 바꿔 fps가 따라오는지 확인하십시오. 반대로 외부 신호가 HIGH로 고정되면 프레임이 0장이 됩니다.