обен успешно провести в таких системах, зависит от двух факторов:
1. Степени понимания принципов работы микропроцессоров специалистом.
2. Наличия технической документации.
Надеемся, что данная книга поможет с пунктом 1. А по поводу пункта 2 желаем удачи! У некоторых производителей очень трудно достать схемы и диаграммы для таких систем, а программное обеспечение почти никогда не описано, даже в сервисных руководствах.
Когда прибор на основе микропроцессора перестает работать, прежде всего, необходимо определить область возникновения проблемы. Если система отвечает на входные воздействия, но выдает неправильный выход, то сам микропроцессор, возможно, исправен. Рассмотрим, например, магнитофон, показанный на рис. 9.9.
Рис. 9.9.Микропроцессор, управляющий магнитофоном
Предположим, что он может поддерживать индикатор времени на дисплее и на передней панели загорается индикатор Play, но лента не движется. Это означает, что микропроцессор, видимо, выполняет программу. Мы делаем вывод, что микропроцессор получает входные сигналы от переключателей панели управления и управляет дисплеем, а также двигателями протяжки ленты.
Для проверки этого предположения необходимы временные диаграммы. В подобном случае необходимо протестировать схему, обеспечивающую интерфейс микрокомпьютера и лентопротяжного механизма. Поместив логический пробник на выходной контакт микропроцессора и нажимая кнопки Play и Stop, можно выяснить статус логических уровней. Если уровень изменяется, проблема не в микропроцессоре. Обратное говорит о неисправности буфера выходного порта, а может быть, схема драйвера поддерживает постоянный уровень логического сигнала. Необходимо отсоединить драйвер от выходного порта, чтобы проверить это.
Простой метод тестирования заключается в том, чтобы удалить любой компонент, последовательно соединенный между двумя точками, например, резистор, или перерезать дорожку на печатной плате ножом и разомкнуть цепь. После тестирования можно исправить проводник из фольги, припаяв через разрез небольшой кусок провода.
В качестве примера рассмотрим случай видеомагнитофона, в который попала молния. При проверке было обнаружено, что тюнер сломан, но большая часть привода ленты и видеосистемы работает нормально. Другая проблема заключается в том, что механизм «жует» ленту. После проверки было определено, что один из тормозов бобины не срабатывает. Это приводит к потере натяжения ленты во время смены режимов. Весь лентопротяжный механизм управлялся одним микропроцессором. Следуя по линии соединения соленоида тормоза бобины и проследив печатные проводники на плате ПК, был локализован вывод микрокомпьютера, который управлял этой функцией, как показано на рис. 9.10. Логический пробник на выходном контакте 19 показал, что он всегда имеет низкий уровень. Один вывод резистора R73 был отпаян и вынут из схемы. Уровень вывода 19 все равно был низким.
Рис. 9.10.Поиск неисправностей в магнитофоне с микроконтроллером
В подобном случае, может быть, не имеет смысла пытаться отремонтировать устройство. Нужно заменить микропроцессор, хотя не работает только один вывод. Поскольку микропроцессор в одной ИС объединяет аппаратное и аппаратно-программное обеспечение (программа записана во внутреннем ПЗУ), вы можете приобрести эту деталь только у изготовителя. В этом заключается хитрость обслуживания встроенных контроллеров и приборов с программируемой логикой, поскольку вы не можете приобрести детали у других поставщиков.
Более того, изготовители могут не продавать детали отдельно, а только в виде целой платы, что в данном случае представляет собой почти всю схему системы. Оба варианта замены дорогостоящи. Были найдены оптронные датчики в механизме подачи ленты, подававшие сигналы ТТЛ, которые указывали положение элементов лентопротяжного механизма. Затем собрана простая триггерная схема, которая считывала положение этих сенсоров и запускала тормоз в необходимое время, совершенно независимо от микропроцессора. Это позволило использовать видеомагнитофон для проигрывания и копирования домашних записей.
Такой случай специфической поломки — скорее исключение, чем правило. Часто неисправный микропроцессор мало что делает правильно. Зная, что микропроцессор не отвечает, проверьте его важнейшие функции, в том числе схему синхронизации с помощью осциллографа (рис. 9.11). Если генератор синхросигналов встроен в процессор в системе, найдите эту ИМС и исследуйте каждый вывод на наличие сигнала синхронизации. Проверьте питание или попробуйте поменять кристалл (2 вывода вместо 40), но, скорее всего, причина кроется в ЦПУ. Если ПЗУ выполнено в виде отдельного устройства на шине, ЦПУ будет стоить всего несколько долларов.
Рис. 9.11. Диаграмма поиска неисправностей при проблемах с синхронизацией
Высокочастотные сигналы синхронизации многих микропроцессоров часто даже не похожи на прямоугольный импульс. Показанная на рис. 9.12 форма сигнала была снята с кварцевого генератора микроконтроллера.
Рис. 9.12.Реальная форма сигнала синхронизации
Если сигнал выглядит, как на этом рисунке, продолжайте действовать, как указано на диаграмме рис. 9.13.
Рис. 9.13.Диаграмма поиска неисправностей микропроцессоров
Коснитесь верхней части корпуса микросхемы (но не выводов!). Если ИС перегрета, то она может обжечь вас, поэтому быстро уберите палец. В нормальном состоянии микропроцессор должен быть теплым. Затем проверьте каждый вывод шины данных логическим пробником или осциллографом. На линиях данных всегда должны присутствовать импульсы. Пользуясь осциллографом, не удивляйтесь, что волны выглядят нестабильными или походят на помехи (рис. 9.14).
Рис. 9.14.Типичный пример изображения на экране осциллографа при контроле сигнала на шине данных
На какой-либо линии нет импульсов? Тогда или ЦПУ неисправен, или что-то на шине заставляет эту линию иметь низкий уровень. Проверьте линии чтения-записи, чтобы выяснить, пытается ли микропроцессор выбрать или сохранить данные. Если имеет место режим чтения, и на линиях шины данных есть импульсы тока (но нет изменения логического состояния), то может быть, что вывод ЦПУ внутренне закорочен. Устройство контроля тока является для этой цели очень хорошим средством. Оно работает как логический пробник, но воспринимает магнитное поле, которое создается током.
Если в шине имеет место активность и ИМС не горячая, попытайтесь заставить ее осуществить сброс (многие платы снабжены кнопкой Reset — Сброс), или просто найдите конденсатор, который используется для сброса при включении питания (рис. 9.15).
Рис. 9.15.Сброс с помощью кнопки
Используя отвертку и т. п., замкните выводы конденсатора вместе. С помощью логического пробника выясните логическое состояние на выводе сброса или замените конденсатор. Вывод сброса активируется, значит, микропроцессор должен реагировать соответствующим образом. В большинстве микропроцессоров линии адреса и данных примут определенное состояние при активации вывода сброса.
Если сброс не помогает, то попытайтесь активировать выход дешифратора на программное ПЗУ, куда должны часто или постоянно поступать импульсы. Возможными причинами может быть неисправный ЦПУ, плохой дешифратор адреса, плохая ИМС ПЗУ. Проверка дешифратора требует, обычно, использования многоканального осциллографа или логического анализатора, поскольку при наблюдении выходного сигнала надо следить за несколькими входными. Обратитесь к главе 8, где даны детальные инструкции по проверке дешифраторов.
Логический анализатор может быть очень мощным средством для наблюдения всех сигналов микропроцессора одновременно. Проблема при обслуживании встроенных контроллеров заключается в том. что, как правило вы должны знать, что происходит на шине. Для интерпретации выхода необходима документация по программному обеспечению, в противном случае можно потратить долгие часы на скучную работу, анализируя схемы.
Рассмотренные ранее методы относились к обслуживанию микрокомпьютерных систем, которые уже вышли на рынок и доказали свою работоспособность. Они отказали вследствие выхода из строя какого-либо компонента системы. В действительности сервисное обслуживание должно начаться задолго до того, как продукт вышел на рынок. Во время разработки проект проходит множество уровней тестирования и модификации, каждый из которых является попыткой отладить работу системы. Это особенно справедливо для систем, основанных на программном обеспечении, например, для микропроцессорных.
Процесс разработки обычно проходит следующие этапы:
1. Постановка задачи и ее формальное описание.
2. Составление блок-схем и описаний блоков ввода-вывода.
3. Проектирование схемы блоков и выбор деталей.
4. Тестирование блоков (программных драйверов).
5. Тестирование системы на функционирование в соответствие с требованиями (окончательная проверка программного обеспечения).
Любой проект устройства, цифрового или аналогового, должен пройти через проектирование, тестирование и модернизацию. Цель этого раздела — сконцентрироваться на имеющихся средствах разработки, которые позволяют провести эффективное обслуживание на уровне проектирования и разработки.
В процессе создания программируемых систем ошибки в работе могут быть результатом неправильного проекта, неполадки в соединениях, неправильного алгоритма, ошибок программирования, неисправных компонентов, неправильной синхронизации. Для того чтобы успешно провести поиск неизбежных неисправностей, должны использоваться средства, позволяющие изолировать и протестировать аппаратные и программные компоненты системы. Естественно, каждая единица аппаратуры может быть проверена независимо от микропроцессора. Однако, многие из проблем, которые встреч