категории: Препоръчани статии » Практическа електроника
Брой преглеждания: 49294
Коментари към статията: 0
Как става преобразуването на аналоговия сигнал в цифров
В електрониката сигналите се делят на: аналогови, дискретни и цифрови. Като начало всичко, което усещаме, виждаме, чуваме в по-голямата си част, е аналогов сигнал, а това, което компютърният процесор вижда, е цифров сигнал. Не звучи много ясно, затова нека се занимаваме с тези определения и как един вид сигнал се преобразува в друг.
Типове сигнали
При електрическото представяне аналогов сигнал, съдейки по името му, е аналог на реална стойност. Например, усещате температурата на околната среда постоянно, през целия си живот. Няма почивки. В същото време усещате не само две нива на „горещо” и „студено”, но и безкраен брой усещания, които описват тази стойност.
За човек „студът“ може да бъде различен, това е есенната прохлада и зимния студ, а леките студове, но не винаги „студът“ е отрицателна температура, точно както „топло“ не винаги е положителна температура.
От това следва, че аналоговият сигнал има две характеристики:
1. Приемственост във времето.
2. Броят на стойностите на сигнала клони към безкрайност, т.е. Аналогов сигнал не може да бъде точно разделен на части или калибриран чрез разбиване на скалата на конкретни секции. Методи на измерване - основават се на мерната единица и тяхната точност зависи само от цената на делението на скалата, колкото по-малка е тя, толкова по-точно е измерването.
Дискретни сигнали - това са сигнали, които са последователност от доклади или измервания от всякаква величина. Измерванията на такива сигнали не са непрекъснати, а периодични.
Ще се опитам да обясня. Ако сте инсталирали термометър някъде, той измерва аналогова стойност - това следва от горното. Но вие, всъщност следвайки неговите показания, получавате дискретна информация. Дискретното означава отделно.
Например, вие се събудихте и разбрахте колко градуса има термометърът, следващия път, когато го погледнахте на термометър на обяд, и трети път вечерта. Не знаете колко бързо се е променила температурата равномерно или чрез рязък скок, знаете само данните в този момент във времето, което сте наблюдавали.
Цифрови сигнали Е набор от нива, типове 1 и 0, високи и ниски, независимо дали са. Дълбочината на отразяване на информацията в цифрова форма е ограничена от битовата дълбочина на цифрово устройство (набор от логика, микроконтролер, процесор и т.н.) Оказва се, че той е идеален за съхраняване на булеви данни. Пример можем да посочим следното, за съхранение на данни като „Ден“ и „Нощ“ е достатъчен 1 бит информация.
малко - това е минималният обем информация в цифрова форма, той може да съхранява само два типа стойности: 1 (логическа единица, високо ниво) или 0 (логическа нула, ниско ниво).
В електрониката малко информация се представя под формата на ниско ниво на напрежение (близко до 0) и високо ниво на напрежение (в зависимост от конкретното устройство, често съвпада с захранващото напрежение на даден цифров възел, типичните стойности са 1.7, 3.3. 5V, 15V).
Всички междинни стойности между приетите ниски и високи нива са преходен регион и може да нямат конкретна стойност, в зависимост от схемата, както устройството като цяло, така и вътрешната верига на микроконтролера (или всяко друго цифрово устройство) могат да имат различно ниво на преход, например за 5 -волтова логика, стойностите на напрежението от 0 до 0.8V могат да се приемат като нула, а от 2V до 5V като единица, докато пролуката между 0.8 и 2V е неопределена зона, всъщност тя помага да се отдели нулата от единството.
Колкото по-точни и просторни стойности трябва да съхранявате, толкова повече бита ви трябват, ние даваме примерна таблица с цифров дисплей от четири стойности на деня:
Нощ - сутрин - ден - вечер
За това ни трябват 2 бита:
Аналогово към цифрово преобразуване
В общия случай аналогово-цифровото преобразуване е процесът на преобразуване на физическо количество в цифрова стойност. Цифровата стойност е набор от единици и нули, възприемани от обработващото устройство.
Такава трансформация е необходима за взаимодействието на цифровите технологии с околната среда.
Тъй като аналоговият електрически сигнал повтаря входния сигнал във формата си, той не може да бъде записан цифрово „такъв, какъвто е“, тъй като има безкраен брой стойности. Пример е процесът на запис на звук. В оригиналния си вид изглежда така:
Това е сумата от вълни с различни честоти. Което, когато се разлага на честоти (за повече подробности, вижте преобразувания на Фурие), по един или друг начин, може да се доближи до подобна картина:
Сега опитайте да го представите под формата на набор от тип „111100101010100“, това е доста трудно, нали?
Друг пример за необходимостта от преобразуване на аналогово количество в цифрово е неговото измерване: електронните термометри, волтметри, амперметри и други измервателни устройства взаимодействат с аналогови количества.
Как върви преобразуването?
Първо, погледнете схемата на типично преобразуване на аналогов сигнал в цифров и обратно. По-късно ще се върнем при нея.
Всъщност това е сложен процес, който се състои от два основни етапа:
1. Дискретизация на сигнала.
2. Квантоване по ниво.
Дискретизация на сигнал е определянето на времевите интервали, през които се измерва сигналът. Колкото по-къси са тези пропуски, толкова по-точно е измерването. Периодът на вземане на проби (T) е продължителността на времето от началото на четенето на данните до края му. Честотата на вземане на проби (е) е реципрочна на:
fd = 1 / T
След прочитане на сигнала той се обработва и съхранява в паметта.
Оказва се, че по време на отчитането и обработката на показанията на сигнала той може да се промени, като по този начин измерената стойност се изкривява. Има такава теорема на Котеликов и от нея следва следното правило:
Честотата на дискретизация трябва да бъде най-малко 2 пъти по-голяма от честотата на извадения сигнал.
Това е екранна снимка от Уикипедия с откъс от теоремата.
За да се определи числовата стойност, е необходимо количествено определяне по ниво. Квантът е определен диапазон от измерени стойности, средно намален до определен брой.
X1 ... X2 = Xy
Т.е. сигнали от X1 до X2, условно приравнени на определена стойност на Xy. Това прилича на цената на разделяне на показалец. Когато вземате показания, често ги приравнявате до най-близката маркировка в скалата на инструмента.
Така че с квантоването по ниво, колкото повече кванти, толкова по-точни измервания и повече десетични знаци (стотни, хилядни и т.н.) те могат да съдържат.
По-точно, броят на десетичните знаци по-скоро се определя от резолюцията на ADC.
Картината показва процеса на квантоване на сигнал, използвайки един бит информация, както описах по-горе, когато, когато се превиши определена граница, се приема стойност на високо ниво.
Вдясно е квантуването на сигнала и запис под формата на два бита данни. Както можете да видите, този сигнален фрагмент вече е разделен на четири стойности. Оказва се, че в резултат гладък аналогов сигнал се превръща в цифров сигнал "стъпка".
Броят на нивата на квантоване се определя по формулата:
Където n е броят на битовете, N е нивото на квантоване.
Ето пример за сигнал, разбит на по-голям брой кванти:
Това много ясно показва, че колкото по-често се приемат стойностите на сигнала (колкото по-висока е честотата на вземане на проби), толкова по-точно се измерва.
Тази картина показва преобразуването на аналогов сигнал в цифрова форма, а вляво от ординатната ос (вертикална ос) е 8-битов цифров запис.
Аналогови към цифрови преобразуватели
ADC или аналогово-цифров преобразувател могат да бъдат реализирани като отделно устройство или да бъдат интегрирани в микроконтролер.
Преди това микроконтролерите, например, семейството MCS-51, не съдържаха ADC, за това беше използвана външна микросхема и стана необходимо да се напише подпрограма за обработка на стойностите на външен ИС.
Сега те са в повечето съвременни микроконтролери, например AVR AtMEGA328, който е в основата на най-популярните платка Arduino, той е вграден в самия МК. В Arduino четенето на аналогови данни е просто с командата AnalogRead (). Въпреки че микропроцесорът, който е инсталиран в същия не по-малко популярен Raspberry PI, го няма, така че не всичко е толкова просто.
Всъщност има голям брой опции за аналогово-цифрови преобразуватели, всеки от които има своите недостатъци и предимства. Описването на това в тази статия няма много смисъл, тъй като това е голямо количество материал. Разгледайте само общата структура на някои от тях.
Най-старата патентована опция за ADC е патентът на Пол М. Рейни, „Факсимилна телеграфна система“, САЩ. Патент 1,608,527, подаден на 20 юли 1921 г., издаден на 30 ноември 1926 г. Това е 5-битов ADC за директно преобразуване. От името на патента идват мисли, че използването на това устройство е било свързано с предаването на данни по телеграф.
Ако говорим за съвременни АЦП на директно преобразуване, те имат следната схема:
Това показва, че входът е верига от сравнителикоито извеждат сигнала си, когато преминат някакъв праг сигнал. Това е битова дълбочина и количествено определяне. Всеки, дори и малко силен в схемата, видя този очевиден факт.
Който не е силен, тогава входната верига работи по този начин:
Аналогов сигнал се подава към входа "+", всички наведнъж. Изходите с обозначението “-” получават референтното напрежение, което се разлага с помощта на верига резистори (съпротивителен делител) в редица референтни напрежения. Например, серия за тази верига изглежда като това съотношение:
Urefi = (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) * Uref
В скоби запетая показва каква част от общото референтно напрежение Uref се подава към входа на всяко входно напрежение.
Т.е. всеки от елементите има два входа, когато входното напрежение е подписано «+» надвишава входното напрежение със знак "-", на изхода му се появява логическа единица. Когато напрежението на положителния (неинвертиращ) вход е по-малко, отколкото на отрицателния (инвертиращ) вход, тогава изходът е нулев.
Напрежението се разделя, така че входното напрежение се разделя на желания брой цифри. Когато напрежението на входа достигне изхода на съответния елемент, се появява сигнал, обработващата верига извежда "правилния" сигнал в цифрова форма.
Такъв сравнител е добър при скорост на обработка на данни, всички елементи на входната верига се задействат паралелно, основното закъснение на този тип ADC се формира от закъснението на 1 сравнител (те се задействат едновременно) и забавянето е енкодер.
Съществува обаче огромен недостатък на паралелни вериги - това е необходимостта от голям брой компаратори за получаване на АЦП с висока разделителна способност. За да получите например 8 цифри, ви трябват 2 ^ 8 сравнителя и това е колкото 256 броя. За десет-битов (в Arduino 10-битов ADC, между другото, но от различен тип), ви трябват 1024 сравнителни. Преценете за себе си целесъобразността на такъв вариант на лечение и къде може да се наложи.
Има и други видове АЦП:
-
последователно приближение;
-
делта сигма ADC.
заключение
Преобразуването на аналогов сигнал в цифров е необходимо за отчитане на параметри от аналогови сензори. Има отделен тип цифрови сензори, те са или интегрални схеми, например DS18b20 - на изхода му вече има цифров сигнал и той може да се обработва от всякакви микроконтролери или микропроцесори без нужда от ADC, или аналогов сензор на платка, който вече има собствен конвертор. Всеки тип сензор има своите плюсове и минуси, като например шумоизолация и грешка в измерването.
Познаването на принципите на преобразуване е необходимо за всички, които работят с микроконтролери, тъй като дори не всяка съвременна система има вградени такива преобразуватели, трябва да използвате външни микросхеми. Например можем да цитираме такава платка, създадена специално за конектора Raspberry PI GPIO с прецизен ADC на ADS1256.
Вижте също на e.imadeself.com
: