Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Конроллеры на базе ARM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
EKirshin
Здравствуйте!

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

Интересует поведение микроконтроллеров под воздействием серьёзных электромагнитных помех (близость к силовым системам, гроза и т.п.). Многое, конечно, можно вывести самому, но изобретать велосипед, как известно, не практично.

Посоветуйте книги/статьи о том, как правильно оформить код, какие меры предпринять для повышения устойчивости системы с позиции программного обеспечения. Есть ли какие-то теоретические расчёты показателей стабильности с учетом вероятности возникновения тех или иных ситуаций?

Есть ли какая-то специфика применительно к ядрам ARM?
zltigo
Цитата(EKirshin @ Jul 20 2009, 10:38) *
Посоветуйте книги/статьи о том, как правильно оформить код, какие меры предпринять для повышения устойчивости системы с позиции программного обеспечения.

Бред все это и 100% схоластика.
-SANYCH-
C позиции программного обеспечения используйте watchdog. smile.gif
Dog Pawlowa
Цитата(EKirshin @ Jul 20 2009, 10:38) *
какие меры предпринять для повышения устойчивости системы с позиции программного обеспечения.

В некоторых приборах, которые я разрабатывал, состояние нескольких машин состояний не сбрасывается при сбросе контроллера.
Это риск, поскольку целостность данных в ОЗУ проконтролировать практически невозможно, но тем не менее приборы выпускаются более пяти лет и работают очень устойчиво.
Так что пару процентов от 100% zltigo можно осторожно отнять smile.gif
Dron_Gus
Это Вас не Дон Какой-то заразил? smile.gif
-=Sergei=-
Цитата(Dog Pawlowa @ Jul 20 2009, 12:18) *
В некоторых приборах, которые я разрабатывал, состояние нескольких машин состояний не сбрасывается при сбросе контроллера.
Это риск, поскольку целостность данных в ОЗУ проконтролировать практически невозможно, но тем не менее приборы выпускаются более пяти лет и работают очень устойчиво.
Так что пару процентов от 100% zltigo можно осторожно отнять smile.gif


Если в контроллере Flash/EEPROM памяти программ есть битик ERROR (произошла одиночная ошибка, но была исправлена) стоит задуматься или помаргать сведодиодиком (необходимо тех обслуживание). При включении устройтсва проводить самодиагностику, CRC всей памяти программ итп

еще минус пара процентов.

А так если серьезна нужна повышенная надежность, то тут больше играют роль схемотехнические решения в микроконтроллерах, есть специальный класс микроконтроллеров и процессоров Fault Tolerant
Rst7
Цитата
А так если серьезна нужна повышенная надежность, то тут больше играют роль схемотехнические решения в микроконтроллерах, есть специальный класс микроконтроллеров и процессоров Fault Tolerant


Если нужна надежность - узлы резервируются (или даже троируются), а всякий Renesas - то гуанопеар.
etoja
Цитата(zltigo @ Jul 20 2009, 11:57) *
Бред все это и 100% схоластика.


При сертификации изделий вычислительной техники используются в частности:
1) контактные милли-, микро-, наносекундные импульсы напряжением до 4 киловольт;
2) бесконтактные (воздушные) разряды напряжением до 8 киловольт;
3) пробойные напряжения [4200 вольт х 30 секунд]

При этом даже процессоры одной фирмы (Analog Devices) но разных серий (ADSP2183 и ADSP2191)
в одной и той же схеме ведут себя совершенно по разному.
aaarrr
Цитата(etoja @ Jul 20 2009, 17:24) *
При сертификации изделий вычислительной техники используются в частности:

Ну и какое это имеет отношение к ПО?
Rst7
Цитата
При сертификации изделий вычислительной техники используются в частности:
1) контактные милли-, микро-, наносекундные импульсы напряжением до 4 киловольт;
2) бесконтактные (воздушные) разряды напряжением до 8 киловольт;
3) пробойные напряжения [4200 вольт х 30 секунд]


А покажите-ка ГОСТ, определяющий стойкость к миллисекундным импульсным помехам напряжением до 4х киловольт.

Пробойные напряжения - это немного не из той оперы.
Altemir
Цитата(EKirshin @ Jul 20 2009, 11:38) *
Посоветуйте книги/статьи о том, как правильно оформить код, какие меры предпринять для повышения устойчивости системы с позиции программного обеспечения. Есть ли какие-то теоретические расчёты показателей стабильности с учетом вероятности возникновения тех или иных ситуаций?


Г.Н. Черкесов. Надёжность аппаратно-программных комплексов. Учебное пособие. - СПб.: Питер, 2005. - 479с.
etoja
Цитата(aaarrr @ Jul 20 2009, 17:25) *
Ну и какое это имеет отношение к ПО?


Аппаратура должна восстанавливать свою работоспособность без участия человека-оператора.
Rst7
Цитата
Аппаратура должна восстанавливать свою работоспособность без участия человека-оператора.


Прежде всего аппаратура не должна падать от помех. Если не можете с этим справиться, то никакой "программизм" не поможет.
etoja
В ГОСТе определены понятия Сбой и Отказ.
Понятия "падать" в нём нет.
Отказ - это нарушение функционирования, после которого требуется ремонт.
Сбой - это нарушение функционирования, для восстановления которого не требуется ремонт.
Rst7
Цитата
В ГОСТе определены понятия Сбой и Отказ.
Понятия "падать" в нём нет.


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

Кроме того, в ГОСТе есть еще и различные критерии - восстановление автоматическое или по вмешательству оператора.
Nikitoc
To EKirshin: почитайте вот здесь: http://caxapa.ru/lib/emc_immunity.html мне кажется Вы найдете там для себя много полезного smile.gif
Vitaliy_ARM
Имеется опыт разработки устройств на LPC23xx, которые работают в среде, где происходят высоковольные пробои и т.п. В общем скажу следующее, процессоры с флешь гораздо меньше подвержены сбоям, чем процессоры с RAM. LPC23xx показал очень хорошие результаты, сбоев пока не наблюдалось. Прошивка без вочь догов. Однако у нас прибор переносной, поэтому на длительное время его никто в такой среде не оставлял. Максимум пару часов.

Зря народ так относится к этой теме. Это очень актуальный вопрос, где электроника стоит на моторах с потребляемой мощностью десятки и сотни киловат. Да и в других сферах.
Когда "наворачивается" электроника из-за сбоя одного контроллера за пару баксов и завод теряет миллион рублей unsure.gif , уже не до смеха и шуток.
haker_fox
Цитата(Vitaliy_ARM @ Jul 27 2009, 15:34) *
В общем скажу следующее, процессоры с флешь гораздо меньше подвержены сбоям, чем процессоры с RAM

Простите, это как?
HARMHARM
Цитата(haker_fox @ Jul 27 2009, 11:17) *
Простите, это как?

Я так понял, что "процессоры с Flash" - это МК с встроенной Flash, а "процессоры с RAM" - это МК с внешней шиной.
Vitaliy_ARM
Цитата(HARMHARM @ Jul 27 2009, 13:41) *
Я так понял, что "процессоры с Flash" - это МК с встроенной Flash, а "процессоры с RAM" - это МК с внешней шиной.


Все правильно вы поняли, это я неправильно выразился.

Почему сбоят микроконтроллеры с флешь меньше чем с озу, где-то попадалась статейка. Там было сказано, что изменить состояние прошивки, хранящейся во флешь гораздо труднее, чем в озу. Нампример где-то рядом произошел высоковольтный пробой, и от ЭМП в каком-нибудь месте кода программы изменился один битик, поэтому вместо какой-нибудь команды NOP получилась команда JMP, ну и дальше..... Так вероятность такого сбоя во флешь гораздо меньше. Из опыта знакомых и своего, могу сказать что раньше применяли ADSP-21xx в тех же условиях они часто сбоили smile3009.gif . Сейчас применяем LPC23xx, сбоев пока не встречали.
От таких проблем собственно и придумали вочьдоги smile.gif
Andy Mozzhevilov
Цитата(Vitaliy_ARM @ Jul 28 2009, 17:36) *
Почему сбоят микроконтроллеры с флешь меньше чем с озу, где-то попадалась статейка. Там было сказано, что изменить состояние прошивки, хранящейся во флешь гораздо труднее, чем в озу. Нампример где-то рядом произошел высоковольтный пробой, и от ЭМП в каком-нибудь месте кода программы изменился один битик

Имхо.
Любая программа всегда использует ОЗУ под переменные и аппаратные стеки.
Если предположить, что в результате помехи произошло искажение информации в ОЗУ - это может повлиять на выполнение программы с теми же последствиями, что и при искажении во Flash.

Применяем NXP уже лет несколько, в том числе испытываем и сертифицируем приборы на ЭМС. Но говорить - что это из-за того, что NXP (или более обще - ARM) устойчивы к помехам - неправильный вывод. Проблемы с помехоустойчивостью - это в основном проблемы проектирования аппаратной части.
Vitaliy_ARM
Цитата(Andy Mozzhevilov @ Jul 28 2009, 17:58) *
Но говорить - что это из-за того, что NXP ... - неправильный вывод.


Так скажите правильный вывод?
Компания NEC делает процессоры и трубит, что они лучше всех именно для автомобилей, мало подвержены сбоям, хорошо защищены от ЭМП и взломать их тоже не представляется возможным. Это они выдумывают наверное smile.gif

Данные тоже могут испортиться, ну наверное когда у вас ОЗУ меньше, поэтому и вероятность меньше. Это только один фактор, подленность которого я сам не проверял.
Сбои процессора зависят не только от правильности разводки печатной платы, а также еще и от развотки на самом кристалле. Пусть если даже вы сделаете многослойную плату с хорошо разведенными землями, а разводка на самом кристалле будет плохая, то вы и получите в комплексе сбоящую систему, непонятно из-за чего, это может сильно сказываться на процессорах с большими корпусами, типа PQFP208 и тп. Ну наверное угадать от чего получаются сбои, от ЭМП или от других помех - задача непростая.
Rst7
Цитата
Компания NEC делает процессоры и трубит, что они лучше всех именно для автомобилей, мало подвержены сбоям, хорошо защищены от ЭМП и взломать их тоже не представляется возможным. Это они выдумывают наверное


Выдумывают? Это мягко сказано. Исключительный гуанопеар. Так что правильный вывод - ищите проблемы в обвязке проца, разводке платы и т.д., т.е. у себя.
Andy Mozzhevilov
Цитата(Vitaliy_ARM @ Jul 28 2009, 18:41) *
Так скажите правильный вывод?

имхо - помехоустойчивость - это комплекс мер, в которых тип контроллера играет какую-то роль, но далеко не основную.
KiV
Цитата(Andy Mozzhevilov @ Jul 29 2009, 10:11) *
...помехоустойчивость - это комплекс мер...

+1000!
И помехоустойчивость зависит в первую очередь от схемотехнических решений, во вторую - от разводки конкретной печатной платы, далее от конструктивного исполнения устройства и только потом от примененной комплектации.
А "помехоустойчивость" програмы в моем понимании - бред. Для программ есть другой критерий - надежность. Т.е. возможность программы восстанавливать свою работоспособность после сбоев (и программных и аппаратных), возможность диагностировать ошибки и т.п.

Цитата(Vitaliy_ARM @ Jul 28 2009, 17:41) *
Компания NEC делает процессоры и трубит, что они лучше всех именно для автомобилей, мало подвержены сбоям, хорошо защищены от ЭМП и взломать их тоже не представляется возможным. Это они выдумывают наверное smile.gif

Это просто реклама smile.gif Надо ведь как-то им свои изделия выделять из общей массы. Кто-то напирает на низкое потребление, кто-то на производительность, а кто-то на цену ... Естественно у разных производителей есть различные хитрые "фишки" на кристалле для повышения тех или иных потребительских качеств. Но нужно самому реально оценивать их полезность и значимость для конкретной задачи. Я не имею ничего против процессоров NEC - просто привык реально оценивать важность и необходимость рекламируемых возможностей кристалла для своих задач.

Цитата(Vitaliy_ARM @ Jul 27 2009, 09:34) *
процессоры с флешь гораздо меньше подвержены сбоям, чем процессоры с RAM

Ну обычно процессоры с внешней шиной всегда более подвержены помехам при прочих равных условиях чем однокристалка - по плате куча дорожек идет к внешней памяти. Соответственно и помехи на них наводятся в любом случае бОльшие, чем на дорожки внутри чипа.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.