|
АЦП в ATMega8: 8 бит или 10 бит?, Загадка в АЦП ATMega8 (ADC5) |
|
|
|
Mar 18 2007, 19:35
|
Участник

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

|
При использовании АЦП в микроконтроллере ATMega8 была замечена одна интересная особенность. По официальным справочным данным в корпусе DIP микроконтроллер имеет два канала АЦП с разрешением 8 бит (ADC4 и ADC5) и четыре канала с разрешением 10 бит (ADC0...ADC3). Использовался канал ADC5. При считываении данных из регистра ADC в выбранном канале значение менялось от 0 до 1023(!!!), что эквивалентно разрешению 10 бит. Возник вопрос: как это обьяснить?
|
|
|
|
|
Mar 18 2007, 20:52
|
дятел
    
Группа: Свой
Сообщений: 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бит и время на считывание сэкономите
|
|
|
|
|
Mar 18 2007, 22:21
|

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 кГц клока ацп. Работают люди(:-). Объяснений можно дать много, но скорее всего у вас канал висел в воздухе, и вы оцифровывали наводку.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Mar 19 2007, 23:28
|
Участник

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

|
Цитата(=GM= @ Mar 18 2007, 21:21)  Объяснений можно дать много, но скорее всего у вас канал висел в воздухе, и вы оцифровывали наводку. Я, наверное, не совсем понятно обрисовал ситуацию, но вывод в воздухе конечно же не висел - на него подавалось калиброванное напряжение, что и контролировалось с помощью АЦП. Цитата Очень просто - младшим двум битам верить нельзя. Т.е. их достоверность Атмел не гарантирует, в них скорее всего шум. Вероятно, так оно и есть, измерения особой точностью не блещут, но я правда не ставил режим шумопонижения и фильтры в цепях опорного напряжения. Цитата Вы не совсем точно перевели даташит. Разрешение всех каналов составляет 10 бит. Но в DIP корпусе точность не гарантируется более 8 бит Я являюсь обладателем справочника А.В. Евстифеева "Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel", где в принципе и написано, цитирую: "... Кроме того, во всех моделях ATMega8x два канала (ADC4 и ADC5) являются 8-разрядными." Даташит на английском я тоже имею, но и в нем ничего путевого не нашел.
|
|
|
|
|
Mar 20 2007, 22:22
|
Участник

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

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

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

|
Цитата(Sminder @ Mar 20 2007, 19:22)  Извиняюсь, я был неправ. Действительно, просмотрев версию мануала ревизии Р (раньше была Н), я убедился, что все каналы АЦП 10-разрядные. Да уже версия Q есть, октябрь 2006, полгода прошло, что ж вы всё старые качаете(:-).
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Apr 23 2007, 12:34
|

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

|
Цитата во всех моделях ATMega8x два канала (ADC4 и ADC5) являются 8-разрядными там наверно имеется ввиду не буквальная 8-разрядность, а точность измерения по этим каналам (измерение проходит в нормальном 10-битном режиме, но младшие 2 разряда должны прыгать), возможно связано это с совмещением этих выводов с TWI. Хотя я не заметил существенной разницы между этими и другими каналами АЦП, наверно в более новых кристаллах переразвели аналоговую часть.
|
|
|
|
|
Apr 23 2007, 15:59
|

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

|
Цитата(defunct @ Apr 23 2007, 13:51)  Если под "путевым" имеется в виду та чушь из справочника А.В. Евстифеева, то вы ее там не найдете потому что в даташите ее нет...
В даташите есть достоверная инфа про конкретный чип, его просто надо читать, а не картинки рассматривать... Та ну, не стоит так набрасываться, и на Евстифеева в том числе. Было такое дело, 6+2 или 4+2 каналов, два из которых позиционировались как 8-битной точности. Именно в дейташите. Правда, древнем.  Могу ревизию указать, поскольку и антиквариат храню  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. В более поздних ревизиях дейташитов это упоминание было изъято. Хотя бит, как ни странно, работает.  Вот такие пироги.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|