реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Иммитация отказов., Кто как чем далает?
MegaVolt
сообщение Apr 12 2018, 15:49
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



День добрый.

Подскажите кто как делает имитацию отказов для системы в PC - ПЛИС(проц+ периферия).
Например система не должна виснуть при отказе датчика телеметрии повешенного на I2C.

Один из путей через JTAG лазить переключать пины и прочие шалости творить. Есть ли у кого ещё какие то решения.

Что хотелось бы:
1. В идеале близкое к нулевым вмешательство в софт и железо. Например некий отдельный модуль который работает параллельно остальной системе который можно легко добавить или удалить из проекта.
2. Некоторая универсальность в порче чего бы то ни было.

Вообщем подскажите кто как делает.
Go to the top of the page
 
+Quote Post
x736C
сообщение Apr 12 2018, 17:04
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Что-то вроде BIST. На входе стоит схема и портит сигналы. Но сам так не делал. Чисто умозрительно.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Apr 12 2018, 17:30
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(x736C @ Apr 12 2018, 20:04) *
Что-то вроде BIST. На входе стоит схема и портит сигналы. Но сам так не делал. Чисто умозрительно.
Не совсем оно. Сейчас речь идёт не про самоконтроль. Проверять целостность и правильность работы есть кому. Задача как раз про блок который портит сигналы. Т.е. как наиболее просто портить сигналы.

Т.е. простейший вариант это некий блочёк висящий на шине между процем и периферией и подменяющий данные при обращениях к неким адресам.
Go to the top of the page
 
+Quote Post
Tiro
сообщение Apr 12 2018, 21:09
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768



Цитата(MegaVolt @ Apr 12 2018, 20:30) *
Не совсем оно. Сейчас речь идёт не про самоконтроль. Проверять целостность и правильность работы есть кому. Задача как раз про блок который портит сигналы. Т.е. как наиболее просто портить сигналы.
Т.е. простейший вариант это некий блочёк висящий на шине между процем и периферией и подменяющий данные при обращениях к неким адресам.

Внешний управляемый стенд. Обычно просят наоборот - докажите, что ваш прибор адекватно реагирует на все ПРАВИЛЬНЫЕ внешние воздействия.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Apr 13 2018, 10:52
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(Tiro @ Apr 13 2018, 00:09) *
Внешний управляемый стенд.
Стенд проверяет плату целиком. Т.е. проблемы которые возникнут на плате никак не проверить.
Цитата
Обычно просят наоборот - докажите, что ваш прибор адекватно реагирует на все ПРАВИЛЬНЫЕ внешние воздействия.
Если мы говорим про надёжность то важным становиться не умение железа бегать без глюков по проторенной дорожке. Это то как раз программеры легко делают. А задача в том чтобы он так же хорошо бегал если начнутся проблемы. Т.е. мне нужно убедиться что я получу ошибку в телеметрии а не намертво зависший блок потому что программеры ждут в бесконечном цикле некий флаг...

Т.е. задача имитации неисправностей на уровне платы.
Go to the top of the page
 
+Quote Post
x736C
сообщение Apr 13 2018, 11:19
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Инвертировать 'нужные' или случайные биты. Отключать интерфейсы целиком. Процедура вроде нехитрая.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Apr 13 2018, 11:33
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(x736C @ Apr 13 2018, 14:19) *
Инвертировать 'нужные' или случайные биты. Отключать интерфейсы целиком. Процедура вроде нехитрая.

Это да... вопрос скорее как это организовать. Если брать плис в >1000 ножками то инверсия каждой ножки да с выделенным управлением уже не хилая задача. Плюс не во все интерфейсы так легко будет влезть.
Go to the top of the page
 
+Quote Post
novikovfb
сообщение Apr 13 2018, 11:55
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 518
Регистрация: 29-09-11
Пользователь №: 67 450



Цитата(x736C @ Apr 13 2018, 15:19) *
Инвертировать 'нужные' или случайные биты. Отключать интерфейсы целиком. Процедура вроде нехитрая.

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

Сообщение отредактировал novikovfb - Apr 13 2018, 11:55
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 13 2018, 12:06
Сообщение #9


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(MegaVolt @ Apr 13 2018, 13:52) *
Стенд проверяет плату целиком. Т.е. проблемы которые возникнут на плате никак не проверить

Теоритезирую - не бывает проблем на плате, которые никак не проявляются снаружи. Если только проблемные узлы совсем не нужны.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Apr 13 2018, 12:26
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(novikovfb @ Apr 13 2018, 14:55) *
Получается, что нужно делать специальный стенд или макет для тестирования программного и аппаратного парирования таких отказов, потому как встраивать в штатное устройство такие имитаторы отказов приведет к падению надежности.
Про встраивание полностью согласен. Надёжность падает. По этому и хотелось бы что-то легко встраиваемое и легко же убираемое. Понимаю что некая не протестированная часть останется после удаления модуля.


Цитата(ViKo @ Apr 13 2018, 15:06) *
Теоритезирую - не бывает проблем на плате, которые никак не проявляются снаружи. Если только проблемные узлы совсем не нужны.
Не совсем. Например мы имеем датчик температуры. Который например существует для защиты от перегрева. Причём перегрев это уже нештатная ситуация. Возникает например при отказе системы охлаждения. Т.е. для работы платы он не важен. Но важен для работы системы в целом. И система должна узнать о том что датчик врёт.

Предположим что отказал датчик. И соответственно обмен с ним идёт не штатно. Например если датчик I2C то обмена нет как такого.

И мы имеем с одной стороны отказ датчика. А с другой стороны плата должна работать как ни в чём не бывало. Т.е. подпрограмма опроса датчика должна корректно отработать проблему обмена.

Вот и спрашивается как должен быть подключён стенд так чтобы обеспечить имитацию отказа датчика извне?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 13 2018, 12:58
Сообщение #11


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(MegaVolt @ Apr 13 2018, 15:26) *
Предположим что отказал датчик. И соответственно обмен с ним идёт не штатно. Например если датчик I2C то обмена нет как такого.

Это должен тот самый BIST обнаружить.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Apr 13 2018, 13:47
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(ViKo @ Apr 13 2018, 15:58) *
Это должен тот самый BIST обнаружить.
Вопрос как проверить работу самого BIST? Вдруг он всегда Okey выдаёт. Т.е. как проверить алгоритмы которые условно можно отнести к BIST?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 13 2018, 13:57
Сообщение #13


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(MegaVolt @ Apr 13 2018, 16:47) *
Вопрос как проверить работу самого BIST? Вдруг он всегда Okey выдаёт. Т.е. как проверить алгоритмы которые условно можно отнести к BIST?

Э-э... это работа программистов. Один раз напрячься, сочинить, проверить. Вы же хотите железо проверять, в каждом изделии. Это разные сущности.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Apr 14 2018, 08:22
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(ViKo @ Apr 13 2018, 16:57) *
Э-э... это работа программистов. Один раз напрячься, сочинить, проверить. Вы же хотите железо проверять, в каждом изделии. Это разные сущности.
Я хочу проверять программу подсовывая ей более менее реальные неисправности.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 14 2018, 08:40
Сообщение #15


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(MegaVolt @ Apr 14 2018, 11:22) *
Я хочу проверять программу подсовывая ей более менее реальные неисправности.

Я понимаю. Для того, чтобы изредка проверить работу программы, можно залезть пинцетом в самые интимные места. Или проводом, подключенным к чему-нибудь... Потом в файл записать, что куда совали и какова реакция была. А если делать некий специальный стенд, так по мне, хватит подключения ко всем входным и выходным разъемам, и уже на них подавать всяко-разно. И если тесты не проходят, тогда уже можно и через JTAG подключиться, и еще через какие-нибудь тестовые разъемы.
Если я вижу, что прибор не работает, как надо, обычно можно с большой вероятностью предположить неисправное место.
Те же аналоговые цепи никакими программами не исследовать. Только по результатам работы.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th June 2024 - 01:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01512 секунд с 7
ELECTRONIX ©2004-2016