автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.05, диссертация на тему:Методы и аппаратно-программные средства функционального тестирования СБИС микроконтроллеров при проведении радиационных испытаний на дозовые воздействия

кандидата технических наук
Лебедев, Алексей Викторович
город
Москва
год
2009
специальность ВАК РФ
05.13.05
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Методы и аппаратно-программные средства функционального тестирования СБИС микроконтроллеров при проведении радиационных испытаний на дозовые воздействия»

Автореферат диссертации по теме "Методы и аппаратно-программные средства функционального тестирования СБИС микроконтроллеров при проведении радиационных испытаний на дозовые воздействия"

На правах рукописи

ЛЕБЕДЕВ АЛЕКСЕЙ ВИКТОРОВИЧ

МЕТОДЫ И АППАРАТНО-ПРОГРАММНЫЕ СРЕДСТВА ФУНКЦИОНАЛЬНОГО ТЕСТИРОВАНИЯ СБИС МИКРОКОНТРОЛЛЕРОВ ПРИ ПРОВЕДЕНИИ РАДИАЦИОННЫХ ИСПЫТАНИЙ НА ДОЗОВЫЕ ВОЗДЕЙСТВИЯ

Специальность 05.13.05 - Элементы и устройства вычислительной техники и

систем управления

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Москва-2009г.

003471586

Диссертация выполнена в Московском Инженерно - Физическом Институте (государственном университете)

Научный руководитель

доктор технических наук,

профессор Шагурин И.И.

Официальные оппоненты:

доктор технических наук,

профессор Данилин Н.С.

кандидат технических наук Ужегов В.М.

Ведущая организация

ФГУП «Научно-исследовательский институт приборов»

Защита диссертации состоится "15 "июня 2009 г. в 15:00 часов в МИФИ на заседании диссертационного совета Д212.130.02 по адресу: 115409, Москва, Каширское шоссе, 31. Телефоны: 324-84-98,323-91-67.

С диссертацией можно ознакомиться в библиотеке МИФИ. Автореферат разослан "Ж"" " 2009 г.

Ученый секретарь диссертационного совета, доктор технических наук, профессор , ^____П.К.Скоробогатов

ОБЩАЯ ХАРАКТЕРИСТИКА ДИССЕРТАЦИИ

Актуальность диссертации

В составе современной электронной аппаратуры широко используются СБИС микроконтроллеров (МК) и микропроцессоров (МП), которые выполняют функции сбора и обработки данных, контроля состояния управляемых объектов, формирования необходимых управляющих воздействий. В ряде применений данная аппаратура должна функционировать в условиях повышенного уровня радиации. Это относится к бортовой аппаратуре космических аппаратов, электронному оборудованию атомных электростанций, приборам для проведения ряда физических экспериментов, электронной аппаратуре военного назначения. Прогресс микрозлекгронной технологии дал в руки разработчиков систем большую номенклатуру различных моделей МП и МК, которые отличаются по своей производительности, функциональным возможностям и другим характеристикам. Но только небольшое количество типов МП и МК сертифицированы для специальных применений. Поэтому разработчики аппаратуры во многих случаях вынуждены использовать коммерческие модели этих изделий, основная номенклатура которых поставляется зарубежными производителями. Так как параметры, определяющие стойкость к воздействию ионизирующих излучений, обычно не указываются в числе их технических характеристик, актуальной является проблема реализации специальных испытаний этих изделий для определения необходимых параметров.

Решением задачи определения радиационной стойкости цифровых СБИС занимаются как зарубежные исследователи, так и российские организации - НИИ Приборов, НИИ Космического Приборостроения, ЭНПО «Специализированные электронные системы», ЩТИИ-22 Министерства Обороны, РНИИ Космического приборостроения, ЦНИИ Машиностроения, ВНИИ Экспериментальной Физики, НИИ Измерительных систем, НИИ Ядерной Физики МГУ и ряд других, которые используют для этого различные методы и средства.

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

\

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

Целью данной диссертации является разработка методов и аппаратно-программных средств для функционального тестирования современных микроконтроллеров при радиационных испытаниях на дозовые воздействия, обеспечивающих выявление в составе СБИС отказавших функциональных блоков или группы блоков.

Основными задачами диссертации являются:

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

Разработка методики создания набора тестовых программ для функционального тестирования МК, которая позволит провести подготовку необходимого тестового программного обеспечения и выполнить тестирование в процессе проведения радиационных испытаний с помощью разработанных программ и специализированных аппаратных средств.

Развитие методов, которые позволяют:

- разработать набор тестовых программ, обеспечивающих достаточно полное тестирование функциональных блоков в составе МК и диагностику их отказов;

- обеспечить проведение внешнего контроля корректности выполнения тестовых программ, хранящихся во внутренней памяти, с помощью имеющихся в составе МК параллельных портов;

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

Разработка аппаратных средств и тестовых программ для выполнения радиационных испытаний МК в соответствии с предложенной методикой.

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

Научная новизна диссертации

1. На основе анализа архитектуры ряда семейств МК предложен базовый вариант тестируемой функциональной модели микроконтроллеров (ТФМ), которая обеспечивает возможность контроля работоспособности основных функциональных блоков при проведении программного тестирования, когда их работоспособность определяется по результату выполнения определенного набора тестовых программ. Предлагаемая ТФМ позволяет достаточно полно представить функционирование микроконтроллеров при выполнении типового набора команд.

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

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

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

5. Разработана общая методика создания набора тестовых программ для функционального тестирования МК, обеспечивающая подготовку необходимого тестового программного обеспечения и проведение тестирования с помощью разработанных программ и специализированных аппаратных средств. Данная методика, использующая разработанную ТФМ и предложенные методы функционального тестирования, позволяет выполнить программное тестирование и выявление отказавших функциональных блоков.

6. Предложены алгоритмы тестирования основных функциональных блоков, входящих в состав МК. Алгоритмы представлены в виде циклограмм, использование которых упрощает разработку необходимых тестовых программ на языке Ассемблера.

Практическая значимость диссертации

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

- 8-разрядный микроконтроллер с CISC-архитектурой типа AT89S52 (процессорное ядро MCS-51, компания Atmel);

8-разрядный микроконтроллер с RISC-архитектурой типа ATmegal28L-8AI (процессорное ядро AVR, компания Atmel);

32-разрядный микроконтроллер с RISC-архитектурой типа LPC2114FBD64 (процессорное ядро ARM, компания NXP Semiconductor).

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

3. С помощью разработанных методов и средств функционального контроля проведены радиационные испытания указанных МК, в процессе

которых определены уровни их стойкости к дозовым эффектам и выявлены наиболее критические функциональные блоки. Показано, что для всех исследованных образцов функциональный отказ возникает раньше, чем достигается превышение допустимого значения тока потребления или происходит выход за нормативные пределы уровней логических «О» и «1». Таким образом контроль функционирования МК является важным этапом определения их стойкости к дозовым воздействиям.

4. С помощью разработанных методов и аппаратно-программных средств проведено прогнозирование радиационной стойкости образцов МК типа АТшеяа128Ь в условиях низкоинтенсивного облучения и оценка возможностей повышения срока их безотказной работы при переменном режиме функционирования (чередование активного и пассивного режимов). Показано, что использованная методика позволяет прогнозировать дозовую стойкость отдельных образцов и отбирать для последующего применения образцы с необходимым уровнем стойкости. Оценка эффективности применения переменного режима функционирования показала для испытанных МК возможности повышения срока безотказной работы на 32 %.

Внедрение результатов диссертации.

Набор разработанных тестовых программ и аппаратно-программные средства использовался в ЭНПО «Специализированные электронные системы» при проведении исследований радиационной стойкости на дозовые воздействия ряда типов микроконтроллеров: АТше§а128Ь, ЬРС2114, Ш80С196КВ, 1880ВЕ71У, 1830ВЕ01У, АТ1ту12, Ат186Е11, АТ89Б52, АТ8988252, МС)80С186, Р1С16С774, с помощью имитационных установок РЕИМ-2. Разработанные тестовые программы и аппаратно-программные средства использовались также работах по прогнозированию радиационной стойкости образцов МК типа АТте§а128Ь в условиях низкоинтенсивного облучения и оценки возможностей повышения срока их безотказной работы при переменном режиме функционирования (чередование активного и пассивного режимов работы), которые проводились в МИФИ по заказу НИИ Космического приборостроения.

Положения, выносимые на защиту.

1. Тестовая функциональная модель микроконтроллеров (ТФМ), которая обеспечивает возможность контроля работоспособности основных блоков по результатам выполнения определенного набора тестовых программ.

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

3. Метод формирования заданных циклических последовательностей, который позволяет зафиксировать результаты выполнения набора тестовых программ, анализируя состояние портов ввода-вывода.

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

тестируемого МК с помощью матрицы результатов, указывающей корректность выполнения тестовых программ нз разработанного набора.

5. Методика создания набора тестовых программ для функционального тестирования МК, которая позволяет провести подготовку необходимого тестового программного обеспечения и провести тестирование в процессе проведения радиационных испытаний с помощью разработанных программ и специализированных аппаратных средств.

6. Алгоритмы тестирования основных функциональных блоков, входящих в состав МК, представленные в виде циклограмм, использование которых упрощает разработку необходимых тестовых программ на языке Ассемблера.

7. Методики функционального тестирования и тестовые программы для испытаний на дозовые воздействия трех широко применяемых МК: 8-разрядный микроконтроллер с CISC-архитектурой AT89S52 (процессорное ядро MCS-51), 8-разрядный микроконтроллер с RISC-архитектурой ATmegal28L (процессорное ядро AVR); 32-разрядный микроконтроллер с RISC-архитектурой LPC2114FBD64 (процессорное ядро ARM).

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

9. Результаты исследований образцов трех типов МК, которые позволили выявить критические блоки, определяющие стойкость микроконтроллеров к дозовым эффектам, и показали, что функциональный отказ возникает при существенно меньших уровнях накопленной дозы, чем достигается превышение допустимого значения тока потребления или происходит выход за нормативные пределы уровней логических «О» и «I».

Апробация результатов диссертации

Основные результаты диссертации докладывались на российских научных конференциях "Радиационная стойкость электронных систем" (г. Лыткарино, 2005,2006, 2008г.г.), на научных сессиях МИФИ (г. Москва, 2005, 2006, 2008,2009 гг.).

Публикации

По результатам диссертации опубликовано 12 печатных работ, в том числе 1 в реферируемом издании, рекомендованном ВАК.

Структура и объем диссертации

Диссертация состоит из введения, 4 глав, заключения, списка литературы, включающего 115 наименований, и приложений. Содержание диссертации изложено на 158 страницах машинописного текста, включая 30 рисунков и 27 таблиц.

Основное содержание диссертации

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

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

Как показывает проведенный обзор, номенклатура современных МК отличается большим разнообразием используемых архитектур, широким набором процессорных ядер и периферийных блоков. В их составе используются 8-, 16- и 32-разрядные процессоры, имеющие CISC (Complex Instruction Set Computer - процессор со сложным набором команд) или RISC (Reduced Instruction Set Computer - процессор с сокращенным набором команд) архитектуру. Большинство 8-разрядных МК ориентировано на применение с внутренней памятью команд (ROM, EEPROM или Flash-память) и не имеют выхода на системную шину. Это существенно осложняет процедуру контроля работоспособности МК при проведении радиационных испытаний. В большинстве моделей 16- и 32-разрядных МК для реализации приложений также предполагается использование внутренней памяти программ. В случае необходимости эти МК могут работать совместно с внешней памятью, для чего они подключаются к системной шине.

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

Электронная аппаратура, в состав которой входят МП и МК, функционирует в условиях воздействия ионизирующих излучений, возникновение которых обусловлено рядом факторов естественного и искусственного происхождения. В качестве элементной базы в современных МК используются элементы на комплементарных МОП-транзисторах. Под влиянием накопленной дозы характеристики МОП-транзисторов и реализованных на их базе логических элементов изменяются, что приводит к функциональным и параметрическим отказам аппаратуры. Функциональные отказы возникают, в первую очередь, из-за искажения передаточной характеристики Шых = îî(Ubx) логических элементов, в результате которого нарушаются условия их корректного переключения и цифровое устройство перестает выполнять заданные функции. Функциональный отказ цифровой микросхемы возникает, когда в одном или нескольких логических элементах,

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

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

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

Особенности функционального тестирования МК связаны с тем, что выполняемые тестовые программы хранятся в его внутренней памяти (в ROM или Flash-памяти), а для хранения обрабатываемых данных и промежуточных результатов используется внутренняя оперативная память. Это значительно затрудняет текущий контроль выполнения тестовых программ, необходимый для функционального тестирования и выявления отказавших блоков. Требуется разработка специальных процедур, которые должны обеспечить вывод результатов выполнения тестов через имеющиеся интерфейсные блоки (параллельные или последовательные порты) и возможности использования полученных данных для оценки корректности функционирования МК. Необходимо также предложить методы анализа результатов тестирования, позволяющие выявлять отказавшие функциональные блоки испытуемого МК.

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

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

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

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

Проведен анализ структуры типичных представителей популярных семейств современных МК:

8-разрядные микроконтроллеры с архитектурой MCS-51; 8-разрядные микроконтроллеры с архитектурой ATmega; 32-разрядные микроконтроллеры с процессорным ядром ARM. Показано, что их структурные схемы, представленные в технической документации, не позволяют достаточно эффективно произвести диагностику отказов в процессе радиационных испытаний, по следующим причинам:

- в их составе отсутствует ряд важных функциональных блоков,

- ряд функциональных блоков, входящих в представленную структуру, не может быть протестирован программными средствами.

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

Структуру тестируемого МК предлагается представлять в виде модели, содержащей функциональные блоки (ФБ), работоспособность которых может быть проверена путем выполнения тестовых программ. При выполнении каждой команды из реализуемого данным МК набора команд, активизируется определенная группа функциональных блоков. Анализ функционирования МК при выполнении типового набора команд позволяет выделить в его структуре следующие основные функциональные блоки: ФБО - Внутренний генератор тактовых импульсов. ФБ1 - Блок выборки и дешифрации команд. ФБ2 - Блок контроля состояния и выполнения ветвлений. ФБЗ - Блок вызова подпрограмм и реализации стека. ФБ4 - Блок реализации прерываний. ФБ5 — Блок формирования адресов операндов. ФБ6—Арифметико-логическое устройство (АЛУ). ФБ7 — Схема сдвига операндов. ФБ8 - Блох умножения-деления. ФБ9 - Блок битовых операций. ФБ10 - Регистровый блок. ФБ11 - Внутреннее ОЗУ данных.

ФБ12 - Внутренняя память программ (Flash, EEPROM, ROM).

ФБ13 - Блок интерфейса с внешней памятью.

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

Таким образом предлагаемая ТФМ содержит процессорное ядро (блоки ФБ1-ФБ10), внутреннюю память (блоки ФБ11, ФБ12), служебные и периферийные блоки (ФБО, ФБ13, ФБ14 и другие).

Внутренний генератор тактовых импульсов ФБО входит в состав большинства МК. В качестве частотно-задающих элементов ФБО обычно использует внешние компоненты: кварцевые кристаллы, конденсаторы или RC-цепи, подключаемые к соответствующим выводам МК.

Блок выборки и дешифрации команд ФБ1 является основным в устройстве управления процессора. Его основные функции:

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

Блок вызова подпрограмм и реализации стека ФБЗ служит для выполнения команд обращения к подпрограмме и выхода из нее. В большинстве МК поддерживается возможность вложенных обращений к подпрограммам с использованием организуемого в ОЗУ стека, в котором сохраняется текущее содержимое PC.

Блок реализации прерываний ФБ4 обеспечивает переход к выполнению программ обработки при возникновении определенных исключительных ситуаций - выборке команд прерывания, поступлении запросов прерывания IRQ от внешних устройств или от внутренних периферийных устройств МК, выявлении ситуаций, требующих выполнения специальных процедур (деление па нуль, выборка неправильного кода команды и ряд других). При переходе к процедурам обработки ФБ4 обеспечивает сохранение в стеке текущего содержимого PC и SR, после чего формирует и выдает на внутреннюю шину адрес соответствующего вектора прерывания, который загружается в PC из памяти программ. Блок ФБ4 реализует также начальный запуск МК по сигналу Reset, выполняя выборку из памяти вектора запуска, загружаемого в PC.

Блок формирования адресов операндов ФБ5 в соответствии с заданным в команде способом адресации производит формирование физического адреса, поступающего на шину адреса данных. В МК, использующих только внутреннее ОЗУ данных, соответствующая адресная шина является

недоступной для непосредственного контроля. В этом случае работоспособность ФБ5 может быть протестирована только путем контроля результатов выполнения набора команд с различными способами адресации.

Арифметико-логическое устройство (АЛУ) ФБ6 выполняет основные операции обработки целочисленных данных - сложение и вычитание, сравнение, логические операции. Выборка исходных операндов и размещение результата производится в соответствии с заданным способом адресации. При тестировании АЛУ соответствующие тестовые программы должны обеспечивать проверку выполнения команд обработки операндов, выбираемых с использованием различных способов адресации, которые реализуются МК.

Схема сдвига операндов ФБ7 выполняет различные варианты (логические, арифметические, циклические) одно- или многоразрядных сдвигов при поступлении соответствующих команд. Блок умножения-деления ФБ8 служит для ускоренной аппаратной реализации этих операций. Блок битовых операций ФБ9 обеспечивает установку в 1 или сброс в 0 значения заданного бита выбранного операнда. В ряде МК исходное значение заданного бита фиксируется в качестве одного из признаков в регистре состояния БЛ.

Исполнительные блоки ФБ6 - ФБ9 используют в качестве операндов содержимое регистров ФБ10, данные, выбираемые из ОЗУ, непосредственные операнды, заданные в соответствующей команде (выбираются из памяти программ). Результаты операций сохраняются в ОЗУ или регистрах ФБ10.

Регистровый блок ФБ 10 содержит регистры общего назначения, которые служат для хранения операндов и результатов выполнения операций при использовании регистровой адресации, а также для формирования адресов операндов при различных вариантах косвенно-регистровой адресации.

Работа внутренних периферийных устройств (блоки ФБ13 - ФБп) организуется путем обращения к их регистрам, как к ячейкам ОЗУ, по соответствующим выделенным адресам.

Набор команд, выполняемых современными МК, содержит следующие основные группы команд:

ГК1 - команды пересылки,

ГК2 - арифметико-логические операции

ГКЗ - операции сдвигов,

ГК4 - битовые операции,

ГК5 - безусловные переходы,

ГК6 - условные переходы,

ГК7 - команды вызова подпрограмм,

ГК8 - команды управления режимом работы.

Для анализа функционирования МК при выполнении различных групп команд составляются маршруты их реализации. Пример маршрута реализации команд пересылки для базового варианта ТФМ показан на рис. 1 Маршруты реализации позволяют определить состав ФБ, используемых при выполнении данной группы команд, который необходимо знать для выявления блоков, отказавших при тестировании. Перед проведением испытаний проводится анализ реализуемого набора команд и составляются маршруты их выполнения для тестируемых МК. В случае необходимости по результатам этого анализа

вносятся коррективы в базовую ТФМ и формируется рабочий вариант ТФМ, наиболее соответствующий структуре тестируемого МК.

На основании составленных маршрутов выполнения реализуемых групп команд формируется карта тестирования блоков, входящих в состав рабочей ТФМ. Вид этой карты представлен в табл. 1, где символом «+» показано участие основных ФБ в выполнении команд соответствующей группы.

регистр-регистр

память-регистр

регистр-память

Рис. 1. Маршрут реализации команд пересылки.

Таблица!. Карта функционального тестирования ТФМ микроконтроллера

ФБ1 ФБ2 ФБЗ ФБ4 ФБ5 ФБ6 ФБ7 ФБ8 ФБ9 ФБ10 ФБ11 ФБ12

ГК1 + + + + +

ГК2 + + + + + + + +

ГКЗ + + + + + +

ГК4 + + + + +

ГК5 + +

ГК6 + + +

ПС7 + + + +

ГК8 + + +

Память программ ФБ12 используется при выполнении всех команд, поэтому ее предварительное тестирование является необходимым условием успешности функционального контроля.

Все ФБ, входящие в состав предлагаемой ТФМ, используются при выполнении тех или иных групп команд. Набор ФБ, входящих в ТФМ, обеспечивает реализацию всех команд типового набора. Таким образом предлагаемая ТФМ позволяет достаточно полно представить функционирование микроконтроллеров при выполнении типового набора команд. Для реализации программного тестирования необходима разработка тестовых программ, которые обеспечивают выявление ФБ, отказавших в процессе радиационных испытаний. Карта функционального тестирования позволяет определить набор команд для составления тестовых программ, выполняющей проверку функционирования различных блоков в составе ТФМ.

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

включаются в ТФМ для МК данного типа. Перед проведением испытаний МК следует провести анализ его функционирования и, в случае необходимости, внести коррективы в ТФМ, используемую при его тестировании.

В третьей главе диссертации описываются предлагаемые методы функционального тестирования МК, на основе которых предложена общая методика разработки тестовых программ, ориентированная на использование при проведении радиационных испытаний. Использование предложенных методов позволяет:

• разработать набор тестовых программ, обеспечивающих достаточно полное тестирование функциональных блоков, входящих в состав МК, и диагностику их отказов;

• реализовать с использованием имеющихся в составе МК параллельных портов контроль правильности выполнения тестовых программ, хранящихся во внутренней памяти, с помощью внешнего измерительного комплекса;

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

Выполнение поступившей команды реализуется с использованием нескольких ФБ, поэтому выделение ФБ, ответственного за получение неправильного результата, требует проведения дополнительных процедур анализа. Чтобы проанализировать результаты программных тестов и выявить с наибольшей вероятностью неправильно функционирующий блок, требуется разработать необходимый набор тестовых программ (ТП), для выполнения которых используются различные ФБ.

Предлагаемый метод формирования набора тестовых программ реализуется с помощью анализа маршрутов выполнения основных групп команд и составления таблицы покрытия, указывающей участие ФБ в процессе их выполнения. Для формирования ТП составляются маршруты выполнения основных групп команд тестируемого МК. В исходные тексты ТП включаются все команды данной группы с использованием различных способов адресации. Затем в исходный текст Ш включаются необходимые команды обмена данными с внешним тестовым модулем через протестированный параллельный порт. Состав служебных и периферийных модулей существенно различается для разных типов МК, в которых используется широкая номенклатура периферийных устройств. Служебные и периферийные модули запускаются и контролируются процессорным ядром, но функционируют достаточно автономно. Их тестирование производится с помощью выполнения специальных ТП, соответствующих выполняемой модулем функции.

Таким образом формируется рабочий набор ТП, позволяющий последовательно выполнить тестирование процессорного ядра, внутренней памяти и периферийных блоков. Для полученного набора ТП составляется таблица покрытия, форма которой представлена в табл. 2, где использованы следующие обозначения: ТПх - тестовая программа, кп1 - кпх набор команд МК, которые используются в соответствующей ТПх, 0/1 - определяет участие ФБ в выполнении данной команды (нет/да). Если какой-либо ФБ при выполнении различных команд выполняет разные функции (Ф1, Ф2 и т.д.), то для них в таблице покрытия предусматриваются отдельные колонки.

Формируемые ТП должны обеспечить тестирование каждого ФБ, входящего в состав ТФМ. ТП должны быть написаны на языке Ассемблера, так как в этом случае можно однозначно определить состав ФБ, участвующих в ее выполнении. Таблица покрытия показывает, насколько разработанный комплект ТП обеспечивает покрытие (тестирование) всех ФБ данного МК. Для каждого ФБ определяется коэффициент покрытия, который указывает кратность использования данного ФБ в тестовых программах: Кп =№/N0, где N0 — число команд из набора, выполняемого МК, в которых участвует данный ФБ, № - число различных команд в разных тестовых последовательностях, в которых используется данный ФБ. Полное тестирование обеспечивается, если для каждого ФБ получено значение Кп >=1. Для повышения достоверности локализации отказов желательно обеспечить значения Кп >2. Тестовые программы должны содержать полный набор команд испытываемого МК, тогда обеспечивается значение Кп >=1 для всех ФБ.

Таблица 2. Общий вид таблицы тестового покрытия

Тестовые программы ФБ1 ФБ2 ФБЗ ФБ4 ФБ5

Ф1 Ф2 ФЗ Ф1 Ф2

ТП1 к11 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1

кп1

ТПх к1х

кпх

Коэффициент покрытия Кп

При непрерывном режиме облучения ограничение на общий объем тестовых программ накладывается максимальным допустимым временем их выполнения Тт, которое определяется мощностью дозы. Для каждой тестовой программы должно быть определено время ее выполнения. При этом общее время прогона набора тестовых программ Тт должно удовлетворять условию:

Т1 < Тт = ёБ / \Уд, (1)

где \Уд - мощность дозы при выполнении испытаний, <Ю - допустимое изменение дозы за один цикл тестирования, которое задает точность определения предельно допустимой дозы.

При сеансовом режиме облучения ограничение налагается на промежуток времени Тб между сеансами:

Тз = (П + Тё) « То, (2)

где То - время отжига радиационных дефектов, возникающих при облучении, Т(1 - время, требуемое для доставки изделия из зоны облучения, включения его тестовую аппаратуру, выполнения тестовых процедур.

Условия (1), (2) налагают требования на допустимое время выполнения и объем тестовых программ, которые должны учитываться при их разработке.

Для обеспечения контроля результатов выполнения тестовых программ, размещенных во внутренней памяти МК предлагается использовать метод

ввода-вывода. Корректность выполнения ТП проверяется путем сравнения считанных данных с эталонами, полученными в процессе разработки и отладки ТП. Возможны два варианта контроля корректности выполнения ТП:

• внешний контроль - путем сравнения результатов выполнения команд ТП с эталонами, хранящимися в памяти тестового модуля;

• внутренний контроль путем сравнения результатов выполнения команд ТП с эталонами, хранящимися в памяти программ МК.

Алгоритмы реализации этих вариантов контроля выполнения ТП представлены в виде циклограмм на рис. 2 и 3, где обозначены:

TI,... Тп -команды или группы команд, входящие в ТП, Р1, ...Рп -результаты выполнения тестирующих команд, Э1,...Эп -эталонные результаты, хранящиеся в памяти, MOV - команда пересылки данных в тестовый порт МК, NOP - команда, не выполняющая операций, СМР - команда сравнения операндов,

JNE - команда условного перехода при неравенстве операндов. При внешнем контроле результаты выполнения тестирующих команд Т1...Тп последовательно выдаются с помощью команд MOV на выводы одного из портов МК, который подключается у тестовому модулю. Тестовый модуль сравнивает их эталонами Э1,...Эп, хранящимися в его памяти, и при их несоответствии формирует информацию о некорректном выполнении ТП.

информация об ошибке

Рис.2. Циклограмма выявления функциональных отказов при внешнем контроле При внутреннем контроле результат выполнения каждой тестирующей команды "Л с помощью команды СМР сравнивается с эталоном Э1, хранящемся в памяти программ. При их несовпадении команда условного перехода ЖЕ

(ветвление при неравенстве) вызывает выполнение команды MOV, которая выдает код ошибки Oi на выводы порта, подключенного к тестовому модулю. Тестовый модуль фиксирует выявление ошибки и выдает информацию о некорректном выполнении соответствующей TTIi.

MOV Hi -

CMP Hi, Ki

Jcc

I

T1

CMP Р1.Э1

JNE —

r> MOV J NOP

T2

CMP P2, 32

JNE _

— JMP

► MOV NOP

T3

CMP Pn, 3n JNE _

JMP

MOV NOP

фиксация некорректной операции

JMP

Информация об ошибке

Рис.3. Циклограмма выявления функциональных отказов при внутреннем контроле Введение команд NOP позволяет регулировать величину Тп - период изменения данных на выходе тестового порта. Количество команд NOP, вводимых после каждой команды MOV (рис. 2) или JNE (рис.3), выбирается таким образом, чтобы тестовый модуль успевал за время Тп выявить и зафиксировать некорректное выполнение команды Ti. Начало выполнения очередной TTIi задается путем подачи в МК через тестовый порт соответствующего управляющего кода Hi от тестового модуля. Ввод этого кода производится командой MOV, последующие команды (сравнение СМР, условный переход Jcc или эквивалентные) осуществляют анализ поступившего кода и переход к выполнению Т1 - первой команды TTIi (рис. 2, 3).

При проведении тестирования МК может тактироваться тактовым сигналом от тестового модуля (синхронный режим) или использовать внутренний генератор тактовых импульсов (асинхронный режим). В асинхронном режиме возникает проблема выявления тестовым модулем ошибок при выполнении ТП из-за нссинхронизированного поступления данных с выводов порта МК. В этом случае предлагается реализовать циклическое выполнение программы TTIi (показано пунктирной линией на рис.3. 1) путем организации цикла с помощью команды Jcc (возврат к началу цикла). При этом программное обеспечение тестового модуля должно

обеспечить выявление периодической последовательности принимаемых данных (Р1-Р2-...-Рп). Контролируя период этой последовательности Тп, тестовый модуль может оценить значение тактовой частоты МК: 14 = № / Тп, где № - количество тактов, необходимых для выполнения команд между процедурами вывода данных на тестовый порт (определяется в процессе разработки ТП). Таким образом реализуется функциональное тестирование генератора тактовых импульсов, входящего в состав МК (блок ФБО).

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

Для выявления отказавших функциональных блоков предлагается использовать метод наложения виртуальных функциональных сегментов. Группа ФБ, участвующая в выполнении определенной ТП, образует в структуре МК функциональный сегмент, состав которого будет меняться при выполнении другой ТП (табл. 3). Назовем группу функциональных блоков, участвующих в выполнении данной тестовой программы ТШ, виртуальным функциональным сегментом (ВФС). Каждая ТП производит тестирование соответствующего ВФС. Некорректное выполнение программы ТТЛ указывает на неисправность ФБ, входящих в состав сегмента ВФСь Для выделения ФБ, являющихся наиболее вероятными источниками отказов, предлагается использовать матрицу результатов (табл.3.), которая содержит такие же строки и колонки, как и таблица покрытия (табл.2). В этой таблице для каждого ]-го ФБ, входящего в состав ¡-го ВФС, отмечается результат выполнения теста:

г„ = 1 - тест выполнен корректно, ц — 0 - тест выполнен некорректно. Для выявления ФБ^ являющегося наиболее вероятным источником отказов при проведении тестирования, выполняется логическая дизъюнкция результатов г1}, полученных в результате выполнения всех ТП, в которых участвует ФБк

^ = (3)

где в качестве 1 = 1...к используются номера ВФС, в состав которых входит ФБ]. Виновниками отказов считаются ФБ, для которых результат ^ = 0.

В табл. 3 приведен пример матрицы результатов для группы ФБ микроконтроллера, в котором отказы при выполнении программ ТП1 и ТП4 вызваны неправильным функционированием ФБ5 при реализации функции Ф1.

Таблица 3. Матрица результатов тестирования

Тестовые программы ФБ1 ФБ2 ФБЗ ФБ4 ФБ5

Ф1 Ф2 ФЗ Ф1 Ф2

ТП1 (ВФС-1) 0 0 0 0 0

ТП2 (ВФС-2) 1 1 1

ТПЗ (ВФС-3) 1 1 1

ТП4 (ВФС-4) 0 0 0

ТПк (ВФС-к) 1 1 1 1 1

Результат тестирования 1 1 I 1 1 1 0 I

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

Этап 1. Составление и анализ ТФМ для тестируемого МК. В качестве исходной используется типовая структура ТФМ. В соответствии с технической документацией производится необходимая коррекция типовой ТФМ путем введения или исключения требуемых ФБ.

Этап 2. Анализ набора команд и способов адресации тестируемого МК. Данный анализ производится для выделения команд или групп команд, с помощью которых будет производиться функциональное тестирование блоков, входящих в ТФМ, полученную на этапе 1. В результате анализа составляется карта функционального тестирования блоков, входящих в состав ТФМ тестируемого МК.

Этап 3. Выбор средств и разработка процедуры для загрузки и тестирования внутренней памяти программ (ФБ12). Внутренняя память программ (чаще всего флэш-память) используется при выполнении всех ТП. Для тестирования МК необходима загрузка в его внутреннюю память набора тестовых программ. Для большинства современных МК обеспечиваются возможности внутрисистемного программирования флеш-памяти. При этом соответствующие средства обеспечивают контроль правильности записи кода, поступающего во флеш-память. Использование этих средств позволяет выявить ячейки флеш-памяти, отказавшие в процессе радиационных испытаний.

Этап 4. Выбор основного тестового порта и разработка программы его тестирования. Для ввода данных и вывода результатов выполнения ТП целесообразно использовать параллельный порт МК, подключаемый к внешнему измерительному комплексу, который задает требуемые данные при выполнении ТП и анализирует полученные результаты. Предварительное тестирование порта выполняется с помощью специальной ТП, выполняемой на первом этапе функционального тестирования.

Рис. 4. Общая методика функционального тестирования МК

Этап 5. Разработка тестовых программ для проверки функционирования ФБ, входящих в состав ядра МК. На данном этапе производится разработка набора ТП, последовательное выполнение которых позволяет выполнить проверить работоспособность основных ФБ: процессорного ядра и внутренней памяти данных.

Этап 6. Разработка тестовых программ для проверки функционирования периферийных ФБ, входящих в состав МК. Так как состав и функции периферийных ФБ для различных моделей МК имеют существенные отличия,

то разработка ТП для их тестирования производится с учетом особенностей их реализации для конкретной модели и семейства микроконтроллеров.

Этап 7. Оценка общего времени выполнения последовательности ТП. Количество тактов, необходимых для выполнения каждой ТП, может быть определено Ассемблером в процессе трансляции исходного текста в исполняемый машинный код.

Этап 8. Тестирование МК с помощью разработанных программных и аппаратных средств. В процессе тестирования сначала реализуется процедура загрузки и тестирования памяти программ с помощью соответствующего программного обеспечения тестового комплекса. Затем производится тестирование выбранного тестового порта, с использованием которого далее выполняется последовательность ТП, разработанных на этапах 5 и 6, и контроль получаемых результатов путем вывода необходимых данных на тестовый порт и их сравнения с эталонными последовательностями, хранящимися в памяти тестового модуля.

При тестировании должна быть обеспечена заданная последовательность выполнения программ, которая позволяет последовательно переходить к тестированию новых ФБ с использованием команд и ФБ, корректность функционирования которых протестирована предыдущими ТП.

Этап 9. Составление матрицы результатов тестирования и выявление отказавших ФБ (или группы ФБ) методом наложения виртуальных функциональных сегментов. В матрице результатов тестирования (табл. 3) для каждого j-ro ФБ, входящего в состав B®Ci, отмечается результат rij выполнения теста Tffi. Выявление ФБ, являющихся источниками отказов при проведении данного тестирования, производится с помощью формулы (1).

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

Проверка группы команд безусловных переходов (тестирование блока ФБ1) реализуется путем циклического выполнения всех команд этой группы, которые осуществляют переход к командам MOVE addr__port, Mata, производящим вывод на тестовый порт непосредственно заданных чисел. Соответствующая программа ТП1 формируется в соответствии с циклограммой, приведенной на рис. 2, где addr.n - адрес размещения очередной команды MOVE, addr_port- адрес регистра данных тестового порта, data.n - число, выводимое в тестовый порт очередной командой MOVE. В качестве команд JMP используется весь набор команд данной группы. Так как заданные значения addr.n загружаются в программный счетчик PC, а затем выдаются из PC на шину адреса для выборки очередной командой MOVE, то данный тест осуществляет проверку правильности выполнения блоком ФБ1 функции Ф1 - адресация и выборка заданной команды из памяти программ. Набор задаваемых значений addr.n должен обеспечивать обращение к различным сегментам адресного пространства памяти программ и использовать различные комбинации значений разрядов адреса для контроля функционирования всех разрядов PC и шины адреса команд.

Тестирование регистрового блока ФБ10 осуществляется с помощью циклической процедуры записи в регистр непосредственно заданных данных, их последующего чтения и сравнения с эталоном. В случае их несовпадения тестовый модуль выдает информацию об ошибке при обращении к данному регистру. Программа ТП2 осуществляет тестирование регистров общего назначения, используемых для хранения операндов и формирования адреса, в соответствии с циклограммой, приведенной на рис. 2, в которой используются команды MOVE reg, Mata.n, MOVE addr_port, reg, где reg - имя тестируемого регистра, addr_port - адрес регистра данных тестового порта, Mata -записываемые и выводимые данные. Задаваемые значения Mata.n должны обеспечивать проверку переключения каждого разряда тестируемого регистра. Для выявления ошибок адресации регистров следует после вывода в тестовый порт содержимого регистра сбросить его в нулевое состояние соответствующей командой MOVE reg, Mata.п. Данная программа позволяет контролировать корректность выполнения команд пересылки типа регистр-константа. Для контроля корректности пересылок типа регистр-регистр в ТП2 вводятся дополнительные команды MOVE reg, reg, использующие различные комбинации регистров. В этом случае ТТ12 позволит контролировать корректность различных вариантов регистровых пересылок.

Аналогичным образом организуется программа ТПЗ, выполняющая тестирование служебных регистров: регистра состояний SR, указателя стека SP и других регистров, которые определяют конфигурацию и режим работы МК, задают условия обработки прерывания и реализуют ряд других функций

Тестирование внутреннего ОЗУ данных (ФБ11) производится программой ТП4 путем заполнения всех ячеек ОЗУ константами $00, $55, $АА, SFF. После каждого цикла заполнения выполняется чтение содержимого ОЗУ и сравнение записанных и считанных данных. В различных циклах записи — чтения используются все способы адресации, реализуемые данным типом МК. Каждому способу адресации присваивается код, который заносится в один из регистров перед началом соответствующего цикла записи-чтения-сравнсния. При обнаружении функционального отказа тестовый модуль фиксирует код, указывающий используемый способ адресации, адрес отказавшей ячейки ОЗУ и считанные из нее данные, которые позволяют выявить неисправные разряды.

Эта программа позволяет также проверить корректность выполнения команд пересылки данных типа регистр-память. Для этого в ТП5 должны быть использованы все регистры reg, участвующие в реализации этой группы команд. Для выявления ошибок адресации ячеек ОЗУ следует после считывания их содержимого записывать в них §data.n = $00 или использовать различные варианты их заполнения специально подбираемым набором данных (например, задавать в качестве Mata.n значения адреса выбираемой ячейки).

Тестирование АЛУ (ФБ6) выполняется программой ТП5, которая производит загрузку в рабочие регистры исходных данных с помощью команд MOVE reg, tidata, а затем формирует циклическую последовательность арифметических и логических операций, реализуемых МК. Результат каждой операции или заданной последовательности операций (например, расчет по заданной формуле) выводится на тестовый порт командой MOVE addr_porí,

reg. После вывода результата на тестовый порт выдается содержимое регистра состояний командой MOVE addr_port, SR.

Сначала разрабатывается вариант программы TTI5-R, где при выполнении арифметических и логических операций используется только регистровая адресация. Эта программа проверяет функционирование АЛУ совместно с блоком регистров (функция Ф1). Если МК может выполнять эти операции с операндами, выбираемыми из памяти, то создается второй вариант ТП5-М, в котором для хранения операндов и результатов используется ОЗУ, адресуемое различными способами. Данная программа проверяет функционирование АЛУ совместно с блоком регистров и ОЗУ (функция Ф2). Для реализации ТП5 используются циклограммы, представленные на рис. 2 или рис. 3, где в качестве Ti вводятся соответствующие команды или последовательности команд.

Аналогичным образом реализуются процедуры тестирования схемы сдвига (ФБ7) - программа ТП6, блока умножения (ФБ8) - программа ТП7, блока битовых операций (ФБ9) - программа ТП8.

Тестирование блока выполнения ветвлений (ФБ2) осуществляется программой ТП9, которая должна содержать все варианты команд условных переходов (ветвлений) Jcc (BRcc), выполняемых при реализации заданного условия сс. Для выполнения тестирования предлагается запустить две процедуры. Одна процедура будет выполнять все команды переходов, которые реализуют переход к командам MOVE addr_port, #daia.nt, выдающим в тестовый порт заданные константы daia.nl. Затем выполняется команда, устанавливающая необходимое условие сс для реализации следующей команды перехода. Таким образом, при корректном выполнении всех команд перехода на вход тестового модуля будет поступать заданная последовательность чисел data.nt. Другая процедура также должна содержать все команды переходов, но условия переходов не должны выполняться. При этом после каждой команды Jcc будет следовать команда MOVE addr_port, Mata.nf, реализующая вывод на тестовой порт константы data.nf. Таким образом данная процедура обеспечит поступление на вход тестового модуля последовательности чисел data.nf. Если последовательности чисел da.ia.nt, data.nf будут частично корректными, то по номеру it соответствующих данных можно определить команду перехода, которая вызвала сбой выполнения ТП9.

Циклограмма реализации ТП9 показана на рис. 5, где представлен вариант тестирования переходов (ветвлений) при определенных значениях признаков в регистре SR. Последовательность данных data.la, ...data,na поступает на вход тестового модуля при выполнении условий переходов, последовательность data.lb, ...data.nb - при невыполнении условий. Адреса переходов addr п задаются в прямой или относительной форме в соответствии со способом адресации, который реализуется процессором.

[—►MOV SR,# data.fi

Jc1 addr.1 -

MOV addrport, #data.1b NOP

MOV addrport, #data.1a NOP

MOV SR,# data.f2

Jc2 addr.2

MOV addrport, #data.2b NOP

MOV SR, #data.t2 Jcc addr.2

MOV addrçrart, #data.2a NOP

MOV SR,# data.fn

Jen addr.n

MOV addrport, #data.nb NOP

MOV SR, #data.tn Jen addr.n

1

MOV SR,# dala.tl — JMP addr.begin

MOV addфort, #data.na

Рис. 5. Циклограмма тестирования условных переходов программой ТП9

Тестирование блока вызова подпрограмм и организации стека (ФБЗ) предлагается проводить в два этапа - сначала проверить функционирование стека (функция Ф1), а затем протестировать реализацию вызова подпрограмм с возможностями возврата к текущей программе (функция Ф2). Программа тестирования стека ТШО-S производит загрузку в указатель стека SP начального адреса вершины стека addr.iop, затем с помощью команд PUSH reg, или PUSH addr загружает в стек содержимое регистра или адресуемой ячейки памяти, которые содержат заданные константы data. При этом изменение содержимого SP (уменьшение или увеличение на 1) контролируется с помощью команд MOV addr.port, SP, выводящих содержимое SP на тестовый порт. Правильность данных, загружаемых в стек, контролируется путем их чтения из ячейки ОЗУ с адресом addr.top в промежуточный регистр и последующего вывода на тестовый порт командой MOVE addr_port, reg. Затем с помощью команд POP reg или POP addr данные, извлеченные из стека, пересыпаются в регистр или ячейку памяти ОЗУ. При этом с помощью команд MOVE addrjport, SP, контролируется обратное изменение содержимого SP. Извлеченные из стека данные выводятся из регистра или ячейки памяти на тестовый порт, их правильность проверяется тестовым модулем. Циклограмма выполнения данной процедуры при загрузке в стек и извлечении из него содержимого регистра reg показана на рис. 6. Операции загрузки в регистр SP адреса вершины стека и вывода в тестовый порт его содержимого, представленные в данной циклограмме мнемокодами MOVE SP, addr.top и MOVE addr.port, SP, на практике реализуются в зависимости от архитектуры тестируемого процессора. Например, в микроконтроллерах семейства AVR, имеющих 16-разрядный указатель стека, необходимо организовать его побайтное заполнение с помощью команд загрузки LDI и побайтный вывод с помощью команд сохранения ST, используя регистры Rn для промежуточного хранения данных.

MOV SR, # data.top

MOV reg, U data

PUSH reg

MOV reg, addr.top

MOV addrport, reg NOP

MOV addrport, SP NOP

POP reg

MOV addrport, reg

NOP

MOV addrport, SP 1

Рис. 6. Циклограмма тестирования стека программой ТПЮ-S

Программа тестирования вызова подпрограмм ТП10-С реализует циклическую последовательность процедур, которые с помощью команды CALL addr.n производят вызов подпрограммы, выполняющей чтение содержимого вершины стека (старое содержимое PC) в регистр reg и последующий вывод его на тестовый порт для проверки корректности. Затем с помощью команды RET осуществляется возврат к основной тестовой программе, выполняющей следующий вариант команды CALL add.n+1 с реализацией различных способов формирования адреса подпрограммы: прямого, относительного и других. Контроль корректности выполнения ТП10-С осуществляется тестовым модулем, который проверяет правильность выбираемых из стека значений содержимого PC, поступающих на тестовый порт микроконтроллера. Циклограмма реализации программы ТП10-С приведена на рис. 7, где мнемокодами CALLx, CALLy, CALLz обозначены команды с различными вариантами формирования адреса вызываемой подпрограммы. Подпрограммы тестирования выводят в порт записанное в стек содержимое PC через промежуточный регистр reg. Так как разрядность PC в МК составляет два и более байтов, то для вывода его содержимого на тестовый порт требуется две или более команд MOVreg, addr.top, MOVaddr.port, reg.

MOV SP, # addr.top CALLx addr.n — NOP -<

CALLy addr.n+1 — NOP -

CALLz addr.n+2 — NOP

I

Рис. 7. Циклограмма тестирования вызова подпрограмм программой ТП10-С

Подпрограммы тестирования

• MOV reg, addr.top MOV addrport, reg

RET

I—j» MOV reg, addr.top ' MOV addrport, reg -RET

I—!»• MOV reg, addr.top ' MOV addrport, reg RET

В некоторых RISC-процессорах (например, семейства ARM, PowerPC) содержимое PC сохраняется в регистре связи LR. В этом случае тестирование осуществляется с помощью программы ТП10-С, в которой подпрограмма тестирования осуществляет вывод в тестовый порт содержимого регистра LR.

Процедура тестирования блока реализации прерываний (ФБ4) реализуется тестовым модулем путем подачи на вход МК необходимых сигналов запроса прерывания. Тестовая программа ТП11 контролирует переход к обработчику прерывания при поступлении внешнего запроса (сигнал на входе IRQ) с сохранением в стеке текущего содержимого PC. Программа ТП11 формирует фоновую последовательность кодов datcup, которая циклически выдается на тестовый порт при отсутствии запроса IRQ. После приема этой последовательности тестовый модуль выдает сигнал запроса прерывания IRQ. При поступлении этого запроса МК переходит к программе обработки, которая выдает на тестовый порт код прерывания data.irq, затем содержимое вершины стека для контроля правильности сохраняемого содержимого PC. Перед выходом из программы обработки в регистре SR устанавливаются признаки, разрешающие выход из цикла тестирования по команде Б Ree. Заключительная команда обработчика RETI обеспечивает возврат к исходной программе (формирование фоновой последовательности кодов) с последующим прекращением процедуры тестирования. Реализация программы ТП11 иллюстрируется циклограммой на рис. 8. MOV SP, # addr.top MOV reg, #data.p1 MOV addrport, reg NOP

IRQ —► MOV reg, #data.p2 -► MOV reg, data.irq

MOV addrport, reg -<- MOV addrport, reg

NOP

MOV reg, #data.pn

MOV addrport, reg NOP

NOP

MOV reg, addr.top

MOV addrport, reg NOP

MOV SR, #data.end - RTI

BRcc addr.begin

Рис. 8. Циклограмма программы тестирования блока реализации прерываний

Программа ТП11 запускается при запрещенном обслуживании прерываний (установка соответствующего бита в регистре SR или в регистре разрешения прерываний) - тогда на выходе тестового порта будет формироваться фоновая последовательность при любых сигналах на входе IRQ. После ее приема разрешается обслуживание прерываний - тогда тестовый порт при поступлении сигнала IRQ будет выдавать код прерывания.

В табл. 4 отмечено участие различных ФБ в реализации набора тестовых программ ТП1 - ТП11. Данная таблица определяет состав ВФС для каждой Tffi - в соответствующий ВФС входят ФБ, участие которых в выполнении данной ТТЛ отмечено знаком «+». Как следует из этой таблицы, предлагаемый тестовый набор обеспечивает тестирование всех основных ФБ микроконтроллера. Поскольку в данных тестовых программах выполняется весь набор команд МК с различными способами адресации, то предлагаемая

методика позволяет производить полное функциональное тестирование процессорного ядра и внутренней памяти данных.

ФБ1 ФБ2 ФБЗ ФБ4 ФБ5 ФБ6 ФБ7 ФБ8 ФБ9 ФБ10 ФБ11

Ф1 Ф1 Ф2 Ф1 Ф2 Ф1 Ф2

ТП1 + +

ТП2 + + +

ТПЗ + + +

ТП4 + + +

TTI5-R + + + +

ТП5-М + + + + +

ТПб-R + + + +

ТП6-М + + + + +

ТП7 + + + +

ТП8 + + + + + +

ТП9 + +

тпю-s + +

ТП10-С + +

тли + +

С использованием данной методики разработаны наборы тестовых программ для широко применяемых типов МК:

- 8-разрядный микроконтроллер с CISC-архитектурой семейства AT89S52 (процессорное ядро MCS-51, компания Atmel);

- 8-разрядный микроконтроллер с RISC-архитектурой семейства ATmega (процессорное ядро AVR, компания Atmel);

- 32-разрядный микроконтроллер с RISC-архитектурой семейства LPC2000 (процессорное ядро ARM, компания NXP Semiconductor).

В четвертой главе представлены результаты исследований радиационной стойкости указанных выше типов МК на дозовые воздействия с помощью предложенных методов и разработанных наборов тестовых программ. Испытания проводились в ЭНПО СПЭЛС с использованием рентгеновского имитатора РЕИМ-2 и специализированного тестового модуля, работающего под управлением персонального компьютера.

Для проведения испытаний разработан специализированный тестовый модуль и комплекс программных средств которые позволяют осуществлять функциональное тестирование МК и контролировать электрические параметры: ток питания, выходные уровни «О» и «1». Тестовый модуль, подключаемый к СОМ-порту компьютера, имеет следующие характеристики:

• изменяемая частота тактирования до 100 МГц,

• три фиксированных источника питания +5 В, +3.3 В, +1,5 В,

• два регулируемых источника напряжения от + 1,25В до+7,0В,

• оперативная память емкостью 512К* 16 бит,

• FLASH - память емкостью 512К* 16 бит,

• 16-разрядный АЦП и 12-разрядный ЦАП для контроля уровней сигналов,

• 56 линий ввода-вывода данных для подключения микроконтроллера.

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

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

Результаты исследований показали, что для всех испытанных образцов МК функциональный отказ возникает при уровнях накопленной дозы 12-15 Крад, то-есть значительно раньше, чем достигается превышение допустимого значения тока потребления (около 50 Крад для семейств А1Ме§а и ЬРС, около 20 Крад для семейства АТ89Э) или происходит выход за нормативные пределы уровней логических «0» и «1». Для испытанных образцов МК функциональный отказ возникает при уровне дозы, при которой начинается заметный рост динамического тока потребления. Однако значение этого тока при данной дозе остается в нормативных пределах, заданными техническими условиями. Таким образом контроль функционирования МК является наиболее важным этапом для определения их стойкости к дозовым воздействиям.

Разработанная методика функционального контроля позволила выявить наиболее критические функциональные блоки, определяющие стойкость МК к накопленной дозе:

- арифметико-логическое устройство для МК семейства АТ898;

- энергонезависимая память ЕЕРГЮМ для МК семейства AtMega;

- блок выборки и дешифрации команд для МК семейства ЬРС2000.

Исследования показали, что основные затраты времени при

функциональном контроле связаны с тестированием 16- и 32-разрядных таймеров. При этом время тестирования процессорного ядра и внутренней памяти данных занимает около 1 с, что обеспечивает достаточно высокую точность определения дозы, при которой возникает их отказ: менее 1% при использованной методике испытаний.

С помощью разработанных средств функционального тестирования проводилось прогнозирование дозовой стойкости МК АТп^а128 методом экстраполяции изменения критериальных параметров при низкоинтенсивном облучении в пределах малых доз. Критериальным параметром, по которому определялась близость к отказу, являлось минимальное напряжение питания, при котором сохраняется функционирование. Соответствующие исследования были выполнены в МИФИ по заказу НИИ Космического приборостроения. Контроллеры облучались в ИРТ МИФИ при мощности дозы ионизирующего излучения 0,1 рад/с в пределах «безопасной» дозы в пассивном электрическом режиме. Испытания производились в сеансовом режиме, после каждого сеанса облучения производилось тестирование образцов с помощью описанных выше аппаратно-программных средств с использованием разработанного набора тестовых программ. Таким образом обеспечивается неразрушающее определение индивидуальных характеристик дозовой стойкости образцов МК из выбранной партии и прогнозируется ожидаемое значение предельно допустимой дозы для каждого образца. Это методика дает возможность отбраковывать образцы, имеющие аномально низкую радиационную стойкость, или отбирать образцы, обладающие повышенной радиационной стойкостью.

Полученные при испытаниях данные использовались для оценки эффективности принудительного переключения электрического режима МК АТгг^а128 с целью увеличения времени безотказного функционирования при воздействии ионизирующего излучения. При количестве циклов «активный электрический режим с последующим пассивным» N„=140 и одинаковом времени нахождения образца в активном и пассивном электрическом режиме ДТ=99 часов увеличение срока службы при использовании принудительно переключаемого резерва для испытанных МК составляет 32%.

Заключение. Основные результаты диссертации

1. Для реализации программного тестирования МК предложено использовать тестовую функциональную модель (ТФМ), которая обеспечивает возможность контроля работоспособности основных функциональных блоков по результатам выполнения определенного набора тестовых программ. Предложен базовый вариант ТФМ, который содержит набор функциональных блоков, обеспечивающий выполнение основных групп команд МК. С учетом архитектурных особенностей тестируемых МК базовая модель может быть трансформирована путем анализа маршрутов выполнения команд.

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

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

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

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

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

6. На базе предложенной общей методики разработаны частные методики функционального тестирования и необходимые тестовые программы для проведения испытаний на дозовые воздействия трех широко применяемых МК:

- 8-разрядный микроконтроллер с (ЛБС-архитектурой типа АТ89Б52;

- 8-разрядный микроконтроллер с ЯКС-архитектурой типа АТгс^а128Ь;

- 32-разрядный микроконтроллер с МБС-архитектурой типа ЬРС2114РВ064.

Разработанный комплект аппаратно-программных средств (тестовый модуль и сервисное программное обеспечение) позволяет выполнять функциональный контроль МК в непрерывном режиме облучения с помощью имитирующих установок, а также в сеансовом режиме. Комплект испытан при проведении ряда исследований, выполнявшихся в ЭНПО СПЭЛС и в МИФИ на кафедре микро- и наноэлсктроники и ИРТ. Результаты показали, что для всех исследованных образцов МК функциональный отказ возникает при уровнях накопленной дозы 12-15 крад, то-есть раньше, чем достигается превышение допустимого значения тока потребления или происходит выход за нормативные пределы уровней логических «О» и «1». Таким образом контроль функционирования МК является наиболее важным этапом определения их стойкости к дозовым воздействиям. С помощью разработанных методов и средств функционального контроля в составе исследованных МК выявлены наиболее критические функциональные блоки, определяющие стойкость к дозовым эффектам.

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

Разработанные методы функционального контроля, аппаратные и программные средства для проведения радиационных испытаний позволяют определить предельную дозу нормального функционирования МК и выявить в их структуре функциональные блоки, наиболее критичные к величине поглощенной дозы. Время тестирования процессорного ядра и внутренней памяти данных для исследованных МК занимает около 1 с, что обеспечивает достаточно высокую точность определения дозы, при которой возникает их отказ: менее 1% при использованной методике испытаний.

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

прогнозировать дозовую стойкость отдельных образцов и отбирать для последующего применения образцы с необходимым уровнем стойкости. Оценка эффективности применения переменного режима функционирования показала для испытанных МК типа ATmegal28L возможности повышения срока безотказной работы на 32 %.

Публикации по теме диссертации

1. Лебедев A.B., Кириллов М.А., Шагурин И.И. Испытание на радиационную стойкость опытных образцов микроконтроллера 1830ВЕ01У. // Научная сессия МИФИ - 2005. Сборник научных трудов, т.1. -М.: МИФИ, 2005, с.126-127.

2. Лебедев A.B., Кириллов М.А., Шагурин И.И. Методика испытания на радиационную стойкость микроконтроллеров с архитектурой MCS-51 при импульсном и дозовом воздействии. // Научная сессия МИФИ - 2005. Сборник научных трудов, т.1. -М.: МИФИ, 2005, с.128-129.

3. Лебедев A.B., Кириллов М.А., Шагурин И.И. Тестовый модуль для испытания радиационной стойкости СБИС микроконтроллеров. И Вопросы атомной науки и техники. Серия: Физика радиационного воздействия на радиоэлектронную аппаратуру. 2005, вып.3-4.

4. Шагурин И.И., Лебедев A.B., Кириллов М.А. Функциональный контроль микроконтроллера 1830ВЕ01У при проведении радиационных испытаний. // Радиационная стойкость электронных систем - Стойкость - 2005. Научно-технический сборник. -М.: МИФИ, 2005, с.197-198.

5. Шагурин И.И., Лебедев A.B., Кириллов М.А. Испытание на радиационную стойкость серийных образцов микроконтроллера ATTINY12-8. // Научная сессия МИФИ - 2006. Сборник научных трудов, т.1. -М.: МИФИ, 2006, с.128-129.

6. Лебедев A.B., Шалтырев В.А. Процессорный модуль на основе микроконтроллера AT91RM92000. Н Научная сессия МИФИ - 2006. Сборник научных трудов, т. 1. -М.: МИФИ, 2006, с.122-123.

7. Лебедев A.B., Кириллов М.А., Некрасов П.В., Калашников O.A., Тихомиров С.Н. Результаты исследований радиационных отказов микроконтроллеров 1880ВЕ71У. // Радиационная стойкость электронных систем - Стойкость - 2006. Научно-технический сборник. -М.: МИФИ, 2006, с.81-82.

8. Лебедев A.B., Шагурин И.И., Зверев Ю.В. Тестовый модуль для испытаний на радиационную стойкость СБИС микроконтроллеров и микропроцессоров. // Радиационная стойкость электронных систем -Стойкость - 2008. Научно-технический сборник. -М.: МИФИ, 2008, с.219-220.

9. Шагурин И.И., Лебедев A.B., Зверев Ю.В. Испытание на радиационную стойкость микроконтроллеров LPC2114 с архитектурой ARM7. // Научная сессия МИФИ - 2008. Сборник научных трудов, т.8. -М.: МИФИ, 2008, с.150-151.

10. Аиашин В.С, Лебедев A.B., Попов В.Д., Скородумова A.B., Чубунов П.А., Шагурип И.И. Определение индивидуальных характеристик дозовой стойкости микроконтроллеров' Atmegal28 экстраполяцией изменения критериальных параметров при низкоинтенсивном облучении в пределах малых доз. // Радиационная стойкость электронных систем - Стойкость -2008. Научно-технический сборник. -М.: МИФИ, 2008, с.73-74.

11. Анашин В.С, Лебедев A.B., Попов В.Д., Скородумова A.B., Чубунов П.А., Шагурин И.И. Повышение срока функционирования резервированной аппаратуры на базе микроконтроллеров Atmega-128 путем оптимизации режима переключения. // Радиационная стойкость электронных систем -Стойкость - 2008. Научно-технический сборник. -М.: МИФИ, 2008, с.75-76.

12. Лебедев A.B., Шагурин И.И. Методика функционального тестирования СБИС микроконтроллеров и микропроцессоров при проведении радиационных испытаний. // Инженерная физика, 2008, №2, с. 49-55.

Подписано в печать. 14.05.2009

Заказ № 2068 Тираж - 100 экз. Печать трафаретная. Типография «11-й ФОРМАТ» ИНН 7726330900 115230, Москва, Варшавское ш., 36 (499) 788-78-56 ww w. autoreferat. ru

Оглавление автор диссертации — кандидата технических наук Лебедев, Алексей Викторович

Введение

Глава 1. Современные микроконтроллеры, методы и средства их радиационных испытаний

1.1 Номенклатура и особенности архитектуры современных микроконтроллеров

1.2. Влияние накопленной дозы на функционирование МК.

1.3. Методы и средства, используемые при радиационных испытаниях микроконтроллеров и микропроцессоров.

1.3.1. Методики функционального тестирования при проведении радиационных испытаний.

1.3.2. Аппаратные средства для проведения радиационных испытаний.

1.4. Выводы и постановка задачи.

Глава 2. Анализ структуры микроконтроллеров и разработка тестируемых функциональных моделей.

2.1. Анализ функциональной структуры микроконтроллеров с процессорным ядром MCS-51.

2.2. Анализ функциональной структуры микроконтроллеров с процессорным ядром AVR.

2.3. Анализ функциональной структуры микроконтроллеров с процессорным ядром ARM.

2.4. Тестируемая функциональная модель типового микроконтроллера.

2.5. Выводы по главе 2.

Глава 3. Разработка тестовых программ для функционального тестирования микроконтроллеров при проведении радиационных испытаний.

3.1. Методы реализации функционального тестирования микроконтроллеров с помощью набора тестовых программ.

3.1.1. Применение таблицы покрытия при формировании комплекта тестовых программ.

3.1.2. Формирование тестовых циклических последовательностей для контроля результатов выполнения тестовых программ.

3.1.3. Выявление отказавших функциональных блоков методом наложения виртуальных функциональных сегментов.

3.2. Общая методика разработки тестовых программ для функционального тестирования микроконтроллеров.

3.3. Разработка тестовых программ для испытаний микроконтроллера AT89S52.

3.4. Разработка тестовых программ для испытаний микроконтроллеров семейства ATmega.

3.5. Разработка тестовых программ для испытаний микроконтроллеров семейства LPC.

3.6. Выводы по главе 3.

Глава 4. Функциональное тестирование микроконтроллеров при проведении радиационных испытаний.

4.1. Аппаратные средства для тестирования микроконтроллеров в процессе радиационных испытаний.

4.2. Комплекс программного обеспечения для тестирования микроконтроллеров в процессе радиационных испытаний.

4.3. Результаты функционального тестирования микроконтроллера AT89S52.

Список использованных сокращений

АЛУ - арифметико-логическое устройство,

АЦП - аналого-цифровой преобразователь, ВФС - виртуальный функциональный сегмент, МК - микроконтроллер, МП - микропроцессор,

ОЗУ - оперативное запоминающее устройство, ПК - персональный компьютер,

ПЛИС - программируемая логическая интегральная схема,

ПО - программное обеспечение,

СБИС - сверхбольшая интегральная схема,

ТП - тестовая программа,

ТФМ - тестируемая функциональная модель,

ФБ - функциональный блок,

ЦАП - цифро-аналоговый преобразователь,

ШИМ - широтно-импульсная модуляция,

CISC - процессор со сложной системой команд,

EEPROM - электрически-программируемая память с электрическим стиранием,

JTAG - аппаратный интерфейс тестирования цифровых устройств по стандарту IEEE 1149.1А PC - программный счетчик,

RISC- процессор с сокращенной системой команд, ROM - постоянная память, SP - регистр - указатель вершины стека, SR - регистр состояний,

Введение 2009 год, диссертация по информатике, вычислительной технике и управлению, Лебедев, Алексей Викторович

В составе современной электронной аппаратуры широко используются СБИС микроконтроллеров (МК) и микропроцессоров (МП), которые выполняют функции сбора и обработки данных, контроля состояния управляемых объектов, формирования необходимых управляющих воздействий. В ряде применений данная аппаратура должна функционировать в условиях повышенного уровня радиации. Это относится к бортовой аппаратуре космических аппаратов, электронному оборудованию атомных электростанций, приборам для проведения ряда физических экспериментов, электронной аппаратуре военного назначения. Прогресс микроэлектронной технологии дал в руки разработчиков систем большую номенклатуру различных моделей микропроцессоров и микроконтроллеров, которые отличаются по своей производительности, функциональным возможностям и другим характеристикам. Но только небольшое количество типов МП и МК сертифицированы для специальных применений, поэтому разработчики аппаратуры во многих случаях вынуждены использовать коммерческие модели этих изделий, основная номенклатура которых поставляется зарубежными производителями. Так как параметры, определяющие стойкость к воздействию ионизирующих излучений, обычно не указываются в числе их технических характеристик, актуальной является проблема реализации специальных испытаний этих изделий для определения необходимых параметров.

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

Решением этой задачи занимаются как зарубежные исследователи, так и российские организации - НИИ Приборов, НИИ Космического Приборостроения, ЭНПО «Специализированные электронные системы», ЦНИИ-22 Министерства Обороны, РНИИ Космического приборостроения, ЦНИИ Машиностроения, ВНИИ Экспериментальной Физики, НИИ Измерительных систем, НИИ Ядерной Физики МГУ и ряд других, которые используют для этого различные методы и средства. Обзор используемых методов и средств, которые описаны в отечественной и зарубежной литературе, показывает, что они реализуют контроль выполнения отдельных процедур, осуществляют проверку работоспособности отдельных блоков. Поэтому актуальным является развитие методов и разработка аппаратно-программных средств, обеспечивающих достаточную полноту функционального тестирования и возможность выявления отказов для всех основных функциональных блоков, входящих в состав микроконтроллеров.

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

Целью данной диссертации является разработка методов и аппаратно-программных средств для функционального тестирования современных микроконтроллеров при радиационных испытаниях на дозовые воздействия, обеспечивающих выявление в составе СБИС отказавших функциональных блоков или группы блоков.

Основными задачами диссертации являются:

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

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

3. Разработка методов, которые позволяют:

- разработать набор тестовых программ, обеспечивающих достаточно полное тестирование функциональных блоков в составе микроконтроллера и диагностику их отказов;

- обеспечить проведение внешнего контроля корректности выполнения тестовых программ, хранящихся во внутренней памяти, с помощью имеющихся в составе микроконтроллера параллельных портов;

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

4. Разработка аппаратных средств и тестовых программ для выполнения радиационных испытаний микроконтроллеров в соответствии с предложенной методикой.

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

Научная новизна диссертации

1. На основе анализа архитектуры ряда семейств микроконтроллеров, предложен базовый вариант тестируемой функциональной модели микроконтроллеров (ТФМ), которая обеспечивает возможность контроля работоспособности основных функциональных блоков при проведении программного тестирования, когда их работоспособность определяется по результату выполнения определенного набора тестовых программ. Предлагаемая ТФМ позволяет достаточно полно представить функционирование микроконтроллеров при выполнении типового набора команд.

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

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

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

5. Разработана общая методика создания набора тестовых программ для функционального тестирования микроконтроллеров, обеспечивающая подготовку необходимого тестового программного обеспечения и проведение тестирования с помощью разработанных программ и специализированных аппаратных средств. Данная методика, использующая разработанную ТФМ и предложенные методы функционального тестирования, позволяет выполнить программное тестирование и выявление отказавших функциональных блоков.

6. Предложены алгоритмы тестирования основных функциональных блоков, входящих в состав микроконтроллеров. Алгоритмы представлены в виде циклограмм, использование которых упрощает разработку необходимых тестовых программ на языке Ассемблера.

Практическая значимость диссертации

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

- 8-разрядный микроконтроллер с СКС-архитектурой типа АТ89852 (процессорное ядро МС8-51, компания А1:те1);

- 8-разрядный микроконтроллер с МЭС-архитектурой типа АТп^а128Ь-8А1 (процессорное ядро АУЛ, компания Айпе1);

- 32-разрядный микроконтроллер с RISC-архитектурой типа LPC2114FBD64 (процессорное ядро ARM, компания NXP Semiconductor).

2. Разработан комплект аппаратно-программных средств, позволяющих выполнять функциональный контроль микроконтроллеров в непрерывном режиме облучения с помощью имитирующих установок, а также в сеансовом режиме.

3. С помощью разработанных методов и средств функционального контроля проведены радиационные испытания указанных микроконтроллеров, в процессе которых определены уровни их стойкости к дозовым эффектам и выявлены наиболее критические функциональные блоки. Показано, что для всех исследованных образцов функциональный отказ возникает раньше, чем достигается превышение допустимого значения тока потребления или происходит выход за нормативные пределы уровней логических «О» и «1». Таким образом, для изделий данного класса контроль функционирования является важным этапом определения их стойкости к дозовым воздействиям.

4. С помощью разработанных методов и аппаратно-программных средств проведено прогнозирование радиационной стойкости образцов микроконтроллеров типа ATmegal28 в условиях низкоинтенсивного облучения и оценка возможностей повышения срока их безотказной работы при переменном режиме функционирования (чередование активного и пассивного режимов работы). Показано, что использованная методика испытаний позволяет прогнозировать дозовую стойкость отдельных образцов и отбирать для последующего применения образцы с необходимым уровнем стойкости. Оценка эффективности применения переменного режима функционирования показала для испытанных микроконтроллеров возможности повышения срока безотказной работы на 32 %.

Положения, выносимые на защиту.

1. Тестовая функциональная модель микроконтроллеров (ТФМ), которая обеспечивает возможность контроля работоспособности его основных функциональных блоков по результатам выполнения определенного набора тестовых программ.

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

3. Метод формирования заданных циклических последовательностей, который позволяет зафиксировать результаты выполнения набора тестовых программ, анализируя состояние портов ввода-вывода.

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

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

6. Алгоритмы тестирования основных функциональных блоков, входящих в состав микроконтроллеров, представленные в виде циклограмм, использование которых упрощает разработку необходимых тестовых программ на языке Ассемблера.

7. Частные методики функционального тестирования и тестовые программы для проведения испытаний на дозовые воздействия трех широко применяемых микроконтроллеров: 8-разрядный микроконтроллер с CISC-архитектурой AT89S52 (процессорное ядро MCS-51), 8-разрядный микроконтроллер с RISC-архитектурой ATmegal28 (процессорное ядро AVR); 32-разрядный микроконтроллер с RISC-архитектурой LPC2114FBD64 (процессорное ядро ARM).

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

9. Результаты исследований образцов трех типов микроконтроллеров, которые позволили выявить наиболее критические функциональные блоки, определяющие стойкость микроконтроллеров к дозовым эффектам, и показали, что функциональный отказ возникает при существенно меньших уровнях накопленной дозы, чем достигается превышение допустимого значения тока потребления или происходит выход за нормативные пределы уровней логических «О» и «1».

Набор разработанных тестовых программ и аппаратно-программные средства использовался в ЭНПО «Специализированные электронные системы» при проведении исследований радиационной стойкости ряда типов микроконтроллеров: 1830ВЕ01У, 1880ВЕ71У, АТ89852, АТ8988252, Атапу12-8, АТп^а128Ь, Р1С16С774, ТО80С196КВ, Ат186ЕК, М(580С186, ЬРС2114 на дозовые воздействия с помощью имитационных установок РЕИМ-2.

Разработанные тестовые программы и аппаратно-программные средства использовались также работах по прогнозированию радиационной стойкости образцов микроконтроллеров типа АТте£а128 в условиях низкоинтенсивного облучения и оценки возможностей повышения срока их безотказной работы при переменном режиме функционирования (чередование активного и пассивного режимов работы), которые проводились в МИФИ по заказу ФГУП НИИ Космического приборостроения.

Заключение диссертация на тему "Методы и аппаратно-программные средства функционального тестирования СБИС микроконтроллеров при проведении радиационных испытаний на дозовые воздействия"

4.7. Выводы по главе 4.

Для всех испытанных образцов функциональный отказ возникает при уровнях накопленной дозы 12 - 15 Крад, то-есть значительно раньше, чем достигается превышение допустимого значения тока потребления (около 50 Крад для семейств и ЬРС, около 20 Крад для семейства АТ89Б) или происходит выход за нормативные пределы уровней логических «0» и «1». Таким образом для изделий данного класса контроль функционирования является наиболее важным этапом для определения их стойкости к дозовым воздействиям.

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

Разработанная методика функционального контроля позволяет выявить наиболее критические функциональные блоки, определяющие стойкость микроконтроллеров к накопленной дозе:

- арифметико-логическое устройство для микроконтроллеров семейства АТ89Э;

- энергонезависимая память ЕЕР1ЮМ для микроконтроллеров семейства АИУ1е§а;

- блок выборки и дешифрации команд для микроконтроллеров семейства ЬРС2000.

Основные затраты времени при функциональном контроле связаны с тестированием 16- и 32-разрядных таймеров. При этом время тестирования процессорного ядра и внутренней памяти данных занимает около 1 с, что обеспечивает достаточно высокую точность определения дозы, при которой возникает их отказ: менее 1% при использованной методике испытаний.

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

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