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

сбои в устройстве на STM32F401

Сбоит пректируемое устройство на STM32F401RET6. Теоретическому осмыслению сбои не поддаются. Пытаюсь отследить причину с помощmю JLink.  Но при подключенном JLink сбои не наблюдаются.  Даже при отсутствии коннекта, просто присоединен кабель к разъему SWD. Пробовал подтягивать ножки SWD к земле и к +3.3V.  Включаал и выключал на пинах SWDIO и SWCLK  альтернатвный режим 0( SWD) - не помогает. Только подключенный JLink..

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


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

On 6/19/2022 at 1:32 AM, nanorobot said:

Только подключенный JLink..

Проверьте, оставив только землю и питание, например. В итоге оставить только землю. Отключите JLINK от usb, тоже сравнив что поменялось.

Проблема наверняка чисто схемотехническая, что-то с питанием или разводкой цепей.

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


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

On 6/19/2022 at 3:47 AM, Forger said:
On 6/19/2022 at 3:47 AM, Forger said:

Проверьте, оставив только землю и питание, например. В итоге оставить только землю. Отключите JLINK от usb, тоже сравнив что поменялось.

Проблема наверняка чисто схемотехническая, что-то с питанием или разводкой цепей.

Да так и делаю, либо оба к земле, либо оба к плюсу, ну или я Вас не понял..

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


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

Я имею ввиду способ локализации проблемы - отключать цепи по не-многу, сравнивая разницу.

Да, это - колхозный метод, но и подобное поведение платы - тоже весьма нетипичное.

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


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

On 6/19/2022 at 4:37 AM, adnega said:

А в чем суть сбоя-то?

Громоздко.. Суть сбоя сложно описать не описывая детально работу устройства.. Работает не так как  планировалось. Иногда..

Изменено пользователем nanorobot

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


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

По-вашему сбоит программа или железо? Напишите простецкую мигалку диодом - тоже сбоит?

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


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

11 минут назад, nanorobot сказал:

Громоздко.. Суть сбоя сложно описать не описывая детально работу устройства.. Работает не так как  планировалось. Иногда..

Так "не описывая детально", на какой-то сотой итерации, сбой пропадет, и причина будет неизвестна. Неизвестно будет также, не вылезет ли косяк через некоторое время у заказчика или на серийном устройстве. Особенно если работаете без SVN или хотябы хранением резервных копий. 

Проверьте наличие сбоя для версий кода Release и Debug 

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


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

этап мигалки пройден давно. К плате подключается по SPI до четырех  слейвов, которые могут получать от мастера команду пуск или стоп и набор параметров. По получении команды пуск, слейв производит самотестирование и в в случае успешного исхода переходит в состояние пуск. Состояния всех слейвов опрашиваются мастером.  Слейвы одинаковые.  Пуск стоп одновременный, параметры могут отличаться. Иногда четвертый слейв не запускается, но и не содержит ошибки самотестирования, то есть причина неизвестена. если отключить слейв номер 2 все остальные  слейвы запускаются/останавливаются без проблем.. Связь со слейвами с CRC, ошибок связи нет ..как то так ..

 

По

Изменено пользователем nanorobot

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


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

33 минуты назад, nanorobot сказал:

. . . К плате подключается по SPI до четырех  слейвов,  ....

Это все на одном канале SPI ? если так, я бы промониторил лог. анализатором, нет ли накладки сигналов ~CS которые идут на slave. Нужно убедиться, что нет одновременного выставления CS или даже их перекрытия.

И что означает "одновременный" ? SPI (вроде штатно) не работает в "вещательным" режиме.

Если "ошибок связи нет", то незапуск какого-либо слейва - его личное интимное дело. С ним и разбираться.

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


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

On 6/19/2022 at 6:06 AM, k155la3 said:

Это все на одном канале SPI ? если так, я бы промониторил лог. анализатором, нет ли накладки сигналов ~CS которые идут на slave. Нужно убедиться, что нет одновременного выставления CS или даже их перекрытия.

И что означает "одновременный" ? SPI (вроде штатно) не работает в "вещательным" режиме.

Если "ошибок связи нет", то незапуск какого-либо слейва - его личное интимное дело. С ним и разбираться.

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

 

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


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

21 минуту назад, nanorobot сказал:

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

Насколько я понял, суть сбойной ситуации - незапуск какого-либо из слейвов (иногда) по неизвестной причине.

При отключении слейва "2" сбоя не наблюдается.

Гипотеза 1:

- аппаратно что-то не так на шине SPI по причине "перегрузки" шины или нештатной работы слейв(ов) или мастера.

- схема соединения мастер-слейвы, а также питание. Наличие блокировочных конденсаторов.

Гипотеза 2:

- что-либо программное на стороне мастера, например при отключении "2" уменьшается время цикла-опроса всех слейвов. итд, версии до бесконечности. Измените в больше-меньше тайминги, а может и частоту SCK SPI.

Косяк в обмене данными со слейвом - в мастере портятся данные, которые планируется отсылать на слейв. При этом дефектные данные до слейва доходят с правильной CRC. Но он их не понимает и входит в ступор. 

 

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


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

В 19.06.2022 в 03:25, nanorobot сказал:

Иногда четвертый слейв не запускается, но и не содержит ошибки самотестирования,

Может, параметры ему приходят некорректные? Есть возможность получить расширенный лог от слейва?

Мол, "это протестировал - ок", "и это протестировал - ок", "запускаю на 0 секунд".

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


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

On 6/19/2022 at 1:19 PM, adnega said:

 

Видимо в некоторых исходных описаниях я был неточен / неправ. Похоже все таки дело со связью. Разрезал линии MOSI, MOSI,  SCK - в разрывы запаял резисторы 43 Ома.  В первом приближении все работает.  Всем спасибо.

 

PS: частота SCK 5 МГц

Изменено пользователем nanorobot

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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