СПОСОБ УПРАВЛЕНИЯ ЭЛЕКТРОННЫМ УСТРОЙСТВОМ И ЭЛЕКТРОННОЕ УСТРОЙСТВО
CONTROL METHOD OF ELECTRONIC DEVICE, AND ELECTRONIC DEVICE

Изобретение относится к способу управления электронным устройством, содержащее программируемый компонент, и к такому электронному устройству, в частности к модему для подводной линии электропередачи для обмена информацией.
Обмен информацией по подводной линии электропередачи - специальная форма подводного обмена информацией. Она предпочтительно используется в разведочных работах и эксплуатации газовых и нефтяных месторождений, расположенных на морском дне. Подводный обмен информацией используют, например, для передачи двоичных данных между верхними площадками управления и морским устьем скважины. Газовые и нефтяные месторождения, на которых ведут разведочные работы или эксплуатируют, используя электронный обмен информацией в устьях скважины или в другом электронном оборудовании, иногда называют «электронными месторождениями» (e-field).
В предшествующем уровне техники были описаны различные технологии для подводного обмена информацией. С одной стороны, есть проводные электрические и оптические соединения, с другой стороны, есть беспроводные соединения. Проводные соединения могут быть подразделены в первую группу, предусматривающую линии обмена информацией для электрических или оптических соединений отдельно от электрических линий электропередачи, и вторую группу, использующую линии электропередачи для электронных средств связи. В последнем случае, преимущественно, нет необходимости в отдельных линиях обмена информацией.
Например, в патенте США 2005/0243983 A1 описан модем для данных, принимающихся и передающихся из и в проводник. Он содержит выходной привод для данных, передающихся в проводник, приемник для данных, принимающихся от проводника, и средства согласования полных сопротивлений для согласования полного сопротивления входа приемника с полным сопротивлением проводника. Коэффициент усиления выходного привода, коэффициент усиления приемника и полное сопротивление входа приемника допускают регулировку в этом модеме.
Программируемый компонент (и такое электрическое устройство, в котором он интегрирован) может достигать неправильного состояния, из которого он не может выйти сам по себе. Это может происходить, например, вследствие ошибки программирования, вследствие определенных окружающих условий, таких как тепло, вследствие внутренних или внешних электронных помех, вследствие старения компонент, вследствие электромиграции или вследствие комбинаций этих причин. Кроме того, программируемый компонент может выйти из строя, так как было повреждено его программное обеспечение, например, из-за переброшенного бита или поврежденной ячейки командной памяти компоненты. Любое состояние, в котором электронный компонент не работает как полагается, вызывает неправильную работу в следующем.
Если программируемый компонент, в особенности модем подводной линии электропередачи, является причиной неправильной работы, часто бывает достаточно перезапустить компоненту или все устройство, чтобы сбросить устройство в полностью рабочее состояние. Это обычно выполняют, используя так называемое сторожевое устройство для текущего отслеживания компоненты. Если компонент не удовлетворяет определенным условиям, которые отслеживает сторожевое устройство, перезапуск инициируется сторожевым устройством. Однако обстоятельства, которые послужили причиной неправильной работы, сохраняются, и неправильное состояние может появиться снова рано или поздно. Следовательно, программное обеспечение программируемого устройства должно быть обновлено как можно быстрее.
Для этой цели известные модемы для обмена информацией по подводной линии электропередачи и другие электронные устройства предусматривают прямое соединение через внешний порт для перепрограммирования соответствующей компоненты. Очевидно, что это невозможно при всех обстоятельствах. Например, если подводный модем уже развернут на морском дне, извлечение его для перепрограммирования означает огромный простой для подводного оборудования, который также дорогой, потому что тогда разведка/эксплуатация нефти/газа также будет без работы.
Даже если затрагивает только настольное электронное устройство, соединение устройства к устройству программирования требует много времени, вызывающее значительный простой для устройства.
Таким образом, целью изобретения является описать способ для контроля электрического устройства посредством которого простой, в случае неправильной работы программируемой компоненты, может поддерживаться коротким или даже полностью избегнут, и описать соответствующее электронное устройство.
Эта проблема решена способом, содержащим признаки, данные в п.1 формулы изобретения, и электронным устройством, содержащим признаки, данные в п.10 формулы изобретения.
Преимущественные варианты осуществления изобретения даны в зависимых пунктах формулы изобретения.
Предложением изобретения является использовать электронное устройство, содержащее программируемый компонент и независимый микроконтроллер, в котором микроконтроллер отслеживает упомянутый компонент, идентифицирует неправильную работу упомянутого компонента и перепрограммирует упомянутый компонент.
Посредством этого решения электронное устройство может поддерживать работоспособность без необходимости внешнего доступа, в особенности физического доступа. Следовательно, простой в случае неправильной работы может поддерживаться коротким. Поэтому решение согласно изобретению также является эффективным по затратам. Эти преимущества достигнуты возможностью автоматически перепрограммировать неправильно работающий компонент посредством контроллера. Программное обеспечение, используемое для перепрограммирования, может быть или точно такой же версии, как раньше, но загруженным из резервной памяти, или оно может быть более отказоустойчивой версией из резервной памяти, или оно может быть обновлением программного обеспечения до новой версии. Резервную память предпочтительно размещают в электронном устройстве для быстрого доступа. Новое обновление программного обеспечения может альтернативно быть получено посредством постоянного внешнего информационного соединения, например, через информационное соединение по линии электропередачи в случае устройства, являющегося модемом для обмена информацией по линии электропередачи.
Преимущественно упомянутый компонент или упомянутое электронное устройство перезапускают упомянутым микроконтроллером после перепрограммирования упомянутого компонента. Это самый быстрый и наиболее безопасный способ, чтобы сбросить электронное устройство в определенное рабочее состояние после перепрограммирования.
Предпочтительно упомянутое электронное устройство содержит, по меньшей мере, один другой программируемый компонент, который отслеживает упомянутый микроконтроллер, например программируемую вентильную матрицу (FPGA). Это дает возможность принимать меры предосторожности против неправильной работы нескольких компонент, используя только один общий микроконтроллер. В этом случае микроконтроллер может решить на своем месте, который компонент перепрограммировать и перезапустить и который, например, только перезапустить.
В усложненном варианте осуществления упомянутый компонент является процессором обработки цифровых сигналов (DSP), выполняющим многочисленные подсистемы программного обеспечения, и значения контрольных сумм, выводимых несколькими из этих подсистем программного обеспечения, суммируют в итоговую контрольную сумму для упомянутого отслеживания, в особенности упомянутым процессором обработки цифровых сигналов. Эта процедура - простой и быстрый способ, чтобы обнаружить неправильную работу во множестве подсистем программного обеспечения процессора обработки цифровых сигналов.
Это предпочтительно используют в варианте осуществления, где итоговую контрольную сумму сравнивают с предопределяемым опорным значением для упомянутого отслеживания, в особенности упомянутым процессором обработки цифровых сигналов. В этом варианте осуществления только флаг, описывающий состояние процессора обработки цифровых сигналов, должен быть перенесен в отслеживающий микроконтроллер, таким образом уменьшая необходимую пропускную способность.
В дополнительно усложненном варианте осуществления сообщение сторожевого устройства отправляют упомянутому микроконтроллеру, в особенности от упомянутого дополнительного усложнения, только если упомянутая контрольная сумма и упомянутое опорное значение соответствуют. Таким образом, даже в случае полного выхода из строя по причине программного обеспечения дополнительного усложнения микроконтроллер будет информирован вследствие потери сообщения сторожевого устройства и может перепрограммировать процессор обработки цифровых сигналов.
Простая идентификация неправильной работы возможна, таким образом, если не принято сообщение сторожевого устройства в микроконтроллер за предопределяемый период времени.
Преимущественно набор инструкций, то есть версий программного обеспечения, для упомянутого перепрограммирования выбирает микроконтроллер из многочисленных наборов инструкций в упомянутом электронном устройстве. Многочисленные наборы инструкций делают возможным предохранение программного обеспечения или для различных компонент или чрезмерно как многочисленные копии таких же версий программного обеспечения для одной компоненты.
В весьма предпочтительном варианте осуществления упомянутые многочисленные наборы инструкций различаются в их уровне отказоустойчивости, то есть они не все представляют такую же версию программного обеспечения. Это делает возможным выбирать соответствующий уровень отказоустойчивости в зависимости от ситуации. Более отказоустойчивая версия будет приводить электронное устройство к низкой производительности, но будет предположительно избегать неправильную работу. Например, каждый раз неправильную работу идентифицируют в определенном предопределяемым временным интервалом, следующая еще более отказоустойчивая версия может быть использована для перепрограммирования, таким образом уменьшая возможности другой неправильной работы поэтапно. Однако производительность, таким образом, уменьшается также поэтапно, но функционирование электронного устройства на самом деле поддерживают этим способом.
Предпочтительно один из многочисленных наборов инструкций проектируют, чтобы быть стабильным в любой предвиденной ситуации электронного устройства, где набор инструкций выбирают, который является стабильным в любой предвиденной ситуации электронного устройства.
Для выбора набора инструкций тип упомянутой неправильной работы может быть определен, в особенности, упомянутым микроконтроллером. Это делает возможным выбирать соответствующий уровень отказоустойчивости в зависимости от определенного типа неправильной работы. Например, если вероятно, что конкретная неправильная работа в подсистеме программного обеспечения будет вызвана временными электронными помехами, которые могут быть предвидены только в последние несколько часов, набор инструкций, в котором конкретную подсистему не используют, можно выбрать для перепрограммирования. Следовательно, текущие помехи не должны иметь влияние на устройство. Таймер может быть установлен на перепрограммирование, чтобы автоматически перепрограммировать полный набор выполняемых инструкций, после выполнения оценки завершения помех.
Быструю возможность доступа к наборам предусматривают, если их хранят в независимой флэш-памяти. Кроме того, это делает возможным внешние обновления наборов инструкций через внешнее информационное соединение.
Преимущество, полученное от изобретения, является в особенности тем, что возможные простои электронного устройства могут быть уменьшены или даже исключены.
В последующем описывают изобретение более подробно с несколькими чертежами.
Фиг.1 показывает блок-схему модема подводной линии электропередачи.
Фиг.2 схематично показывает отслеживание процессора обработки цифровых сигналов.
Фиг.3 показывает блок-схему основных модулей программного обеспечения процессора обработки цифровых сигналов.
Фиг.4 показывает схему последовательности действий процедуры прерывания по таймеру микроконтроллера.
Фиг.5 показывает схему последовательности действий процедуры маршрутизации сообщения микроконтроллера.
Во всех чертежах соответствующие части обозначают идентичными символами ссылок.
Фиг.1 показывает блок-схему модема верхней площадки для обмена информацией через подводную линию электропередачи (не показано) в e-field (не показано), как пример электронного устройства 1. Линию электропередачи также называют омбилической. Электронное устройство 1 содержит программируемую вентильную матрицу 2, процессор 3 обработки цифровых сигналов, линию обработки 4 аналогового сигнала в цифровой и линию обработки 5 цифрового сигнала в аналоговый, хронометрируемую 2 MГц генератором 60 колебаний. Обе линии обработки 4 и 5 соединяют с диплексером 6 через дифференциальный интерфейс (не показан). Модем использует мультиплексирование с ортогональным частотным разделением сигналов (OFDM) для модулирования и демодулирования двоичных данных полезной нагрузки в и из электрического сигнала линии электропередачи.
Линия обработки 4 аналогового сигнала в цифровой содержит усилитель 40 с низким уровнем шума, фильтр 41 защиты от наложения спектров и преобразователь 42 аналогового сигнала в цифровой. Линия обработки 5 цифрового сигнала в аналоговый содержит усилитель мощности 50, фильтр нижних частот 51 и преобразователь 52 цифрового сигнала в аналоговый. Линии обработки 4 и 5 подключены к программируемой вентильной матрице 2 через фильтр верхних частот 21, приемный фильтр и прореживатель 22 и приемный буфер 23 первый вошел, первый вышел (FIFO), также как фильтр отправки и интерполятор 24 и буфер 25 оправки первый вошел, первый вышел. Программируемая вентильная матрица 2, более того, содержит систему 26 автоматической фазовой подстройки частоты синхросигнала, блок синхронизации 27 мультиплексирования с ортогональным частотным разделением сигналов, интерфейс процессора обработки цифровых сигналов и регистры команд 28 вентильной матрицы, два входной и выходной буфера 29 первый вошел, первый вышел, два универсальных асинхронных приемопередатчика 30 (UART) и несколько подчиненных устройств 31 последовательного интерфейса периферийных устройств.
Посредством диплексора 6, электронное устройство 1 является соединяемым к подводной линии электропередачи. Программируемая вентильная матрица 2 предусматривает два независимых двунаправленных внешних последовательных интерфейса, одно соединение 7 RS-485, соединяемое с так называемым PROFIBUS для двоичных данных полезной нагрузки и одного соединения 8 RS-232 для данных диагностики. Компоненты устанавливают на обе стороны единственной шестислойной печатной платы (PCB; не показано на этом чертеже). Программируемая вентильная матрица 2 предусматривает последовательный интерфейс 9 периферийных устройств (SPI), к которому соединяют независимый микроконтроллер 10. Микроконтроллер 10 - система на кристалле (SoC), т.е. центральный процессор CPU, оперативное запоминающее устройство (ОЗУ, RAM), флэш-память и 4 Кбайт электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), находящееся на одном кристалле (не показан). Например, микроконтроллер 10 может быть взят из серий Atmel AVR. Это высоконадежные процессоры. Если программное обеспечение полностью разработано, микроконтроллер 10 серии AVR так надежен, как большинство компонент аппаратных средств, и намного более надежен, чем обычные микропроцессоры, зависимые от внешних шин и многочисленных устройств. Электрически стираемое программируемое постоянное запоминающее устройство служит для хранения постоянных параметров и для регистрации ошибок. Журнал ошибок является основанным на символах, т.е. журнал регистрации заполняют символами до тех пор, пока не останется пространство.
Микроконтроллер 10 имеет доступ к флэш-программатору 11 через последовательный интерфейс 9 периферийных устройств. Флэш-программатор 11 соединяют с процессором 3 обработки цифровых сигналов и внешней флэш-памяти 12 через другую шину 13. Оперативное запоминающее устройство 14 процессора обработки цифровых сигналов соединяют с этой шиной 13, также служащей процессору 3 обработки цифровых данных как память команд. Кроме того, микроконтроллер 10 соединяют с датчиками (не показаны) для измерения уровней температуры в электронном устройстве 1 и для измерения уровней мощности, используемой для мультиплексирования с ортогональным частотным разделением сигналов. Дополнительно он имеет внешнее последовательное соединение 15 RS-232 для эмуляции терминала. Он содержит внутреннее сторожевое устройство на кристалле своего собственного внутреннего тактового генератора. Он также содержит внутренний детектор провала напряжения, который отслеживает свое рабочее электрическое напряжение. Сбой электрического напряжения ниже 2,7 В будет служить причиной полного сброса микроконтроллера 10.
Мультиплексирование с ортогональным частотным разделением сигналов, по существу, реализуют программируемой вентильной матрицей 2. С одной стороны, это создает модулированный сигнал мультиплексирования с ортогональным частотным разделением сигналов из двоичных данных, полученных из соединения 7 RS-485, и, если требуется, из диагностических данных, полученных из соединения 8 RS-232. Эти данные модулируют в электрический сигнал линии электропередачи. С другой стороны, программируемая вентильная матрица 2 демодулирует сигнал мультиплексирования с ортогональным частотным разделением сигналов, полученных из линии электропередачи через диплексер 6 в двоичные данные полезной нагрузки и, если необходимо, в диагностические данные, которые выходят в соединение 7 RS-485 и соединения 8 RS-232 соответственно. Так как вычисленные затраты высоки для мультиплексирования с ортогональным частотным разделением сигналов, программируемая вентильная матрица 2 использует процессор 3 обработки цифровых сигналов как для модуляции, так и для демодуляции. Соответствующие процессоры 3 обработки цифровых сигналов доступны в промышленном масштабе.
С мультиплексированием с ортогональным частотным разделением сигналов, которое само известно из телевещания, передающий модем отправляет на многочисленные различные ортогональные частоты, называемые несущими полосами или каналами. Две несущие полосы упоминают, как ортогональные, если они не зависят друг от друга, касательно их относительного фазового соотношения. Двоичные данные модулируют в электронные сигналы в форме так называемых символов мультиплексирования с ортогональным частотным разделением сигналов.
Использование мультиплексирования с ортогональным частотным разделением сигналов для обмена информацией по подводной линии электропередачи имеет в результате несколько преимуществ. Различные несущие полосы могут быть близки друг к другу в терминах частоты, таким образом дающих возможность высокой спектральной эффективности, позволяющей высокую итоговую скорость передачи двоичных данных. Кроме того, мультиплексирование с ортогональным частотным разделением сигналов позволяет легко отфильтровывать шумы. Если определенный частотный диапазон сталкивается с помехами, соответствующие несущие полосы могут эксплуатироваться медленнее скорости передачи двоичных данных или могут даже быть неработающими. Таким образом, может быть достигнут высокий рабочий диапазон, т.е. максимальная длина линии электропередачи, вплоть до 200 км. Дополнительно, назначая соответствующие числа несущих полос восходящей и нисходящей передаче, соответствующие скорости передачи двоичных значений могут быть настроены как требуется.
Программируемая вентильная матрица 2 и процессор 3 обработки цифровых сигналов являются программируемыми компонентами электронного устройства 1. Существенно для функционирования электронного устройства 1, чтобы они работали должным образом. Однако неправильная работа может случаться, как описано выше, получая в результате неправильное состояние неправильно работающего компонента. Такая неправильная работа может даже иметь влияние на другие компоненты, приводя их также к неправильной работе. Программируемая вентильная матрица 2 и процессор 3 обработки цифровых сигналов не могут восстановить себя к нормальному функционированию, если неправильная работа появляется. Чтобы предотвратить простои электронного устройства вследствие неправильной работы компоненты, микроконтроллер 10 постоянно отслеживает программируемую вентильную матрицу 2 и процессор 3 обработки цифровых сигналов для нормальной деятельности.
Инструкции программного обеспечения для микроконтроллера 10 хранят в его внутренней флэш-памяти, содержащей несколько модулей. Наиболее важное изображено на фиг.2. Поблизости главного модуля 70 один модуль 71 маршрутизации сообщения предусматривает функции маршрутизации сообщения таким образом, что код микроконтроллера 10 является управляемый сообщением. Модуль 72 обработки команд предусматривает способности обработки команды. Модуль 73 таймера предусматривает программу таймера для отслеживания. И модуль 74 универсального асинхронного приемопередатчика предусматривает доступ через последовательный интерфейс во внешнем последовательном соединении 15 к внешнему терминалу 75. Внутренние сообщения микроконтроллера 10 - фиксированного размера, допускающие вплоть до трех символов, и пул свободных сообщений создают ранее в блоке инициализации главного модуля 70. Если пул сообщений становится пустым, код вызовет функцию паники со строкой как параметр. Функция паники записывает строку в журнал регистрации электрического стираемого программируемого постоянного запоминающего устройства и отключает систему прерываний. Затем он ждет в пустом бесконечном цикле, чтобы сработало сторожевое устройство.
Микроконтроллер 10 не может исполнять код в постоянном запоминающем устройстве, следовательно, последовательность кода выходит из пространства программы, чтобы сбросить внутреннее сторожевое устройство. Эту последовательность кода охраняют простым условием. Она не будет исполнена, если только массив трех целых чисел не имеет сумму 49. Если и только если сумма - 49, внутреннее сторожевое устройство сбрасывают и массив очищают для нового цикла вклада. Есть три действующих фактора для трех целых чисел. Код прерывания таймера устанавливает свой вклад, так как его вводят аппаратным средством прерывания таймера каждые 10 мс. Модуль 71 маршрутизации сообщения устанавливает свой вклад только перед тем, как он проверит, если любые сообщения ожидают. И модуль 74 универсального асинхронного приемопередатчика устанавливает свой вклад, когда его функция потока получает вызов. Если время между сбросами сторожевого устройства длиннее, чем 0,27 секунд, сторожевое устройство срабатывает, и микроконтроллер 10 будет принудительно запускать выполнение из своей электроэнергии на векторе. Ранний в последовательности инициализации микроконтроллер 10 перепрограммирует программируемую вентильную матрицу 2 и процессор 3 обработки цифрового сигнала из их соответствующих флэш-памятей 12 и перезапускает их.
Во внешней флэш-памяти 12 четыре различные версии программного обеспечения для процессора 3 обработки цифровых сигналов хранят в четырех различных страницах памяти. Дополнительно программное обеспечение для программируемой вентильной матрицы 2 хранят в отдельной странице памяти как единственную резервную версию. В четырех страницах флэш-памяти 12 сохраняют версию программного обеспечения процессора 3 обработки цифровых сигналов, которые испытаны, чтобы обладать лучшей производительностью. В первой странице хранится версия, которая наиболее отказоустойчива, т.е. которая стабильна во всех предвиденных ситуациях электрического устройства 1. Версии, хранимые во второй и третьей странице памяти, не используют большинство чувствительных признаков процессора 3 обработки цифровых сигналов, посредством этого не требующие полной потенциальной производительности модема касательно скорости передачи двоичных данных. Версии программного обеспечения процессора 3 обработки цифровых сигналов, хранимые с первой по третью страницу памяти флэш-памяти 12, могут, таким образом, быть упомянуты как менее требующие напряжения, чем версии, хранимые в четвертой станицы памяти. Однако рабочий диапазон модема не ограничивают меньшими версиями программного обеспечения, требующими напряжения, чтобы обеспечивать доступность соединения подводной линии электропередачи при всех обстоятельствах.
g_liveproof(i)
i
Фиг.3 схематично показывает процедуру отслеживания процессора 3 обработки цифровых сигналов. Программное обеспечение процессора 3 обработки цифровых сигналов выполняет внутреннюю проверку, работают ли корректно его различные подсистемы 76. Для этой цели каждая подсистема i записывает конкретное число в конкретный элемент глобальной таблицы всякий раз, когда код соответствующей подсистемы выполняется нормально. Процессор 3 обработки цифровых сигналов суммирует все записи таблицы для итоговой контрольной суммы. Только если итоговая контрольная сумма равна конкретному предопределенному опорному значению A:
i
= A
которое означает, что все отслеживаемые подсистемы программного обеспечения процессора 3 обработки цифровых сигналов работают корректно, 32-битное сообщение 77 управляющего устройства отправляют в микроконтроллер 10 через последовательный интерфейс 9 периферийных устройств. По-умолчанию сообщение сторожевого устройства посылают каждые 10 секунд, которое может быть отменено посредством параметра «Максимальное время ожидание сторожевого устройства».
S
T
W
E
F
В микроконтроллере 10 счетчик сигнала времени сбрасывают каждый раз, когда сообщение 77 сторожевого устройства принимают от процессора 3 обработки цифровых сигналов. Эта процедура и программа таймера показаны на диаграмме последовательности действий фиг.4. Если ни одно сообщение сторожевого устройства 77 не приняты за предопределенный период времени, например 15 секунд, создают сообщение заместитель и отправляют в модуль маршрутизации сообщения, как будто отрицательное сообщение 77 сторожевого устройства было принято. Когда флаг «STWEF» (= et MSatchdogxpiredlag) устанавливают с счетчиком сигнала точного времени = 0, флаг «STWEF» сбрасывают как результат в дополнительном этапе «CMD=4». Эту проверку сторожевого устройства запускают всегда каждые 10 мс.
Обработка сообщений модулем маршрутизации сообщения микроконтроллера 10 изображена на фиг.5. Этот модуль имеет две очереди сообщений: одна очередь для команд и одна очередь для текста, который должен быть отправлен во внешний терминал 75 микроконтроллера 10. Все, что записывают на клавиатуре терминала 75, собирают во внутренние сообщения. Только простую способность монтажа в режиме автопродолжения включают в процедуру прерывания обработки входа модуля 74 универсального асинхронного приемопередатчика. Завершенные сообщения прикрепляют к входной очереди модуля 71 маршрутизации сообщения. Эти сообщения получают тэг как «XMH_TXT».
Когда командное сообщение берут из очереди команд, оно вызывает модуль 72 обработки команд с сообщением как параметром. Если модуль 72 обработки команд находит совпадение, соответствующий код выполняют и командное сообщение отбрасывают. Если там нет совпадения, сообщение добавляют к входной очереди таймера, чтобы передать в интерпретатор команд процессора 3 обработки цифровых сигналов через последовательный интерфейс 9 периферийных устройств.
Сообщения в очередь команд модуля 71 маршрутизации сообщения могут также придти от процессора 3 обработки цифровых сигналов. Теги отличаются и это используют для вызова командных функций, чтобы маршрутизировать сообщения ответа назад в процессор 3 обработки цифровых сигналов. Таким образом, код процессора 3 обработки цифровых сигналов может отправлять запросы ради значений именованных параметров микроконтроллеру 10, и микроконтроллер 10 ищет соответствующие значения в его хранилище на основе электрически стираемого программируемого постоянного запоминающего устройства.
Если модуль 71 маршрутизации сообщения принимает внутреннее сообщение, показывающее неправильную работу процессора 3 обработки цифровых сигналов, микроконтроллер 10 перепрограммирует процессор 3 обработки цифровых сигналов с наибольшим отказоустойчивым набором инструкций из первой страницы памяти флэш-памяти 12 и перезапускает электрическое устройство 1, т.е. модем. Тем самым, электрическое устройство 1 сбрасывают в рабочее состояние, хотя в более низкой производительности, чем потенциально возможно. Неправильная работа может быть передана в экземпляр наблюдения как можно быстрее, например, через обмен информацией по линии электропередачи. Экземпляр наблюдения может перепрограммировать процессор 3 обработки цифровых сигналов удаленно с отличным от флэш-памяти 12 набором инструкций. Можно даже передать набор инструкций обновления, т.е. версию программного обеспечения, во флэш-память 12 через обмен информацией по линии электропередачи, и перепрограммировать процессор 3 обработки цифровых сигналов с этим набором инструкций обновления.
В альтернативном варианте осуществления (не показан) микроконтроллер 10 обнаруживает тип неправильной работы и определяет соответствующую версию программного обеспечения, которая предположительно обходит эту неправильную работу, когда модуль 71 маршрутизации сообщения принимает внутреннее сообщение, показывающее неправильную работу программируемого компонента, т.е. процессора 3 обработки цифровых сигналов или программируемой вентильной матрицы 2. Он затем перепрограммирует процессор 3 обработки цифровых сигналов, используя версию программного обеспечения из флэш-памяти 12. Тип неправильной работы и версию программного обеспечения используемого для перепрограммирования регистрируют в электрически стираемом программируемом постоянном запоминающем устройстве. Впоследствии процессор 3 обработки цифровых сигналов перезапускают, вызывая то, что электронное устройство 1 входит в рабочий режим включения питания. Если такой же тип неправильной работы обнаруживают снова за короткое время, например 2 часа, микроконтроллер 10 будет уведомлять об этом из журнала регистрации электрически стираемого программируемого постоянного запоминающего устройства и использовать более отказоустойчивую версию программного обеспечения для следующего перепрограммирования.
Как следствие, электрическое устройство 1 может восстанавливать себя в рабочее состояние после неправильной работы программируемых компонент.