Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 04.11.2010, 17:17   #61
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: Помогите настроить АЦП в Atmega32

Сообщение от sergx1300 Посмотреть сообщение
А хватит ли времени, не будут слишком длинные паузы между следующим АЦП преобразованием?
Это уже вам надо посчитать. Псмотрите сколько времени требуется для переключения вывода для отключения int, типо переключение между альтернативными функциями порта(в даташите). Посмотрите время преобразования АЦП, тож вроде есть в даташите. Ну и считайте, сколько всего времени займет это у вас в совокупности.

А по поводу вкл/выкл инт идея не нова, так, например в меге 128 которую сейчас мучил на этот предмет, так в ней АЦП может отключать, все кроме таймеров и нескольких еще блоков, так сказать, чтобы не искажать показания.
Реклама:
Saadov вне форума  
Непрочитано 04.11.2010, 17:32   #62
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Помогите настроить АЦП в Atmega32

инты и по фронту , и по уровню настраиваются
OlegNZH вне форума  
Непрочитано 04.11.2010, 17:36   #63
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Помогите настроить АЦП в Atmega32

Сообщение от Saadov Посмотреть сообщение
так в ней АЦП может отключать
тоесть в меге 128 принудительно отключаться все левое а потом само включается.
sergx1300 вне форума  
Непрочитано 04.11.2010, 17:39   #64
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: Помогите настроить АЦП в Atmega32

Сообщение от sergx1300 Посмотреть сообщение
тоесть в меге 128 принудительно отключаться все левое а потом само включается.
Из даташита)
Цитата:
The ADC Noise Reduction mode stops the CPU and all I/O modules except
Asynchronous Timer and ADC, to minimize switching noise during ADC conversions. In Standby
mode, the Crystal/Resonator Oscillator is running while the rest of the device is sleeping. This
allows very fast start-up combined with low power consumption. In Extended Standby mode,
both the main Oscillator and the Asynchronous Timer continue to run
Saadov вне форума  
Непрочитано 04.11.2010, 17:39   #65
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Помогите настроить АЦП в Atmega32

Сообщение от OlegNZH Посмотреть сообщение
инты и по фронту , и по уровню настраиваются
Да. Но ето к хорошому не проведет, все равно отключать надо
sergx1300 вне форума  
Непрочитано 04.11.2010, 17:43   #66
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: Помогите настроить АЦП в Atmega32

Сообщение от sergx1300 Посмотреть сообщение
тоесть в меге 128 принудительно отключаться все левое а потом само включается.
в дополнение, вдруг кому для развития пригодится
Миниатюры:
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 74
Размер:	261.8 Кб
ID:	14325  
Saadov вне форума  
Непрочитано 04.11.2010, 23:33   #67
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Помогите настроить АЦП в Atmega32

Вопрос:
Если использовать внешнее прерывание по нарастающему фронту, вывод порта как должен быть сконфигурирован: как in или out
sergx1300 вне форума  
Непрочитано 05.11.2010, 01:43   #68
Saadov
Почётный гражданин KAZUS.RU
 
Аватар для Saadov
 
Регистрация: 13.11.2008
Адрес: г.Смоленск
Сообщений: 2,018
Сказал спасибо: 348
Сказали Спасибо 1,024 раз(а) в 552 сообщении(ях)
Saadov на пути к лучшему
По умолчанию Re: Помогите настроить АЦП в Atmega32

Сообщение от sergx1300 Посмотреть сообщение
Вопрос:
Если использовать внешнее прерывание по нарастающему фронту, вывод порта как должен быть сконфигурирован: как in или out
А если логически подумать? Внешнее - "Из вне"
Saadov вне форума  
Непрочитано 05.11.2010, 14:28   #69
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Помогите настроить АЦП в Atmega32

Вот реальная картина импульсов и сигнала на осциллографе. Может кому то интересно.
Миниатюры:
Нажмите на изображение для увеличения
Название: P041110_13.06.jpg
Просмотров: 36
Размер:	898.7 Кб
ID:	14350   Нажмите на изображение для увеличения
Название: P041110_13.06_[01].jpg
Просмотров: 41
Размер:	941.6 Кб
ID:	14351  
sergx1300 вне форума  
Непрочитано 05.11.2010, 14:37   #70
sergx1300
Прописка
 
Аватар для sergx1300
 
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
sergx1300 на пути к лучшему
По умолчанию Re: Помогите настроить АЦП в Atmega32

Настроил инт на выключения перед ацп преобразованием и включение после преобразования. Между выкл/вкл задержка 15 нс. Вот результаты и кусочек кода.

Код:
while(1)
            {
            //printf("777\r\n");
            // INT0: Off
            GICR=0x00; //External Interrupt Request 1 Disable
            MCUCR=0x00; //Interrupt Sense Control 0 Bit 1 and Bit 0
            ADMUX=0b00000000;                //chanel ADC 0
            // Delay needed for the stabilization of the ADC input voltage
            delay_us(delay_adc);
            ADCSRA|=0x40;                    // Start one AD conversion
            while (!(ADCSRA & 0x10));        // Wait for the AD conversion to complete
            adc_0=adc_0+(ADCW››2);
            // INT0 Mode: Rising Edge
            GIFR=0x40;  //External Interrupt Flag
            MCUCR=0x03; //Interrupt Sense Control 0 Bit 1 and Bit 0
            GICR|=0x40; //External Interrupt Request 1 Enable
            delay_us(delay_adc);

            // INT0: Off
            GICR=0x00; //External Interrupt Request 1 Disable
            MCUCR=0x00; //Interrupt Sense Control 0 Bit 1 and Bit 0
            ADMUX=0b00000001;                //chanel ADC 1
            // Delay needed for the stabilization of the ADC input voltage
            delay_us(delay_adc);
            ADCSRA|=0x40;                    // Start one AD conversion (bit 6 to set one)
            while (!(ADCSRA & 0x10));        // Wait for the AD conversion to complete
            adc_1=adc_1+(ADCW››2);
            // INT0 Mode: Rising Edge
            GIFR=0x40;  //External Interrupt Flag
            MCUCR=0x03; //Interrupt Sense Control 0 Bit 1 and Bit 0
            GICR|=0x40; //External Interrupt Request 1 Enable
            delay_us(delay_adc);

            // INT0: Off
            GICR=0x00; //External Interrupt Request 1 Disable
            MCUCR=0x00; //Interrupt Sense Control 0 Bit 1 and Bit 0
            ADMUX=0b00000010;                //chanel ADC 2
            // Delay needed for the stabilization of the ADC input voltage
            delay_us(delay_adc);
            ADCSRA|=0x40;                    // Start one AD conversion (bit 6 to set one)
            while (!(ADCSRA & 0x10));        // Wait for the AD conversion to complete
            adc_2=adc_2+(ADCW››2);
            // INT0 Mode: Rising Edge
            GIFR=0x40;  //External Interrupt Flag
            MCUCR=0x03; //Interrupt Sense Control 0 Bit 1 and Bit 0
            GICR|=0x40; //External Interrupt Request 1 Enable
            delay_us(delay_adc);

            // INT0: Off
            GICR=0x00; //External Interrupt Request 1 Disable
            MCUCR=0x00; //Interrupt Sense Control 0 Bit 1 and Bit 0
            ADMUX=0b00000011;                //chanel ADC 3 
            // Delay needed for the stabilization of the ADC input voltage
            delay_us(delay_adc);
            ADCSRA|=0x40;                    // Start one AD conversion (bit 6 to set one)
            while (!(ADCSRA & 0x10));        // Wait for the AD conversion to complete
            adc_3=adc_3+(ADCW››2);
            // INT0 Mode: Rising Edge
            GIFR=0x40;  //External Interrupt Flag
            MCUCR=0x03; //Interrupt Sense Control 0 Bit 1 and Bit 0
            GICR|=0x40; //External Interrupt Request 1 Enable
            delay_us(delay_adc);

            // INT0: Off
            GICR=0x00; //External Interrupt Request 1 Disable
            MCUCR=0x00; //Interrupt Sense Control 0 Bit 1 and Bit 0
            ADMUX=0b00000100;                //chanel ADC 4
            // Delay needed for the stabilization of the ADC input voltage
            delay_us(delay_adc);
            ADCSRA|=0x40;                    // Start one AD conversion (bit 6 to set one)
            while (!(ADCSRA & 0x10));        // Wait for the AD conversion to complete
            adc_4=adc_4+(ADCW››2);
            // INT0 Mode: Rising Edge
            GIFR=0x40;  //External Interrupt Flag
            MCUCR=0x03; //Interrupt Sense Control 0 Bit 1 and Bit 0
            GICR|=0x40; //External Interrupt Request 1 Enable
            delay_us(delay_adc);

            // INT0: Off
            GICR=0x00; //External Interrupt Request 1 Disable
            MCUCR=0x00; //Interrupt Sense Control 0 Bit 1 and Bit 0
            ADMUX=0b00000101;                //chanel ADC 5
            // Delay needed for the stabilization of the ADC input voltage
            delay_us(delay_adc);
            ADCSRA|=0x40;                    // Start one AD conversion (bit 6 to set one)
            while (!(ADCSRA & 0x10));        // Wait for the AD conversion to complete
            adc_5=adc_5+(ADCW››2);
            n_adc++;
            // INT0 Mode: Rising Edge
            GIFR=0x40;  //External Interrupt Flag
            MCUCR=0x03; //Interrupt Sense Control 0 Bit 1 and Bit 0
            GICR|=0x40; //External Interrupt Request 1 Enable
            delay_us(40);
            }
Миниатюры:
Нажмите на изображение для увеличения
Название: Src05x8.gif
Просмотров: 65
Размер:	72.4 Кб
ID:	14352   Нажмите на изображение для увеличения
Название: Src06x32.gif
Просмотров: 60
Размер:	59.0 Кб
ID:	14353  
sergx1300 вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите чайнику симулировать АЦП прерывание на Proteus - e shatakhian Микроконтроллеры, АЦП, память и т.д 10 14.10.2011 03:26
АЦП помогите разобраться Uragan90 Информация по радиокомпонентам 5 21.09.2010 00:40
АЦП 12-bit + ATMega32 моделирование в Proteus Flash_vrn Proteus 4 22.05.2010 05:20
Помогите найти микросхему АЦП следящего типа vitamin12 Микроконтроллеры, АЦП, память и т.д 2 18.05.2010 22:01
[Решено] Помогите опознать АЦП ? sh2cer Информация по радиокомпонентам 2 08.12.2009 17:12


Часовой пояс GMT +4, время: 20:21.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot