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

 
 
> Непонятки с ADC (AT91SAM7X), Утечка с канала на канал
KAlex
сообщение Sep 11 2009, 07:21
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



VREF - половина питания.
Входы ADC подтянуты к питанию через 51к.
Меряю статический сигнал (опрос кнопок подлюченных по принципу R2R) на 4 канале.
5 канал - только подтяжка, сигнал не подается.

#define TRGEN (0x0)
#define TRGSEL (0x0)
#define LOWRES (0x0)
#define SLEEP (0x0)
#define PRESCAL (0x0)
#define STARTUP (0x11)
#define SHTIM (0x3)
Инициализация:
AT91C_BASE_ADC->ADC_CR = AT91C_ADC_SWRST;
AT91C_BASE_ADC->ADC_MR = (SHTIM << 24) | (STARTUP << 16) | (PRESCAL << 8) | (SLEEP << 5) | (LOWRES <<4) | (TRGSEL << 1) | (TRGEN );
AT91C_BASE_ADC->ADC_CHER = (1<<CHANNEL4)|(1<<CHANNEL5);
AT91C_BASE_ADC->ADC_CR = AT91C_ADC_START;

Считывание в цикле:
while (!( (AT91C_BASE_ADC->ADC_SR & (1<<CHANNEL4)|(1<<CHANNEL5)) == (1<<CHANNEL4)|(1<<CHANNEL5)) );
scan_data4 = AT91C_BASE_ADC->ADC_CDR4;
scan_data5 = AT91C_BASE_ADC->ADC_CDR5;
AT91C_BASE_ADC->ADC_CR = AT91C_ADC_START;

При подаче какого либо уровня на 4 канал изменяется не только scan_data4, но и scan_data5.
т.е. если было 3FF то становится 3FE, 3F0 - младшие глючат.
В чем причина? Еррату смотрел, вроде ничего нет такого.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
aaarrr
сообщение Sep 11 2009, 11:07
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(KAlex @ Sep 11 2009, 11:21) *
В чем причина? Еррату смотрел, вроде ничего нет такого.


Цитата
#define PRESCAL (0x0)

А MCK точно не выше 10MHz? Предельная часта ADCClock для 10 бит режима - 5MHz.

Ну и на это надо обратить внимание:
Цитата
The user can drive ADC input with impedance up to:
• ZOUT ≤ (SHTIM -470) x 10 in 8-bit resolution mode
• ZOUT ≤ (SHTIM -589) x 7.69 in 10-bit resolution mode
Go to the top of the page
 
+Quote Post
KAlex
сообщение Sep 11 2009, 12:06
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(aaarrr @ Sep 11 2009, 15:07) *
А MCK точно не выше 10MHz? Предельная часта ADCClock для 10 бит режима - 5MHz.

Да. Выше.
Сейчас буду проверять.

Спасибо.
Теперь все адекватно заработало.
Go to the top of the page
 
+Quote Post
Calculator
сообщение Sep 18 2009, 07:40
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 19-04-07
Пользователь №: 27 172



Цитата(KAlex @ Sep 11 2009, 13:21) *
VREF - половина питания.

А в этом не может быть проблемы? По даташиту на SAM7X VREF должен быть не менее 2.6 в 10-битном и не менее 2.5 в 8-битном режимах
Go to the top of the page
 
+Quote Post
KAlex
сообщение Sep 21 2009, 07:05
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(Calculator @ Sep 18 2009, 11:40) *
А в этом не может быть проблемы? По даташиту на SAM7X VREF должен быть не менее 2.6 в 10-битном и не менее 2.5 в 8-битном режимах

Не. Все, разобрался. Причина в тактовой была.
Хотя для более точных измерений может и нужно на это внимание обратить. В моем случае(R2R) все и так работает нормально.
Go to the top of the page
 
+Quote Post

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

 


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


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