4.3. Интерфейсы периферийных устройств
Периферийные устройства – любое устройство, конструктивно отделенное от процессора.
Существуют стандартные периферийные устройства (ПУ) – мышь, клавиатура, внешняя память(flash), CD-ROM, АЦП, цифровые камеры, принтеры, модемы, монитор), а также нестандартные ПУ, используемые для подключения к микроконтроллеру(телефонная трубка, электродвигатель стиральной машины и т. д.).
Интерфейс – аппаратно-программный комплекс для обеспечения взаимодействия между процессором и ПУ. Интерфейс определяет тип соединения, уровень и длительность электрических сигналов, протокол обмена информацией.
4.3.1. Параллельный интерфейс ввода-вывода
· Параллельный интерфейс – информация передается по многопроводной линии (чаще всего сразу байт)
Скорость передачи последовательного интерфейса меньше, чем у параллельного, требуются более сложные протоколы обмена информацией.
У параллельных интерфейсов сложные разъемы, должна быть синхронизация, т.к. по каждой из линий скорость распространения сигналов различная.
Принципы построения параллельных портов ввода/вывода микроконтроллеров
Параллельные порты предназначены для обмена информацией микропроцессора с внешними устройствами, при этом в качестве внешнего устройства может использоваться другой компьютер. Параллельные порты позволяют согласовывать низкую скорость работы внешнего устройства и высокую скорость работы системной шины микропроцессора. С точки зрения внешнего устройства порт представляет собой обычный источник или приемник информации со стандартными цифровыми логическими уровнями (обычно ТТЛ), а с точки зрения микропроцессора - это ячейка памяти, в которую можно записывать данные или в которой сама собой появляется информация.
В качестве внешнего устройства может служить любой объект управления или источник информации (различные кнопки, датчики, микросхемы приемников, синтезаторов частот, дополнительной памяти, исполнительные механизмы, двигатели, реле и т.д.).
В зависимости от направления передачи данных параллельные порты называются портами ввода, вывода или портами ввода вывода.
Схема включения микроконтроллера ADuC812 (ядро MCS 51)
P0, P1, P2, P3 – двунаправленные порты ввода/вывода, которые используются для организации интерфейса с периферийными устройствами.
Каждый из портов содержит восьмиразрядный регистр, имеющий байтовую и битовую адресацию для установки (запись '1') или сброса (запись '0') разрядов этого регистра с помощью программного обеспечения. Выходы этих регистров соединены с внешними ножками микросхемы.
– определяет с какой памятью работает программа – с внешней или с внутренней (0/1)
RESET – формирует сигнал сброса при включении питания.
Кварцевый резонатор – генератор тактовых импульсов, который синхронизирует работу микропроцессора.
Супервизор (SV) – устройство, при включении которого происходит сброс счетчика.
Упрощенная схема одного бита параллельного порта
Основой каждого бита является D-триггер (защелка). Если на информационном входе D-триггера установлена ”1”, то по синхроимпульсу C триггер переходит в единичное состояние. ”0” - наоборот.
Буферные формирователи предназначены для пропускания сигнала со входа на выход по сигналам чтения защелки либо по сигналу чтения вывода.
Эти сигналы формирует УУ. Если этих сигналов нет, то выход отключается от шины данных. Эти буферы на выходе имеют 3 состояния: 0, 1, обрыв.
Если в защелку записана 1, то на выходе будет нулевой уровень напряжения. Транзистор находится в закрытом (запертом) состоянии, т. е. по нему ток не течет. На ножке формируется уровень напряжения логической единицы = 5В от источника питания.
I’max = 125 мкА
Если в триггер записывается 0, то на выходе напряжение U = 5В ~ “1”, – “0”.
Транзистор открывается, на выходе значение U будет близко к 0. По сигналу «чтения защелки» основной выход подключается к шине данных. Таким образом, всегда можно прочитать в каком состоянии находится триггер.
По сигналу «чтение вывода» ножка через буфер подключается к шине данных. Таким образом, всегда можно определить состояние ножки.
Схема подключения светодиодных индикаторов
I =
2. Когда P1.2 = 1, на выходе будет 1, на базе будет протекать ток менее 125 мкА. Транзистор откроется, диод загорится.
I=
R3 можно поставить для надежного отпирания транзистора.
Если на P1.2 = 0 , то транзистор заперт, светодиод не горит.
# include <ADuC812.h>
main()
{
P1.0=1; // записываем 1 непосредственно в порт
while(1);
}
4.3.2. Последовательные порт ввода-вывода UART
Последовательный порт
Через универсальный последовательный порт микроконтроллера осуществляется прием и передача информации, представленной в последовательном коде (младшими битами вперед), т. е. информация передается побитно последовательно.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.