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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> АЦП в ATMega8: 8 бит или 10 бит?, Загадка в АЦП ATMega8 (ADC5)
Sminder
сообщение Mar 18 2007, 19:35
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



При использовании АЦП в микроконтроллере ATMega8 была замечена одна интересная особенность. По официальным справочным данным в корпусе DIP микроконтроллер имеет два канала АЦП с разрешением 8 бит (ADC4 и ADC5) и четыре канала с разрешением 10 бит (ADC0...ADC3). Использовался канал ADC5. При считываении данных из регистра ADC в выбранном канале значение менялось от 0 до 1023(!!!), что эквивалентно разрешению 10 бит. Возник вопрос: как это обьяснить?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 18 2007, 19:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Sminder @ Mar 18 2007, 20:35) *
При использовании АЦП в микроконтроллере ATMega8 была замечена одна интересная особенность. По официальным справочным данным в корпусе DIP микроконтроллер имеет два канала АЦП с разрешением 8 бит (ADC4 и ADC5) и четыре канала с разрешением 10 бит (ADC0...ADC3). Использовался канал ADC5. При считываении данных из регистра ADC в выбранном канале значение менялось от 0 до 1023(!!!), что эквивалентно разрешению 10 бит. Возник вопрос: как это обьяснить?


Вы не совсем точно перевели даташит. Разрешение всех каналов составляет 10 бит. Но в DIP корпусе точность не гарантируется более 8 бит.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 18 2007, 19:44
Сообщение #3


Гуру
******

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



Цитата(Sminder @ Mar 18 2007, 18:35) *
При считываении данных из регистра ADC в выбранном канале значение менялось от 0 до 1023(!!!), что эквивалентно разрешению 10 бит. Возник вопрос: как это обьяснить?
Очень просто - младшим двум битам верить нельзя. Т.е. их достоверность Атмел не гарантирует, в них скорее всего шум.


--------------------
На любой вопрос даю любой ответ
"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
singlskv
сообщение Mar 18 2007, 20:52
Сообщение #4


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Sminder @ Mar 18 2007, 19:35) *
При использовании АЦП в микроконтроллере ATMega8 была замечена одна интересная особенность. По официальным справочным данным в корпусе DIP микроконтроллер имеет два канала АЦП с разрешением 8 бит (ADC4 и ADC5) и четыре канала с разрешением 10 бит (ADC0...ADC3). Использовался канал ADC5. При считываении данных из регистра ADC в выбранном канале значение менялось от 0 до 1023(!!!), что эквивалентно разрешению 10 бит. Возник вопрос: как это обьяснить?


Чтобы считывать только 8бит из ADC установите бит ADLAR в ADMUX
и читайте только регистр ADCH, получите 8бит и время на считывание
сэкономите
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 18 2007, 22:21
Сообщение #5


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Sminder @ Mar 18 2007, 16:35) *
При использовании АЦП в микроконтроллере ATMega8 была замечена одна интересная особенность. По официальным справочным данным в корпусе DIP микроконтроллер имеет два канала АЦП с разрешением 8 бит (ADC4 и ADC5) и четыре канала с разрешением 10 бит (ADC0...ADC3). Использовался канал ADC5. При считываении данных из регистра ADC в выбранном канале значение менялось от 0 до 1023(!!!), что эквивалентно разрешению 10 бит. Возник вопрос: как это обьяснить?

Такое было в описаниях до версии М включительно, однако, начиная с версии N, все каналы имеют одинаковую разрядность и одинаковую абсолютную точность НЕЗАВИСИМО от типа корпуса. 1.75 lsb при 200 кГц клока и 3 lsb при 1000 кГц клока ацп. Работают люди(:-).

Объяснений можно дать много, но скорее всего у вас канал висел в воздухе, и вы оцифровывали наводку.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Sminder
сообщение Mar 19 2007, 23:28
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



Цитата(=GM= @ Mar 18 2007, 21:21) *
Объяснений можно дать много, но скорее всего у вас канал висел в воздухе, и вы оцифровывали наводку.

Я, наверное, не совсем понятно обрисовал ситуацию, но вывод в воздухе конечно же не висел - на него подавалось калиброванное напряжение, что и контролировалось с помощью АЦП.
Цитата
Очень просто - младшим двум битам верить нельзя. Т.е. их достоверность Атмел не гарантирует, в них скорее всего шум.

Вероятно, так оно и есть, измерения особой точностью не блещут, но я правда не ставил режим шумопонижения и фильтры в цепях опорного напряжения.
Цитата
Вы не совсем точно перевели даташит. Разрешение всех каналов составляет 10 бит. Но в DIP корпусе точность не гарантируется более 8 бит

Я являюсь обладателем справочника А.В. Евстифеева "Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel", где в принципе и написано, цитирую: "... Кроме того, во всех моделях ATMega8x два канала (ADC4 и ADC5) являются 8-разрядными." Даташит на английском я тоже имею, но и в нем ничего путевого не нашел.
Go to the top of the page
 
+Quote Post
arttab
сообщение Mar 20 2007, 05:43
Сообщение #7


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Верить надо даташитам на ту версию мк на которую хотите узнать. Книги фиксируют актуальность на момент редакции. Вы же не ищите современные элементы по старым справочникам.

Цитата(=GM= @ Mar 19 2007, 01:21) *
Такое было в описаниях до версии М включительно, однако, начиная с версии N, все каналы имеют одинаковую разрядность и одинаковую абсолютную точность НЕЗАВИСИМО от типа корпуса. 1.75 lsb при 200 кГц клока и 3 lsb при 1000 кГц клока ацп. Работают люди(:-).


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
Sminder
сообщение Mar 20 2007, 22:22
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



Извиняюсь, я был неправ. Действительно, просмотрев версию мануала ревизии Р (раньше была Н), я убедился, что все каналы АЦП 10-разрядные.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 21 2007, 01:09
Сообщение #9


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Sminder @ Mar 20 2007, 19:22) *
Извиняюсь, я был неправ. Действительно, просмотрев версию мануала ревизии Р (раньше была Н), я убедился, что все каналы АЦП 10-разрядные.

Да уже версия Q есть, октябрь 2006, полгода прошло, что ж вы всё старые качаете(:-).


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
arttab
сообщение Mar 21 2007, 10:31
Сообщение #10


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

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



а если документ с историей изменений? что то не попадался мне такой.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 21 2007, 20:06
Сообщение #11


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(arttab @ Mar 21 2007, 07:31) *
а есть ли документ с историей изменений? что то не попадался мне такой.

Конечно, раздел называется Datasheet Revision History. Стр. 297 упоминавшейся версии Q.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
umup
сообщение Apr 23 2007, 12:34
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



Цитата
во всех моделях ATMega8x два канала (ADC4 и ADC5) являются 8-разрядными


там наверно имеется ввиду не буквальная 8-разрядность, а точность измерения по этим каналам (измерение проходит в нормальном 10-битном режиме, но младшие 2 разряда должны прыгать), возможно связано это с совмещением этих выводов с TWI. Хотя я не заметил существенной разницы между этими и другими каналами АЦП, наверно в более новых кристаллах переразвели аналоговую часть.
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 23 2007, 13:51
Сообщение #13


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Sminder @ Mar 19 2007, 22:28) *
канала (ADC4 и ADC5) являются 8-разрядными." Даташит на английском я тоже имею, но и в нем ничего путевого не нашел.

Если под "путевым" имеется в виду та чушь из справочника А.В. Евстифеева, то вы ее там не найдете потому что в даташите ее нет...

В даташите есть достоверная инфа про конкретный чип, его просто надо читать, а не картинки рассматривать...
Go to the top of the page
 
+Quote Post
kv_addr
сообщение Apr 23 2007, 15:59
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-07-04
Из: Полтава
Пользователь №: 279



Цитата(defunct @ Apr 23 2007, 13:51) *
Если под "путевым" имеется в виду та чушь из справочника А.В. Евстифеева, то вы ее там не найдете потому что в даташите ее нет...

В даташите есть достоверная инфа про конкретный чип, его просто надо читать, а не картинки рассматривать...

Та ну, не стоит так набрасываться, и на Евстифеева в том числе. Было такое дело, 6+2 или 4+2 каналов, два из которых позиционировались как 8-битной точности. Именно в дейташите. Правда, древнем. wink.gif Могу ревизию указать, поскольку и антиквариат храню wink.gif Rev. 2486I–AVR–12/02.

А что Евсифеев, он тоже ведь мог оным дейташитом пользоваться, просто на момент написания книги более новых не существовало.

Мало того, в старом дейташите есть упоминание об одном хитром бите регистра SFIOR. Это - Bit 4 – ADHSM: ADC High Speed Mode. Вот что о нем написано: Writing this bit to one enables the ADC High Speed mode. This mode enables higher conversion rate at the expense of higher power consumption. В более поздних ревизиях дейташитов это упоминание было изъято. Хотя бит, как ни странно, работает. wink.gif

Вот такие пироги.
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 23 2007, 16:04
Сообщение #15


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(kv_addr @ Apr 23 2007, 14:59) *
Вот такие пироги.

Извиняюсь погорячился.. Понедельник - день тяжелый ;>
А ДШ свежий желательно иметь всегда, особливо когда возникают спорные вопросы.
Go to the top of the page
 
+Quote Post

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

 


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


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