Например TDA7294

Форум РадиоКот • Просмотр темы - Watch Dog STM32 перезагружает ethernet
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 21:54:04

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Сб окт 13, 2018 19:25:39 
Родился

Зарегистрирован: Чт сен 27, 2018 18:14:49
Сообщений: 13
Рейтинг сообщения: 0
Уважаемые коты! Подключил Watch Dog в stm32f767 (плата NUCLEO-F767ZI). Библиотек в кубе почему-то не оказалось. Написал вручную, как чувак рассказывает в этом ролике https://www.youtube.com/watch?v=xzM3NxqSchs

hiwdg.Init.Reload = 1000;
IWDG -> KR=((uint32_t)0x5555); // (Key Register Write) Access Enable Watch Dog
IWDG -> PR=((uint32_t)((uint8_t)(0<<2|0<<1|0<<0))); // Prescaler = 4
IWDG -> KR=((uint32_t)0xCCCC); // Start Watch Dog
while (1)
{
IWDG -> KR=((uint32_t)0xAAAA); // Reset Watch Dog. 32000/4/1000=8 resets per second.
}

Работает нормально. Сделал эксперимент. Зажег пин и поставил задержку несколько секунд. 8 раз в секунду осциллограмма дергается вниз - микроконтроллер перезагружается.

Но вот что интересно. Подаю число через переходник usb-uart на uart микроконтроллера (пользуюсь LabView). На плате 767 есть ethernet-разъем. Если не подавать данные на USART (выдернуть провода), watch dog 8 раз в секунду моргает оранжевой лампочкой - со скоростью сброса Watch Dog . Если подавать данные - не моргает. Почему так? Я ethernet не активировал. Как индикация работы Watch Dog конечно прикольно, но наверное ethernet работает независимо и Watch Dog его постоянно перезагружает. Можно ли его отключить?

Еще я слышал, что Watch Dog после срабатывания включает какой-то флаг. Его надо потом сбрасывать или необязательно? Может ли быть перезагрузка ethernet из-за каких-нибудь несброшенных флагов? Предполагаю, что на каждом периферийном узле стоит такой флаг, и его надо вручную сбрасывать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Пн окт 15, 2018 11:47:08 
Грызет канифоль

Карма: 4
Рейтинг сообщений: 33
Зарегистрирован: Чт ноя 29, 2012 08:27:22
Сообщений: 295
Рейтинг сообщения: 0
похоже бот писал
AI на отладке


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 00:18:50 
Родился

Зарегистрирован: Чт сен 27, 2018 18:14:49
Сообщений: 13
Рейтинг сообщения: 0
Почему бот? Я жив!

Добавлено after 25 minutes 5 seconds:
Кажется дошло.WatchDog перезагружает не ethernet, а весь микроконтроллер целиком. Если выдернуть провода, функция HAL_UART_Receive похоже не пропускает программу дальше, и WDG переполняется. Подскажите, есть ли функция проверки подключения usart, что провода не висят в воздухе а именно подключены? А то можно задеть ногой кабель, и stm вместо того чтобы просто замолчать начнет постоянно перезагружаться.
Сделать бы условие: если usart не подключен, то выходим из функции, а если подключен то выполняем функцию.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 07:55:06 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Почему бот? Я жив!
Разве ж это жизнь...

Подскажите, есть ли функция проверки подключения usart, что провода не висят в воздухе а именно подключены?
А что это изменит? Подключенный провод разве гарантирует поступление данных?

Сделать бы условие: если usart не подключен, то выходим из функции, а если подключен то выполняем функцию.
Логику надо менять. Пришли данные -> считал -> обработал.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 17:27:44 
Родился

Зарегистрирован: Чт сен 27, 2018 18:14:49
Сообщений: 13
Рейтинг сообщения: 0
А если нули пришли?
Ну так как мне сделать чтобы узнать, что пришли данные?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 17:36:27 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Как что? Как и озвучивал ранее, перестать тыкаться в калокубе и начать читать и думать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 17:46:35 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
А если нули пришли?
Нули такие же числа, ничем не хуже других.

Ну так как мне сделать чтобы узнать, что пришли данные?
Ну это уже не смешно. Почитай хоть пару ссылок гугла по ключевым словам "UART", "STM32 UART".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 17:55:41 
Родился

Зарегистрирован: Чт сен 27, 2018 18:14:49
Сообщений: 13
Рейтинг сообщения: 0
Ну так от отключенных проводов данные прийти не могут.
Если я подтягивающие резисторы на rx и tx поставлю на +питания (и они будут гнать логические нули), это поможет, как думаете?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 18:07:27 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Достаточно включить внутренний пулдаун на RX.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 19:10:37 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Ну так от отключенных проводов данные прийти не могут.
И что? Если у вас с подключенными проводами данные перестанут передаваться, то микрокотроллер будет по WDG перегружаться?

Если я подтягивающие резисторы на rx и tx поставлю на +питания (и они будут гнать логические нули),
Вам вот такая картинка о чём-нибудь говорит? В частности зелёные биты START и STOP?
Изображение

это поможет, как думаете?
Слово ПРЕРЫВАНИЕ вам о чём-то говорит?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 21:22:54 
Родился

Зарегистрирован: Чт сен 27, 2018 18:14:49
Сообщений: 13
Рейтинг сообщения: 0
Дааа! Ух ты, с прерыванием-то все нормально работает! И WDG отключать не пришлось!
Написал __HAL_UART_ENABLE_IT(&huart3, UART_IT_RXNE);
И в бесконечном цикле вызываю прерывание HAL_UART_Receive_IT(&huart3, &X, 1);
Если данные не приходят, вызов прерывания тупо пропускается и WDG в следующей строке сбрасывается IWDG -> KR=((uint32_t)0xAAAA);.

VladislavS , я с вами дружу! Надо сказать BusMasterу, чтобы возвращал мне мою карму взад!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 21:26:52 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
И в бесконечном цикле вызываю прерывание HAL_UART_Receive_IT(&huart3, &X, 1);

Чегой? Снова куча минусов к карме


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 21:38:38 
Родился

Зарегистрирован: Чт сен 27, 2018 18:14:49
Сообщений: 13
Рейтинг сообщения: 0
Прерывание в бесконечном цикле вызываю, вызвать его на стороне не получается. Там какой-то глюк в Кубе.
Хотя конечно глупо, прерывание на то и прерывание, чтобы откуда угодно вызываться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 21:47:09 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Офигеть, да ты чЁ. Прямо таки колбэк и не вставить в хэндлер?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 21:54:39 
Родился

Зарегистрирован: Чт сен 27, 2018 18:14:49
Сообщений: 13
Рейтинг сообщения: 0
Тьфу, херню написал. Вызывается откуда угодно, а функция обработчика прерываний пишется в сторонке. А где там функция для обработчика по приему на UART пока не разобрался.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 22:05:33 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Вообще-то по вменямому, вся обработка должна быть в хэндлере, без всяких колбэков и прочей ереси и как можно короче. Нет , тогда выставляем флаг и обрабатываем в суперлупе.
Это для вашего уровня...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 22:28:07 
Родился

Зарегистрирован: Чт сен 27, 2018 18:14:49
Сообщений: 13
Рейтинг сообщения: 0
Управляю ШИМом через uart. Написал в бесконечном цикле вот так:

while(1)
{
IWDG -> KR=((uint32_t)0xAAAA); // Сброс WDG.
HAL_UART_Receive_IT(&huart3, &X, 1); // Вызов прерывания по uart.
TIM1->CCR1 = X; // Записываем в счетный регистр принятое по uart число X.
}

Работает. Но хорошо бы все написанное в обработчик кинуть, а цикл освободить, мало ли для чего пригодится. Но как это сделать?

Добавлено after 9 minutes 45 seconds:
Простите, а хэндлер это что?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 22:41:23 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
Pazitiff25 писал(а):
хэндлер это что?
Обработчик прерывания.
Это функция которая для USART может иметь имя USART3_IRQHandler.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 22:49:55 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Pazitiff25, "передача" по одному байту? По UART?
ЧистА поиграться ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Watch Dog STM32 перезагружает ethernet
СообщениеДобавлено: Ср окт 17, 2018 22:59:22 
Родился

Зарегистрирован: Чт сен 27, 2018 18:14:49
Сообщений: 13
Рейтинг сообщения: 0
Управление-то вручную, зачем мне быстрее одного байта.

А вообще как положено делать? Упаковывать в пакет и посылать всем скопом? Если например ацп задействовать? Однажды возился с платой сбора данных, там по 4000 точек сразу посылалось.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Юрий48 и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y