Pytanie: Jak wyglądać będą dane wyjściowe z przetwornika analogowo-cyfrowego (ADC) podczas przekroczenia zakresu napięć wejściowych?
Odpowiedź: Bardzo często inżynierowie, szczególnie Ci starszej daty, projektujący systemy wykorzystujący w swoich projektach ADC pytają o to jak wyglądać będą dane wyjściowe z przetwornika gdy przekroczony zostanie maksymalny zakres napięć wejściowych. Za pierwszym razem gdy autor spotkał się z tym pytaniem (wiele lat temu) wydawało się ono głupie. Kolega, pracujący dłużej z tego typu układami, wyjaśnił że wczesne modele przetworników ADC wykazywały tak zwane zjawisko rollover.
Większość nowoczesnych szybkich przetworników ADC wyposażona jest z wyjście sygnalizujące przekroczenie zakresu napięć wejściowych. Jest to tak zwana flaga overrange (OR). Ten bit wyjściowy, często wystawiany synchronicznie z danymi wyjściowymi, wskazuje czy napięcie wejściowe przetwornika mieści się w zakresie pracy czy też go przekracza. Rozważmy przetwornik ADC z wyjściem w naturalnym kodzie binarnym. Jeśli wejście przetwornika przekroczy maksymalny zakres napięć pracy przetwornika ADC to zostanie on przesterowany. Oznaca to że na wyjściu pojawią się same jedynki (np. 1111 1111 1111 dla 12 bitowego przetwornika ADC). Jeśli natomiast napięcie wejściowe będzie niższe niż minimalne to na wyjściu otrzymamy same zera (np. 0000 0000 0000). W każdym z tych przypadków flaga OR zostanie ustawiona informując iż dana próbka przekracza zakres napięć wejściowych.
Starsze przetworniki wykazują inne zachowanie. Obserwować możemy w nich zjawisko tak zwanego rollover. Przetwornik na którego wejście podamy maksymalny sygnał + 1 LSB może wykazywać na wyjściu np. 0000 0000 0001 zamiast samych jedynek, jak w przypadku nowocześniejszych układów. Użytkownik przetwornika wiedzieć będzie o przekroczeniu zakresu z ustawionej flagi OR, co oznacza że dane powinny być zignorowane. Oczywiście taki układ bitów jak powyżej byłby poprawny np. jako część sygnału przetwornika o rozdzielczości 13 bitów jednakże dla przetwornika 12 bitowego takie dane oznaczają iż sygnał wejściowy ma amplitudę o jeden LSB większą niż dolny zakres skali napięć wejściowych. Łatwo wyobrazić sobie jakie poważne implikacje może mieć taka interpretacja danych dla działania systemu.
Na szczęście w dzisiejszych czasach takie zachowanie przetworników już nie występuje, co oznacza że dzisiejsi inżynierowie nie muszą się tym zbytnio przejmować. Autor powyższego artykułu pracuje w firmie Analog Devices od lat '80 XX wieku i od tego czasu nie został wypuszczony ani jeden przetwornik analogowo-cyfrowy który wykazywałby zjawisko rollover.
Źródła:
http://www.analog.com/library/analogdialogue/archives/47-11/RAQ_99.html
Odpowiedź: Bardzo często inżynierowie, szczególnie Ci starszej daty, projektujący systemy wykorzystujący w swoich projektach ADC pytają o to jak wyglądać będą dane wyjściowe z przetwornika gdy przekroczony zostanie maksymalny zakres napięć wejściowych. Za pierwszym razem gdy autor spotkał się z tym pytaniem (wiele lat temu) wydawało się ono głupie. Kolega, pracujący dłużej z tego typu układami, wyjaśnił że wczesne modele przetworników ADC wykazywały tak zwane zjawisko rollover.
Większość nowoczesnych szybkich przetworników ADC wyposażona jest z wyjście sygnalizujące przekroczenie zakresu napięć wejściowych. Jest to tak zwana flaga overrange (OR). Ten bit wyjściowy, często wystawiany synchronicznie z danymi wyjściowymi, wskazuje czy napięcie wejściowe przetwornika mieści się w zakresie pracy czy też go przekracza. Rozważmy przetwornik ADC z wyjściem w naturalnym kodzie binarnym. Jeśli wejście przetwornika przekroczy maksymalny zakres napięć pracy przetwornika ADC to zostanie on przesterowany. Oznaca to że na wyjściu pojawią się same jedynki (np. 1111 1111 1111 dla 12 bitowego przetwornika ADC). Jeśli natomiast napięcie wejściowe będzie niższe niż minimalne to na wyjściu otrzymamy same zera (np. 0000 0000 0000). W każdym z tych przypadków flaga OR zostanie ustawiona informując iż dana próbka przekracza zakres napięć wejściowych.
Starsze przetworniki wykazują inne zachowanie. Obserwować możemy w nich zjawisko tak zwanego rollover. Przetwornik na którego wejście podamy maksymalny sygnał + 1 LSB może wykazywać na wyjściu np. 0000 0000 0001 zamiast samych jedynek, jak w przypadku nowocześniejszych układów. Użytkownik przetwornika wiedzieć będzie o przekroczeniu zakresu z ustawionej flagi OR, co oznacza że dane powinny być zignorowane. Oczywiście taki układ bitów jak powyżej byłby poprawny np. jako część sygnału przetwornika o rozdzielczości 13 bitów jednakże dla przetwornika 12 bitowego takie dane oznaczają iż sygnał wejściowy ma amplitudę o jeden LSB większą niż dolny zakres skali napięć wejściowych. Łatwo wyobrazić sobie jakie poważne implikacje może mieć taka interpretacja danych dla działania systemu.
Na szczęście w dzisiejszych czasach takie zachowanie przetworników już nie występuje, co oznacza że dzisiejsi inżynierowie nie muszą się tym zbytnio przejmować. Autor powyższego artykułu pracuje w firmie Analog Devices od lat '80 XX wieku i od tego czasu nie został wypuszczony ani jeden przetwornik analogowo-cyfrowy który wykazywałby zjawisko rollover.
Źródła:
http://www.analog.com/library/analogdialogue/archives/47-11/RAQ_99.html
Fajne? Ranking DIY