Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лекции - Микропроцессоры и микропроцессорные системы - файл 1.doc


Лекции - Микропроцессоры и микропроцессорные системы
скачать (2465.5 kb.)

Доступные файлы (1):

1.doc2466kb.24.11.2011 12:18скачать

1.doc

1   2   3   4   5   6   7   8   9   10


Данные, передаваемые по шине D[7:0], в отличие от команд, инструкций режима и синхросимволов сопровождаются низким уровнем на линии CO/D.

Каждый бит команды, установленный в "1", имеет свой смысл, независимый от остальных разрядов команды:

D0 - разрешена передача;

D1 - запрос о готовности приемника;

D2 - разрешен прием;

D3 - пауза;

D4 - сброс триггеров ошибок;

D5 - запрос о готовности передатчика;

D6 - программный сброс;

D7 - поиск синхросимволов

Прием/передача может осуществляться в одном из двух режимов - синхронном или асинхронном.

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

Различают два режима синхронного приема. В режиме приема с внутренней синхронизацией приемник начинает работу с поисков символа (символов) синхронизации. Информация принимается по входу RxD на первый регистр приемника и непрерывно сравнивается с содержимым регистра первого синхросимвола. Если содержимое двух регистров не одинаково, то в регистр приемника принимается следующий бит и сравнение повторяется. Когда содержимое сравниваемых регистров становится одинаковым, контроллер заканчивает поиск и переходит в режим синхронизации. При этом, если не запрограммирован контроль по четности (нечетности), на выводе SYNDET/BD, работающем как выход, во время приема последнего бита синхросимвола устанавливается напряжение высокого уровня, сигнализируя ВУ, что произошел захват синхронизации. Если контроллер. .ВВ51 запрограммирован с двумя символами синхронизации и/или контролем на четность, то указанная выше ситуация произойдет во время приема последнего бита второго синхросимвола или бита контроля.

В режиме синхронного приема с внешней синхронизацией на вывод SYNDET/BD, работающий как вход, подается напряжение синхронизации, которое разрешает прием информации по входу RxD со скоростью синхросигналов, поступающих на вход RxC\. Если в управляющем слове определен прием в синхронном режиме с внешней синхронизацией, то цепи внутренней синхронизации блокируются установкой внутреннего триггера, сброс которого возможен по сигналу SR или после чтения состояния контроллера.

^ Синхронная передача начинается при подаче на вход CTS\ низкого уровня. Передатчик начинает трансляцию битов буферного регистра на выход TxD со скоростью синхроимпульсов, поступающих на вход TxC.

^ Асинхронный режим характеризуется одиночными посылками информации, инициализация которых определяется либо процессором системы, либо внешним устройством. Синхронизация передатчика и приемника обеспечивается равенством частот передачи и приема (частоты задаются программно). Для контроллера. .ВВ51 возможны три частоты передачи/приема: 1:1, 1:16 и 1:64 относительно частоты синхронизации на входе CLK. Неактивному состоянию передатчика соответствует высокий уровень на линии данных.

В начале каждой посылки устанавливается низкий уровень на выходе TxD данных передатчика т.н. "старт-бит", длительность которого равна периоду заданной передающей частоты. Старт-бит служит для ввода в синхронизацию передатчика и приемника. В конце посылки выдается "стоп-бит", длительность которого программируется на 1, 3/2 или 2 периода передатчика.

^ Асинхронная передача начинается с записи в контроллер данных и при условии, что в D0 инструкции команды записана "1" и на входе CTS\ - низкий уровень. Передатчик формирует на выходе TxD стартовый бит, заданное число бит данных (5..8, начиная с бита d0), если необходимо - контрольный бит и - обязательно - стоповый бит. Если контроллер не содержит информации для передачи, то на линии TxD удерживается высокий уровень, а если в инструкции запрограммирован режим "Пауза", то на TxD выдается низкий уровень.

^ Асинхронный прием. Обнаружение на RxD перехода с высокого уровня на низкий интерпретируется как приход старт-бита. Истинность этого бита проверяется вторично через 1/2 периода приема и если наличие низкого уровня подтверждается, то запускается счетчик битов, который позволяет определить конец битов данных, бит контроля (если он запрограммирован) и стоп-бит. Если же низкий уровень в середине периода не подтверждается, то приемник переходит в исходное состояние.

Схема управления и синхронизации приемника предохраняет от ошибочного запуска счетчика битов, если на выводе RxD присутствует напряжение низкого уровня, вызванное командой D3 "Пауза". Регистр приемника обнаруживает паузу и на выводе SYNDET/BD устанавливает высокий уровень.

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

Наличие единиц в триггерах ошибок не останавливает работу контроллера. Триггеры ошибок сбрасываются командой с D4 = 1.

Состояние контроллера отображается в регистре состояний, доступном по чтению процессору (при CS = 0, RD = 0, CO/D = 1). Формат регистра состояний приведен ниже:


7

6

5

4

3

2

1

0

DSR

SYN/BD

D5

D4

D3

TxEND

RxRDY

TxRDY


Разряды 7, 6, 2, 1, 0 дублируют состояния соответствующих выводов контроллера (см. табл. 6.3); D5 - триггер ошибки стоп-бита, D4 - триггер ошибки переполнения (устанавливается, если предыдущий символ не прочитан процессором до записи в буферный регистр нового принятого символа), D3 - триггер ошибки четности.

  1. ^

    Подсистема прерываний МПС


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

1.14.Внутренние и внешние прерывания


Различают внутренние и внешние (по отношению к процессору) события, требующие реакции подсистемы прерываний. К внутренним событиям относятся переполнение разрядной сетки при выполнении арифметических операций, попытка деления на 0, извлечение корня четной степени из отрицательного числа и т.п., появление несуществующего кода команды, обращение программы в область памяти, для нее не предназначенную, сбой при выполнении передачи или операции в АЛУ и многое другое. Внутренние прерывания должны обеспечиваться развитой системой аппаратного контроля процессора, поэтому они не получили широкого распространения в простых 8- и 16-разрядных МП.

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

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

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

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

Гораздо эффективней организовать взаимодействие с внешней средой таким образом, чтобы всякое изменение состояния среды, требующее реакции МПС, вызывало появление на специальном входе МП сигнала прерывания текущей программы. Организация прерываний должна быть обеспечена определенными аппаратными и программными средствами, которые мы и называем "подсистемой прерываний".
1   2   3   4   5   6   7   8   9   10



Скачать файл (2465.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации