이번에 테스트한 보드는 주파수 카운터이다.
명칭은 클럭(CLK)카운터이기도 하고, 주파수 카운터 둘다 된다.
최근에 주파수의 변화를 감지하여 이벤트를 발생시키는 테스트를 해야 할 일이 있어서 한번 만들어보았다.
보드는 기존에 제작된 CVBS,SDI 계측기 보드를 가지고 구현을 해보았고, 이 보드에서 동작하는 몇가지 CLK을 직접 체크해보는걸로 테스트하였다.
구현 방법은 여러가지 방법이 있겠지만 여기서는 FPGA를 이용하여 보드에서 가장 빠른 148.5Mhz를 가지고 1초 주기를 만들어서 들어오는 주파수를 직접 카운터하는 방식으로 하였다.
카운터된 숫자는 PIC18F MCU로 전달되어 몇가지 계산과 변화된 주파수 양에 따라 동작을 하고, 7인치 모니터에 숫자로 보여줄수 있게끔 FPGA에 다시 전달되게끔 하였다.
샘플링 주기를 짧게 하여 카운터하는 방식도 있는데, 실제로 하고자 하는것은 1초동안 수 Hz의 작은 변화까지 체크하는게 중요해서 1초라는 시간을 샘플링 주기로 하였다.
보드에서는 PIC18F MCU에서 사용하는 20Mhz 크리스탈과, 27Mhz 오실레이터, FPGA에서 나오는 499.675 Khz 주파수 3개를 입력으로 넣어주면서 체크를 해보았다.
직접 보드에서 선을 납땜하여 연결해주는 방식으로 테스트 하였다.
아래 사진에서 보듯이
검은색 선 : 주파수 입력 선이다.
갈색 : 20Mhz 크리스탈 , 빨간색 : 27Mhz 오실레이터, 귤색 : 499.675Khz이다.
아래 사진을 보면 검은색과 빨간색선(27Mhz)을 연결하였을때 모니터 상에 숫자가 표시된다.
27 :: 003 : 529 라고 표시가 되는데 27.003529 Mhz 이자 1초동안 27,003,529 개의 클럭이 들어오는것을 알수 있다.
CLK이나 주파수라는것이 실제로는 미세하게 변화가 생기기도 하고, 흔들리기도 하는데 스펙을 보면 PPM이라는 값이 있다. 이 카운터를 보게 되면 내가 지금 사용하고 있는 주파수 출력 장비가 어느정도 흔들리는지 또는 어느정도 시간이 지난다음 안정화 되는지등을 체크해볼수 있다.
댓글 없음:
댓글 쓰기