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

Как поимать "баг" в STM32 на скорости 72 MHz?

Так для контроля реалтайма. Не на ядро, а на задачу.

 

И каким образом сие работает? :rolleyes:

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


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

А теперь догадайтесь зачем все таки 4-е! WDT ставят, причем оконных.

Даже залез в документацию. Докладываю. Один - обычный, второй - для трастзоны, третий- специальный, для реалтайм задач. А четвертый -... а четвертого нету (если конечно не считать за таковой таймер в квадратурном декодере, который умеет только прерывания).

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


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

третий- специальный, для реалтайм задач.

 

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

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


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

Судя по доке, беглым взглядом - ничего подобного, это исключительно фанатазии. Реалтаймовый может устанавливать более точные границы срабатывания, а обычные только +- половина лаптя (секунды).

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


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

Так для контроля реалтайма. Не на ядро, а на задачу.

Надо ещё один добавить, для контроля за остальными WDT. для надёжности :rolleyes: :rolleyes: :rolleyes:

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


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

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

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

Что касается WDT - то он нужен, т.к. такая, например, вещь как обычное космическое излучение, может привести к зависанию даже очень хороший CPU.

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


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

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

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

Что касается WDT - то он нужен, т.к. такая, например, вещь как обычное космическое излучение, может привести к зависанию даже очень хороший CPU.

Не многкоканальные, а дублированные

Смысла делать на разных процессорах не улавливаю.

Если только не распределяется функциональность между процессорами. Типа один коммуникационный, другой HMI, третий непосредственно ралтаймный ввод-вывод. Так сейчас и смартфоны делают и все гаджеты.

Но в надежных системах потом всю эту архитектуру все равно дублируют точно такой же.

 

Я тут показывал Safety контроллер по требованиям SIL 3.

Он был сделан на 2-х абсолютно одинаковых STM32.

 

 

Даже залез в документацию. Докладываю. Один - обычный, второй - для трастзоны, третий- специальный, для реалтайм задач. А четвертый -... а четвертого нету (если конечно не считать за таковой таймер в квадратурном декодере, который умеет только прерывания).

Чет не в ту документацию видать залезли.

Там есть 4-е вполне конкретных WDT общего применения, с некоторыми особенностями. Один, например, сбрасывает не свой процессор, а внешнюю периферию и ли внешний сопроцессор.

Естественно, про трастзону ничего там нет. Ибо это закрытая инфа и там свои механизмы.

 

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


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

Что касается WDT - то он нужен, т.к. такая, например, вещь как обычное космическое излучение, может привести к зависанию даже очень хороший CPU.

А если космическое излучение приведёт к зависанию очень хорошего WDT? :rolleyes:

Смысла делать на разных процессорах не улавливаю.

Но системы авионики вроде так и делают. Разные процы, разные команды (в идеале не знающие друг друга), разные компиляторы, языки программирования, страны-производители, и т.д. и т.п. :rolleyes:

Я тут показывал Safety контроллер по требованиям SIL 3.

Он был сделан на 2-х абсолютно одинаковых STM32.

Покажите ещё раз (дайте ссылку), пожалуйста, я не видел.

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


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

По поводу WDT - чтобы нарушить работу CPU, достаточно альфа-частице поменять любой бит в CPU register или CPU RAM, в WDT такое изменение просто поменяет значение счетчика WDT, что некритично(ну сработает раньше/позже, ну и что?)

Что касается дублирования в Fault Tolerant System - то это упрощенный частный случай. Посмотрите в Интернете, как, например, устроены

системы управления в Boeing 777 и Airbus A320.

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


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

в WDT такое изменение просто поменяет значение счетчика WDT, что некритично(ну сработает раньше/позже, ну и что?)
сработает раньше - перезапуститься полностью исправная система.

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


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

сработает раньше - перезапуститься полностью исправная система.

 

Но она не зависнет B)

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


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

просто поменяет значение счетчика WDT, что некритично(ну сработает раньше/позже, ну и что?)

Эта частица также может поменять и бит включения в регистре управления WDT :rolleyes:

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


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

Эта частица также может поменять и бит включения в регистре управления WDT :rolleyes:

Т.е. отключит сторожевой таймер? И как этот одиночный сбой повлияет на работоспособность системы? А чтобы словить пару таких частиц на кристалл в космосе, надо ждать недели в худшем случае.

К тому же, для критичных применений есть процессоры с троированием регистров (и мажоритарным парированием ошибок) и защитой памяти кодами Хемминга или просто четности (если содержимое памяти легко восстановить).

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


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

Посмотрите в Интернете, как, например, устроены

системы управления в Boeing 777 и Airbus A320.

Вы бы не могли поделиться ссылками. Я, конечно, нашёл кое-что, но вдруг ваш материал будет более информативен. Т.к. тема для меня в целом очень интересная.

 

 

И как этот одиночный сбой повлияет на работоспособность системы?

Никак. Вы просто лишитесь сторожевого таймера. И уже не надо ждать неделю частицы. Достаточно произойти более вероятной ошибке (например в ПО, либо в железе). И тут мы приплывём.

 

К тому же, для критичных применений есть процессоры с троированием регистров (и мажоритарным парированием ошибок) и защитой памяти кодами Хемминга или просто четности (если содержимое памяти легко восстановить).

Это очевидно, более того можно резервировать блоки управления.

 

Вообще, тема про частицу довольно обособленная, т.к. вероятность такого события крайне низка (имхо).

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


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

Никак. Вы просто лишитесь сторожевого таймера. И уже не надо ждать неделю частицы. Достаточно произойти более вероятной ошибке (например в ПО, либо в железе). И тут мы приплывём.

В таких случаях надо ставить внешний WDT

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


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

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

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

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

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

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

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

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

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

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