ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ - Страница 113

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ - ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Самотестирование

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

Тестировать интерфейсы между микроконтроллером и-подключенными к нему внешними устройствами очень просто. Такие тесты обычно заключаются в посылке внешнему устройству тестовых символов (обычно это 0x55 и ОхАА) и их обратном чтении. Часто устройства, подключенные к шине, имеют специальные режимы и регистры, которые позволяют это сделать. Такой тест часто называется «тест присутствия», так как наряду с тестированием шины и интерфейсов проверяется присутствие внешнего устройства.

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

Go to Top