티스토리 뷰
타이밍 요구 사항의 범위
경험할 수 있는 타이밍 요구 사항의 범위를 설명하기 위해 아날로그-디지털 변환기(ADC)에서 판독값을 읽는 몇 가지 시스템을 살펴보겠습니다.
첫 번째 시스템은 인두기의 온도를 제어하기 위해 설정된 제어 시스템입니다(아래 그림 참조). 우리가 관심있는 부분은 MCU, ADC, 센서, 히터입니다.
MCU는 아래 세가지 역할을 합니다.
-
ADC를 통해 온도 센서 값을 읽어 옵니다.
-
폐쇄 루프 제어 알고리즘을 실행합니다(인두기 팁의 온도를 일정하게 유지하기 위해).
-
필요한 만큼 히터의 출력을 조정합니다.
아래 그림에서 확인할 수 있습니다.
인두기 팁의 온도가 놀라울 정도로 빠르게 변하지는 않기 때문에 MCU는 초당 50개의 ADC 값(50Hz)만 읽으면 됩니다. 히터 조절을 담당하는 제어 알고리즘은 5Hz의 더 느린 속도로 실행됩니다.
ADC는 한 신호선에 ‘High’를 출력하여 변환이 완료되었으며 MCU가 ADC 값을 내부 메모리로 전송할 준비가 되었음을 나타냅니다. ADC 값을 읽는 MCU는 ADC에서 내부 메모리로 데이터를 전송하는 데 최대 20ms가 소요됩니다(아래 그림 참조). 또한 MCU는 5Hz(200ms) 간격으로 히터를 제어하기 위한 업데이트된 값을 계산하기 위해 제어 알고리즘을 실행해야 합니다. 이러한 두 가지 사례 모두(아주 빠르지는 않더라도) 실시간 요구사항의 예입니다.
ADC 데이터 신호를 관측할 수 있는 고대역폭 네트워크 분석기 또는 오실로스코프는 ADC를 수십 GHz 속도로 읽을 수 있습니다. ADC의 원래(raw) 데이터는 주파수 영역으로 변환되어 초당 수십 번씩 고해상도 전면 패널에 그래픽으로 표시됩니다. 이와 같은 시스템은 많은 양의 프로세싱을 수행해야 하며, 제대로 작동하려면 매우 엄격한 타이밍 요구 사항을 준수해야 합니다.
스펙트럼의 중간 어딘가에 폐쇄 루프 모션 컨트롤러와 같은 시스템이 있습니다. 일반적으로 빠르게 움직이는 시스템에서 안정성을 제공하기 위해 수백Hz에서 수십kHz 사이의 PID 제어 루프를 실행해야 합니다. 그렇다면, 실시간은 얼마나 빠를까요? ADC 사례만 봐도 알 수 있듯이, 그것은 상황에 따라 다릅니다.
오실로스코프 또는 인두기같은 이전 사례에서 타이밍 요구 사항을 충족하지 못하면 성능이 저하되거나 잘못된 데이터가 보고됩니다. 인두기의 경우 온도 조절이 제대로 동작하지 않을 수 있습니다(구성 요소가 손상될 수 있음). 테스트 장비의 경우 기한 내에 동작하지 않는다면 판독치가 잘못되어 오류가 발생할 수 있습니다. 이는 일부 사람들에게는 큰 문제가 되지 않을 수 있지만, 보고되는 데이터의 정확성에 의존하는 해당 장비 사용자에게는 매우 큰 문제가 될 수 있습니다. 표준 검증에 사용되는 실험실 장비는 제품 적합성 검사에 사용됩니다. 알 수 없는 장비 오작동으로 인해 측정값이 부정확할 경우 잘못된 값이 나타날 수 있습니다. 결과 값을 믿기 어려운 의심스러운 테스트가 다시 실행될 수 있습니다. 재검사가 너무 자주 필요해지며 신뢰할 수 없는 판독치에 의존하게 된다면, 테스트 장비를 신뢰할 수 없게 되면서 결국 매출이 감소할 수 있습니다. 이는 모두 실시간 요구 사항이 지속적으로 충족되지 않았기 때문입니다.
UAV의 비행 제어 또는 산업 프로세스 제어에서의 모션 제어와 같은 시스템에서는 제어 알고리즘을 적시에 실행하지 못하면 충돌과 같이 물리적으로 더 치명적인 결과를 초래할 수 있습니다. 이러한 경우, 그 결과는 잠재적으로 생명을 위협할 수 있습니다.
다행히도 이러한 모든 장애 시나리오를 피하기 위해 취할 수 있는 조치가 있습니다.
'Digital Developer' 카테고리의 다른 글
[ECCS] C 언어 버전 (0) | 2020.09.30 |
---|---|
Hands-On RTOS with Microcontrollers #006 (0) | 2020.09.27 |
Hands-On RTOS with Microcontrollers #004 (0) | 2020.09.20 |
[ECCS] Embedded C Coding Standard (0) | 2020.09.20 |
intel 4004 processor (0) | 2020.09.20 |