수치 제어 발진기 : 아키텍처, 작동 및 응용

문제를 제거하기 위해 도구를 사용해보십시오





DSP 시스템에는 정현파 또는 기타 주기적인 파형 생성이 필요합니다. 이러한 파형을 생성하는 데 사용되는 한 가지 방법은 주로 'NCO(Numerically Controlled Oscillator)'를 포함하며 여기서 디지털 누산기는 주소를 사인 LUT(룩업 테이블)로 생성하는 데 사용됩니다. 이 시스템은 소프트웨어 및 하드웨어 모두에서 매우 일반적입니다. 따라서 출력 내에서 일정한 위상 속성을 유지하면서 생성된 파형의 순간 주파수/위상 내에서 즉각적인 변경을 허용합니다. 일단 그것이 DAC 아날로그 o/p 파형을 생성하기 위해 시스템을 DDS 또는 Direct Digital Synthesizer라고 합니다. 따라서 이 기사에서는 수치 제어 발진기 또는 NCO – 응용 프로그램 작업.


수치 제어 발진기란 무엇입니까?

수치 제어 발진기는 설계에서 신호의 주파수 또는 위상이 제어되는 일반적으로 정현파인 동기, 이산 시간 및 이산 값 파형을 생성하는 디지털 신호 발생기입니다. 이러한 오실레이터는 출력에서 ​​DAC(디지털-아날로그 변환기)와 자주 결합되어 직접 DDS 또는 디지털 합성기를 만듭니다. NCO는 정확도, 민첩성, 신뢰성 및 안정성 측면에서 다른 종류의 발진기에 비해 많은 이점을 제공합니다. 따라서 클래스 D 오디오 증폭기, 톤 제너레이터, 조명 제어, 형광등 안정기 및 라디오 튜닝 회로는 모두 NCO의 이점을 얻습니다. 수치 제어 발진기는 레이더 시스템, 디지털 PLL, 무선 시스템, 다중 레벨 PSK/드라이버와 같은 다양한 통신 시스템에 사용됩니다. FSK 변조기 또는 복조기 등.



특징

수치 제어 발진기의 특징은 다음과 같습니다.

출력 주파수



NCO에서 생성된 출력 주파수는 높으며 주로 no에 따라 달라집니다. 비트 예를 들어; 20비트 크기는 최대 32MHz를 생성하지만 16비트 크기는 500KHz만 생성할 수 있습니다.

유연한 출력

  PCBWay

NCO의 출력은 펄스-주파수 형식이 아닌 안정적인 듀티 사이클로 설정할 수 있습니다.

저전력 절전 모드에서 작동

수치 제어 발진기는 절전 모드 내에서 실행될 수 있으며 CPU와 독립적입니다.

여러 클럭 소스

수치 제어 발진기는 no를 사용할 수 있습니다. 내부 및 외부 클록 소스.

N비트 타이머/카운터 기능

수치 제어 발진기는 새로운 작업 모드 내에서 범용 20비트 타이머/카운터처럼 활용할 수도 있습니다.

NCO 발진기 아키텍처

수치 제어 발진기 아키텍처는 다음과 같습니다. 이 아키텍처에는 PA(위상 누산기)와 PAC(위상-진폭 변환기)의 두 가지 주요 부분이 포함됩니다.

  수치 제어 발진기 아키텍처
수치 제어 발진기 아키텍처

위상 누산기는 모든 CLK 샘플에서 출력으로 유지되는 값에 주파수 제어 값을 추가합니다. 위상-진폭 변환기는 신호 조회 테이블에 대한 인덱스와 같은 위상 누산기의 출력 단어와 일치하는 진폭 샘플을 제공합니다. 때로는 LUT와 함께 보간법을 사용하여 정확도를 높이고 위상의 오류 노이즈를 줄입니다. 수치 제어 발진기 소프트웨어에서는 멱급수와 같은 수학적 절차를 사용하여 위상을 진폭으로 변환할 수 있습니다.

일단 클럭되면 PA 또는 위상 누산기는 PAC(위상-진폭 변환기)를 통해 샘플링된 정현파로 변경된 후 단순히 모듈로 2^N 톱니파 신호를 생성합니다. 여기서 'N'은 아니오입니다. 위상 누산기 내의 운반 비트.

'N'과 같은 운반 비트의 수는 오실레이터의 주파수 분해능을 설정하며 일반적으로 no에 비해 훨씬 높습니다. PAC 조회 테이블의 메모리 공간을 설명하는 비트.

위상-진폭 변환기의 용량이 2^M이면 위 그림과 같이 위상 누산기의 출력 워드를 M비트로 줄여야 합니다. 그러나 이 비트는 보간에 사용됩니다. 위상 출력 단어 감소는 주파수의 정확도를 변경하지 않지만 시변 주기 위상 오류를 생성하여 스퓨리어스 제품의 주요 소스입니다.

CLK 주파수에 대한 주파수 정확도는 위상을 계산하는 데 사용되는 수학의 정확도에 의해서만 제한됩니다. 수치 제어 발진기는 위상 및 주파수를 인식하고 적절한 노드에서 합산하여 주파수 변조 또는 위상 변조 출력을 생성하도록 약간 수정할 수 있기 때문에 그렇지 않으면 직교 출력을 제공합니다.

수치 제어 발진기는 어떻게 작동합니까?

NCO 모듈은 어큐뮬레이터의 오버플로를 사용하여 출력 신호를 생성합니다. 따라서 어큐뮬레이터의 오버플로는 단일 CLK 신호 대신 수정 가능한 증분 값을 통해 제어되었습니다. 이는 분할 정도가 제한된 프리스케일러 또는 포스트스케일러 분할기 값에 의해 변경되지 않는다는 점에서 단순한 타이머 기반 카운터에 비해 이점을 제공합니다. 수치 제어 발진기는 주파수 정확도와 고정된 듀티 사이클에서 우수한 분해능이 필요한 애플리케이션에 매우 유용합니다.

  NCO 작업
NCO 작업

수치 제어 오실레이터는 고정된 값을 누산기에 자주 추가하여 작동합니다. 따라서 입력 CLK 속도에서 추가가 발생합니다. 때때로 어큐뮬레이터는 원시 NCO의 출력인 캐리를 통해 오버플로됩니다. 이는 포함된 값과 누산기의 최고값의 비율을 통해 입력 CLK를 효율적으로 감소시킨다.

또한 NCO의 출력은 단순히 펄스를 늘림으로써 수정할 수 있습니다. 그 후 NCO의 수정된 출력은 내부적으로 다른 주변 장치에 분배되고 선택적으로 입력/출력 핀으로 출력됩니다. 어큐뮬레이터의 오버플로도 중단을 일으킬 수 있습니다.

NCO 기간은 평균 주파수를 생성하기 위해 별도의 단계로 변경됩니다. 따라서 이 출력은 불확실성을 줄이기 위해 NCO의 출력을 평균화하는 수신 회로의 용량에 주로 의존합니다.
NCO 모듈의 오버플로는 주로 다음 공식에 따라 달라집니다.
어큐뮬레이터의 오버플로 비율 = 어큐뮬레이터의 오버플로 값/입력 CLK 주파수 + 증분 값.

위상 누산기란 무엇입니까?

시스템의 모든 클록 입력 신호에 대해 증가하는 2^N 디지털 조건을 포함하는 모듈로-N 카운터입니다. 증분 크기는 주로 튜닝 워드 값에 따라 달라지며 M은 누산기의 가산기 단계에 적용됩니다. 튜닝 단어는 단순히 카운터 증분을 단계 크기로 고정합니다.

NCO 발진기의 장점

수치 제어 발진기의 장점은 다음과 같습니다.

  • 수치 제어 발진기는 안정성, 정확성 및 신뢰성 측면에서 다른 발진기 유형에 비해 많은 이점을 제공합니다.
  • 이 오실레이터는 유연한 아키텍처를 가지고 있어 즉석 주파수 또는 위상과 같은 프로그래밍 기능을 쉽게 허용합니다.
  • 수치 제어 발진기는 다른 발진기에 비해 몇 가지 이점을 제공합니다. 발진기의 종류 민첩성, 정확성, 안정성 및 신뢰성 측면에서.
  • NCO의 이점을 통해 설계자는 보드를 더 빠르게 설계하고 전력 소비를 줄이며 보드 공간을 절약하고 비용을 절감할 수 있습니다.

NCO 발진기 사용

수치 제어 발진기의 응용 분야는 다음과 같습니다.

  • 수치 제어 발진기는 안정기 및 조명 제어, 공진 전원 공급 장치 및 톤 발생기와 같이 고정 듀티 사이클에서 고주파 정확도, 선형 주파수 제어 및 우수한 분해능이 필요한 곳에 적용할 수 있습니다.
  • NCO는 속도 변환, 주파수 합성 및 CLK 생성과 같은 광범위한 타이밍 애플리케이션에 사용되는 일반적인 디지털 회로입니다.
  • NCO는 주로 SoC에서 사인, 코사인, LFM 또는 선형 주파수 변조, 가우시안과 같은 온칩 주요 신호 생성에 사용됩니다.
  • NCO 모듈은 누산기의 오버플로를 이용하여 출력 신호를 생성하는 타이머입니다.
  • 이는 라디오 튜닝 회로, 조명 제어, 형광 안정기, 톤 제너레이터 및 클래스 D 오디오 증폭기의 응용 분야에서 매우 중요합니다.
  • 이들은 종종 DDS(직접 디지털 합성기)를 설계하기 위해 o/p에서 DAC와 함께 사용됩니다.
  • 발진기의 잡음이 많은 i/p 신호를 청소하는 데 사용되는 디지털 주파수 발생기입니다.
    이것은 최대 32MHz 주파수를 생성하는 데 사용되는 선형 주파수 프로그래밍 가능 생성기입니다.

따라서 이것이 전부입니다. 일반적으로 제어되는 발진기 개요 이는 모든 입력 클록 신호의 증가 에지에서 내부 누산기에 증분을 포함하는 방식으로 작동합니다. 따라서 NCO의 출력 주파수는 no에 비례합니다. 어큐뮬레이터가 오버플로되는 사이클. 오실레이터란 무엇입니까?