노트 / 계측과 디버깅 장비
로직 분석기: 통신 내용을 그대로 본다
여러 디지털 신호를 동시에 기록하고 UART, SPI, I2C를 해석해 바이트로 보여 줍니다. 통신 디버깅의 첫 도구.
오실로스코프가 전압 모양을 본다면, 로직 분석기는 0과 1의 흐름을 길게 기록합니다. 8~16채널을 동시에 수 초~수 분 동안 잡을 수 있어서 통신 전체를 봅니다.
프로토콜 디코딩
채널을 SCL, SDA에 연결하고 I2C 디코더를 켜면 "주소 0x68 쓰기 ACK, 0x3B, 재시작, 읽기 6바이트"처럼 해석됩니다. 문제가 보드 쪽인지 코드 쪽인지 바로 갈립니다.
설정
| 항목 | 기준 |
|---|---|
| 샘플링 속도 | 신호의 가장 빠른 주파수의 4배 이상 (가능하면 10배) |
| 논리 문턱 | 3.3V 회로면 약 1.5V |
| 트리거 | CS가 LOW로 떨어질 때 등 |
활용 팁
- 펌웨어에서 디버그용 GPIO를 토글해 함께 기록하면, 인터럽트 진입 시점과 통신 시점의 관계를 시간축에서 볼 수 있습니다. 제어 루프 실행 시간 측정에도 좋습니다.
- 저가 USB 분석기(Saleae 호환)와 오픈소스 PulseView/sigrok 조합으로도 대부분의 디버깅이 됩니다.
- 신호가 애매한 레벨이나 링잉 때문에 깨질 때는 로직 분석기로 안 보입니다. 그때는 오실로스코프로 아날로그 모양을 봅니다.