|
Ацп в mege32, замер напруги с двух входов |
|
|
|
 |
Ответов
|
May 20 2007, 21:51
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(defunct @ May 20 2007, 19:15)  После переключения канала, необходимо сделать одно холостое измерение. Где это написано в даташите ? Цитата На время "холостого" измерения включайте АЦП с предделителем 0, чтобы измерение проходило максимально быстро. Следующее измерение делайте с нормальными настройками предделителя. И чем это поможет ? "Запоминающий" конденсатор перезарядится ? А если сигнал быстро меняющийся ? А если измерения происходят один раз в сек/мин/час я тоже должен для получения нужной точности делать холостое измерение ??? На самом деле меня этот вопрос очень интересует, но к сожалению я ни разу еще не видел в комплексе, схемы подключения + программы в которых происходит так называемое "перетекание" из канала в канал. Если у кого-то такое есть, приведите схему включения + прогу(все что касается данных с АЦП)
|
|
|
|
|
May 20 2007, 22:17
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(singlskv @ May 20 2007, 23:51)  Где это написано в даташите ? In Free Running mode, always select the channel before starting the first conversion. The channel selection may be changed one ADC clock cycle after writing one to ADSC. However, the simplest method is to wait for the first conversion to complete, and then change the channel selection. Since the next conversion has already started automatically, the next result will reflect the previous channel selection. Subsequent conversions will reflect the new channel selection. Сценарий программы где перетекание обязательно будет присутствовать (по схеме - будем считать что все рекомендациям ДШ учтены): void Timer_ISR(void) { // Выбор канала // Запуск АЦП в free running mode (SFIOR == 0) } void ADC_ISR(void) { // чтение АЦП // если не последний канал // то смена канала и запуск АЦП // обработка текущего рез-тата }
|
|
|
|
|
May 20 2007, 22:44
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(defunct @ May 21 2007, 02:17)  In Free Running mode, always select the channel before starting the first conversion. The channel selection may be changed one ADC clock cycle after writing one to ADSC. However, the simplest method is to wait for the first conversion to complete, and then change the channel selection. Since the next conversion has already started automatically, the next result will reflect the previous channel selection. Цитата(defunct @ May 21 2007, 02:17)  In Free Running mode, always select the channel before starting the first conversion. The channel selection may be changed one ADC clock cycle after writing one to ADSC. However, the simplest method is to wait for the first conversion to complete, and then change the channel selection. Since the next conversion has already started automatically, the next result will reflect the previous channel selection. Ну и где здесь написано что первое преобразование будет неверным ? ИМХО, здесь всего лишь написанно что если будет ошибка с моментом выбора следующего канала, то вероятно, будет "оцифрован" не тот канал...
|
|
|
|
|
May 20 2007, 22:56
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(singlskv @ May 21 2007, 00:44)  Ну и где здесь написано что первое преобразование будет неверным ? Since the next conversion has already started automatically, the next result will reflect the previous channel selection. Subsequent conversions will reflect the new channel selection. -- Т.к. следующее измерение уже было автоматически запущено - следующий результат будет отображать старый канал. Последующие преобразования будут относиться к новому каналу. Цитата ИМХО, здесь всего лишь написанно что если будет ошибка с моментом выбора следующего канала, то вероятно, будет "оцифрован" не тот канал... Нет, об ошибках там не сказано.. Там сказано, что если АЦП не выключать (ADEN = 0), то однозначно первый результат после переключения будет со старого канала, последующие - уже с нового канала. Это справедливо по крайней мере для m16/m32. Про ошибки Single conversion mode, в ДШ ничего не сказано, но они есть. Или отключать АЦП - менять канал - потом включать, или пропускать одно измерение, или .. обрабатывать со сдвигом..
|
|
|
|
|
May 20 2007, 23:15
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(defunct @ May 21 2007, 02:56)  Since the next conversion has already started automatically, the next result will reflect the previous channel selection. Subsequent conversions will reflect the new channel selection. -- Т.к. следующее измерение уже было автоматически запущено - следующий результат будет отображать старый канал. Последующие преобразования будут относиться к новому каналу. Нет, ни о каких ошибках там не сказано.. И там также не сказано "вероятно". Там сказано что однозначно первый результат после переключения будет со старого канала, следущий результат - уже с нового канала.
Или отключать АЦП - менять канал - потом включать, или пропускать одно измерение, или .. обрабатывать со сдвигом.. Вы просто не очень хорошо понимаете как происходит преобразование в АЦП и в АЦП AVR в часности, АЦП последовательных приблежений с точки зрения MCU это всего лишь таймер который запускает определенные действия в определенный моменты времени То что Вы указали в переводе из даташита, говорит лишь о том что время выбора нового канала было выбрано неправильно Попробуйте понять работу АЦП как некоторый таймер, со своим предделителем, и при этом нужно иметь в виду что этот таймер/делитель начинает работать в момент когда Вы сказали ADEN...
|
|
|
|
Сообщений в этой теме
Чип-Хрум Ацп в mege32 May 20 2007, 15:07      defunct Цитата(singlskv @ May 21 2007, 01:15) Вы ... May 20 2007, 23:53       Dopler Цитата(defunct @ May 21 2007, 03:53)
Ав... May 21 2007, 05:17 singlskv Цитата(defunct @ May 21 2007, 03:53) Нет,... May 21 2007, 07:49 defunct Цитата(singlskv @ May 21 2007, 09:49) The... May 21 2007, 10:28  singlskv ЦитатаНет, ADEN просто "подключает" пита... May 21 2007, 13:27
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|