|
Atmega8535 АЦП, Не могу разобраться с частотой дискретизации |
|
|
|
Jun 24 2007, 21:18
|
Участник

Группа: Новичок
Сообщений: 57
Регистрация: 31-07-06
Пользователь №: 19 217

|
По описанию 200кГц частоты, подаваемой на АЦП, должно соответствовать 15 кГц дискретизации при 10 битах разрядности. При моих 8МГц это примерно соответствует делителю 32. Далее имеется фраза, о том, что, если требуется большая дискретизация, то можно поднять частоту, подаваемую на АЦП, и при этом разрядность уменьшится.
Мне требуется частота дискретизации порядка 30кГц и разрядность все 10 бит. Если я уменьшу делитель до 16, к чему это может привести?
|
|
|
|
|
Jun 25 2007, 10:34
|
Участник

Группа: Свой
Сообщений: 71
Регистрация: 7-07-06
Из: Новосибирск
Пользователь №: 18 652

|
Цитата(Dimmy @ Jun 25 2007, 15:31)  Приведет к ухудшению точности. Смотрим doc2502.pdf страница 263 таблица 114: Absolute Accuracy (Single Ended Conversion VREF = 4V, VCC = 4V ADC clock = 1 MHz) 3 LSB, т.е. от 10-битного АЦП останется 7 бит... Она и при 200 кГц около 1,5 LSB. Читаем далее: Clock Frequency (min)50 (max)200 kHz. Вывод - не ст'оит (ударение на 1 слог) это делать. Ну во-первых, где там написано, что максимум 200кГц? У меня в 2502K для Single channel указано 1000 кГц. Для дифференциала 200кГц, но вопрос же не о нем. По поводу 10бит-3LSB=7 бит. Немного не так - 10бит- 8LSB=7 бит, а так лучше 8-ми разрядов получается для 1МГц ADCclk и всего в 2 раза хуже, чем для 200 кГц. Для 250кГц результат вообще будет мало отличаться от результата для 200кГц. К слову сказать, АЦП в 8535 раза в 1.5 лучше, чем, скажем, в mega88.
|
|
|
|
|
Jun 25 2007, 11:36
|
Участник

Группа: Новичок
Сообщений: 57
Регистрация: 31-07-06
Пользователь №: 19 217

|
Спасибо за помощь. Наверное ночью программировать плохо - сильно тупишь  . Смотрел описание ADC и не сообразил посмотреть в характеристиках на 263 стр. Мне требуется опрашивать 3 вывода на частоте 10кГц. После этого я дополнительно усредняю полученные результаты по 10 точкам. Правильно я понимаю, что 3LSB усредненные по 10 точка дадут в итоге 0,9 LSB? Существует зависимость точности от частоты ADC или она линейная и можно рассчитать исходя из крайних точек?
|
|
|
|
|
Jun 25 2007, 18:38
|

За битами по регистрам гоняюсь
  
Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446

|
Цитата(Dmitriy_V @ Jun 25 2007, 15:36)  ...Мне требуется опрашивать 3 вывода на частоте 10кГц... Это на каждом выводе по 10? Тогда вам нужно будет учитывать то, что после смены канала потребуется время для установления напряжения в УВХ АЦП. (Как правило делается одно холостое преобразование).
--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
|
|
|
|
|
Jun 25 2007, 20:03
|
Участник

Группа: Новичок
Сообщений: 57
Регистрация: 31-07-06
Пользователь №: 19 217

|
Цитата(Nanobyte @ Jun 25 2007, 22:38)  Это на каждом выводе по 10? Тогда вам нужно будет учитывать то, что после смены канала потребуется время для установления напряжения в УВХ АЦП. (Как правило делается одно холостое преобразование). В том то и проблема, что на каждом по 10кГц требуется. АЦП я запускаю вручную и по завершении преобразования в прерывании переключаю канал. Пока поставил частоту для АЦП 1МГц, что соответствует частоте преобразования 76кГц. С учетом частоты опроса 30кГц на переключение и установление напряжения остается половина времени, т.е. 16мкс. По схеме на странице 215 можно сделать вывод, что за это время внутренняя емкость должна без проблем зарядиться. Основной вопрос в том, какие на такой частоте возникнут ошибки в АЦП? Если ошибки случайные (шум), то последующее усреднение уменьшит их влияние. А вот если систематические, то тогда придется придумывать другие алгоритмы обработки.
|
|
|
|
|
Jun 25 2007, 20:55
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Dmitriy_V @ Jun 26 2007, 00:03)  Пока поставил частоту для АЦП 1МГц, что соответствует частоте преобразования 76кГц. С учетом частоты опроса 30кГц на переключение и установление напряжения остается половина времени, т.е. 16мкс. По схеме на странице 215 можно сделать вывод, что за это время внутренняя емкость должна без проблем зарядиться. Нету у Вас этого половина времени. Сигнал будет подключаться к измерительному конденсатору только на время не более чем 1,5 такта ADC. Так что если хотите получить более менее правильное значение то входной сигнал должен быть низкоомным (ну или пользуемся операционником).
|
|
|
|
|
Jun 25 2007, 21:05
|
Участник

Группа: Новичок
Сообщений: 57
Регистрация: 31-07-06
Пользователь №: 19 217

|
Цитата(Dimmy @ Jun 25 2007, 23:52)  To Dmitriy_V: пытаетесь управлять 3-х фазной нагрузкой ? Если так - то уж лучше попробовать AT90PWM3. Нет. 3 системы регулировки для прибора. Кроме того, этот микроконтроллер одобрен к применению в военной технике, а остальные нет. Если бы не специфическое применение, то давно бы уже взял другой микроконтоллер. До этого работал с С8051А320, так, у него 200кГц АЦП на 10 разрядов при (+-1LSB) и 25MIPS-ов на встроенном RC генераторе + usb + встроенный ИОН с нестабильностью по напряжению питания 0.014%/В и температурной 0.0015%/0C(по 8535 не смог найти характеристик ИОН). Ладно, заканчиваю оплакивать прошлый МК, приходится работать с этим (8535).
|
|
|
|
|
Jun 25 2007, 21:32
|
Участник

Группа: Новичок
Сообщений: 57
Регистрация: 31-07-06
Пользователь №: 19 217

|
Цитата(singlskv @ Jun 26 2007, 00:55)  Нету у Вас этого половина времени. Сигнал будет подключаться к измерительному конденсатору только на время не более чем 1,5 такта ADC. Так что если хотите получить более менее правильное значение то входной сигнал должен быть низкоомным (ну или пользуемся операционником). Откуда такая информация? На сколько я понял, заряжать этот конденсатор после переключения канала я могу сколь угодно долго. А вот после запуска АЦП он отсоединяется от вывода. Выход у меня и так идет с операционника. Практически любая аналоговая измерительная схема требует усилительных каскадов. Еще вопрос по поводу АЦП. Сейчас у меня следующая схема опроса: 1. Таймер запускает преобразование с частотой 30кГц (частота дискретизации АЦП 70кГц). 2. По окончанию преобразования я переключаю канал. 3. От времени переключения до времени следующего запуска проходит 16мкс. В этой схеме сильно нервирует прерывание от АЦП. В описании есть строчка по поводу того, что если преключение канала производить в процессе преобразования, то переключение не произойдет до тех пор, пока преобразование не завершится. Если после установки флага начала преобразования сразу переключить канал, то это будет означать, что после преобразования он переключится? Или эта фраза означает, что я должен повторно переключить канал после преобразования, а до этого времени любая запись в ADMUX игнорируется?
|
|
|
|
|
Jun 25 2007, 21:51
|
Участник

Группа: Новичок
Сообщений: 57
Регистрация: 31-07-06
Пользователь №: 19 217

|
Цитата(Dimmy @ Jun 26 2007, 01:22)  Странный выбор контроллера для военки... По поводу ИОН - действительно мало инфы. немного - на стр. 41, потом в конце в таблицах: VINT - Internal Voltage Reference Min=2.3 Typ=2.56 Max=2.7 V RREF - Reference Input Resistance 32 kΩ От себя добавлю - разброс довольно большой. От экземпляра к экземпляру - от мин до макс. Другого не нашел.  А какой посоветуете? Необходимы встроенные АЦП (не менее 10 бит), ШИМ (не менее 10 бит), встроенный UART, минимум навесных элементов (в данном случае нет вообще), приемлемая цена, простота пайки, разрешение к применению в военной технике. Задача на уровне аналоговой схемы стабилизации по трем каналам с возможностью быстрого изменения постоянной времени по каждому каналу в отдельности и синхронным детектором. Задавал вопрос в форуме по поводу микроконтроллеров, выпускаемых в РФ: См. здесьРазброс не страшен. В конце концов, все параметры стабилизации зашиваются после калибровки. Больше беспокоят зависимости от температуры и напряжения питания.
|
|
|
|
|
Jun 25 2007, 21:52
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Dmitriy_V @ Jun 26 2007, 01:32)  Если после установки флага начала преобразования сразу переключить канал, то это будет означать, что после преобразования он переключится? Нет, все происходит немного не так  Выставив флаг запуска преобразования Вы всего лишь сообщаете модулю ADC что Вы хотите начать преобразование. Реальный старт преобразования будет в течении 0-(N-1) тактов процессора от момента выставления флага "СТАРТ" (где N- делитель ADC). Время в течении которого пин будет подключен к измерительному кондеру нарисованно на картинках и его (очень условно) можно принять за 1,5 тактов ADC (на картинках Sample & Hold Time) Цитата В этой схеме сильно нервирует прерывание от АЦП. В описании есть строчка по поводу того, что если преключение канала производить в процессе преобразования, то переключение не произойдет до тех пор, пока преобразование не завершится. Дык и не пользуйтесь им, Вас никто не заставляет. Канал можно переключать непосредственно перед отправкой команды "СТАРТ" модулю ADC. Цитата Выход у меня и так идет с операционника. Если у Вас низкоомный вход то беспокоиться о времени заряда конденсатора вобще не имеет смысла.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|