Перейти к содержанию
    

Зигби контроллер efr32mg13 путает аналоговые вводы.

Кто-нибудь сталкивался с тем что Силабсовский Зигби efr32mg13 во время работы путает аналоговые вводы?

датчик вдруг начинает менять местами показания, скажем так, влажности и температуры. Штатный программист три раза проверил код и ничего не обнаружил. Глюки появляются в зависимости от погоды, буквально. Вчера прошел дождь и глюки на время прошли. Сегодня снова. Питание хорошо развязано от LDO через емкости трех номиналов, еще и два мегома на землю брошено, статики по идее быть не должно. Но.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Увеличьте существенно время между опросами каналов. 

Также надо проверить сколько по времени длится "захват"/оцифровка входной величины, работа УВХ, если оно там присутствует. Если это время программируемое - увеличьте. 

Есть ли буферизация входного аналогового сигнала, который подается на вход каналов АЦП. Если нет, попробуйте забуферить для проверки причины.

Прибор герметизирован ? Плата-монаж покрыты лаком ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

негерметично, монтаж лакирован. я подозреваю что внутренние пулдаун резисторы не задействованы гдето на GPIO и наводки на болтающихся ногах сбивают настройку мультиплексора. возможно, или чепуха? глюк не как шум, а вот показания поменялись местами и так там и остаются пока питание не передернешь. Там LDMA, кладет показания прямо в память, откуда они обрабатываются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

42 минуты назад, Hale сказал:

. . . . гдето на GPIO и наводки на болтающихся ногах сбивают настройку мультиплексора. возможно, или чепуха?  . . . .

IMHO "чепуха". Если наводка такая, что "сбивает" биты в чипе, то какова вероятность, что будут сбиты только биты управления-настройки мультиплексора, а не скажем, указатель PC или любая ячейка RAM ? 

"Отсадите" именно этот сбойный проект (полностью, включая сгенерированную им прошивку).

Постарайтесь добиться от железа (на стенде в лаборатории) появления "устойчивого сбоя". Например, подуйте на плату феном или вынесите на холод (сейчас это бесплатно, пользуйтесь моментом). Оптимально - термошкаф.

Если сбой станет устойчивым (это уже не сбой), для программиста отловить глючек - дело техники, если он знает что такое внутрисхемная отладка. И даже если не знает, а мыслит логически и может вписать в свой код отладочные блоки.

Повтор.

Если опрос каналов идет очень быстро, то емкость мультиплексора "помнит" значение заряда с прошлого канала и не успевает перезарядиться полностью. На следующем канале - аналогично. Это если источник сигнала слаботочный (и нет усиливающего буфера)

Можно еще почитать errata и посмотреть apnotes работы ацп именно в DMA режиме.

Не исключено также, что программисту следует проверить код еще раз 10.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у нас серьезного холода нет 🙂 зато сегодня дождь и похоже сбоить перестанет. фен и холодильник пробовал. мне кажется на это влияет влажность безотносительно температуры. а это обычно означет небольшую паразитную проводимость, т.е. уменьшение статики.

поговорил с программистом, говорит что в этой железяке в штатном апи управзять задержкой нельзя. Зато я в пятницу накопал несколько интересных багов ДМА в Эррате, которые попросил его изучить. посмотрим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, Hale сказал:

говорит что в этой железяке в штатном апи управзять задержкой нельзя.

Удалить любой API и любой чужой код (вместе с сетевым стеком), написать простейший код, который только делает чтение АЦП и запустить тестирование. Сперва вообще по минимуму - без DMA и прерываний. Потом добавить прерывания, проверить. Потом DMA, проверить. И написать - самостоятельно, без копирования чужих примеров из инета или ещё откуда-то.

Если проблема пропала - искать баги либо в использованном чужом коде либо в вашем коде, работающем через то API.

PS: Подавляющее большинство багов в работе систем на МК - программные. ~99%. Зарубить это на носу, распечатать на большом формате большими красными буквами и повесить перед программистом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну, путь бесконечного закапывания мы знаем. но всегда есть сроки и издержки. поэтому и спрашиваю, сталкивался ли кто-нибудь с багами чтения АЦП в этой серии, чтобы успеть залатать любым способом до сдачи. 

Вы же знаете, "индийские" программисты они такие не потому что из индии, а потому что выполняют сроки любой ценой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, Hale сказал:

а потому что выполняют сроки любой ценой.

Даже ценой потери заказчика, разочаровавшегося в полученном кривом поделии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

помните Windows95 и Гейтса, или Маска и бронированное стекло? Главное чтоб вот такого не произошло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 24.01.2023 в 02:16, Hale сказал:

ну, путь бесконечного закапывания мы знаем. но всегда есть сроки и издержки. поэтому и спрашиваю, сталкивался ли кто-нибудь с багами чтения АЦП в этой серии, чтобы успеть залатать любым способом до сдачи. 

Здесь масса народа, который сталкивался с разнообразнейшими багами разнообразнейших АЦП в разнообразнейших режимах. А вот по багу именно этого, именно в этом режиме (к тому-же есть некоторая неопределенность, это баг чипа или косяк/недоработка/незнание программиста или электронщика). Не надо "хочу с шашечками", надо "ехать" :buba:

ps

пробовали сделать буферизацию/усиление входных сигналов ? Если есть незадействованные входы АЦП посадить на GND. Вместо сигналов с датчиков подайте на подопытные входы АЦП буферизованные напряжения с REF 1В и REF 2.5В или иные. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...