- •2013 Оглавление
- •Режимы обмена информации
- •Режим программного ввода/вывода
- •Режим ввода/вывода по прерываниям
- •Режим с квитированием
- •Режим с прямым доступом к памяти
- •Порты ввода-вывода
- •Протоколы портов ввода-вывода Параллельный ввод-вывод
- •Последовательный ввод-вывод
- •Microwire
- •Периферийные устройства
- •Классификация пу
- •Устройства связи с пользователем
- •Устройства памяти
- •Устройства связи с объектом управления (усо)
- •Контроллеры прерываний
- •Контроллер прямого доступа к памяти
Протоколы портов ввода-вывода Параллельный ввод-вывод
Основной интерфейс между микроконтроллером и внешними устройствами реализуется через параллельные порты ввода-вывода. Во многих микроконтроллерах выводы этих портов служат также для выполнения других функций, например, последовательного или аналогового ввода-вывода.
В большинстве микроконтроллеров отдельные выводы портов могут быть запрограммированы на ввод или вывод данных. При вводе данных считывается значение сигнала, поступающего на внешний вывод, а не содержимое триггера данных. Если к внешнему выводу подключены выходы других устройств, то они могут установить свой уровень выходного сигнала, который будет считан вместо ожидаемого значения данных, записанных в триггер. В некоторых микроконтроллерах существует возможность выбора между чтением данных, установленных на выходе триггера или на внешнем выводе.
Другой распространенный вариант подключения внешнего вывода — это схема с «открытым коллектором».
Состояние данного вывода соответствует состоянию подключенной к нему шины до тех пор, пока он не будет переключен на работу в режиме выхода и установлен в состояние 0. В этом случае вывод соединен с «землей» через MOS-транзистор, который управляется логической схемой «И», подключенной к выходам триггеров управления и данных.
Такое подключение вывода позволяет создавать шины с объединением выходов устройств по схеме «монтажное И». В этой схеме шина подключается к напряжению питания Vcc через резистор, а к потенциалу «земли» - через несколько ключей или транзисторов. При их включении на шине устанавливается низкий потенциал. Примером применения данной схемы включения является двунаправленная шина с несколькими источниками информации, каждый из которых может передавать данные, переводя шину в состояние с низким потенциалом.
Последовательный ввод-вывод
Наиболее распространенный вид связи между различными системами - это последовательный обмен. В этом случае байт данных передается по единственному проводу бит за битом с обеспечением синхронизации между приемником и источником данных. Очевидное преимущество последовательной передачи данных состоит в том, что она требует небольшого количества линий связи.
Существует множество стандартных последовательных протоколов передачи данных, которые применяются в микроконтроллерах. В некоторых микроконтроллерах эти протоколы реализуются внутренними схемами, размещенными на кристалле, что позволяет упростить разработку различных приложений.
Асинхронный обмен
При асинхронном обмен байт данных посылается как пакет, включающий информацию о начале и конце передачи данных, а также информацию для контроля ошибок.
Первым передается не бит данных, а старт-бит, указывающий на начало передачи данных. Этот бит используется приемником для синхронизации процесса чтения данных, которые следуют за старт-битом. После битов данных может следовать контрольный бит, который используется для проверки правильности полученных данных. За битом четности следует стоп-бит, который используется приемником для обработки конца передачи пакета.
Синхронный обмен
При реализации синхронного обмена вместе с данными посылается синхросигнал, который используется приемником для стробирования данных.
Существует два основных протокола для синхронной связи – Microwire (1Мбит/сек, 16 бит) и SPI (3Мбит/сек, 8 бит). В основном эти протоколы применяются для взаимодействия с различными микросхемами.
Чаще всего их используются для синхронной последовательной передачи данных, чем для объединения микроконтроллеров в единую сеть. В этих протоколах каждое устройство адресуется индивидуально, хотя линии передачи данных и синхронизации могут быть общими для многих устройств. Если сигнал разрешения выборки устройства не активен, то это устройство игнорирует линии данных и синхронизации. В каждый момент времени только одно из подключенных к шине устройств может быть ведущим, то есть иметь возможность задавать режим работы шины.