아마추어 무선 분야의 카운터 용도로는 PIC 시리즈(Microchips 사의 MCU)를 많이 사용한다.
근래에 취미 목적의 MCU 사용은 대부분 아두이노 기반의 Atmega 시리즈를 사용한다.
내부 플래시 크기나 개발 편의성 등 거의 대부분 측면에서 동급의 PIC 시리즈 보다 우월한 점이 있지만 딱 한가지, 카운터 성능에 있어서는 PIC 를 따라오지 못한다.
이것은 아두이노 내부 카운터 작동방식이 원인인데 프로세서의 클럭(일반적으로 16MHz 가 장착되나 20MHz 까지 올라갈 수 있음)의 약 절반 이하(정확히는 나누기 2.5)가 측정 한계이다. 일반적으로 16MHz / 2.5 = 6.4MHz
PIC 는 초기 시절부터 내부 카운터가 50MHz 를 넘는 속도까지 작동했는데 덕분에 저렴하고 유용한 아마추어 무선 영역 응용 회로들이 많이 만들어졌다. 당시는 프로그래밍 메모리가 매우 제한된 MCU(1~8K) 가 대부분이었으며 따라서 작은 사이즈로 만들기 위해 어셈블리 언어로 작성해야 했고, 이런 상황에서 RISC 방식으로 명령 타이밍을 계산하기 쉬운 PIC 는 이점으로 작용했다.
글쓴이가 기억하고 있는 가장 널리 알려진 PIC 기반 카운터는 OM3CPH 가 1998 년 만든 "Simple low-cost 7-digit counter using a PIC16F84" 이다. 7자리 FND 또는 LCD 디스플레이를 지원하고 50MHz 이상(만드는 사람의 운에 따라 60MHz 가까이도 올라간다.) 카운트가 가능하다. 이 소스는 현재도 OM3CPH 사이트에서 다운로드 가능하다.
OM3CPH 는 1996 년 MadLab 에서 만든 "Simple low-cost digital frequency meter using a PIC 16C54" 에서 아이디어를 얻었다고 써넣었다.
https://www.qsl.net/om3cph/counter/counter.html
2000년대 들어서 OM3CPH 의 카운터는 국내의 몇몇 오엠들도 만들었고, 나 역시도 당시 따라서 만들어봤다.
(나중에 VFO 주파수 등에서 수신주파수를 시프트 계산하는 기능 등을 추가한 몇몇 변형도 등장했다.)
이 카운터는 게이트 타임이 고정되어 있고 7 개 FND 를 순차 구동시키므로 밝기에 다소 제약이 있다.(LCD 버전은 그런 현상이 없음)
근래에 발견한 또 다른 유용한 PIC 카운터는 비교적 최신 칩(16F628)을 사용하는 4자리(5자리 옵션)를 지원하는 DL4YHF 의 PIC 카운터이다. 직접 제작하여 테스트 해본 바 매우 유용하다고 판단 되었으므로 소개해본다.
이 카운터는 현재 주파수에 따라 1초, 1/2초, 1/4 초의 자동 게이트 타임을 지원하므로 높은 주파수에서 빠른 측정의 장점을 최대한 발휘한다(비록 약간의 자릿수를 희생하더라도). 또한 QRP 목적으로 사용 시 배터리 절약을 위해 신호가 없을 경우 디스플레이를 끄는 기능도 있다. 단점으로는 세그먼트에서 약간의 불규칙한 밝기 변화(FND 순차구동에서 타이밍 불일치로 추정되는) 가 보이는데 원래 그런건지 나만의 문제인지는 알 수 없다. 사용상에 문제는 되지 않는다.
https://www.qsl.net/dl4yhf/freq_counter/freq_counter.html
원한다면 작은 사이즈로 만들 수도 있으므로 QRP 리그 등에 내장시킬 수도 있다.
DL4YHF 는 자신이 사용하는 QRP 장비에 자신이 만든 주파수 카운터를 내장시켰다.
https://www.qsl.net/dl4yhf/qrp/index.html#miss_mosquita
5 자리로 구동시키면 9.9999 MHz 까지는 100Hz 단위까지 볼 수 있으므로 일반적인 VFO 를 탑재한 QRP 장비에는 충분할 것으로 보인다. (10MHz 로 올라서면 아래가 잘리고 1KHz 단위가 된다.)
만약 HF 대역을 커버하는 50MHz 가 부족하다면 별도로 카운터 입력단에 프리스케일러(분주기)를 장착하면 측정 범위를 VHF 이상으로 넓힐 수 있다. (단 수정된 펌웨어 버전을 사용해야 한다. 아래서 설명) 예컨대 Dual FF(플립플롭)로 만든 분주기를 사용할 경우 4로 나눠지게 된다. 74AC74 를 사용할 경우 200MHz 이상 카운트가 된다.(PIC 자체가 50MHz 까지는 무난하고 운이 좋으면 60MHz 부근까지 올라가므로 최대 240MHz 가까이 도달한다. 74AC74 자체 한계는 약 300MHz 이다.)
소스를 수정하면 구형 16F84 에서도 작동하지만 어셈블리 소스이고 IDE 에서 재컴파일이 필요하기 때문에 PIC 어셈블리에 대한 개발 경험이 없으면 어려운 작업일 것이다. 따라서 원저자의 안내대로 16F628 로 만드는 게 속편하다. (내 경우는 순전히 개인적인 이유로 40 PIN 16F87X 계열에 올려서 사용한다.)
DL4YHF 오엠이 밝히고 있는 바, 중국을 비롯한 각종 국가에서 원저자를 명시하지 않는 복제품이 만들어져 팔리고 있는 모양이다. 아래는 Aliexpress 에서 DL4YHF 의 카운터로 추정되는 키트의 예.(16F628, 20MHz 클록 사용)
참고로 이 키트의 프리앰프의 존재 여부는 확인되지 않으며, 프리앰프가 없을 경우 기대되는 작동을 하지 않거나 고장이 쉽게 발생할 수 있다. 제공하는 기능은 DL4YHF 의 펌웨어와 완전히 동일한 것으로 보인다.
개별 부품으로 제작할 사람이라면 아래부터는 몇 가지 참고할 사항이다.
1. 프리앰프
BJT 는 가급적 차단 주파수가 높은 것을 쓴다. (Ft 1GHz 이상. S9018 및 동등품 및 그 이상)
DL4YHF 의 설명을 보면 알겠지만 프리앰프에서 PIC 로 들어가는 신호가 전원전압의 1/2 로 되도록 R2 바이어스 저항을 변경하도록 되어 있다. (즉 5V 면 2.5V, 3V 면 1.5V)
이것은 통상적인 CMOS IC 의 중간전압에 해당하는 것으로 무신호시 전압레벨을 Low 와 High 의 중간으로 설정하여 프리앰프의 감도를 극대화 시킴과 동시에 올바른 구형파를 얻기 위한 값이다. 만약 전단에 프리스케일러(분주기)를 사용한다면 프리앰프를 분주기 앞으로 당겨야 하고 분주기의 종류에 맞도록 이 전압을 맞춰야 한다.
아래 차트를 참고한다.
http://www.interfacebus.com/voltage_LV_threshold.html
2. 프리스케일러(분주기)
프리스케일러를 사용할 경우 Krzysztof(SQ3NQJ) 가 변경한 소스를 사용한다. (다른 소스는 이상한 결과를 낸다. 이유는 알 수 없다.)
PIC 가 50MHz 까지는 보장하므로 4 분주만 되어도 200MHz 까지(경우에 따라 좀 더 위로도 가능) 측정 할 수 있다.
저렴한 Dual FF 를 이용한 4 분주 회로는 아래를 참고하고, 배선 길이는 최단으로 해야 한다. (IC 위나 아래로 점프선을 사용하는 게 제일 낫다) 74HC74 는 최대 주파수가 이미 PIC 의 측정 한계와 비슷하므로 74HC74 를 사용하는 것은 측정 주파수 제한을 높이지 못한다. 회로도는 예시이며 고속 CMOS 인 74AC74 사용해야 한다.
내 경우 상기 소스를 이용하고 FF 인 74F74(5.1V 에서 약 150MHz 까지) 와 74ABT74(5.1V 에서 약 230MHz 까지) 로 정상 작동을 확인했다. 74F74 나 74ABT74 의 경우 입력 레벨이 TTL 이므로 상기 차트를 참고하여 프리앰프에서 컬렉터 전압을 1.5V 부근으로 맞춰야 한다. (PIC 입력으로 연결되는 출력측은 레벨이 TTL 이라도 큰 문제는 없어 보인다.)
https://forums.parallax.com/discussion/117567/how-to-divide-a-clock-signal
100MHz 이상 올라가면 브레드보드 상에서는 안정적인 작동을 보장하기 어려우므로 주파수의 최대 한계는 만드는 사람의 제작 수준에 의해 제약된다.
3. PIC 프로그래밍을 배워볼 생각이라면 PICkit3 구매를 고려해본다.
MCU 를 구입하면 당연히 비어 있으므로 사용할 프로그램 써 넣어야 한다.(펌웨어 업로드)
시중에는 여러종류의 MCU 를 지원하는 "Programmer" 를 판다. 대부분 "ROM Writer" 기능도 지원한다.
다양한 종류의 MCU 를 지원하므로 다용도로 쓰기에는 프로그래머가 유용하다.
PICkit3 는 PIC 전용이다. IDE(개발툴)와 연동되어 ICSP(인서킷프로그래밍) 및 디버깅이 가능하다는 장점이 있다. 쉽게 말해 칩을 프로그래밍 할 수 있고 디버깅도 된다. 아래처럼 클론(복제) 제품이 팔리고 있는 것으로 보이며 작동하는데 큰 문제는 없다. 구형이므로 최신 칩은 어렵겠지만 일반적으로 구매 가능한 대부분의 PIC 가 작동할 것이다.
참고로 PIC 개발 툴은 아두이노 IDE 처럼 취미 수준에서 쉽게 사용하도록 배려되지 않았고 개발사에서 배포하는 것 외에 예제 소스도 구하기 쉽지 않으므로 긴 학습시간이 필요하다. (불가능하지는 않지만 결코 쉽다고 말할 수 없다)
아두이노보다 비용 대비 이득(아마도 동급 스펙의 MCU 에서 회로 구성에 들어가는 전체 비용이 더 높을 것이다) 또한 없을 것이므로 연구나 테스트 목적이 아니라면 신중하게 고려한다.