|
АЦП: 8 выборок последовательно, Обзор микроконтроллеров |
|
|
|
Apr 9 2008, 05:35
|

Знающий
   
Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044

|
Здравствуйте. У 56F8xx-серии микроконтроллеров Freescale имеется 12-разрядная АЦП. АЦП-шка, конечно, дрянь, в том смысле, что если делать однократную выборку, то результат не имеет ничего общего с истиной. Freescale объясняет это влиянием паразитных емкостей во входных цепях. Но они вышли из положения другим способом. У АЦП имеется возможность делать последовательно 8 выборок, при этом под результат каждой имеются свои регистры запоминания. Истинное значение получается уже в двух последних выборках, все остальные можно смело игнорировать. Лично я делаю так: складываю результаты 7 и 8 выборок, делю на 2 и получается результат, по стабильности аналогичный АЦП 12-тактовых 51-х контроллеров. А что может быть стабильнее 12-тактовой 51-й серии? Таким образом, если время одной выборки равно 1/5мгц = 200 нс, то время 8 выборок 200нс*8 = 1,6 мкс. Есть ли у других фирм микроконтроллеры с такими возможностями?
--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
|
|
|
|
|
Apr 9 2008, 08:57
|

Знающий
   
Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044

|
Цитата(Сергей Борщ @ Apr 9 2008, 18:37)  MSP430 - 16 ячеек, для каждой индивидуально указывается номер канала и входы опоры. AT91SAM7 - при чтении через DMA перебирает по кругу все включенные каналы. Количество запомненных результатов ограничивается только размером свободной памяти. Я пропустил: имелся в виду один канал. Последовательно 8 выборок по одному каналу. Здесь смысл в том, что точной оцифровке при одной выборке мешают паразитные влияния, если сделать подряд 8 выборок по одному каналу, то ёмкости по входам успевают зарядиться-разрядиться и мы в последних выборках имеем реальные значения.
--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
|
|
|
|
|
Apr 9 2008, 09:07
|
Профессионал
    
Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528

|
Цитата(repairDV @ Apr 9 2008, 15:50)  Я пропустил: имелся в виду один канал. Последовательно 8 выборок по одному каналу. Для MSP430 с его ADC12 это просто частный случай. Можно запрограммировать выборку с разных аналоговых входов в любом порядке, в том числе и всегда с одного и того-же. Более того, DMA можно заставить пересылать данные из регистров результата АЦП не только в ОЗУ, но и в регистр аппаратного умножителя-сумматора. После старта АЦП останется только дождаться прерывания по окончанию пересылки канала DMA и забрать из умножителя-сумматора готовую сумму всех N отсчётов. update: Что же до зарядки внутренних ёмкостей, то здесь это выглядит несколько иначе. При низкоомном источнике сигнала время выборки для получения 12-разрядной точности порядка 1мкс. Если же у источника внутренне сопротивление большое то совсем не обязательно делать подряд несколько преобразований, можно просто увеличить время выборки, оно программируется в довольно широких пределах ( 4, 8, 16 ... 1024 такта). Вообще, на MSP430 очень интересная периферия, конструкция из таймеров, АЦП, ЦАП, DMA и MAC (умножитель 16*16->32 с сумматором-аккумулятором) позволяет многое делать вообще без участия процессора. К хорошему очень быстро привыкаешь и этой гибкости уже начинает не хватать..
--------------------
Russia est omnis divisa in partes octo.
|
|
|
|
|
Apr 9 2008, 09:44
|

Знающий
   
Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044

|
Цитата(SSerge @ Apr 9 2008, 20:07)  Что же до зарядки внутренних ёмкостей, то здесь это выглядит несколько иначе. При низкоомном источнике сигнала время выборки для получения 12-разрядной точности порядка 1мкс. Если же у источника внутренне сопротивление большое то совсем не обязательно делать подряд несколько преобразований, можно просто увеличить время выборки, оно программируется в довольно широких пределах ( 4, 8, 16 ... 1024 такта). И результат реальный? Если напряжение по входу АЦП постоянное, то меняются ли показания АЦП и на сколько разрядов?
--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
|
|
|
|
|
Apr 9 2008, 10:18
|

Знающий
   
Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044

|
Цитата(Сергей Борщ @ Apr 9 2008, 21:05)  12 бит. Мать честная... А у 56f803 у меня на модели - изредка прыгает только младший разряд.
--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
|
|
|
|
|
Apr 9 2008, 11:54
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(repairDV @ Apr 9 2008, 14:01)  Если делать по одному каналу одну выборку, то показания АЦП скачут где-то в пределах 6 младших разрядов. Так может стоило спросить, какой контроллер с первой же выборки дает правильное значение?  Очень похоже, что у вас не усперает зарядиться конденсатор УВХ. Контроллер не позволяет увеличить время выборки? Цитата(repairDV @ Apr 9 2008, 14:26)  Кстати, этот контроллер я не изучал, сколько тактов кварца в машинном цикле? Один. Но обращение к памяти требует до 6 циклов.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Apr 9 2008, 12:02
|

Знающий
   
Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044

|
Цитата(Сергей Борщ @ Apr 9 2008, 22:54)  Так может стоило спросить, какой контроллер с первой же выборки дает правильное значение?  А я и так знаю. LPC935 Цитата(Сергей Борщ @ Apr 9 2008, 22:54)  Очень похоже, что у вас не усперает зарядиться конденсатор УВХ. Контроллер не позволяет увеличить время выборки? Пытался в пределах требований по работе девайса, но - бесполезно. Здесь же ещё нужно быстродействие. Кстати, есть контроллер однотактовый из 51 серии - 8051F350 Silabs с 24-разрядной АЦП, так там, вроде, как время выборки не увеличивай, всё равно толку нет. Можно смело младшие 8 разрядов игнорировать.
Сообщение отредактировал repairDV - Apr 9 2008, 12:08
--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|