Метод диагностики цифровых схем с программируемыми ПЛИС на этапе изготовления

2015 Электротехника, информационные технологии, системы управления № 14 УДК 6801.326.706

В.В. Киселев, Н.А. Суворов

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

Пермь, Россия

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

Рассматривается метод самотестирования цифровых схем, реализуемый существующей в устройстве ПЛИС, в которую на время производственного контроля занесено необходимое диагностическое обеспечение. Синтез диагностического обеспечения состоит из этапов определения элементов схемы, проверяемых ПЛИС, определения множества обнаруживаемых физических дефектов, составления алгоритма подачи тестовых наборов. Анализ результатов диагностики производится как с помощью таблиц с кодами ошибок, так и с помощью различных средств индикации. Приводится пример синтеза встроенного теста для интерфейсной платы, содержащей четыре порта передачи данных. Реализация алгоритма выполнена в системе разработки программного обеспечения Quartus II для ПЛИС производства компании Altera на языке описания аппаратуры AHDL.

Предложенный метод не требует дополнительных аппаратурных затрат, характеризуется простотой синтеза встроенного теста и позволяет проверить большинство элементов, к которым имеет доступ ПЛИС, и установить место неисправности.

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

V.V. Kiselyov, N.A. Suvorov

Perm National Research Polytechnic University, Perm, Russian Federation

METHOD OF DIAGNOSTIC DIGITAL CIRCUIT WITH PROGRAMMABLE PLD ON PRODUCTION STAGE

The article presents the method of digital equipment self-diagnosis which is realised on the basis of programmable PLD containing necessary diagnostic software for the period of production control. The synthesis of the diagnostic software consists of some stages: to define the controlled elements of the equipment, to define the physical defects, to make the algorithm of input action. The analysis of diagnostic results is carried out on the basis of tables with mistake codes as well as with different identification means. There is an example of downloaded test synthesis for interface board, containing 4 data ports. The algorithm realisation is conducted on the basis of software Quartus II for programmable PLD produced by Altera Company in the AHDL language. The method does not demand additional equipment, is characterised by the simplicity of the test development and allows to check a major part of the elements to which programmable PLD has an access, also to identify the defect place.

Keywords: digital circuit with programmable PLD, production control, input diagnostic software, algorithm of diagnosis.

Производство бездефектной радиоэлектронной аппаратуры требует проведения эффективных процедур технического диагностирования при её изготовлении. При этом сложность процедур диагностирования растёт одновременно с ростом сложности аппаратуры [1]. Так, внедрение сверхбольших интегральных схем (СБИС) значительно расширило функциональные возможности оборудования, что существенно усложнило решение задач диагностирования таких устройств на этапе изготовления.

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

Использование методов тестового диагностирования [3] в большинстве случаев невозможно вследствие чрезвычайной громоздкости тестов и больших трудностей в их разработке [4].

Методы аппаратного контроля [5] требуют введения избыточной (контрольной) аппаратуры, что существенно усложняет и удорожает оборудование, объем которого резко увеличивается с расширением класса дефектов, подлежащих контролю [6]. Вследствие изложенного использование данного подхода для этапа производственного контроля является неоправданным.

Предлагаемый в данной статье метод синтеза встроенного теста для диагностики цифровых схем, созданной на базе перепрограммируемых СБИС, основан на проведении процедуры самопроверки изготовленного устройства. Добавление такой функции является общей тенденцией в построении электронных систем наряду с самовосстановлением и самоадаптацией [7]. Процедура самопроверки реализуется существующей ПЛИС, в которую на этапе контроля заносится тестовое обеспечение, называемое в дальнейшем встроенным тестом. После отладки устройства ПЛИС программируется в соответствии с рабочим алгоритмом.

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

Рассмотрим последовательность синтеза встроенного теста на базе ПЛИС, которую условно можно разделить на 4 этапа:

1. Определение блоков и линий проверки.

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

2. Определение множества дефектов.

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

3. Составление общего алгоритма.

На этапе составления общего алгоритма тестирования необходимо определиться с последовательностью диагностирования блоков. Также необходимо выбрать средства для разработки программного обеспечения для ПЛИС (обычно предоставляется производителем ПЛИС).

4. Анализ результатов диагностирования или подачи тестов.

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

Примерный общий алгоритм показан на блок-схеме (рис. 1).

Рис. 1. Общий алгоритм тестирования

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

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

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

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

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

Рассмотрим общий алгоритм синтеза встроенного теста на примере платы, которая организует каналы связи по интерфейсам Я8-232 и/или Я8-485. Функциональная схема приведена на рис. 2.

Порт 1

Свето диоды

ПЛИС

Флэш-память

№232

Порт 2

113232

113485

к внешнему

ПортЗ

1^232

к внешнему устройству

V——

Порт 4

1^232

к внешнему

устройству

и——^—

Рис. 2. Функциональная схема

Данная плата содержит 4 порта передачи данных. Порты номер 1 и 2 имеют переключаемый тип интерфейса: либо ЯБ-232, либо ЯБ-485. Для портов 3 и 4 тип интерфейса - только ЯБ-232. Все порты имеют

гальваническую изоляцию друг от друга и от остальных узлов платы, но в пределах одного порта интерфейсы RS-232 не имеют изоляции от RS-485. На лицевой панели расположены разъемы интерфейсов RS-232 и индикаторы состояния портов. На задней части платы размещены разъемы интерфейсов RS-485 и разъемы их сигнальных земель.

Из установленных на плате электрорадиоэлементов и функциональных блоков необходимо проверить:

- передающею линию RXD-TXD четырех портов RS232;

- линию квитирования RTS-CTS четырех портов RS232;

- восемь пар светодиодов;

- линию, ведущую к внутренней шине блока;

- линию, содержащую триггеры Шмидта или, по-другому, линию кроссового разъема.

Также необходимо проверить время прихода и спада фронта сигнала на портах RS232. Это необходимо сделать для согласования со стандартами на последовательный порт RS232. Реализация данного алгоритма была выполнена в системе разработки программного обеспечения Quartus II для ПЛИС производства компании Altera на языке описания аппаратуры AHDL [10].

Блок-схема алгоритма показана на рис. 3.

Для проведения тестирования необходимо замкнуть передатчик на приемник. Выполняется это для функциональной диагностики, т.е., если выдать на вывод RXD сообщение, то идентичное сообщение должно быть принято на выводе TXD. Точно такая же схема тестирования применяется для линии квитирования RTS-CTS.

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

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

так как изначально в плату установлены перемычки для последующего теста последовательного порта. Реализуется этот тест путем назначения в ПЛИС каждого вывода двунаправленным, т.е. можно как выдать, так и прочитать данные на нем.

Начало

Начальное ожидание

Проверка замыканий на выводах ПЛИС

Параллельный тест сообщения)

Выдача информации о работоспособности на _светодиоды_

Подключение к одному из рабочих портов

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

)

Измерения фронтов сигнала

Проверка линии кроссового разъема

Выдача информации о замыканиях выводов

да

Тест окончен?

Рис. 3. Алгоритм тестирования платы

Регистр состояния каждого вывода показан на рис. 4.

Б1

Б 0

0 - нет замыкания

1 - есть замыкание

0 - замыкание на землю

1 - замыкание на питание

Рис. 4. Регистр состояния каждого вывода

Тестирование последовательных портов проводится, как отмечалось выше, через перемычку, но не одиночным импульсом, а последовательностью. Эта последовательность называется тестовым сообщением и имеет шестнадцатеричный формат. Тестовое сообщение может быть сформировано произвольно и не нести смысловой нагрузки, но необходимо соблюсти достаточное количество переходов между логической единицей и нулем. Например, для данного проекта использовалось сообщение «testing DS-03». Результат данного теста выводится пользователю посредством светодиодов. Если тест прошел удачно, то «загорается» зеленый светодиод, если неудачно, то ничего не выдается, и светодиод остается в «погашенном» состоянии.

Блок «Бегущий огонек» позволяет визуально проверить работоспособность светодиодов, т.е. все 8 пар светодиодов последовательно зажигаются и гаснут.

Блок «Проверка кроссового разъема» позволяет проверить замыкания на линиях, имеющих выход на кросс-плату. Выполняется этот тест также путем заворота сигнала через перемычки.

Последний блок позволяет выдать информацию о результате проверки замыканий на выводах ПЛИС.

Далее идут анализ полученных данных и их интерпретация, т.е., к примеру, если получаем в регистре состояния число 0*3 (шестнадцатеричный формат), то это означает наличие замыкания на питание (см. рис. 4). В случае измерения фронта сигнала полученное значение надо умножать на период тактовой частоты, так как выдается количество тактов, подсчитанное счетчиком, и потом сравнить с технологическими условиями.

Таким образом, с помощью этого встроенного теста проверяются практически все элементы, к которым имеет доступ ПЛИС приведенной платы.

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

Библиографический список

1. Кон Е.Л., Фрейман В.И. Подходы к тестовому диагностированию цифровых устройств // Вестник Пермского национального исследовательского политехнического университета. - 2012. - № 6. - С. 231-241.

2. Киселев В.В., Кон Е.Л., Шеховцев О.И. Автоматизация поиска дефектов цифровых устройств. - Л.: Энергоатомиздат, Ленингр. отделение, 1986. - 96 с.

3. Киселев В.В. Диагностика кратных дефектов в автоматах // Вестник Пермского национального исследовательского политехнического университета. - 2012. - № 6. - С. 267-270.

4. Журавлев Ю.П., Котелюк Л.А., Циклинский Н.И. Надежность и контроль ЭВМ. - М.: Советское радио, 1978. - 416 с.

5. Каган Б.М., Мкртумян И.Б. Основы эксплуатации ЭВМ. - М.: Энергноатомиздат, 1983. - 376 с.

6. Сапожников В.В., Сапожников Вл.В. Основы технической диагностики. - М.:Маршрут, 2004. - 318 с.

7. Kening Zhang, Jaafar Alghazo, Ronald F. DeMara. FPGA Self-Repair using an Organic Embedded System Architecture // Computer Architecture Laboratory. - URL: http://cal.ucf.edu/conf/c_zhang_demara_alghazo_ decide_07.pdf (дата обращения: 23.06.2014).

8. Орлов И.А., Корнюшко В.Ф. Эксплуатация и ремонт ЭВМ, организация работы вычислительного центра. - М.: Энергноатомиздат, 1989. - 400 с.

9. Уилкинсон Б. Основы проектирования цифровых схем. - М.: Вильямс, 2004. - 320 с.

10. Стешенко В.Б., Самохин А.В. Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС / МГТУ им. Н.Э. Баумана. -URL: www.sm.bmstu.ru/sm5/n4/oba.html (дата обращения: 23.06.2014).

References

1. Kon E.L., Freiman V.I. Podkhody k testovomu diagnostirovaniiu tsifrovykh ustroistv [Approaches to test diagnosing digital devices]. Vestnik Permskogo natsional'nogo issledovatel'skogo politekhnicheskogo universiteta, 2012, no. 6, pp. 231-241.

2. Kiselev V.V., Kon E.L., Shekhovtsev O.I. Avtomatizatsiia poiska defektov tsifrovykh ustroistv [Automation search of defect in digital devices]. Leningrad: Energoatomizdat, 1986. 96 p.

3. Kiselev V.V. Diagnostika kratnykh defektov v avtomatakh [Diagnosis of multiple defects in machines]. Vestnik Permskogo natsional'nogo issledovatel'skogo politekhnicheskogo universiteta, 2012, no. 6, pp. 267-270.

4. Zhuravlev Iu.P., Koteliuk L.A., Tsiklinskii N.I. Nadezhnost' i kontrol' EVM [Reliability and control computers]. Moscow: Sovetskoe radio, 1978. 416 p.

5. Kagan B.M., Mkrtumian I.B. Osnovy ekspluatatsii EVM [Fundamentals service of computer]. Moscow: Energnoatomizdat, 1983. 376 p.

6. Sapozhnikov V.V., Sapozhnikov V.V. Osnovy tekhnicheskoi diagnostiki [Fundamentals of technical diagnostics]. Moscow: Marshrut, 2004. 318 p.

7. Kening Zhang, Jaafar Alghazo, Ronald F. DeMara. FPGA Self-Repair using an Organic Embedded System Architecture. Computer Architecture Laboratory, available at: http://cal.ucf.edu/conf/c_zhang_ demara_alghazo_decide_07.pdf (accessed 23 June 2014).

8. Orlov I.A., Korniushko V.F. Ekspluatatsiia i remont EVM, organizatsiia raboty vychislitel'nogo tsentra [Service and repair of computers, organization of work data center]. Moscow: Energnoatomizdat, 1989. 400 p.

9. Uilkinson B. Osnovy proektirovaniia tsifrovykh skhem [Fundamentals of designing digital circuits]. Moscow: Vil'iams, 2004. 320 p.

10. Steshenko V.B., Samokhin A.V. Shkola razrabotki apparatury tsifrovoi obrabotki signalov na PLIS [School development of device for digital signal processing on PLD]. Moskovskii gosudarstvennyi tekhnicheskii universitet imeni. N.E. Baumana, available at: www.sm.bmstu.ru/sm5/n4/ oba.html (accessed 23 June 2014).

Сведения об авторах

Киселев Валерий Васильевич (Пермь, Россия) - кандидат технических наук, доцент кафедры конструирования и технологии в электротехнике Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, e-mail: ktei@pstu.ru).

Суворов Никита Анатольевич (Пермь, Россия) - инженер кафедры конструирования и технологии в электротехнике Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, e-mail: bnight@mail.ru).

About the authors

Kiselyov Valery Vasilyevich (Perm, Russian Federation) is Ph.D. in Technical Sciences, Associate Professor at the Department of Designing and Technology in Electrical Equipment of Perm National Research Polytechnic University (614990, Perm, 29 Komsomolsky pr., e-mail: ktei@pstu.ru ).

Suvorov Nikita Anatol'evich (Perm, Russian Federation) engineer at the Department of Designing and Technology in Electrical Equipment of Perm National Research Polytechnic University (614990, Perm, 29 Komsomolsky pr., e-mail: bnight@mail.ru).

Получено 15.04.2015