Логический анализатор может быть очень мощным средством для наблюдения всех сигналов микропроцессора одновременно. Проблема при обслуживании встроенных контроллеров заключается в том. что, как правило вы должны знать, что происходит на шине. Для интерпретации выхода необходима документация по программному обеспечению, в противном случае можно потратить долгие часы на скучную работу, анализируя схемы.
Сервисное обслуживание при разработке
Рассмотренные ранее методы относились к обслуживанию микрокомпьютерных систем, которые уже вышли на рынок и доказали свою работоспособность. Они отказали вследствие выхода из строя какого-либо компонента системы. В действительности сервисное обслуживание должно начаться задолго до того, как продукт вышел на рынок. Во время разработки проект проходит множество уровней тестирования и модификации, каждый из которых является попыткой отладить работу системы. Это особенно справедливо для систем, основанных на программном обеспечении, например, для микропроцессорных.
Процесс разработки обычно проходит следующие этапы:
1. Постановка задачи и ее формальное описание.
2. Составление блок-схем и описаний блоков ввода-вывода.
3. Проектирование схемы блоков и выбор деталей.
4. Тестирование блоков (программных драйверов).
5. Тестирование системы на функционирование в соответствие с требованиями (окончательная проверка программного обеспечения).
Любой проект устройства, цифрового или аналогового, должен пройти через проектирование, тестирование и модернизацию. Цель этого раздела — сконцентрироваться на имеющихся средствах разработки, которые позволяют провести эффективное обслуживание на уровне проектирования и разработки.
В процессе создания программируемых систем ошибки в работе могут быть результатом неправильного проекта, неполадки в соединениях, неправильного алгоритма, ошибок программирования, неисправных компонентов, неправильной синхронизации. Для того чтобы успешно провести поиск неизбежных неисправностей, должны использоваться средства, позволяющие изолировать и протестировать аппаратные и программные компоненты системы. Естественно, каждая единица аппаратуры может быть проверена независимо от микропроцессора. Однако, многие из проблем, которые встречаются при создании интерфейса между периферийными устройствами и микропроцессором, связаны с синхронизацией. Все сигналы могут присутствовать, но они приходят не вовремя или в неправильной последовательности.
Рассмотрим попытку разработать контроллер микроволновой печи. Входами являются клавиатура, жидкокристаллический дисплей, несколько переключателей на дверце, возможно, аналого-цифровой преобразователь для датчика температуры, и несколько дискретных выходов для запуска магнетрона и нескольких индикаторов. Вы изготавливаете аппаратуру, пишете программы, программируете ППЗУ, вставляете его в систему, включаете питание и ждете результата. Если устройство не работает (а это редко случается в первый раз), то как узнать, почему?
Система создания микрокомпьютера дает разработчику средства, необходимые для изоляции потенциальных проблем. Типичная система содержит ПК для написания и трансляции команд языка программирования в команды языка машинного уровня. Он может также автоматически загрузить программу в машинном коде непосредственно в ПЗУ микрокомпьютерной системы, которая находится в разработке. Для того чтобы это произошло, ПК должен посылать код по 1 биту через последовательный кабель в систему.
ЦПУ программируемой системы должен записать код в свою память. Это означает, что ЦПУ выполняет программу, которая позволяет ему обратиться к памяти и изменить ее содержание. Эта программа, выполняющаяся на программируемой системе, называется контролирующей и позволяет разработчику проверить все регистры или область памяти и изменить их содержание. Величина, которую аппаратура считывает с входного порта, может выводиться на экран ПК, а логические уровни на выходных портах могут изменяться с клавиатуры ПК. После того как контролирующая программа загрузит поступающую от ПК программу в намять, разработчик может запустить и остановить ее. Например, если первая часть программного обеспечения должна была считать величину с клавиатуры, разработчик может:
1. Запустить программу с начала (это означает, что микропроцессор перестает выполнять контролирующую и запускает прикладную программу).
Читать дальше