RSS    

   Реферат: Ответы к Экзамену по Микропроцессорным Системам (микроконтроллеры микрокопроцессоры)

        быть изменено программно в процессе работы;

    °  с индивидуальной настройкой линий, направление передачи данных по

               каждой линии программируется независимо от остальных.                 Последний вариант построения схемы порта в настоящее время наиболее распространен. Например, микроконтроллер АТтеда163 имеет 32 линии ввода-вывода с индивидуальной настройкой, сгруппированных в 4 параллельных порта: порт А порт В, порт С, порт О. Направление передачи данных любого вывода любого порта может быть изменено    независимо от направлений других выводов   Для работы с портами в микроконтроллере предусмотрено 12 регистров, по три на каждый из портов (рис. 58):

             ° регистры данных (Dafa Register): PORTA , POF< tb, PORTC и PORTD;

            0 регистры  направления  (Data Direction Register): DDRA,  DDRB,  DDRC  и 

              DDRD;

°      регистры входных контактов (Port A Input Pins). PINA; PINB, PINC и FIND.

Все выводы портов имеют индивидуальные подтягивающие резисторы (pull-up resistors). Для подключения этих резисторов в регистре специальных функций ввода/вывода SFIOR (Special Function Input Output Register) предусмотрен бит PUD (Pull-up Disabled).

Любая линия порта выполняет функции выхода при записи логической единицы в соответствующий бит регистра направления DDRx (x e А, В, С, D).

Регистры PINx не хранят информацию и фактически не являются настоящими регистрами. Они разрешают доступ к физическим сигналам на линиях соответствующего порта. При чтении PORTx читается защелка данных выбранного порта, а при чтении PINx -значение на контактах порта. Регистры PINx доступны только для чтения, е то время как регистры PORTx и DDRx -для чтения и записи.

Внутренние подтягивающие резисторы подключаются только при PUD=0, если контакты портов сконфигурированы как входы

Выходы портов выдерживают втекающий ток до 20mA и могут быть непосредственно подключены к светодиодным индикаторам. Однако, вытекающий ток порта не должен быть более 4 мА, а суммарная загрузка порта - не более 80 мА.

9.2. Алгоритмы обмена данными

Порты ввода-вывода предназначены для связи микроконтроллера с различными объектами и могут реализовывать различные алгоритмы обмена данными:

     0 асинхронный программный обмен,

        0 синхронный обмен,

     0 ввод-вывод с сигналами квитирования.

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

АСИНХРОННЫЙ ОБМЕН

В режиме асинхронного программного обмена ввод и вывод данных производится

По программе в моменты выполнения инструкций ввода и вывода данных. Предполагается,

Что объект всегда готов к обмену: при вводе - данные в момент выполнения инструкции in

присутствуют на линиях порта, при выводе -данные будут прочитаны с линий порта до следующего вывода.

Например, микроконтроллер ATmega163 осуществляет асинхронный вывод данных nпри выполнении фрагмента программы:

equporta = $1B  ;

.equ ddra = $1А ;

cseg

ldir16,$FF          ;запись$РРвг16

out ddra, r16     включение порта А на вывод

out porta, rO      ;вывод данных из регистра гО в порт А.

Время выполнения команды вывода равно двум периодам тактового сигнала.

Тот же микроконтроллер в течении двух тактов введет данные с линий порта при имении фрагмента программы:

equpina = $19

cseg

in rO, pina     ; ввод данных из порта pina в регистр гО.

По адресу $19 в пространстве ввода-вывода микроконтроллера размещен регистр  pina, с входных линий которого и будут взяты данные во время выполнения инструкции.

симплексный обмен

Симплексным считается однонаправленный обмен данными. Такой обмен обычно является синхронным. В этом случае каждое изменение данных на линиях порта •провождается сигналом синхронизации (стробом). Строб генерируется источником данных и предназначается для задания момента записи данных в регистр приемника.

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

На рис. 9.2 показан вариант соединения микроконтроллера ATmega163 с посимвольным принтером, имеющим 8-битный вход для приема данных DATA, выход  сигнала готовности READY и вход стробирования #STB. Активным на входе стробирования  является сигнал низкого уровня.

Порт PORTA микроконтроллера и бит РВ6 порта PORTB программируются на  вывод данных, бит РВ2 порта PORTB на ввод. Подпрограмма вывода должна:

0      осуществить проверку готовности принтера (чтение сигнала готовности

принтера READY и его анализ),

°      при обнаружении сигнала READY=1 вывести данные в порт PORTA,

°      подтвердить вывод данных выводом сигнала стробирования #STB=0 для 

       записи данных в принтер.

Рис. 9.2. Подключение принтера к микроконтроллеру

Режим синхронного ввода позволяет точно задать момент считывания данных с объекта. В этом режиме сигнал стробирования, подтверждающий готовность данных, поступает с объекта на микроконтроллер. При появлении строба микроконтроллер должен осуществить ввод данных с порта.

полудуплексный обмен

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

В схеме на рис. 9.3 передача данных в параллельном формате осуществляется по линиям порта PORTA. Для выдачи и приема четырех сигналов управления обменом (сигналы квитирования): строб ввода #STB IN (Strobe Input), строб вывода #STB OUT (Strobe Out), подтверждение ввода SACK IN (Acknowledge Input) и подтверждение вывода #АСК OUT (Acknowledge Out), использованы две линии порта PORTB и входы запросов на прерывания INTO и INT1.

При поступлении сигнала #STB IN = 0 контроллер должен выставить сигнал подтверждения #АСК IN = 0 и осуществить запись во входной регистр порта PORTA.. При низком уровне сигнала ASK IN объекту запрещается формировать новый сигнал #STB !N. По окончании записи контроллер снимает сигнал #АСК IN, разрешая повторную передачу данных.

Работа микроконтроллера в режиме вывода аналогична. Микроконтроллер выводит данные в порт PORTA, подтверждая вывод сигналом #STB OUT = 0. Объект формирует сигнал подтверждения #АСК OUT = 0, сообщая контроллеру о готовности к приему данных. При снятии сигнала #АСК OUT контроллер должен снять сигнал #STB OUT и может вновь перейти к выводу данных.

Одновременная передача данных в двух направлениях при полудуплексном обмене невозможна

дуплексный обмен

Дуплексным считается двунаправленный синхронный обмен, при котором в любой момент времени возможна передача данных в двух направлениях. В этом случае для передачи данных в каждом направлении выделяется свой однонаправленный порт. На рис. И 4 изображен вариант соединения микроконтроллера ATmega 163 с объектом для обмена айнными в дуплексном режиме.

11 схеме на рис. 9.4 порт PORTA работает на ввод данных, порт PORTB - на вывод, | пинии I 'СО и РС1 порта PORTC использованы для вывода сигналов квитирования #АСК И #ЛСК OUT. Для ввода сигналов квитирования от объекта #STB IN и #АСК OUT использованы входы запросов на прерывания INTO и INT1. При таком подключении задача ввода данных в микроконтроллер получает больший приоритет, чем задача вывода.

32. Аналого-цифровые преобразователи. Работа с АЦП микроконтроллера ATmega 163

Аналого-цифровой преобразователь ADC (Analog Digital Converter) осуществляет преобразование напряжения в цифровой код. Он предназначен для оцифровки и ввода в микроконтроллер аналоговых сигналов с различных датчиков физических величин. Схемы преобразователей различны. В зависимости от типа построения меняются и свойства преобразователя.

Параллельный преобразователь

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

Рис. 1. Параллельный аналого-цифровой преобразователь

Такие схемы ADC работают очень быстро, но сложны и используются редко.

Преобразователь последовательного приближения

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

Рис. 2. Преобразователь последовательного приближения

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.