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

 
 
> АЦП в LPC1768
Allregia
сообщение Aug 18 2011, 09:31
Сообщение #1


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

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



возникала непонятка с burst режимом в LPC1768:
включен 1 вход, подключенный к потенциометру, данные с его регистра рещультата переписываются в ЦАП.
Кручу потенциометр и смотрю осциллографом выход ЦАПа - там все меняется о 0 до 3в, но - периодически проскакивают ипульсы, то вверх то вниз, колеблящейся амплитуды, доходящей до 0 и до питания.
Если ставлю потенциометр в 0, то на выходе ЦАПа ноль, с положительными импульсами, если ставлю потенциометр в макс - на вхыоде 3в и импульсами до нуля (не всегда. амплитуд дрожит).
Длительность импульсов около 8мкс.
Про работает на 100мгц, частота периферии вся 1/4. В программе работает только прерывание SysTick и мертвый цикл в мейне:
Код такой:
Код
//------------------------------------------------------------------------------
void ADC_Init (void) {

  LPC_PINCON->PINSEL3 &= ~(3UL<<30);               /* P1.31 is GPIO */
  LPC_PINCON->PINSEL3 |=  (3UL<<30);               /* P1.31 is AD0.5 */

  LPC_SC->PCONP       |=  (1<<12);               /* Enable power to ADC block */

  LPC_ADC->ADCR        =  (1<< 5) |              /* select AD0.5 pin */
                                    (4<< 8) |              /* ADC clock is 25MHz */
                                    (1<<16) |              // burst  mode
                                    (1<<21);               /* enable ADC */
}
//--------------------------------------------------------------------------------
void DAC_Init(void){
      LPC_PINCON->PINSEL1 |= (2UL<<20);    /* set p0.26 to DAC output */  
      LPC_DAC->DACCTRL |=(1<<1); // dowble buffer  
}
//--------------------------------------------------------------------------------
int main(void){
  if (SysTick_Config(SystemCoreClock / 1000)) { // Setup SysTick Timer for 1 msec interrupts  
    while (1);                                  // Capture error
  }
  
  halPORTS_Config(); // конфигурирование портов
  DAC_Init();
  ADC_Init();
  while(1){
    LPC_DAC->DACR = 0xFFC0 & LPC_ADC->ADDR5;
  }
}


Да, в периоде этих пичков я никакой закономерности не увидел.
Проблема точно в АЦП, т.к. если я просто постоянно пишщу в ЦАП констанку, то на выходе пичков нет.
Возможно это из-за асинхронного (по сравнению с конверсией) чтения регистра результата АЦП, но тогда я не очень понимаю как барст должен работать. Я полагал что его можно читать в произвольный момент времени.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Allregia   АЦП в LPC1768   Aug 18 2011, 09:31
- - scifi   Кажется, это уже обсуждалось: треск АЦП LPC1768.   Aug 18 2011, 09:40
- - Allregia   Барст оказался не причем: когда я его убрал (не ус...   Aug 18 2011, 10:02
- - Allregia   Чтобы убрать эти глитчи, написал вот такой медианн...   Aug 19 2011, 10:42
- - Allregia   Народ, ну помогите-же кто-нибудь! простой код...   Aug 21 2011, 11:40
- - Allregia   В итоге, решили от LPC1768 в окончательной версии ...   Aug 23 2011, 05:17
- - Porty   опыт показал что это ошибка внутреннего устройства...   Aug 23 2011, 10:51
- - Allregia   ЦитатаТак же можно было изменять режимы работы ADC...   Aug 23 2011, 11:15
- - Porty   насчёт стабильности у LPC1768 проблемы не только с...   Aug 23 2011, 12:12
- - Allregia   Да, я уже понял что этот проц какой-то недоделанны...   Aug 26 2011, 17:08
|- - HARMHARM   Цитата(Allregia @ Aug 26 2011, 20:08) Да,...   Aug 28 2011, 18:59
- - Axel   LPC1778 тоже вроде не глючит (в смысле АЦП)...   Sep 13 2011, 07:57
|- - HARMHARM   Цитата(Axel @ Sep 13 2011, 10:57) LPC1778...   Sep 18 2011, 14:51
|- - Altemir   Цитата(HARMHARM @ Sep 18 2011, 18:51) Воз...   Jan 18 2012, 21:33
- - Alechek   А где сентябрьская? на сайте вижу ЦитатаEnglish...   Sep 19 2011, 12:44
- - HARMHARM   Нашел случайно через гугль тут.   Sep 19 2011, 14:45


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

 


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


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