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

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



Для задач, требующих высокой точности установки частоты тактового генератора (часы реального времени, интерфейс микроконтроллера с другими устройствами, и т. п.) в качестве внешнего элемента используют кварцевый резонатор, что позволяет получить относительную нестабильность частоты не более 0,001–0,01 %. Типовая схема подключения кварцевого резонатора показана на рисунке 2.3.


Рисунок 2.3 – Типовая схема подключения кварцевого резонатора

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

Недостаток данной схемы – это внешние компоненты и механическая хрупкость кварцевого резонатора. В ряде случаев вместо кварцевого резонатора применяют керамические компоненты – фильтр на основе пьезоэлементов или на основе поверхностной акустической волны (ПАВ-фильтры). Такие элементы более устойчивы к ударной механической нагрузке, часто имеют встроенные конденсаторы, хотя таким генераторам присуща большая относительная нестабильность частоты (примерно 0,1–0,5 %).

Другой способ задания частоты генерации – это использование RC-компонентов

(рисунок 2.4).


Рисунок 2.4 – Типовая схема подключения RC-компонентов

Частота генерации определяется постоянной времени RC-цепи, но общей формулы для расчёта частоты генерации нет вследствие нелинейности импеданса по входу МК-компонента. Номиналы резистора и конденсатора указываются в руководстве по применению МП-компонента.

Это наиболее дешёвый способ задания частоты и наименее точный. Нестабильность частоты такого генератора порядка десятков процентов.

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

15. Программный счётчик. Его назначение, основные характеристики, особенности использования.

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

Основные характерные особенности программного счётчика следующие:

– параллельная загрузка нового содержимого с шины данных;

– возможность возврата к адресу первой команды программы (возможность сброса);

– реализация счёта на увеличение (инкремента) для адресации следующей команды.

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

Параллельная загрузка используется для записи в программный счётчик адреса перехода при выполнении команды безусловного перехода («jump») или вызова подпрограммы («call»).

Начальное содержимое программного счётчика после запуска МП-устройства может иметь любое значение. Часто используется значение начального адреса 0000016, но ряд устройств начинают выполнение программы с других адресов. Аналогичная ситуация возникает с адресами прерываний (векторами прерываний). Обслуживание прерывания начинается с адреса (вектора прерывания), отличного от адреса, загружаемого при начальном запуске устройства. Но для реализации прерывания или запуска устройства используются обычно одни и те же аппаратные средства.

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

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

16) Арифметико-логическое устройство (АЛУ). Его назначение, схема работы, особенности использования.

АЛУ процессора используется для выполнения всех математических операций в программе (сложение, вычитание, логическое И, логическое ИЛИ, сдвиг содержимого регистров и установку содержимого регистра состояния в соответствии с полученными результатами. АЛУ не используется при чтении или записи данных или команд – оно служит только для обработки
данных. АЛУ можно представить как аппаратный блок, который обрабатывает два слова данных (операнды) и сохраняет полученный результат.

От конкретного типа микропроцессора зависит, как вводятся операнды в АЛУ и куда поступает результат: это одно из основных различий между различными типами процессоров и их системами команд. Некоторые процессоры выбирают один операнд из регистра-аккумулятора и сохраняют результат также в аккумуляторе. Другие процессоры позволяют использовать различные источники операндов и места размещения результатов.

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

Обычно различные представители одного семейства микроконтроллеров имеют одинаковые АЛУ. В некоторых семействах АЛУ реализуют определённые операции, которые не выполняются МК других семейств (например, умножение). Дополнительные функции различных МК одного семейства реализуются путём включения в их структуру дополнительных аппаратных средств, но при этом структура и функции АЛУ сохраняются, так как вводимые в МК дополнительные устройства используют свои регистры, не связанные с регистром состояния и аккумулятором (например, семейство 8-разрядных МК 68НС05 ф. Motorola).

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

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

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

18) Особенности использования подпрограмм и функций при программировании МК.

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

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

а) Автоматически, как часть команды САLL (вызов), путём сохранения адреса возврата в стеке. При возврате к исходной программе адрес извлекается из стека и загружается в программный счётчик.

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

в) В устройствах, где адрес возврата вообще нигде не сохраняется при выполнении команды GOTO, – для имитации вызова подпрограммы адрес возврата необходимо сохранить в виде переменной.

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

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

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

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

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





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



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