реклама на сайте
подробности

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


Знающий
****

Группа: Свой
Сообщений: 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 мкс.
Есть ли у других фирм микроконтроллеры с такими возможностями?


--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Apr 9 2008, 07:37
Сообщение #2


Гуру
******

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



Цитата(repairDV @ Apr 9 2008, 08:35) *
Есть ли у других фирм микроконтроллеры с такими возможностями?
Из тех, с которыми я работал: MSP430 - 16 ячеек, для каждой индивидуально указывается номер канала и входы опоры. AT91SAM7 - при чтении через DMA перебирает по кругу все включенные каналы. Количество запомненных результатов ограничивается только размером свободной памяти.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
repairDV
сообщение Apr 9 2008, 08:57
Сообщение #3


Знающий
****

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



Цитата(Сергей Борщ @ Apr 9 2008, 18:37) *
MSP430 - 16 ячеек, для каждой индивидуально указывается номер канала и входы опоры. AT91SAM7 - при чтении через DMA перебирает по кругу все включенные каналы. Количество запомненных результатов ограничивается только размером свободной памяти.

Я пропустил: имелся в виду один канал. Последовательно 8 выборок по одному каналу.

Здесь смысл в том, что точной оцифровке при одной выборке мешают паразитные влияния, если сделать подряд 8 выборок по одному каналу, то ёмкости по входам успевают зарядиться-разрядиться и мы в последних выборках имеем реальные значения.


--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
Go to the top of the page
 
+Quote Post
SSerge
сообщение Apr 9 2008, 09:07
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 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 с сумматором-аккумулятором) позволяет многое делать вообще без участия процессора. К хорошему очень быстро привыкаешь и этой гибкости уже начинает не хватать.. smile.gif


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- repairDV   АЦП: 8 выборок последовательно   Apr 9 2008, 05:35
|- - repairDV   Цитата(SSerge @ Apr 9 2008, 20:07) Что же...   Apr 9 2008, 09:44
|- - Сергей Борщ   Цитата(repairDV @ Apr 9 2008, 12:44) Если...   Apr 9 2008, 10:05
|- - repairDV   Цитата(Сергей Борщ @ Apr 9 2008, 21:05) 1...   Apr 9 2008, 10:18
|- - MrYuran   Цитата(repairDV @ Apr 9 2008, 13:18) Мать...   Apr 9 2008, 10:41
|- - Сергей Борщ   Цитата(repairDV @ Apr 9 2008, 13:18) А у ...   Apr 9 2008, 10:45
- - SSerge   TMS320F28xx из доки на TMS320F28044: · 12-bit ADC...   Apr 9 2008, 08:46
- - repairDV   Нет, опрос в цикле идёт по одному каналу. Делается...   Apr 9 2008, 11:01
|- - Сергей Борщ   Цитата(repairDV @ Apr 9 2008, 14:01) Если...   Apr 9 2008, 11:54
|- - repairDV   Цитата(Сергей Борщ @ Apr 9 2008, 22:54) Т...   Apr 9 2008, 12:02
- - SSerge   У меня на MSP430 было такое, что результаты АЦП за...   Apr 9 2008, 11:20
|- - repairDV   Цитата(SSerge @ Apr 9 2008, 22:20) Оказал...   Apr 9 2008, 11:26
- - mdmitry   Использовал MC56F8346. 14 каналов АЦП в работе, то...   Apr 9 2008, 19:14
|- - repairDV   Цитата(mdmitry @ Apr 10 2008, 06:14) Испо...   Apr 10 2008, 10:44
- - mdmitry   VDDA_OSC_PLL ПОДКЛЮЧЕН на питание через отдельный ...   Apr 10 2008, 11:25
- - repairDV   Спасибо. Ладно, будем думать дальше. Пока жду КИТы...   Apr 10 2008, 11:58


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 04:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016