마하전자기술연구소 LOGO

제품검색 고객센터053-604-2355
기술자료실

Home > 기술자료실 기술자료실

제 목 31. CPLD와 PIC를 사용한 8자리수 주파수 카운터
첨부파일

 

                  주파수 카운터부에 Xilinx사의 CPLD를 사용한 8자리수의 고성능
                  주파수 카운터입니다. 설계상은 85 MHz까지 동작 가능합니다.

 


고성능 8자리수 주파수 카운터

고속 동작의 CPLD를 카운터부에 사용해, 표시부를 PIC로
분담한 고성능 8자리수 주파수 카운터입니다.




【개요】

 이 주파수 카운터를 만들면(자) 최대 50 MHz 이상의 주파수 카운터가 단체로 가능
됩니다. 전항의 PIC2개에 의한 8자리수 주파수 카운터도 편리합니다만, 단체에서는
20 MHz 정도의 주파수 범위에 제한되므로, 조금 어딘지 부족한 범위였습니다.
거기서 좀 더 고속 동작의 가능한CPLD(Complex Programmable Logic Device)
(을)를 사용해, VHDL로 카운터 회로를 구성했습니다. 이것으로 설계상은, 85 MHz까지는
카운트 가능합니다.
 표시부분에는 세그먼트(segment) 발광 다이오드를 사용했습니다만, 이 제어에는 PIC16F873
(을)를 사용했습니다. CPLD가 BCD로 직접 카운트 해 주므로 PIC측은, 세그먼트(segment) 데이터
(으)로 변환할 뿐(만큼)이라고 하는 도달해 간단한 프로그램 구성이 되고 있습니다.

CPLD의 개발은 VHDL를 사용해, WebPACK ISE로 개발했습니다.
이 자세한 것은 VHDL의 아래와 같이 페이지를 참조해 주세요.

  ★ VHDL에 의한 카운터 블록의 제작


【전체의 구성】

 전체의 구성은 밑그림과 같이, 크게 제어 기판과 표시 기판의 2개로 구성해,
제어 기판내는, 입력 앰프, 카운터부, 표시 제어부의 3개의 부분으로부터 구성합니다.
 제어 기판내의 카운터부는, CPLD로 구성해, 입력 앰프로 증폭되고 정형되었다
신호를 CPLD에 직접 입력해 8자리수의 BCD로 카운트 합니다.
 그리고 매회 카운트 결과의 8자리수의 BCD 데이터를 표시 제어부의 PIC의 포토에 출력
합니다.

 표시 제어부는 PIC16F873로 구성해, 카운트부에 카운트 개시 지령 신호를 출력하면(자)
busy 신호가 off가 되는 것을 체크합니다. 그리고 busy가 해제되면(자) 8자리수의 것의 BCD
데이터를 1자리수씩 직접 입력해, 그것을 세그먼트(segment) 데이터로 변환해 표시부에 출력합니다.
 이 카운트 종료를 기다리고 있는 동안에는, 세그먼트(segment) 발광 다이오드의 다이나믹점등
제어를 실행합니다.
약 2 msec 마다 1자리수씩 점등 신호를 출력하면서 8자리수를 빙빙 반복해 표시합니다.


【전체 회로 구성】

클락에는 12. 8 MHz의 고정밀도 수정 발신기를 사용해 1 ppm라고 하는 고정밀도를 확보
합니다. 그리고 그 출력을 직접 CPLD에 입력하면(자) 약간 불안정하게 되므로, 일단 74AC
14로 버퍼 하고 나서 더합니다. PIC에도 같은 클락을 사용하고 있습니다.
입력 앰프는 상투적인 패턴의 회로입니다만, 트랜지스터에는 fT가 1 GHz 이상의
주파수 특성이 좋은 것을 사용합니다. 한층 더 출력에 74 AC14의 슈미트 버퍼를 삽입해,
파형이 무너진 펄스에서도 오카운트 하지 않게 합니다.
CPLD의 핀 배치는 자유롭게 결정할 수 있기 때문에, PIC와의 배치로 배선하기 쉬운 내는 방법과
할 수가 있습니다. 단, XC9572의 내장 매크로 모듈을 98%정도 사용해 버려
있기 때문에 다 들어가도록(듯이) 배치를 설정할 필요가 있습니다.
PIC는, 포토 A를 모두 입력, 포토 B와 C는 모두 출력으로서 단순하게 디지탈 입출력만으로
사용하고 있습니다. 포토 C의 하위는, 발광 다이오드의 자리수 드라이브와 CPLD로부터 데이터 입력을
할 때의 자리수 선택 지정과 공용하고 있기 때문에, CPLD와 데이터를 교환하는 동안은, 세그먼트(segment)
(을)를 모두 OFF로서 표시가 흐트러지지 않게 할 필요가 있습니다.
포토 B는 7 세그먼트(segment)를 직접 드라이브 하기 때문에, High로 전류 공급해 점등 하게 되어
. 따라서 전류 제한용의 저항을 220Ω으로서 세그먼트(segment) 당 15 mA정도로 하고 있습니다.
자리수 드라이브는 세그먼트(segment)의 합계로 최대 100 mA정도가 흐르기 때문에, 트랜지스터로 드라이브
합니다. 간단하게 하기 위한(해), 4개의 MOS FET를 내장한 IC를 2개 사용하고 있습니다.

CPLD를 실장한 채로 프로그래밍이 생기도록(듯이), JTAG의 단자를 준비해 있습니다.
여기에 Xilinx의 프로그래머의 JTAG 신호를 접속하면, 전원을 넣은 채로 기능을 써 환
네라고 즉동작시켜 확인하는 것이 가능해집니다.

(아래와 같은 회로도는 확대 표시를 할 수 있습니다)




【표시부의 프로그램】

표시 제어에는 PIC16F873를 사용했습니다. 이 안의 프로그램은 CPLD가 기본적인 기능을
전부 대신에 해 주므로, 도달해 간단한 구성으로 끝납니다.
전체의 흐름은 밑그림의 플로차트(flow chart)와 같이 되어 있어, 우선 포토의 초기화를 실행합니다.
이 안에서는, PIC16F87x 시리즈의 특징인, 디폴트로 IO포토가 아날로그 입력에
되어 있기 때문에, 전부 디지탈 모드로 사용하도록(듯이) 설정해 둡니다.
그리고 최초로 CPLD에 대해서 카운트 개시 지령(trigger)을 순간 펄스로 출력하고 나서,
그리고는, 다이나믹점등 제어의 루프의 반복만으로, 8자리수의 표시 데이터를 BCD 데이터
(으)로부터 세그먼트(segment) 데이터로 변환해 포토 B에 출력합니다.
전형의 표시가 완료한 시점에서, CPLD의 카운트가 종료했는지를 busy 신호를 체크한다
일로 실시합니다. 아직 카운트중이라면 표시 제어를 반복합니다.
카운트 종료를 판정할 수 있으면(자), CPLD로부터 카운트 결과의 BCD 데이터를 차례차례 8자리수분독포함
변수 데이터에 격납합니다. 이것을 격납하면 자동적으로 표시 데이터로서 다음의 표시 사이클로
사용되기 때문에 표시 내용이 갱신되게 됩니다.


             

이 PIC의 프로그램 소스는 쓰기가 되고 있습니다. 클릭하면 그대로 볼 수 있습니다.

  
★ 고정밀도 8자리수 주파수 카운터 어셈블러 원시 파일


【표시 기판】

 세그먼트(segment) 발광 다이오드를 사용한 표시 기판을 조립합니다.
이번 사용하는 세그먼트(segment) 발광 다이오드는 음극 코먼 타입입니다.
표시부 분의 회로도는 밑그림과 같이 됩니다. 간단한 회로이므로 문제는 없을 것입니다.
소수점도 표시할 수 있도록(듯이) 점퍼로 접속할 수 있도록(듯이) 연결기에 단자를 내 둡니다.
 (밑그림은 확대할 수 있습니다. )





【제작】

케이스에는 타카치의 외관이 계측기 타입의 플라스틱 케이스를 사용했습니다.
이 케이스는 전면, 배면 패널만이 알루미늄판이 되고 있으므로, 공작이 비교적
편합니다.
구멍내기는, 발광 다이오드가 직사각형의 큰 구멍이 되므로, 약간 귀찮습니다만,
그리고는 환혈만으로이므로 편하게 조립을 할 수 있습니다.
각 기판의 회로도와 패턴도는, WinDraft와 WinBoard로 작성했습니다만, 그 파일을
아래와 같이로부터 다운로드 할 수 있습니다.

   ★ 제어 기판 회로도
   ★ 제어 기판 패턴도

   ★ 표시 기판 회로도
   ★ 제어 기판 패턴도




전체 외관
타카치의 케이스를 사용



한가운데 아래 쪽의 네모진 IC소켓의 IC가
Xilinx사의 CPLD XC9572이다.



케이스 내막장도 전항의 카운터를
그대로 이용했다.



세그먼트(segment) 발광 다이오드의 패널 부분은
L쇠장식으로 고정해, 전면 패널에는 아크릴판을
양면 접착 테이프로 고정하고 있습니다.
발광 다이오드의 표시면은 아크릴판에
딱 맞도록(듯이) 고정합니다.




전원은 트랜스와 브릿지 다이오드, 전해 콘덴서
그리고 구성해 있습니다.
전해 콘덴서를 양면 접착 테이프로 고정해 트랜스
(와)과의 사이에 다이오드 브릿지를 공중 배선으로 고정해
있습니다.



실장한 채로 CPLD의 프로그래밍이 성과
즉그대로 동작시킬 수가 있으므로
매우 편리하다.




목록보기

www.1chip.com, www.1chip.co.kr
www.micom114.com
자료실바로가기

대구광역시 북구 산격2동 1629 산업용재관 10동 13호 (2층) / Tel. 053-604-2355 / Fax. 053-383-2354 / E-mail. maha@paran.com