AVR 6디지트 50MHz 주파수 카운터

AVR Project 조회 수 17992 추천 수 108 2003.11.29 12:46:28


http://www.myplace.nu/avr/countermeasures/index.htm
AVR 6디지트 50MHz 주파수 카운터

■ 개요
이것은 필요에 충족하는 또 다른 프로젝트이다.
나는 TTL 칩들을 이용해 간단히 주파수 카운터를 조립한적이 있다.
그것은 CMOS HC 버전보다, 심지어 LS가 있던 훨신 이전의 일이다.
그건 50MHz 까지이고 끝내주게 작동했다, 그러나 TTL 칩의 전원이 매우 부족했다.
내 생각에 그 괴물에는 대략 20-25 TTL 칩이 있었다.
그러나 오래된 카운터는 현재 창고의 어딘가에 들어있을 것인데,
현재 나는 카운터가 다시 필요했으므로, 나느 좀더 최신의 설계를 했다.

설계는 4개의 칩과 3 HC TTL들 그리고 Atmel사의 At90S2313 마이크로 컨트롤러를 사용했다.
그것은 5 디지트 LED 표시기와 밴드 표시기를 사용했다.
더욱이 LED 표시기 이지만 , 전류소모는 50mA 이하이며 최소 52MHz까지 가운트했다.
나는 실험실에서 52MHz 이상의 어떤 신호소스도 찾을 수 없었다,
조금더 높게 하려면, 당신은 진짜로 좀 더 카운트 할수 없을 것이다.
HC590을 위한 클럭 주파수는 약 35-40MHz 까지이다.

나는 넷트웍에서 기고했던 글의 아이디어를 가지고 있었다.
내 생각은 그것은 서킷셀라(미국의 전자회로설계 월간지)에 기고된 글이었다.
나는 코드를 들여다 보았다. 그것은 빠르고 간단한 카운터 해결방법 같다고 느꼈다.
나는 칩이 어떻게 쓰이는지는 모르며, 설계도도 결코 볼수 없었지만,
그러나 여기에서 실행했다.

■ 설명
첨단기술의 주파수 카운터 보드의 내부를 들여다 보면, 설계도는 매우 간단하다.
주요한 두 부분은, 멀티플렉싱 표시기와 카운터 부분(stage)으로 되어있다.
8-비트 데이터 버스는 2313의 PORTD의 하위 4비트와 PORTB의 상위4비트로 구성되어 있다.
이 특이한 배열은 게이팅 가운터 스테이지를 위해 PB3의 OCI 출력이 필요하기 때문이다.

표시기는 공통(common)캐소드 3디지트 7세그먼트를 표시한다.
그것의 멀티플렉서는 데이터 버스로부터 세그먼트 데이터를 공급받으며,
HC138 데이터 셀렉터에서 현재의 디지트가 선택된다.
그리고 그것은 2313의 3개의 I/O 라인으로부터 컨트롤된다.

두 개의 HC590 카운터는 입력펄스와 2313 데이터 버스까지 공급되어 카운팅된다.
각각의 카운터는 OE_L과 OE_H 라인을 써서 개별적으로 읽을수 있고.
카운터는 CLR 신호를 사용하여 지워진다.
카운터는 2313의 OC1 (Output Compare 1) 신호를 사용하여 게이트된다.
게이트 시간의 지속적인 변화는, 자동 범위설정을 할 수 있으며, 큰 주파수 범위를 잡는다.


이미지를 누르면 커진 회로도가 보인다.

카운터용 소프트웨어는 C-코드로 쓰여졌으며, 속도로서 문제되지 않는다.
모든 하이-스피드 핸들링은 외부카운터와 2313의 Timer1에 의해 마무리된다.
주파수의 측정 방법은 간단하다. 먼저, 카운터에 1mS를 허가한다.
만약 카운터가 4096 (4.096 MHz)보다 커지면, 카운터는 표시기에 보이며,
새로운 카운터가 만들어진다. 만약 4096보다 적으면,
더 커진 게이트 시간과 나아진 분해능을 얻을수 있으며, 그래서 10mS를 시도할수 있다.
또한번, 만약 카운터가 4096 (4.096 MHz)보다 커지면, 카운터는 보여주며,
반면에 우리는100mS를 시도할수 있고, 1S로 내릴수 있다.                                

■ 게이트 시간의 범위:
게이트 시간 / 주파수범위
1 mS      / 4.096 MHz - 40+ MHz
10 mS     / 409.6 kHz - 4.096 MHz
100 mS   / 40.96 kHz - 409.6 kHz
1 S        / 0 - 40.96 kHz

멀티 플렉싱 표시기는 Timer0에서 2mS마다 실행되는 인터럽트 루틴에서 처리된다.
세개의 광역 변수들은 표시값을 조정하는데 사용되고. 소수점과 범위 표시기로 사용된다.
범위표시는 마지막 표시기의 세그먼트A, G와 D (상단, 중앙과 하단)를 써서
Hz, kHz 와 MHz를 표시하는데 사용한다.

■ 회로도
http://www.myplace.nu/avr/countermeasures/cm_sch.gif
■ C 소스
http://www.myplace.nu/avr/countermeasures/counter.c
■ 코멘트는 jesperh@telia.com 에서 항상 환영한다   

■ 이글은 ipstack@ipstack.co.kr에 의해서 번역되었습니다.
무단복제 및 게시를 금합니다, 단 원저자와 번역자를 아래와 같이 게시하면 가능합니다.
원저자 http://www.myplace.nu/
번역자 http://www.ipstack.co.kr/

List of Articles
번호 제목 글쓴이 날짜 조회 수sort

AVR Project Stepper Motor Controller file

http://www.doc.ic.ac.uk/~ih/doc/stepper/control2/connect.html 새 페이지 2   Stepper Motor Controller Connection Diagrams The wires from the Logic PCB connector to the stepper motor in a TM100 Di...

AVR Project AVR Mega8을 사용한 PID제어 소스 file

http://www.circuitcellar.com/library/print/1002/eady147/index.htm LCD에 보이는 것은 실제 조리기의 온도와 음식3개의 온도이다. 압전 경보기가 꺼져 있으면, 조리기의 온도는 5° 간격으로 180° 에서 400°F이다. 음...

AVR Project PIC Based Serial Port Servo Controller file

http://www.digitalnemesis.com/ash/projects/picservo/ ◆ PIC Based Serial Port Servo Controller By Ashley Roll Ever wanted to use Servos in a robotics project? This project uses a PIC microcontroller and...

AVR Project 12C508 IR Proximity Detector file

http://users.frii.com/dlc/robotics/projects/botproj.htm 적외선 LED와 적외선 리모콘용 수신센서를 이용한 근접센서 프로젝트입니다. 포토센서를 사용하는 방법보다 비교적 먼거리의 물체를 한개의 IR수신 IC로 감지합니다. 첨부된 ...

AVR Project AVR 5x7 Dotmatrix LED Display file

http://www.blitzlogic.com/AVR 5x7 Dotmatrix LED Display Since we can source a maximum of 10mA per pin for PORT B and total maximum current from PORT B is 80mA, hence PORT B is just sufficient ...

AVR Project AT90S2313 디지털 용량계 file

http://elm-chan.org/works/cmc/report.htmlipstackAT90S2313 디지털 용량계 이것은 용량을 빨리 측정하는 간단한 용량계이다. 용량의 측정 원리는 임피던스 브릿지나 딥메터처럼 용량을 한번에 측정한다. 요즈음의 표준 용량계는 Cx에...

AVR Project UHF FSK PLL RF Module (NR-FPCX) file

  • eastsky
  • 2010-10-20
  • 조회 수 41363

UHF FSK PLL방식 무선 데이터 송/수신 모듈을 이용한 AVR 회로도 및 HEX 파일입니다. 기본적으로 CodeVision 에서 컴파일 한 HEX 이며, 2세트간에 10~20 Byte 이내에 데이터 송수신을 위한 회로 입니다. RF-Module ...

AVR Project Nokia LCD를 이용한 디지털시계 소스 file

함동호디스플레이는 Nokia LCD를 사용하였고 MPU는 Mega8을 이용하여 만든 디지털 시계입니다. 일단 간단하게 기본 그림과 가운데 시간:분:초 와 같은 형태로 24시간을 디스플레이 하도록 만든 소스 입니다.. 그리고 시간 설정...

AVR Project LED 전광판 file

http://home.wanadoo.nl/electro1/avr/dotmatrix.htm 개발자 사이트 : http://home.wanadoo.nl/electro1/avr/dotmatrix.htm 관련 사이트 : http://www.edaboard.com/ftopic58756-30.html 74H595 Shift Register App : http://www.kronosr...

AVR 강좌 Codevision C언어 Manual file

코드비젼 c언어 메뉴얼입니다

AVR Project AT90S2313을 사용한 IR to USB 모듈 file

http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB (AVR)_eng.htm Universal USB interface & USB Infrared Interface with microprocessor AT90S2313-10 : 마이크로 콘트롤러로 USB를 완성 : IgorPlug-USB (AVR) 이기사의 ...

AVR Project ATmega8 - 회로도 file

간단한 회로도 입니다.

H/W 스텝모터회로 - 테스트용 file

전에 스텝모터 테스트용으로 만든 회로 입니다.. 실제로 테스트 해보니 잘 돌기는 하는데... 좀 그러네요 ^^; 학교에서 테스트용으로 사용하면 좋을 듯 합니다.. 덤으로 196 모터 회로... 추가

AVR Project Keypad & Encoder file

  • eastsky
  • 2010-10-15
  • 조회 수 32624

74HC138 을 이용한 10 * 8 Keypad 회로 입니다.. Encoder 을 사용할 때 시계방향과 반시계방향을 체크하는 방법입니다.. 여러가지가 있겠지만, 일정 시간 샘플링을 통한 방법이 가장 쉬우면서도 유효하다고 봅니다.

AVR Project Atmega16을 이용 74HC595 사용 file

http://scipia.co.kr/index.php?i_div=Its_tech_note&i_no=9이츠임베디드Atmega16을 이용 74HC595(8bit serial-in, serial or parallel-out shift register with output latches; 3-state) 사용기 입니다.. 이 자료는 이츠임베디드에...

AVR Project ATtiny26L의 AD 변환과 PWM 출력제어 file

http://www.geocities.jp/kuman2600/k2adc.html출처 : www.ipstack.co.kr 손잡이를 돌리면 모타의 회전이 바뀐다. 커다란 가변권선 저항을 직렬로 넣어 콘트롤하는 일이 있습니다. Tiny26L은 AD변환과 PWM기능이 있으므로, 가변저항으로...

AVR Project ATmega163 EDTP LittleDevice file

http://216.53.172.209/ ATmega163 EDTP LittleDevice For those of you that have twiddled the LED on the PICDEM.net board, this is a new twist. An EDTP Packet Whacker is still running the Etherne...

H/W 아이폰 충전 회로 file

  • eastsky
  • 2010-10-29
  • 조회 수 28330

iPhone Connector Info (Pin 27) USB Data (+) Pins 25 and 27 may be used in different manner. To force the iPod 5G to charge in any case, when USB Power 5 VDC (pin 23) is fed, 25 must ...

AVR Project JTAGICE mkII 상세 설명서 file [3]

안녕하세요 ⚑ 제가 JTAGICE mkII 상세 설명서를 얻었는데요 이 자료를 함동호님과 회원님들에게 드리려고해요. ★ 앞으로 많은 협조를 ★

AVR 강좌 [MEGA8] 타이머1비교인터럽트를 사용해서 주파수출력을 내는 방법 file

avrmall우선 타이머0로 주파수 입력을 받습니다. 1초동안이면 1초동안에 입력된 펄스개수를 계수하면 입력 주파수가 됩니다. 입력주파수를 다시 타이머1비교인터럽트를 사용해서 출력을 내려면 아래와 같은 방식으로 하시면 됩니다. ...