Программируемый JTAG - модуль диагностирования

Полезная модель относится к средствам диагностики цифровых систем, имеющих шинную организацию (микроконтроллеры, небольшие ЭВМ и цифровые управляющие автоматы).
Известен программно-аппаратный стенд для диагностики цифровых и микропроцессорных блоков (патент на полезную модель №73093, Российская Федерация МПК G05B 23/00, G06F 11/30, опубликован 10.05.2008).
В состав программно-аппаратного стенда для диагностики цифровых и микропроцессорных блоков входят блок дискретного ввода-вывода; источник внешнего питания тестируемых блоков; переходное устройство; ПЭВМ+программное обеспечение. Блок дискретного ввода-вывода включает в себя следующие основные узлы:
схема сопряжения с шиной ISA по магистралям данных;
схема дешифрации адреса блока дискретного ввода-вывода;
схема внешнего параллельного интерфейса;
схема коммутации направления передачи портов.
В процессе диагностики неисправностей тестируемый (диагностируемый) цифровой блок подключается через переходное устройство к блоку дискретного ввода-вывода (по-другому - устройству сопряжения), который, в свою очередь, установлен в системную шину ISA управляющего компьютера. На управляющем компьютере запускается соответствующая программа, под управлением которой в диагностируемый блок через устройство сопряжения, а именно через блок дискретного ввода-вывода, и переходное устройство поступают тестовые сигналы и через них же с блока в компьютер поступают отклики от диагностируемого блока. В управляющем компьютере производится анализ этих откликов и принимается решение об их соответствии эталонным. В случае несоответствия программа выдает сообщение об ошибке и ее описание. Далее на компьютере запускается режим поиска неисправности.
Известен метод граничного сканирования (И. Каршенбойм, JTAG тестирование, Современная электроника, №2, 2007, стр. 60-66), когда тестовое воздействие посылается от ЭВМ (ноутбука) по линиям интерфейса JTAG, сигналы последовательно проходят через встроенные граничные регистры и, переключаясь с помощью мультиплексоров, опрашивают входы функциональных узлов цифровых блоков. Метод применим как для диагностирования интегральных схем, так и для контроля функциональный узлов на печатных платах. Глубина тестирования этого метода зависит от «степени охвата» диагностируемых точек функциональных узлов, с увеличением глубины тестирования затраты на тестовое оборудование экспоненциально возрастают. Поэтому глубина граничного сканирования сегодня сохраняется на уровне контроля периферийного оборудования микросхем или блоков на печатной плате, имеющих JTAG входы для подключения входного воздействия, что часто недостаточно для обеспечения высокой надежности функционирования блока.
Программируемый JTAG-модуль диагностирования полезной модели представляет собой микропроцессорное устройство, встроенное в объект диагностики (ОД). Он заменяет собой при проведении сравнения с данным аналогом устройство сопряжения и переходное устройство и, в отличие от него, является внешним по отношению к ЭВМ, имеет возможность соединения с ней по JTAG-интерфейсу для приема стимулирующего воздействия и передачи обратно результатов тестирования. Программируемый JTAG-модуль позволяет увеличить глубину тестирования, делает систему диагностирования более гибкой в применении, и обеспечивает возможность программирования его управляющей памяти.
Таким образом, в результате описания аналогов можно сделать вывод о том, что, в качестве прототипа может быть использован встроенный модуль диагностирования, которому присуща совокупность признаков, наиболее близкая к совокупности существенных признаков полезной модели. Важным существенным отличием от всех существующих аналогов, когда программируемый JTAG-модуль диагностирования подключается к объекту диагностики, является применяемое решение, при котором JTAG-модуль диагностирования встраивается в объект диагностики и связывается с внешней ЭВМ (ноутбуком) по универсальному интерфейсу JTAG, в котором процедура передачи тестовых воздействий и отклика на них дополняет возможности по программированию внутренней памяти через этот интерфейс.
Прототипом заявляемой модели является встроенный модуль диагностирования (патент РФ №130105, МПК G06F 11/22 и G01R 31/317, 2006.01), управляемый по последовательной шине от компьютера (блока диагностики), содержащий контроллер последовательной шины, предназначенной для приема из блока диагностики управляющих тест-команд, сохраняемых в ОЗУ модуля диагностирования, считываемых микроконтроллером, предназначенным для расшифровки управляющих тест-команд в последовательность микрокоманд путем обращения к ПЗУ микрокоманд, пересылки их через буферы как элементарных стимулирующих воздействий в ОД и считывания ответных реакций модуля диагностирования, выполненный в виде цифрового автомата, встроенного в объект диагностики и подключенного к шине объекта через разъем, при этом применен микроконтроллер с микропрограммным управлением, а в качестве управляющей памяти - ПЗУМК - постоянное запоминающее устройство микрокоманд с возможностью ее перепрограммирования.
Недостатком данного устройства является невысокая глубина тестирования системы и оригинального содержимого управляющей памяти для каждой новой цифровой системы при проведении самой процедуры тестирования объекта диагностики. Кроме того, сам принцип формирования и передачи тестовых воздействий на объект диагностики для каждого объекта индивидуален, не систематизирован.
Техническим результатом полезной модели является повышение надежности функционирования ОД путем увеличения глубины диагностирования, снижения аппаратной составляющей системы диагностирования и проведения процедуры диагностики с применением стандартного интерфейса.
Достижение заявленного технического результата обеспечивается тем, что программируемый JTAG-модуль диагностирования, выполненный в виде цифрового автомата, встроенного в объект диагностирования и подключенного к системной шине объекта диагностирования, при этом в основе автомата применен микроконтроллер с микропрограммным управлением, а в качестве управляющей памяти - ПЗУМК - постоянное запоминающее устройство микрокоманд с возможностью ее начального программирования от ЭВМ, в качестве оперативной памяти - ОЗУ для хранения результатов диагностирования, формируемых микроконтроллером в процессе расшифровки тест-команд в последовательность микрокоманд, пересылки их как элементарных стимулирующих воздействий в объект диагностирования и считывания ответных реакций модулем диагностирования, сравнения их с эталонами, хранящимися в ПЗУМК. Согласно полезной модели в него дополнительно введены граничные регистры и мультиплексор, определяющие последовательность тестируемых узлов в объекте диагностирования и связывающие микроконтроллер по линиям JTAG интерфейса с внешней ЭВМ, регистр инструкций, предназначенный для хранения текущей команды и передачи ее в объект диагностирования, регистр данных для приема и передачи диагностической информации на тестируемые блоки объекта диагностирования и чтения ее обратно, арбитр, управляющий включением модуля диагностирования и формирующий маскируемый сигнал прерывания текущей процедуры объекта диагностирования, по которому модуль диагностирования начинает цикл тестирования.
д
Модуль диагностирования (М) функционирует по принципу микропрограммного автомата, что позволяет ускорить процесс диагностирования и реализует метод внутрисхемной эмуляции при тестировании объекта диагностики. Применяемый метод внутрисхемной эмуляции ориентирован на использование в микропроцессорных системах. При поиске неисправности методом внутрисхемной эмуляции необходимо отключить микропроцессор от системной шины (аналогично режиму ПДП), смоделировав его сигналы средствами диагностирования. Способ предполагает, что сигналы для стимуляции проверяемых схем формируются микроконтроллером модуля из полученных инструкций, принятых по JTAG-протоколу и результаты анализа пересылаются обратно в ЭВМ через JTAG-разъем проверяемого устройства.
Введение модуля диагностирования в ОД позволяет существенно повысить надежность функционирования ОД за счет увеличения глубины диагностирования - увеличения функциональности тестов, формируемых микроконтроллером модуля и оперативного сравнения результатов тестирования с эталонами. При использовании метода внутрисхемной эмуляции, реализуемого модулем диагностирования нет необходимости в применении устройств «доопределения» мест неисправности, поскольку сам метод позволяет непосредственно выявить отказавший функциональный узел (например, ОЗУ) в объекте. Также интеграция модуля в формате ПЛИС позволяет уменьшить блок диагностики.
На фиг. 1 представлена система диагностирования в режиме программирования микрокомандной памяти (ПЗУМК) и отладки, до включения объекта диагностики в рабочий цикл, на фиг. 2 - структурная схема программируемого JTAG-модуля диагностирования. Перед началом работы программируемого JTAG-модуля диагностирования следует запрограммировать его постоянное запоминающее устройство микрокоманд согласно разработанной модели функционирования модуля.
Для этой цели управляющая ЭВМ 1 (например, ноутбук) по линиям связи 2 разъема интерфейса программируемого JTAG-модуля диагностирования 3 посылает управляющее воздействие на объект диагностики 4 (фиг. 1). Программируемый JTAG-модуль диагностирования через системную шину 5 объекта диагностики и контакты 6 подключен к его функциональным узлам, сигнал интерфейса формирует запрос маскируемого прерывания 7 в объект диагностики и переводит схему ПЗУМК в режим внешнего программирования. Управляющие коды из ЭВМ по линиям интерфейса JTAG поступают на вход программируемого JTAG-модуля и, далее, - в ПЗУМК. Для каждого типа объектов диагностики управляющая последовательность микрокоманд может отличаться. ЭВМ в таком подключении играет роль программатора. После завершения процедуры программирования модуль диагностирования переходит в рабочий режим.
Функциональные блоки программируемого JTAG-модуля диагностирования (фиг. 2): управляющая ЭВМ 1, линии связи интерфейса JTAG 2, JTAG-модуль диагностирования 3, объект диагностики 4, системная шина 5, контакты JTAG-модуля 6, сигнал запроса маскируемого прерывания 7, микроконтроллер с микропрограммным управлением 8, постоянное запоминающее устройство микрокоманд (ПЗУМК) 9, оперативное запоминающее устройство (ОЗУ) 10, регистр инструкций 11, предназначенный для хранения текущей команды, арбитр 12, формирующий сигнал запроса маскируемого прерывания, граничные регистры с мультиплексором 13, регистр данных 14 для приема и передачи диагностической информации на тестируемые блоки и чтения ее обратно, регистр инструкций и регистр данных объединены по правилам внутреннего системного интерфейса. Начало процедуры тестирования объекта диагностики инициируется сигналом с ЭВМ, поступающим через линии связи интерфейса JTAG 2, граничные регистры с мультиплексором 13 на микроконтроллер, и с него на арбитр 12, который вырабатывает сигнал прерывания 7, следующий через регистр данных 14 в процессор объекта диагностики 4. Поскольку сигнал прерывания маскируемый, процессор объекта диагностики начинает реагировать на него только после завершения текущей процедуры обработки данных. При этом процессор объекта диагностики переводит свои выходные разряды в пассивное состояние (отключается от системной шины) и по типовой последовательности обработки прерывания переходит в режим ожидания (блокируется).
После получения сигнала подтверждения прерывания от объекта диагностики 4 по шине 5 (фиг. 1) микроконтроллер 8 (фиг. 2) считывает из ПЗУМК 9 последовательность микрокоманд (микропрограммы). При выполнении микропрограмм микроконтроллер 8 формирует стимулирующие воздействия, которые посредством регистра инструкций 11 (фиг. 2), пересылаются в ОД 4 через системную шину объекта диагностирования 5 (фиг. 1). Регистр данных 14 соединяется двусторонней связью с микроконтроллером 8 и ОЗУ 10 (фиг. 2). Ответные реакции объекта диагностирования 4 (фиг. 1) на стимулирующие воздействия считываются модулем диагностирования с системной шины 5 объекта диагностирования через регистр данных 14 (фиг. 2). В результате выполнения всех тест-команд в ОЗУ 10 модуля диагностирования формируется файл результатов сравнения, цифровой код которого из ОЗУ через микроконтроллер 8, граничные регистры 13 пересылается по линиям интерфейса JTAG 2 во внешнюю ЭВМ, где полученный цифровой код анализируют и делаются выводы о работоспособности объекта диагностики в целом и каждого из его функциональных устройств.
Особенность применяемой системы диагностирования состоит в подаче на объект по интерфейсу JTAG специально организуемых тестовых воздействий от средств диагностики (этап стимуляции) и получении оценки на эти тестовые воздействия. При этом во время функционирования объекта сигналы программируемого JTAG-модуля диагностирования находятся в пассивном состоянии.
Введение программируемого JTAG-модуля диагностирования в объект диагностики позволяет повысить глубину диагностирования, повысить оперативность вынесения решения по исправности объекта диагностирования, свести к минимальному время выполнения процесса диагностирования, что повысит надежность функционирования объекта диагностирования.
При использовании метода внутрисхемной эмуляции, реализуемого модулем диагностирования нет необходимости в применении устройств «доопределения» мест неисправности, поскольку сам метод позволяет непосредственно выявить отказавший функциональный узел (например, ОЗУ) в объекте. Также интеграция модуля позволяет уменьшить блоки диагностики.
Сведением, подтверждающим возможность выполнения модулем диагностирования предписываемой ему в составе данной системы функции, является разработанная математическая модель его функционирования (фиг. 3).
д
д
Tj
код
T1
T2
Tj
Tj
д
эт
д
Ti
T1
1
T2
2
Ti
i
i+1
i+1
i+2
i+2
i+k
i+k
д
эт
3T
эт1
эт2
этi
1
2
i
этi
i+k
Математическая модель (ММ) строится для модуля диагностирования (М), использующего принцип микропрограммного управления. БД в режиме программирования памяти автономного модуля посылает в М набор тест-команд K в виде кода V={K, K…K]}, команды записываются (программируются) в постоянное запоминающее устройство микрокоманд. Из каждой тест-команды K модуль М формирует последовательность микрокоманд, имеющих необходимые адреса (адреса элементарных стимулирующих воздействий - AmSV), данные (элементарные стимулирующие воздействия) и управляющие сигналы (U) для проверки ОД. Эталонные реакции - mSV(D) записывается в память вместе с тест-командами. При этом тест-команда задает проверку какого-либо узла ОД, а микрокоманды выполняют элементарную проверку (ЭП) этого узла ОД (например, ОЗУ). Формирование из тест-команды каждого воздействия для ОД, состоящего из управляющих сигналов (U), адреса элементарного стимулирующего воздействия (AmSV) и элементарного стимулирующего воздействия (mSV) характеризует новое состояние М-q. На последовательность воздействий - S={q(t), q(t), … q(t)} (последовательность микрокоманд), читается ответ из ОД - R={r(t), r(t), …r(t)}, который по сути является набором данных. Эти полученные данные (R) в М сравниваются с теми данными, что были заранее записаны в память модуля - mSV(D)-R={D, D … D}, т.е. выполняются операции сравнения (проверки) P={p, p … p} эталонных данных D с реакциями ОД на элементарные проверки r. Результат сравнения формируется в некий файл , который после прекращения работы текущей команды передается в оперативную память модуля и, далее, - в ЭВМ (ноутбук) по JTAG-интерфейсу в виде цифрового кода.
Д
Математическая модель автономного модуля диагностирования (МММ) представлена ниже
д
где М - результирующее множество, формируемое подмножествами переменных, описывающих состояние модуля;
код
T1
T2
Tj
V={K, K … K}, - подмножество тест-команд (форматы команд);
1
2
i
P={p, p … p} -подмножество данных, полученных при проверке на совпадение с эталонами;
код
д
Ti
;
Q=ϕ(V, t) - подмножество состояний М или подмножество выделенных программно тестовых воздействий q .
od
odi+1
odi+2
odi+k
odi+k
Ti
д;
Q={q, q... q} - совокупность состояний ОД (q) как реакций на тестовые воздействия q от М
1.  - процедура формирования стимулирующих кодов для ОД от тест-команд;
T1
1
Tj
1
1
1
эт1
q(t)=ϕ(K)=U v AmSV v mSV(D) - подмножество результатов тестирования в первый временной интервал;
T2
2
Tj
2
2
2
эт2
q(t)=ϕ(K)=U V AmSV v mSV(D) - подмножество результатов тестирования во второй временной интервал;
- подмножество результатов тестирования в i-й временной интервал;
эт
эт1
эт2
этi
2. R={D, D … D} - набор эталонов для сравнения;
T1
1
T2
2
Ti
д
3. S={q(t), q(t), … q(ti)}- состояния выходного стимулирующего пакета М для ОД;
i+1
i+1
i+2
i+2
i+k
i+k
д
4. R={r(t), r(t), … r(t)} - подмножество входных сигналов для М, являющийся реакцией ОД на стимулирующие воздействия S;
i+1
i+1
T1
1
odi+1
1+1
1+1
5. r(t)=γ(q(t), q(t)) -элементы множества на следующем шаге ((t);
д
д
1
2
j
6.  процедура проверки (сравнения) соответствия состояний стимулирующих воздействий (которые являются также внутренними состояниями М) с ответными реакциями М., P={p,p, … p};
д
7.  - подмножество состояний выходного пакета М - результат сравнения стимулирующего воздействия «S» и реакции ОД «R» на него. Степень «2» означает следующее: для каждой проверки существует 2 исхода: «совпадение», «несовпадение». В первом случае  принимает значение «1», во втором - прописывается адрес неисправности;
код
- ϕ - функция трансформации входных сигналов от БД в множество внутренних состояний ϕ(V, t)=Q;
Ti
odi+k
- γ - зависимость ответной реакции ОД от тестового воздействия q и состояния ОД q;
0
д
- q - начальное состояние (включение М сигнал маскируемого прерывания от модуля диагностики);
1
2
i
1
2
i
t - дискретные значения времени t, t, … t. Поскольку элементарные тесты проводятся в определенной последовательности, выделяем для них дискретные промежутки времени (t, t, … t).
Разработанное устройство найдет применение в системах управления технологическим процессом, связи, учета параметров, и в других системах на предприятиях, где вопросам повышения надежности функционирования уделяют особое внимание.
Полезная модель разработана на уровне технического предложения и математической модели. Результаты математической модели показали возможность технической реализации изобретения и достижение заявленного технического результата.