Здавалка
Главная | Обратная связь

Системное ядро. Режим свободного счета.



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

Цифровой модуль судовой автоматики можно рассматривать как ядро, окруженное периферийными схемами, и ядро должно работать, чтобы можно было проверить остальные компоненты системы. К счастью, системное ядро проверяется довольно просто, если в системе предусмотрены средства, которые позволяют разорвать шину данных и ввести команду в ЦП. Обычно в ЦП вводится какая-нибудь разновидность холостой команды, например NOP или MOV A,A. После этого системное ядро можно перевести в режим СВОБОДНОГО СЧЕТА.

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

Если по линиям шины адреса передаются правильные сигналы, можно считать, что системное ядро функционирует. Отказ в системном генераторе синхронизации или неисправная линия шины управления почти наверняка не дадут правильной работы в режиме свободного счета. Можно проверить и содержимое ПЗУ по сигнатурам на его выводах данных (не забывайте, что в режиме свободного счёта они отключены от процессора, и сигнатуры следует снимать прямо на выводах ПЗУ или специальных контрольных гнёздах). Тест свободного счета обеспечивает простой метод тестирования некоторых важных компонентов в микропроцессорной системе и применим к любому микропроцессору. Режим свободного счета имеет большое значение для сигнатурного анализа.

Для любой системы, рассчитанной на сигнатурный анализ, должен существовать документ, в котором приведены сигнатуры всех узлов. В режиме свободного счета, хотя он и сканирует все адресное пространство, будут разрешены не все микросхемы, так как микропроцессор выполняет только операции считывания из памяти. Например, входной порт не разрешается, и получить от него значимые сигнатуры невозможно. Шина данных отключена от процессора и также не дает значимых сигнатур (за исключением некоторых специальных условий). Набор сигнатур берется от заведомо исправной системы и документируется. Если такой документ отсутствует, составьте его сами. ЗАРАНЕЕ ПОДГОТОВЬТЕСЬ, ЧТОБЫ ИМЕТЬ ВОЗМОЖНОСТЬ УСТРАНИТЬ НЕИСПТАВНОСТЬ, КОГДА ОНА ПОЯВИТСЯ. Поиск неисправности с применением сигнатурного анализа заключается в определении возможной области с неисправностью и проверки сигнатур до обнаружения неправильной сигнатуры. Пользуясь принципиальной схемой и таблицами сигнатур, неисправность прослеживают “назад” до получения правильной сигнатуры. Неисправность существует в той части схемы, которая находится между последней неправильной и первой правильной сигнатурами.

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

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

Диагностика путём многократной перезаписи ПЗУ созданными тестами.

Первые управляющие вычислительные машины PDP-8, PDP-11, LSI-11 и их советские аналоги «Электроника-100И», «Электроника-125» и «Электроника-60» комплектовались набором перфолент с тестовыми программами, вводя в память и исполняя которые, можно было последовательно убедиться в исправности блоков и обнаружить неисправный блок. Аналогичный подход можно применить и к современному оборудованию, последовательно записывая в ПЗУ самостоятельно написанные проверяющие программы (тесты) для отдельных узлов оборудования. Сигнал об успешном завершении теста или обнаружении определённой неисправности можно выводить на один из имеющихся в оборудовании индикатор (подсвечиваемый трафарет, гудок или цифровую панель) предусмотрев различное его поведение в различных ситуациях. Создание эффективных тестов требует не только навыков программирования, но и умения предсказать поведение системы при возникновении в ней определённой неисправности.

 

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

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

Внутрисхемный эмулятор ранее был довольно сложным и дорогим (порядка 1000 долларов) прибором, но в последнее время средства внутрисхемной эмуляции встраиваются внутрь однокристального микроконтроллера и дополнительно требуется лишь несложное устройство согласования их интерфейса (обычно один два провода) с COM или USB портом ПК.

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

 

Виды ПЗУ и средства их программирования. Купить или сделать?

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

Запись новой информации в микросхемы ПЗУ осуществляется специальными устройствами – программаторами ПЗУ. На рис.4 показан один из выпускаемых промышленностью программаторов.

Этот прибор поставляется на Украину фирмой ICS-TECH

http://www.ics-tech.kiev.ua

и стоит около $200. Дополнительно надо приобретать адаптеры для подключения к нему микросхем в корпусах отличных от DIP и микроконтроллеров.

Приобретать программатор вовсе не обязательно. Гораздо полезнее сделать его самостоятельно. В своей очень интересной серии книг «Микроконтроллеры_Это же просто» А.В. Фрунзе писал «Единственное, чего нам сейчас не хватает - это практики. Как бы это ни было грустно, но никакая книга Рис.6.3. Программатор «Phyton».не заменит ее - пока вы сами не пройдете полностью один цикл от постановки задачи до работающего устройства, не напишете текст своей программы, не «пройдетесь» по нему программой ассемблером, не исправите десяток-другой ошибок, не занесете программу в микроконтроллер, не запустите устройство и не отладите его целиком, до тех пор то, что вы узнали, будет мертвым знанием. И в то же время, как только вы осилите всего один-единственный полный цикл разработки, от идеи до работающего устройства, у вас появится уверенность, что вам по силам любое устройство, и что вы в состоянии разобраться с любой информацией, касающейся микроконтроллеров, и применить эти знания для достижения поставленною результата. Моей первой работающей программой была программа умножения двух восьмибитных чисел с получением 16 битного результата. И должен сказать вам, что когда я ее написал, вручную оттранслировал (в тот момент программы ассемблера у меня еще не было), занес в систему с микропроцессором и памятью, выполнил с десятком различных аргументов и убедился в том, что все работает правильно, я не только был на седьмом небе от счастья. Уже спустя полгода я взялся за разработку измерительного прибора на основе микропроцессора, и это не было авантюрой - шаг за шагом, я справился и с этой задачей. Так начинают все. Начните и Вы. Немного терпения, желания и настойчивости, и все у вас получиться. Желаю успехов!». Полностью присоединяюсь к этому мнению и предлагаю начать с разработки нужного Вам программатора.

Отличие микропроцессорных систем и однокристальных микроконтроллеров.

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

 

Использование интерфейса JTAG.

JTAG (произносится «дже́й-таг»; сокращение от англ. Joint Test Action Group) — название рабочей группы по разработке стандарта IEEE 1149. Позднее это сокращение стало прочно ассоциироваться с разработанным ими специализированным аппаратным интерфейсом на базе стандарта IEEE 1149.1. Официальное название стандарта Standard Test Access Port and Boundary-Scan Architecture. Интерфейс предназначен для подключения сложных цифровых микросхем или устройств уровня печатной платы к стандартной аппаратуре тестирования и отладки.

На текущий момент интерфейс стал индустриальным стандартом. Практически все сколько-нибудь сложные цифровые микросхемы оснащаются этим интерфейсом с целью:

· выходного контроля микросхем при производстве;

· тестирования собранных печатных плат;

· прошивки микросхем с памятью;

· отладочных работ при проектировании аппаратуры и программного обеспечения.

Метод тестирования реализованный в стандарте получил название Boundary Scan (граничное сканирование). Название отражает первоначальную идею процесса: в микросхеме выделяются функциональные блоки, входы которых можно было отсоединить от остальной схемы, подать заданные комбинации сигналов и оценить состояние выходов блока. Весь процесс производился исключительно специальными командами по интерфейсу JTAG, никакого физического вмешательства не требовалось. Был также разработан стандартный язык управления этим процессом - Boundary Scan Description Language (BSDL).

Стандарт предусматривает возможность подключения большого количества устройств (микросхем) через один физический порт (разъем).

Порт тестирования (TAP — Test Access Port) представляет собой четыре или пять выделенных выводов микросхемы: ТСК, TMS, TDI, TDO и (опционально) TRST.

Функциональное назначение этих линий:

TDI (test data input — «вход тестовых данных») — вход последовательных данных периферийного сканирования. Команды и данные вводятся в микросхему с этого вывода по переднему фронту сигнала TCK;

TDO (test data output — «выход тестовых данных») — выход последовательных данных. Команды и данные выводятся из микросхемы с этого вывода по заднему фронту сигнала TCK;

TCK (test clock — «тестовое тактирование») — тактирует работу встроенного автомата управления периферийным сканированием. Максимальная частота сканирования периферийных ячеек зависит от используемой аппаратной части и на данный момент ограничена 25…40 МГц;

TMS (test mode select — «выбор режима тестирования») — обеспечивает переход схемы в/из режима тестирования и переключение между разными режимами тестирования. В некоторых случаях к перечисленным сигналам добавляется сигнал TRST для инициализации порта тестирования, что необязательно, так как инициализация возможна путем подачи определённой последовательности сигналов на вход TMS.

Работа средств обеспечения интерфейса JTAG подчиняется сигналам автомата управления, встроенного в микросхему. Состояния автомата определяются сигналами TDI и TMS порта тестирования. Определённое сочетание сигналов TMS и TCK обеспечивает ввод команды для автомата и её исполнение.

 

Рис. 6.4. Оборудование JTAG интерфейса.

В состав оборудования JTAG интерфейса входят:

  • Три сдвиговых регистра (регистр команд (IR), регистр пропуска (Bypass) и регистр данных (DR);
  • Выходной мультиплексор (MUX);
  • Контроллер управления (TAP Controller).

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

Если на плате установлено несколько устройств, поддерживающих JTAG, они могут быть объединены в общую цепочку, как показано на рис.6.5. Уникальной особенностью JTAG является возможность программирования не только самого микроконтроллера (или ПЛИС), но и подключённой к его выводам микросхемы флэш-памяти. Причём существует два способа программирования флэш-памяти с использованием JTAG: через загрузчик с последующим обменом данными через память процессора, либо через прямое управление выводами микросхемы.

Рис. 6.5. подключение нескольких микросхем к одному интерфейсу.

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

 

Для аппаратной поддержки интерфейса выпускается ряд устройств, одно из них показано на рис.8. Это контроллер JT 3705 / USB Explorer, который обеспечивает два канала периферийного сканирования (2 TAP) с программируемыми уровнями напряжения и максимальной частотой тактирования 6 МГц. Интерфейс с ПК производится с помощью USB. Порты могут работать синхронно и обеспечивают выполнение всех тестов, использующих IEEE 1149.1, 1149.4 и 1149.6, так же, как и программирование небольших флэш и ПЛИС.

Рис. 6.6. Внешний вид контроллера JT 3705 / USB Explorer.

Тест внешних соединений (граничное сканирование) с использованием JTAG.

• Предположим, что в схеме две ошибки:

• замыкание между линиями 2 и 3, а также

• разрыв линии 4;

• Предположим, что замыкание проявляется как wired-AND и разрыв как постоянное наличие логической 1.

Для выявления и изоляции обоих дефектов тестирующий сдвигает битовую маску приведенную на рис. 9 в U1 регистре boundary-scan и подает эту маску на входы U2. Входные значения U2 boundary-scan регистра сдвигаются на выход и сравниваются с ожидаемыми результатами. В этом случае результаты (помеченные красным) на линиях 2,3 и 4 будут отличатся от ожидаемых. Таким образом тестирующий определит наличие ошибок в линиях 2, 3, и 4.

Рис. 6.7. Тестирование соединений.

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

Средства поддержки отладки.

Каждый современный микроконтроллер (МК) имеет встроенные средства отладки, которые обеспечивают «неразрушающую» внутрисхемную отладку в режиме реального времени с использованием МК, установленного в конечное изделие. В мощных микроконтроллерах имеющих интерфейс JTAG, доступ к встроенным средствам отладки осуществляется через него. В более простых приборах используются упрощённые (обычно фирменные) интерфейсы. Рассмотрим для примера средства отладки фирмы Silicon Laboratories, которые поддерживают проверку и модификацию памяти и регистров, расстановку точек останова, пошаговую отладку. При этом не требуется никаких специальных дополнительных ОЗУ, памяти программ или каналов связи. Во время отладки все цифровые и аналоговые периферийные модули не отключаются и работают корректно (остаются в режиме синхронизации). При остановке МК в точке останова или при пошаговой отладке сторожевой таймер отключается. Компания Silicon Laboratories, широко известная своей продукцией в области создания микросистем со "смешанными сигналами" - так в последнее время стало модно называть интеллектуальные микросхемы, например, микроконтроллеры, имеющие большое количество аналоговых подсистем. Основанная в 1996 году компания SILABS за короткое время выпустила большое количество специализированных микроконтроллеров, оснащённых развитой специализированной высокочастотной аналоговой периферией. Эти изделия предназначены для создания простых приёмопередатчиков GSM/GPRS, синтезаторов частот и т.п. Для взаимодействия между средствами отладки МК и персональным компьютером служит DEBUGADPTR1-USB, показанный на Рис. 6.8.

Рис. 6.9. JTAG - адаптер с интерфейсом USB.

Этот адаптер служит для отладки и внутрисхемного программирования всех микроконтроллеров SILABS. Имеется также ранее разработанный ЕС2 - блок-преобразователь (адаптер) RS-232/JTAG. Адаптер реализован в компактном исполнении, USB разъем предназначен для подключения к компьютеру, а десятипиновый разъем предназначен для соединения с целевой платой. Данный адаптер поддерживает оба интерфейса JTAG и С2, применяемые в контроллерах фирмы SILABS. В случае необходимости питание целевой платы осуществляется через DEBUGADPTR1-USB.

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

 

Интегрированная среда разработки.

Программные средства разработки (интегрированная среда разработки SiLabs IDE, которая содержит отладчик и встроенный ассемблер стандарта 8051, Flash programming и другие) производства компании SiLabs распространяются бесплатно и доступны для скачивания на сайте производителя. В среду разработки интегрируются и трансляторы с языка Си+, обеспечивающие отладку на уровне имён переменных и процедур. Такие трансляторы могут быть как платными (в комплект входит демонстрационная версия с ограничением объёма полученного кода до 4К байт), так и бесплатными в том числе с открытым исходным кодом. Как видно на рис. 6.10 на экран персонального компьютера при работе с встроенными средствами отладки через SiLabs IDE выводится много информации полезной при анализе поведения микроконтроллерной системы.

Рис. 6.10. Интегрированная среда разработки SiLabs IDE.

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

Оборудование для проведения ремонтных работ.

Для проведения ремонтных работ, требующих монтажа/демонтажа электронных компонентов, включая и планарные, потребуется специальная термовоздушная паяльная станция (фен + паяльник). Пример такой станции показан на рис. 12. Lukey 852D+ – это универсальная и не дорогая термовоздушная паяльная станция (термофен + паяльник) для SMD (SMT) монтажа. Lukey 852D+ – самая популярная и Рис. 6.11. Паяльная станциявостребованная паяльная система Lukey 852D+.на отечественном рынке. За счет своей простоты и неприхотливости, может использоваться в самых неблагоприятных условиях. По своим техническим характеристиками и ценовому уровню станция наиболее соответствует задачам ремонта, прежде всего портативной электроники (мобильные телефоны, видеокамеры и т.п.), бытовой техники, для макетирования и разработки. В качестве нагнетателя воздуха используется диафрагменный насос. Поток воздуха прямолинейный.

· Один цифровой индикатор позволяет отображать заданную и реальную температуры воздушного потока термофена, а второй заданную и реальную температуру жала паяльника.

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

· Обратная связь по температуре. Термодатчик отслеживает изменения, а микроконтроллер ATMEL стабилизирует температуру на выходе фена.

● Температура, указываемая на табло, соответствует реальной температуре на выходе.

· Уникальная система охлаждения. После отключения термофена, система автоматически переходит в состояние охлаждения, и холодный воздух обдувает нагревательный элемент до момента, пока его температура не достигнет 50°C.

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

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

· Надежный нагревательный элемент фена.

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

· Керамический нагревательный элемент паяльника позволяет избежать поражения электронных компонентов напряжением, которое могло бы образоваться на жале при использовании обычного (металлического) нагревательного элемента.

В паяльнике используются жала, которые совместимы со многими паяльными системами, такими как HAKKO, XYTRONIC, AOYUE. Рекомендуем использовать жала AOYUE серии T. Например: жало для паяльника AOYUE T-4CF или AOYUE T-K. Такая форма жала очень удобна для очистки, с помощью ленты-оплетки, BGA-микросхем от припоя. Стандартный диаметр сопла фена Lukey 852D+ позволяет использовать насадки большинства производителей, в частности, насадки от AOYUE.

Такое оборудование раньше относилось к классу профессионального, и стоило довольно дорого. Сейчас появилось ряд вполне доступных предложений, например приборы показанные на рис. 10 и рис. 12 стоят $45 и $80 соответственно.








©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.