마이크로 컨트롤러는 클록 소스에 의존합니다. 프로세서, 버스와 주변 장치는 모두 클록을 사용하여 작업을 동기화합니다. 클록은 프로세서가 명령을 실행하는 속도를 결정하므로 성능에 매우 중요합니다. 하지만 클록 소스는 얼마나 중요할까요? 마이크로 컨트롤러의 클록 주파수란 무엇이며, 이의 정확성은 얼마나 중요할까요? 간단한 대답은 상황에 따라 다르다는 것입니다. 이는 마이크로 컨트롤러가 수행하는 작업과 해당 인터페이스에 따라 달라집니다.
두 가지 사항을 고려해야 합니다. 이는 일이 일어나는 속도를 결정하는 '클록 속도' 그리고 각 클록 틱 사이 주기의 일관성 및 클록 속도가 시간에 따라 어떻게 변할 수 있는지를 결정하는 '클록의 정확도'입니다.
마이크로 컨트롤러의 중앙 프로세서는 특정 기능을 수행하는 동기화된 논리 블록 체인으로 볼 수 있습니다. 시스템 마이크로 컨트롤러 클록이 너무 느리게 실행되면 처리 시간이 더 오래 걸립니다. 클록이 너무 빠르게 실행되면 다음 세트가 시작되기 전에 필요한 작업을 완료할 시간이 충분하지 않을 수 있습니다. 프로세서는 동적 메모리부터 인터페이스 핀에 이르기까지 다양한 컴포넌트 블록과 인터페이스합니다. 클록 속도에 중대한 오류가 있으면 내부 마이크로 컨트롤러 작동에 예측할 수 없는 결과가 초래됩니다.
마이크로 컨트롤러 클록 신호는 모든 아날로그-디지털 작업의 변환 속도를 제어합니다. 클록 속도는 아날로그 신호를 샘플링할 수 있는 최대 속도를 결정하며, 클록 정확도는 샘플링 속도의 정확도를 결정합니다. 타임스탬프가 있는 샘플을 1초에 두 번 기록한다고 가정해 보겠습니다. 이 경우 클록 주파수에 내부 발진기에서는 흔한 수준인 1%의 오차만 있어도 샘플의 타임스탬프와 벽시계에 표시된 시간 간의 상관 관계가 금방 사라지게 됩니다. 클록 소스에 1%의 상수 오프셋이 있으면 샘플의 타임스탬프가 매일 14분 이상 이탈합니다.
데이터 샘플링의 경우, 마이크로 컨트롤러 클록 신호는 디지털-디지털 작업의 변환 속도를 제어합니다. 클록의 속도는 아날로그 신호에 대해 생성할 수 있는 최대 주파수를 결정합니다. 클록의 정확도는 생성된 파형의 정확도를 결정합니다.
마이크로 컨트롤러 클록 신호의 중요한 응용 분야는 클록 신호가 수신되는 데이터 스트림의 샘플링 시점을 결정하는 비동기식 통신을 관리하는 것입니다. 일단 시작 비트가 수신되면 각 데이터 비트 간 전환이 발생하는 시점에 대한 발신 데이터 스트림의 파형이 생성됩니다.
비동기식 통신에서 송신기와 수신기는 데이터 스트림을 인코딩 및 디코딩하기 위해 동일한 클록 속도를 유지해야 합니다. 그러나 이러한 클록을 동기화할 필요는 없으며, 클록 속도가 충분히 동일하기만 하면 됩니다. 이는 수신기가 신호 회선에서 첫 번째 에지를 감지할 때 수신 데이터 스트림 처리를 시작하기 때문입니다. 그런 다음 수신기는 적시에 데이터 비트를 샘플링하기 위해 데이터 스트림 시간 동안 정확한 클록 속도를 유지해야 합니다. 필요한 정확도는 데이터를 샘플링해야 하는 시간에 따라 달라집니다. 각 데이터 비트는 데이터 값이 불확실한 신호에 상승 에지와 하강 에지를 가질 수 있으며, 에지 사이에 데이터가 유효하며 샘플링 가능한 기간이 남게 됩니다.
이 샘플링 기간은 통신 링크의 유형과 길이에 따라 다릅니다. 전송 길이가 길고 케이블 용량이 크면 상승 및 하강 시간이 늘어납니다. 노이즈가 있으면 신호가 안정화되는 데 필요한 시간도 늘어날 수 있습니다.
이는 클록 속도와 메시지 형식에 따라서도 달라질 수 있습니다. 짧은 데이터 스트림의 경우 새 데이터 스트림이 수신될 때마다 샘플링 클록이 재설정되므로 정확도 요구 사항이 상당히 관대해질 수 있습니다. 그러나 데이터 스트림이 긴 고속 직렬 통신의 경우 필요한 정확도가 더 정밀해질 수 있습니다. 예를 들어, CAN 버스 프로토콜은 크리스탈 기반이 아닌 클록 신호 소스를 사용하면 문제가 될 수 있을 정도로 시스템 클록 왜곡에 매우 민감합니다.
예를 들어 UART 장치의 경우, 매 프레임 시작마다 UART 수신기가 자체적으로 동기화되기 때문에 절대적인 클록 속도가 중요하지 않습니다. 이 문제는 전송 및 수신 UART 클록 간의 차이를 허용할 수 있는 범위를 단순화합니다.
일반적으로 특정 마이크로 컨트롤러를 위한 클록 소스를 선택할 때 선택 가능한 몇 가지 옵션이 있습니다. 구체적인 옵션은 사용할 마이크로 컨트롤러 클록의 브랜드 및 모델에 따라 다르므로, 여기서 모든 표준 옵션을 알아보겠습니다.
이러한 여러 옵션은 주로 옵션의 정확도, 비용 및 컴포넌트 수에 따라 구별됩니다. 우수한 마이크로 컨트롤러에 포함된 내부 클록 소스를 사용하는 것이 가장 저렴하고 간단한 옵션이지만, 이 옵션은 보통 정확도가 가장 낮습니다. 외부 클록 소스를 사용하면 정확도는 향상되지만, 회로 기판에 더 많은 컴포넌트를 추가해야 하며 설계의 복잡성이 증가하는 단점이 있습니다.
어느 옵션을 선택할지는 기판 공간과 예산의 제약 및 필요한 성능에 따라 결정됩니다. 마이크로 컨트롤러에 대해 클록 신호를 생성하기 위한 대체 옵션 몇 가지는 항상 있기 마련입니다. 해당 장치의 데이터 시트를 참조하세요. 일반적으로 데이터 시트는 사용할 수 있는 클록 소스 유형과 이를 구현하는 최선의 방법에 대한 유용한 정보를 제공합니다.
일반적으로 기본적인 클록 신호를 생성하는 내부 저항-커패시터 발진기와 주파수 체배 기능을 제공하는 위상 고정 루프가 마이크로 컨트롤러와 함께 제공됩니다. 내부 발진기를 사용하는 경우 문제점은 내부 발진기가 주파수 안정성이 낮은 외부 발진기보다도 훨씬 부정확하다는 것입니다. 마이크로 컨트롤러 칩 내부는 분명 RC 회로를 배치하기에 적합하지 않은 위치입니다. 이는 RC 회로의 높은 온도 의존성과 본질적으로 넓은 컴포넌트 허용 오차에서 비롯됩니다. 일반적으로 열 관리가 우수한 마이크로 컨트롤러는 1~5% 범위의 정확도로 클록 신호를 전달할 수 있습니다. 이는 일부 느린 비동기식 통신 버스와 저주파 아날로그 신호 처리를 관리하는 데에는 충분할 수 있습니다. 하지만 대부분의 일반적인 응용 분야에서는 이 방법이 너무 부정확합니다.
위상 고정 루프를 사용하여 더 정확한 외부 클록 신호가 내부 클록 신호를 보정할 수 있도록 함으로써 내부 발진기의 성능을 향상시킬 수 있음을 간단히 언급할 필요가 있습니다. 그러나 외부 클록 신호를 사용할 수 있는 경우 마이크로 컨트롤러에 이를 방지하는 특별한 제약이 없는 한 내부 클록 대신 외부 클록을 사용하는 것이 좋습니다.
마이크로 컨트롤러의 클록 소스는 주로 크리스탈 및 세라믹 공진기를 포함한 기계식 공진 장치와 수동형 RC 발진기의 두 가지 유형으로 나뉩니다.
발진기의 가장 기본적인 형태는 내부 발진기 회로를 에뮬레이트하지만 정밀도 값이 더 높은 부품을 사용하고 열 관리 기술을 사용하여 마이크로 컨트롤러 클록 및 기타 회로의 뜨거운 요소에서 발생하는 열로부터 부품을 격리하는 RC 회로입니다. 이는 정확도를 최소 열 배 이상 향상시킬 수 있지만 외부 발진기 중 정확도가 가장 낮은 옵션이며, 비용과 설치 공간 크기가 비슷한 더 나은 솔루션도 존재합니다. 또한 RC 회로에서 생성된 클록은 전원 공급 장치 레벨의 변동에 영향을 받으며 전기적 간섭에 취약하므로 대부분의 일반적인 응용 분야에서 유용성이 제한적입니다.
크리스탈 발진기는 정밀 클록 신호가 필요한 가장 일반적인 형태의 외부 발진기입니다. 수정과 지원 회로는 안정성과 정밀도가 탁월합니다. 일반적인 저가 크리스탈 발진기의 정확도는 100만분의 1% 이상으로, 가장 시간에 민감한 응용 분야를 제외한 모든 응용 분야에 사용하기에 충분합니다. 그러나 수정은 환경 요인에 영향을 받을 수 있으므로 추가적인 보호가 필요합니다. 또한 수정의 지원 회로로 인해 높은 임피던스 출력이 발생하여 회로의 나머지 부분과 통합하기 위해 추가적인 임피던스 일치가 필요할 수도 있습니다. 별도의 컴포넌트 대신 기성 수정 발진기 모듈을 사용하면 예산상으로 가능한 경우 환경 영향에 대한 민감성을 줄이고 기판 설계를 더 간결하게 만들 수 있습니다. 기성 수정 발진기 모듈은 저임피던스 구형파 출력을 제공하여 별개의 크리스탈을 사용하는 경우와 매우 유사한 정확도로 회로 설계의 나머지 부분과의 통합을 더욱 간단하게 만듭니다.
또 다른 옵션은 약 0.05%의 정확도로 쉽게 구현할 수 있는 IC 공진기 회로에 기반한 실리콘 발진기입니다. 이는 외부 RC 회로보다 약간 낫지만 크리스탈 발진기에 비할 바는 아닙니다. 그러나 실리콘 발진기는 크리스탈 발진기보다 더 견고하고 신뢰성이 높아 장치가 심한 기계적 진동에 노출될 수 있는 작동 환경에 적합합니다.
마지막 옵션인 세라믹 공진기는 크리스탈 발진기만큼 정확하지는 않지만 실리콘 발진기보다는 정확도가 더 높습니다. 세라믹 공진기는 압전 세라믹 소재를 기반으로 공진 기계적 진동을 사용하여 클록 신호를 생성합니다. 이 공진기의 주요 이점은 크리스탈 발진기 및 크리스탈 발진기의 지원 컴포넌트보다 풋프린트가 작은 단순한 통합 패키지 형태로 제공된다는 것입니다. 단, 크리스탈 발진기와 마찬가지로 온도, 습도, 진동 및 전기적 간섭 등의 환경 요인에 민감합니다.
외부 발진기를 선택할 때는 전력 소비가 결정적인 요인으로 작용할 수 있습니다. 개별 발진기 회로의 전력 소비는 주로 피드백 증폭기의 공급 전류와 전기 용량값에 의해 결정됩니다. 일반적인 크리스탈 발진기 회로는 수십 mA를 소비합니다. 세라믹 공진기 회로는 일반적으로 크리스탈 발진기에 필요한 것보다 더 큰 부하 정전 용량값을 필요로 하므로 더 많은 전력이 필요합니다. 실리콘 발진기의 전력 소비는 주로 작동 주파수에 비례합니다. 단, 실리콘 발진기는 몇 mA를 소비하는 저전력 장치에서 수십 mA를 소비하는 표준 장치에 이르기까지 다양한 옵션으로 제공됩니다.
요약하면, 마이크로 컨트롤러에 사용해야 하는 클록 신호 유형은 주로 내장된 장치의 특성과 작동 환경에 따라 달라집니다. 인터페이스가 고속 비동기식 통신 버스와 고주파 아날로그 신호를 포함하는 경우 정확한 클록 신호의 필요성이 커집니다. 장치가 넓은 온도 범위, 높은 수준의 전자기 간섭 또는 기계적 진동 등 열악한 환경에서 작동해야 한다고 가정해보세요. 이 경우 사용 가능한 선택지가 제한될 수 있습니다. 이처럼 시간에 민감하거나 환경적으로 까다로운 요구 사항이 없는 마이크로 컨트롤러 클록은 더 저렴한 솔루션을 사용해도 됩니다.
더 자세한 내용을 알아보려면 제품 페이지에서 보다 자세한 기능 설명을 찾아보거나 Altium 전문가에게 문의하세요.