|
помощь с ADS1248, непонятное поведение при измерениях |
|
|
|
Jan 21 2014, 10:49
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 28-06-13
Пользователь №: 77 311

|
Добрый день.
АЦП ADS1248. Подключена к STM32 по SPI. Схема подключения полная из DS. Читается, пишется, DRDY при измерении/чтении изменяет. К АЦП будут подключены тензомост и термистор. В данный момент выполняю измерение внутренних значений АЦП на основании режима задаваемого через регистр MUX1.
Накопились вопросы, которые сам так и не смог решить. 1. В режиме MUX1 "проверка нуля ацп (AVDD + AVSS)/2" имеем шум на входе, который пока списываю на плату/питание/etc. Но иногда "ловлю" броски до максимума разрешения АЦП. Можно ли как то определить причину этого? 2. Режим MUX1 "контроль температуры". При прогреве АЦП, в разумных пределах, видим рост показаний от АЦП. Примерно на температуре +52..+53 градуса C имеем "бросок" показаний на 50-60 тысяч едениц. Затем показания опять плавно растут. При охлаждении платы и АЦП видим падение показаний и опять скачок уже вниз на 50-60 тыс. едениц.
Что было опробовано.
Проверено питание. Замена АЦП. Плата промыта.
Все равно имеем броски. Подскажите - куда и что копать? Мыслей нет ( Могу приложить screenshot`s графиков снимаемых с АЦП
|
|
|
|
|
 |
Ответов
|
Jan 21 2014, 13:01
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(Zeal0t @ Jan 21 2014, 12:49)  Но иногда "ловлю" броски до максимума разрешения АЦП. Можно ли как то определить причину этого? Скорее всего, несинхронная работа шины: АЦП принял дополнительный клок (или, наоборот, не принял). Либо то же самое с DRDY: мастер увидел фронт, которого не было, и пошел считывать. У меня было подобное (но с другим АЦП): пару раз сутки проскакивали такие битые измерения. Проблема была в программе, сбивалась синхронизация по DRDY(точнее, возникало "паразитное" вычитывание по ошибочно взведенному прерыванию по DRDY сигналу). Цитата(Zeal0t @ Jan 21 2014, 12:49)  Могу приложить screenshot`s графиков снимаемых с АЦП Вы логическим анализатором посмотрите лучше. Настройте его на запуск по фронту какого-то пина, которым дергайте в случае детектирования невалидных данных. Очень удобно и понятно (анализатор и немного предысторию пишет). Учитывая, что у китайцев 8-канальный анализатор по 15 баксов продают, это самый эффективный способ отладки подобных железячно-софтовых связок.
|
|
|
|
|
Jan 21 2014, 13:02
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 28-06-13
Пользователь №: 77 311

|
Цитата(Ruslan1 @ Jan 21 2014, 16:56)  Скорее всего, несинхронная работа шины: АЦП принял дополнительный клок (или, наоборот, не принял). Либо то же самое с DRDY: мастер увидел фронт, которого не было, и пошел считывать. По моему маловероятно т.к. при нагреве происходит плавное повышение значения читаемого с АЦП, затем резкий скачок и затем опять плавное повышение. Если не нагревать плату и АЦП - значения идут стабильные (ну в пределах шумов стабильные).
|
|
|
|
|
Jan 21 2014, 13:31
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 28-06-13
Пользователь №: 77 311

|
Цитата(Ruslan1 @ Jan 21 2014, 17:22)  Вам нужно локализовать проблему: или Вы неправильно данные принимаете, или АЦП такие неправильные данные передает. Для этого нужен логический анализатор, который покажет, какие байты на самом деле в шине бегают. А вот так если вместо логического анализатора? Поможет как то? 1. Чтение данных с АЦП выполняется в прерывании по низкому уровню DRDY. 2. Очередное значение заносится в кольцевой буфер. 3. Буфер постоянно передается в программу верхнего уровня. 4. На верхнем уровне он копится и его можно посмотреть, график построить.
|
|
|
|
Сообщений в этой теме
Zeal0t помощь с ADS1248 Jan 21 2014, 10:49  Tanya Цитата(Zeal0t @ Jan 21 2014, 17:02) затем... Jan 21 2014, 13:53   Zeal0t Цитата(Tanya @ Jan 21 2014, 17:53) В како... Jan 21 2014, 14:04    Tanya Цитата(Zeal0t @ Jan 21 2014, 18:04) Сдвиг... Jan 21 2014, 15:06     HardEgor Если ступенька всегда в одном месте шкалы, то стои... Jan 21 2014, 17:32     Zeal0t Цитата(Tanya @ Jan 21 2014, 19:06) А заче... Jan 22 2014, 04:53      Tanya Цитата(Zeal0t @ Jan 22 2014, 08:53) В пос... Jan 22 2014, 06:16       Zeal0t Цитата(Tanya @ Jan 22 2014, 10:16) Расшиф... Jan 22 2014, 06:52        Tanya Цитата(Zeal0t @ Jan 22 2014, 10:52) У ADS... Jan 22 2014, 07:34         Zeal0t Цитата(Tanya @ Jan 22 2014, 11:34) Сама ф... Jan 22 2014, 08:10          Tanya Цитата(Zeal0t @ Jan 22 2014, 12:10) Извин... Jan 22 2014, 09:19           Zeal0t Цитата(Tanya @ Jan 22 2014, 13:19) Так эт... Jan 22 2014, 09:41            Tanya Цитата(Zeal0t @ Jan 22 2014, 13:41) Да. Н... Jan 22 2014, 09:54             Zeal0t Цитата(Tanya @ Jan 22 2014, 13:54) А може... Jan 22 2014, 10:04              Tanya Цитата(Zeal0t @ Jan 22 2014, 14:04) Про н... Jan 22 2014, 10:20               Zeal0t Цитата(Tanya @ Jan 22 2014, 14:20) Вот и ... Jan 22 2014, 10:29                Tanya Цитата(Zeal0t @ Jan 22 2014, 14:29) Вы хо... Jan 22 2014, 10:38                 Zeal0t Цитата(Tanya @ Jan 22 2014, 14:38) Пример... Jan 22 2014, 10:43                  Tanya Цитата(Zeal0t @ Jan 22 2014, 14:43) Эм...... Jan 22 2014, 10:47 novchok Хотелось бы посмотреть на фото платы, осциллограм... Jan 22 2014, 11:23 Zeal0t Цитата(Zeal0t @ Jan 21 2014, 14:49) Добры... Feb 25 2014, 05:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|