Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Основные приемы отладки аппаратуры



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

Использование модели тем более обосновано, потому что аппаратура поспевает позже.

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

1. Отладку начитать с контроля источника питания

Источник питания - «невоспетый герой» радиоэлектроники.

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

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

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

Когда выбирается тип процессора, желательно его выбрать с максимально возможным напряжением питания. Например, процессор с напряжением питания 4-5 В при понижении питания до 3В не будут работать, а с 2.7-5В будет работать.

2. Тактовый генератор

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

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

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

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

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

3. Уровни сигналов и их фронты

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

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

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

Большинство микросхем имеет в выходных цепях защитные диоды.

Д1 защищает вход от большого отрицательно напряжения, а Д2 от большого положительного. Uвх не может быть больше чем +Е. При включении питания может оказаться, что информационный сигнал есть, а питания еще нет. Это означает что входной сигнал через Д2 поступит на линию питания и при этом может возникнуть защелка микросхемы.

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

5. Исходное состояние выходных сигналов

При включении питания и сбросе пока не начала работать программа инициализации выходные сигналы устанавливаются в исходное состояние. Например, в х51 выходные сигналы устанавливаются в 1, в AVR сигнал устанавливается в третье, неопределенное состояние, сигнал ориентируется на ввод.

К внешним выводам подключены различные объекты. И в это время установки исходного состояния может сработать двигатель или пресс, чего не должно быть. Программа инициализации через некоторое время его отключит, приведет в исходное состояние, но проблемы будут.

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

6. Периодические тестовые процедуры.

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

7. Отлаживать программу нужно по частям

Если загрузить сразу исходную программу, то на 100 % она работать не будет. Искать ошибку в большой программе и вдобавок с аппаратурой трудно. Поэтому если не используются библиотечные процедуры, а свою, то каждую процедуру нужно отдельно протестировать. Тестирование так же проводят в цикле. При тестировании внутрь процедуры включают внешние индикаторы. Например, при вхождении в процедуру прерывания можно поставить оператор включения светодиода. Если процедура разветвляются, то в одной ветке можно включить один индикатор, а в другой - другой. Если индикаторов нет, то можно воспользоваться штатным последовательным портом связи с компьютером, то есть вывести на экран компьютера какой-то код или слово. Для этого в текст программы включают оператор передачи на компьютер. Если индикатора и компьютера нет, то просто мигают сигналами.

8. Компьютер в качестве инструмента

Компьютер имеет несколько интерфейсов и через эти интерфейсы можно формировать сигналы. Раньше был просто параллельный порт. Сейчас есть USB и управлять им трудно, у него свой протокол. И поэтому в настоящее время обратили внимание на звуковой интерфейс. Можно формировать звуковые сигналы не только в виде синусоид, но и в виде прямоугольника, то есть использовать встроенный ЦАП в звуковую плату как генератор программируемый.

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

9. Проверка на помехозащищенность

Обязательно нужно осуществлять проверку в условиях помех. При государственной сертификации, аттестациях такая проверка строго обязательна.

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

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

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

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

Такие сердечники обычно надевают не только силовые цепи, но и на информационные, чтобы погасить высокочастотные колебания.

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

10. Программа самотестирования

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

В программах самотестирования может тестироваться сам процессор (выполняя образцовые команды и проверяя результаты), тестироваться ПЗУ (например вычисляется контрольная сумма всех ячеек и сравнивается в записанной в ПЗУ). При тестировании ОЗУ нужно проверить ячейки не только на чтение, но и на запись. При этом можно пользоваться содержимым ПЗУ. Например, взять участок ПЗУ и записать в ОЗУ, а затем проверить правильность записи, читая ОЗУ.

Более сложными являются тесты внешних устройств для процессора.

Результат тестирования обычно выводят на индикатор

11. Занесение окончательной программы

В настоящее время процессоры в большинстве случаев запаиваются. Если запаивается уже запрограммированная схема, то есть опасность что при нагреве ПЗУ «слетит», исказится. Поэтому в настоящее время рекомендуют использоваться программирование в системе, для чего используется специальный разъем на плате.

При перепрограммировании флешка «страдает», изоляция деградирует, поэтому системы, которые использовались при отладке аппаратуры, при тестировании нельзя поставлять заказчику, они откажут. При военной приемке изделий часто используют термопрогон, работу изделия при повышенной температуре. При этом выявляются случайные отказы. А оставшиеся, не отказавшие изделия отличаются повышенной надежностью.

Однако повышение температуры в течение определенного времени приводит к высокой тепловой энергии электрона. И в результате они могут покинуть плавающий затвор и память команд исказится или ресурс сохранения данных станет меньше. 0 будет читаться с помехой.

Термостатироваие, термопрогон следует применять с большой осторожностью.





Дата публикования: 2015-01-23; Прочитано: 460 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...