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

Здравствуйте, уважаемые коллеги, встречался ли кто-нибудь с зависание STM32F405RGT6 уже на -25 град, хотя эти процессоры для диапазона -40 +85 град. 

МК тактируется от кварца 16 МГц (пробовал разные хорошие),  переводил и на внутреннее тактирование - при заморозке ниже -25, зависает.

Сами МК фирменные. Подскажите, пожалуйста, может есть какие особенности?

Заранее благодарен.  

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


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

Может быть снижение напряжения питания, может повышенная относительная влажность с выпадением конденсата, может, виноваты внешние цепи и микросхемы. А зависает как - прекращается генерация на выходе MCO (проверить генерацию по этому выходу) или начинаются сбои в программе?

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

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


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

Питание проверено - в норме. Конденсат - убрал селекогелем,  внешние цепи уже отключил. Сбои начинаются в программе: по CAN передаются данные с датчика температуры, замечено, что перед зависанием результаты вычислений резко искажаются, видимо в SRAM результаты искажаются.

Плат однотипных несколько, поведение - одинаковое.

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


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

смотрите на чём зависает, может там hardfault обычный, раз данные "искажаются".

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


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

8 minutes ago, kpv said:

смотрите на чём зависает, может там hardfault обычный, раз данные "искажаются".

До -25 град работает прекрасно... 

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


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

55 минут назад, Vladimir_T сказал:

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

Методом исключения, напишите тестовую программу вычислений чего-либо в ОЗУ, побольше вывода в консоль и проверяйте, так, в готовой программе, где куча всего очень трудно выявлять какую-либо причину...

ИМХО у меня в подобных случаях наоборот отказывал флеш...

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

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


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

2 часа назад, Vladimir_T сказал:

Здравствуйте, уважаемые коллеги, встречался ли кто-нибудь с зависание STM32F405RGT6 уже на -25 град, хотя эти процессоры для диапазона -40 +85 град. 

МК тактируется от кварца 16 МГц (пробовал разные хорошие),  переводил и на внутреннее тактирование - при заморозке ниже -25, зависает.

Сами МК фирменные. Подскажите, пожалуйста, может есть какие особенности?

Заранее благодарен.  

На этом МК у меня работает довольно большое количество изделий. Нареканий нет, морозили до -50.

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


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

2 часа назад, Vladimir_T сказал:

Питание проверено - в норме. Конденсат - убрал селекогелем,  внешние цепи уже отключил.

Все колёса уже пропинаны, зеркала - протираны, осталось - искать программные баги.  :sarcastic:

2 часа назад, Vladimir_T сказал:

Сбои начинаются в программе: по CAN передаются данные с датчика температуры, замечено, что перед зависанием результаты вычислений резко искажаются, видимо в SRAM результаты искажаются.

Т.е. - отделения мух от котлет ещё даже не пытались делать? Почему не пришла логичная мысль, что портится что-то в программе и поэтому зависает?

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

 

PS: Конечно - искать программную ошибку у себя много сложнее, чем валить всё на контроллер.  Но может стоит попробовать?

Можно ведь написать простейший код, использующий тот-же источник тактирования, но из которого вырезан почти весь функционал. И проверить его работу в тех же условиях.

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

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


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

8 минут назад, jcxz сказал:

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

Припоминаю, как однажды в коде видел участок, где неправильно обрабатывалось знаковое расширение при работе с отрицательной температурой датчика, из-за чего программа уже работала некорректно. Всякое может быть - я бы не стеснялся в камеру засунуть ST-Link или что там у ТС за отладчик - да и посмотреть в реалтайме, что там происходит.

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


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

1 час назад, Arlleex сказал:

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

Да - может быть что угодно: И некорректная реакция на какие-то значения измеренной температуры; и неучёт разброса частот тактирования от температуры, из-за чего что-то начинает неуспевать или наоборот - успевать слишком много.

Идти (имхо) можно методом пошагового исключения вероятных факторов: Отключать по очереди куски кода.

1 час назад, Arlleex сказал:

я бы не стеснялся в камеру засунуть ST-Link или что там у ТС за отладчик - да и посмотреть в реалтайме, что там происходит.

:good:

В первую очередь - узнать что такое "виснет"? И где?

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


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

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

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


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

4 hours ago, Vladimir_T said:

До -25 град работает прекрасно... 

по бразильской системе: разработчика вместе с отладкой сажаете в холодильник с минус 30 градусами, и пусть ищет ошибку.

Не выпускаете, пока не разберётся.

А то привыкли, видишь ли, на столе у него работает, при +25 🙂

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


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

5 часов назад, Vladimir_T сказал:

Сбои начинаются в программе: по CAN передаются данные с датчика температуры, замечено, что перед зависанием результаты вычислений резко искажаются,

Вот с этого и надо было начинать! 🙂 Проверьте вычисления, проверьте программный код, проверьте вообще сами данные с интрефейса осциллографонм или анализатором
Обычно не бывает так резко и точно - до -25 работает, после -25 не работает. Если проблема физическая, должен быть разброс температур начала зависания

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


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

30 минут назад, kpv сказал:

по бразильской системе: разработчика вместе с отладкой сажаете в холодильник с минус 30 градусами, и пусть ищет ошибку.

Не выпускаете, пока не разберётся.

Если в том холодильнике он найдёт пивас, то может долго там её искать.  :biggrin:

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


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

Благодарю всех за толковые советы.

На плате плате установил мигающий светодиод, который управляется из основного программного цикла. Увидел, что МК работает на -50, а вот связь по CAN обрывается, МК - ведомый. Вот поэтому я ошибочно считал и всех вас переполошил, будто МК зависает. А перед тем, как связь терялась шли пакеты с ошибками, потому я считал, что данные портятся в ОЗУ. 

Кварц 16 МГц для задающего генератора уже менял, может он "плывет"?!  Буду разбираться с системой тактирования CAN, чтобы понять почему набегает рассинхронизация приема.

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


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

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

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

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

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

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

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

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

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

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