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

 
 
 
Reply to this topicStart new topic
> Как грамотно инсталлировать ADC, Расчет параметров SHTIM, STARTUP, PRESCAL
maug
сообщение Oct 3 2007, 04:17
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 12-04-07
Пользователь №: 26 989



SAM7S256
Как правильно расчитать параметры SHTIM, STARTUP, PRESCAL?
Формулы есть:

PRESCAL - настройка предварительного делителя частоты синхронизации АЦП
Fсинхр=Fmck/((PRESCAL)*2);


STARTUP - время активизации АЦП
Tактивизации = (STARTUP+1)*8/Fсинхр;

SHTIM - время выборки хранения (в-х)
Тв-х=(SHTIM+1)/Fсинхр;

Так вот, что такое и где взять Fсинхр и Тв-х.

PS Исходные данные:
Используется один канал, аппаратный запуск от TIOA (таймер-счетчик TC1) частота выборок 6кГц, используется DMA.
Go to the top of the page
 
+Quote Post
KAlex
сообщение Oct 3 2007, 10:09
Сообщение #2


Местный
***

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



Может примерчик поможет.

/* ADC field definition for the Mode Register: Reminder
TRGEN => Selection bewteen Software or hardware start of conversion
TRGSEL => Relevant if the previous field set a Hardware Triggering Mode
LOWRES => 10-bit result if ths bit is cleared 0
SLEEP => normal mode if ths is cleared
PRESCAL => ADCclock = MCK / [(PRESCAL + 1)*2]
STARTUP => Startup Time = [(STARTUP + 1)*8] / ADCclock
SHTIM => Tracking time = (SHTIM + 1) / ADCclock
*/
#define TRGEN (0x0) // Software triggering
#define TRGSEL (0x0) // Without effect in Software triggering
#define LOWRES (0x1) // 8-bit (0x0) // 10-bit result output format
#define SLEEP (0x0) // Normal Mode (instead of SLEEP Mode)
#define PRESCAL (0x0) //MCK/2 //(0x4) // Max value
#define STARTUP (0x11) // This time period must be higher than 20 µs
#define SHTIM (0x3) // Must be higher than 3 ADC clock cycles but depends on output
// impedance of the analog driver to the ADC input
//*--------------------------------------------------------------------------------------
//*--------------------------------------------------------------------------------------
void ADC_init(void){
AT91F_ADC_SoftReset (AT91C_BASE_ADC);
AT91F_ADC_CfgModeReg (AT91C_BASE_ADC, (SHTIM << 24) | (STARTUP << 16) | (PRESCAL << 8) | (SLEEP << 5) | (LOWRES <<4) | (TRGSEL << 1) | (TRGEN )) ;
AT91F_ADC_EnableChannel (AT91C_BASE_ADC, (1<<CHANNEL4)|(1<<CHANNEL5)|(1<<CHANNEL6)|(1<<CHANNEL7) );
AT91F_ADC_StartConversion (AT91C_BASE_ADC);
}
//*--------------------------------------------------------------------------------------
Go to the top of the page
 
+Quote Post
maug
сообщение Oct 4 2007, 10:03
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 12-04-07
Пользователь №: 26 989



Цитата(KAlex @ Oct 3 2007, 17:09) *
Может примерчик поможет.


Инсталяция ADC сделана и работает, меня интересует, как правильно выбирать параметр частота синхронизации АЦП, время активации, время выборки. На что влияют данные параметры.

Сообщение отредактировал maug - Oct 4 2007, 10:03
Go to the top of the page
 
+Quote Post

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

 


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


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