14 비트 ADC가 있습니다. 그러나 데이터 시트 (5 페이지의 표 2 참조)를 보면 유효 비트 수 (ENOB)는 항상 12 비트보다 작습니다.
내 DAC가 12 비트 정확도 만있을 때 14 비트 ADC라고 주장하는 이유는 무엇입니까? 의미가없는 경우 두 개의 추가 비트를 갖는 점은 무엇입니까?
14 비트 ADC가 있습니다. 그러나 데이터 시트 (5 페이지의 표 2 참조)를 보면 유효 비트 수 (ENOB)는 항상 12 비트보다 작습니다.
내 DAC가 12 비트 정확도 만있을 때 14 비트 ADC라고 주장하는 이유는 무엇입니까? 의미가없는 경우 두 개의 추가 비트를 갖는 점은 무엇입니까?
답변:
넌 죽었어!
14 비트는 마케팅에 관한 이야기이며 하드웨어도이를 제공하므로 사용자가 불평 할 사항이 없다고 말할 것입니다. 데이터 시트에서 ENOB 바로 위에 SINAD (Signal to Noise and Distortion) 번호가 표시됩니다. 그것은 72 dB이고 1 비트는 6 dB 레벨에 해당하므로 72 dB는 실제로 12 비트입니다. 가장 낮은 2 개의 비트는 노이즈입니다.
노이즈 플로어보다 낮은 데이터를 검색 할 수는 있지만 상관 관계가 매우 우수해야하므로 예측 가능해야합니다.
각 측정에 대해 8 비트 값을 반환하는 ADC를 사용하여 가능한 정확하게 전압을 측정하려고한다고 가정합니다. (N-0.5) / 100 ~ (N + 0.5) / 100 볼트 사이의 전압에 대해 N 코드가 공칭으로 반환되도록 ADC가 지정되었다고 가정합니다 (예를 들어 47 코드는 공칭 적으로 0.465와 0.475 사이의 값을 나타냅니다) 볼트). 정확히 0.47183 볼트의 정상 전압이 공급되는 경우 ADC 출력을 원하는 것은 무엇입니까?
ADC가 항상 입력이 떨어지는 위에서 정의한 범위 (이 경우 47)를 나타내는 값을 출력하는 경우, 판독 값이 아무리 많아도 값은 47로 나타납니다. 불가능한.
대신 ADC를 정수로 변환하기 전에 -0.5에서 +0.5로 선형 분포 된 임의의 "디더"값이 각 판독 값에 추가되도록 ADC를 구성했다고 가정 해보십시오. 이 시나리오에서 47.183 볼트의 전압은 48의 판독 값, 시간의 약 18.3 %, 시간의 다른 81.7 % 인 47의 값을 반환합니다. 평균 10,000 판독 값을 계산 한 경우 약 47.183 일 것으로 예상해야합니다. 임의성으로 인해 약간 높거나 낮을 수 있지만 꽤 가까워 야합니다. 충분한 판독 값을 취하면 임의의 수준의 예상 정밀도를 달성 할 수 있지만 추가 비트마다 판독 값을 두 배 이상 늘리는 것이 필요합니다.
정확히 하나의 LSB 선형 분포 디더링을 추가하는 것은 ADC에게 매우 훌륭한 동작입니다. 불행히도, 그러한 행동을 구현하는 것은 쉽지 않습니다. 디더링이 선형으로 분포되지 않거나 크기가 정확히 하나의 LSB가 아닌 경우 평균화에서 얻을 수있는 실제 정밀도의 양은 사용 된 샘플 수에 관계없이 심각하게 제한됩니다. 하나의 LSB에 선형 분포 무작위성을 추가하는 대신 여러 LSB의 가치를 추가하면 주어진 정밀도 수준을 달성하려면 이상적인 단일 LSB 무작위성을 사용하는 데 필요한 것보다 더 많은 판독이 필요하지만 달성 할 수있는 정확도의 궁극적 한계 임의의 수의 판독 값을 취하면 디더링 소스의 결함에 훨씬 덜 민감합니다.
일부 응용 프로그램에서는 결과를 디더링하지 않는 ADC를 사용하는 것이 가장 좋습니다. 이는 정확한 값 자체보다 ADC 값의 변화를 관찰하는 데 더 관심이있는 상황에서 특히 그렇습니다. 정상 상태 전압이 정확히 13.2 또는 13.4 단위인지 아는 것보다 +3 단위 / 샘플과 +5 단위 / 샘플 속도의 차이를 빠르게 해결하는 것이 더 중요한 경우 비 디더링 ADC가 디더링 하나. 반면 디더링 ADC를 사용하면 단일 판독 값보다 더 정확하게 측정하려는 경우 도움이 될 수 있습니다.
추가 경고 ... 때로는 당신은 실제로 임의성을 원합니다 .
예를 들면 다음과 같습니다.
암호화 (보안 / 진실성) 응용 프로그램에서는 순수한 "추측 할 수없는"임의성이 필요합니다. 컨버터의 LSB (노이즈 플로어 이하)를 사용하면 순전히 난수를 빠르게 생성 할 수 있습니다.
ADC 하드웨어를 다른 목적 (센서 등)으로 사용할 수있는 경우, 안전한 통신을 시드하는 빠르고 쉬운 방법입니다. 사용 가능한 경우 입력 증폭기의 게인을 최대화하고 (많은 MCU가 이러한 기능을 제공함) 입력을 플로팅하여 효과를 향상시킬 수 있습니다.
ADC 랜덤 성은 주로 양자화 잡음 및 열 잡음이라는 두 가지 물리적 원리에서 파생됩니다.
이러한 효과는 거시적 수준에서 임계 값을 갖습니다. 예를 들어, 비트 경계에서 충분히 떨어진 숫자는 반올림 할 필요가 없으므로 양자화 오류나 임의성이 발생하지 않습니다. 열 잡음은 대부분의 시나리오에서 변환에서 더 중요한 비트에 영향을 미치지 않습니다.
또한 변환 매개 변수 (샘플링 시간, 깊이, 속도, 기준 전압)를 변경하면 임의의 임계 값을 이동하여 결과의 임의성 변경에 영향을 미친다는 것을 알 수 있습니다 (임계 값을 낮추어 증가 또는 감소시켜 증가) ). 환경 / 시스템 매개 변수 (온도, 전원 공급 장치 등)를 변경하여 비슷한 효과를 얻을 수 있습니다.
즉, 많은 성공적인 상용 하드웨어 난수 생성기는 외부 기술이 무작위성을 감소시키기 때문에이 기술에 의존합니다. 물리적으로 불가능하지는 않습니다.
더 많은 변환을 수행하고 결과를 추가하여 임의성 감소를 보상 할 수 있습니다. 이 비트 확장 프로세스 (연속 변환의 저 비트 연결)는 STM32 Nucleo Dongles, FST-01 (NeuG 1.0 포함), LE Tech의 Grang 장치 제품군 및 기타 여러 가지에서 사용됩니다.
Grang 장치는 초당 4 억회 이상의 변환 (변환 당 1 비트)으로 변환하여 비트를 생성합니다. 충분한 변환을 수행하면 환경 조건에서도 높은 임의성을 보장 할 수 있습니다.