Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Пользователю -> Евстифеев А.В. -> "Микроконтроллеры семейства" -> 37

Микроконтроллеры семейства - Евстифеев А.В.

Евстифеев А.В. Микроконтроллеры семейства — Infineon, 2007. — 318 c.
Скачать (прямая ссылка): microkontrolleri2007.pdf
Предыдущая << 1 .. 31 32 33 34 35 36 < 37 > 38 39 40 41 42 43 .. 100 >> Следующая


Если во время обслуживания ловушек класса В, имеет место ловушка класса А, она будет немедленно обслужена. Однако во время выполнения подпрограммы обслуживания ловушки класса А, ни одна ловушка класса В не будет обслужена до тех пор, пока подпрограмма обслуживания ловушки не завершится командой RETI. В этом случае случившаяся ловушка класса В сохраняется в TFR-регистре, но при этом теряется значение IP команды, при которой имела место ловушка.

В случае обнаружения ловушки неопределенного кода (класс В) одновременно с NMI-ловушкой (класс А), устанавливается и флаг NMI и флаг UNDOCP, при этом сохраняется в системном стеке IP команды, вызвавшей ловушку неопределенного кода, и начинается обслуживание NMI. После возврата из подпрограммы обслуживания NMI, значение IP

6-28 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Система прерываний и ловушек/С167

возвращается из стека и немедленно посылается обратно в стек, так как необходимо выполнить обслуживание UNDOCP-ловушки.

Внешняя NMI ловушка

При обнаружении перехода отрицательного фронта на входе NMI (не маскируемое прерывание), NMI флаг регистра TFR устанавливается в «1» и ЦПУ начинает выполнять подпрограмму обслуживания.

Примечание: NMI-вывод проверяется каждый такт ЦПУ для выявления фронтов.

Ловушка неопределенного кода

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

Ловушка ошибки защиты

Всякий раз при исполнении одной из защищенных команд, в том случае когда код команды не повторяется дважды во втором слове команды, и байт последующего кода не является дополнительным к первому, устанавливается флаг PRTFLT регистра TFR и ЦПУ начинает исполнять подпрограмму ловушки ошибки защиты. Защищенные команды включают SISWDT, EINIT, IDLE, PWRDN, SRST и SRVWDT. Значение IP посылается в системный стек перед выполнением подпрограммы, и затем записывается назад при выходе из подпрограммы

6-29 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Система прерываний и ловушек/С167

6-30 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Система прерываний и ловушек/С167

6 Параллельные порты

Для передачи или приема параллельных данных и одиночных внешних сигналов управления, в микроконтроллере С167 присутствует 111 линий параллельного ввода-вывода. Архитектура портов содержит один 16-разрядный порт IO (Порт 2), восемь 8-разрядных портов IO (Порт 0 P0H -P0L, Порт 1 0 P0H - P0L, Порт 4, Порт 6, Порт 7, Порт 8), один 15-разрядный порт IO (Порт 3) и один 16-разрядный входной порт (Порт 5).

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

Все линии портов являются адресуемыми побитно, и все линии ввода-вывода индивидуально программируются на вход или вывод, с помощью регистров направления (за исключением Порта 5). Порты ввода-вывода являются двунаправленными портами, которые можно переключать в состояние высокого сопротивления при настройке на вход. Выходные драйвера пяти портов ввода-вывода (2, 3, 6, 7, 8) могут быть сконфигурированы для работы в режиме push/pull или для работы в режиме с открытым коллектором с помощью контрольных регистров. Логический уровень на входе измеряется во входном триггере один раз за такт, при этом не имеет значения конфигурация порта (на вход или на выход).

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

Запись в вывод, сконфигурированного на выход (DPx.y = «1») приводит к тому, что выходной триггер и вывод микросхемы соединены, поскольку выходной буфер включен. Чтение этого вывода приводит к возврату значения выходного триггера. Операция чтение-изменение-запись читает значение выходного триггера, изменяет его и записывает назад в выходной триггер, таким образом также изменяя уровень на выводе микросхемы.

4-1 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Параллельные порты/С167

Рисунок 6-1

SFR-регистры и выводы микросхемы для параллельного порта

Режим с открытым коллектором

В С167 часть портов имеют возможность работы в режиме с открытым коллектором. В режиме push/pull выходной драйвер имеет транзисторы как на высокой так и на нижней стороне, таким образом линия замыкается либо на высокий либо на низкий уровень напряжения. В режиме с открытым коллектором верхний транзистор всегда выключен и поэтому выходной драйвер может устанавливать только низкий уровень на выходе. При записи «1» в триггер порта, нижний транзистор выключается и выход переходит в состояние высокого сопротивления. Высокий уровень в этом случае должен быть обеспечен внешним устройством. С использованием этой возможности, возможно объединять по несколько портов вместе для обеспечения конфигурации wired-AND, что позволяет без дополнительного программного кода осуществлять операции И/ИЛИ для разрешения или запрещения выходного сигнала.
Предыдущая << 1 .. 31 32 33 34 35 36 < 37 > 38 39 40 41 42 43 .. 100 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100