МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Ответы к Экзамену по Микропроцессорным Системам (микроконтроллеры микрокопроцессоры)

    параллельном формате осуществляется по линиям порта PORTA. Для выдачи и

    приема четырех сигналов управления обменом (сигналы квитирования):

    использованы две линии порта PORTB и входы запросов на прерывания INTO и

    INT1. При поступлении сигнала #STB IN=0 контроллер должен выставить сигнал

    подтверждения #ACK IN=0 и осуществить запись во входной регистр порта

    PORTA. При низком уровне сигнала #ACK IN объекта запрещается формировать

    новый сигнал #STB IN. По окончании записи контроллер снимает сигнал #ACK

    IN, разрешая повторную передачу данных. Работа микроконтроллера в режиме

    вывода аналогична. Микроконтроллер выводит данные в порт PORTA, подтверждая

    вывод сигналом #STB OUT=0. Объект формирует сигнал подтверждения #ACK

    OUT=0, сообщая контроллеру о готовности к приему данных. При снятии сигнала

    #ACK OUT контроллер должен снять сигнал #STB OUTи может вновь перейти к

    выводу данных.

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

    невозможна.

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

    Дуплексным считается двунаправленный синхронный обмен, при котором в

    любой момент времени возможна передача данных в двух направлениях. В этом

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

    однонаправленный порт. Порт PORTA работает на ввод данных, порт PORTB – на

    вывод, а линии PC0 и PC1 порта PORTC использованы для вывода сигналов

    квитирования #ACK IN и #STB OUT. Для ввода сигналов квитирования от объекта

    #STB IN и #ACK OUT использованы входы запросов на прерывания INT0 и INT1.

    При таком подключении задача ввода данных в микроконтроллер получает

    больший приоритет, чем задача вывода.

    15. Одной из разновидностей программно-управляемого обмена данными с ВУ

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

    программно-управляемого обмена тем, что переход к выполнению команд,

    физически реализующих обмен данными, осуществляется с помощью специальных

    аппаратных средств. Команды обмена данными в этом случае выделяют в

    отдельный программный модуль - подпрограмму обработки прерывания. Задачей

    обработки прерывания как раз и является приостановка выполнения одной

    программы (ее еще называют основной программой) и передача управления

    подпрограмме обработки прерывания. Действия, выполняемые при этом, как

    правило, те же, что и при обращении к подпрограмме. Только при обращении к

    подпрограмме они инициируются командой, а при обработке прерывания -

    управляющим сигналом от ВУ, который называют "Запрос на прерывание" или

    "Требование прерывания".

    Эта важная особенность обмена с прерыванием программы позволяет

    организовать обмен данными с ВУ в произвольные моменты времени, не

    зависящие от выполняемой программы. Таким образом, появляется возможность

    обмена данными с ВУ в реальном масштабе времени, определяемом внешней

    средой. Обмен с прерыванием программы существенным образом экономит время

    микропроцессора, затрачиваемое на обмен. Это происходит за счет того, что

    исчезает необходимость в организации программных циклов ожидания готовности

    ВУ, на выполнение которых тратится значительное время, особенно при обмене

    с медленными ВУ.

    Прерывание программы по требованию ВУ не должно оказывать на прерванную

    программу никакого влияния кроме увеличения времени ее выполнения за счет

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

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

    различные регистры, то информацию, содержащуюся в них в момент прерывания,

    необходимо сохранить для последующего возврата в прерванную программу.

    Формирование сигналов прерываний - запросов ВУ на обслуживание происходит в

    контроллерах соответствующих ВУ. В простейших случаях в качестве сигнала

    прерывания может использоваться сигнал "Готовность ВУ", поступающий из

    контроллера ВУ. Однако такое простое решение обладает существенным

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

    разрешать или запрещать их для отдельных ВУ. В результате организация

    обмена данными в режиме прерывания с несколькими ВУ существенно

    усложняется.

    Для решения этой проблемы регистр состояния и управления контроллера ВУ

    (рис. 3.11) дополняют еще одним разрядом - "Разрешение прерывания". Запись

    1 или 0 в разряд "Разрешение прерывания" производится программным путем по

    одной из линий шины данных системного интерфейса. Управляющий сигнал

    системного интерфейса "Запрос на прерывание" формируется с помощью схемы

    совпадения только при наличии единиц в разрядах "Готовность ВУ" и

    "Разрешение прерывания" регистра состояния и управления контроллера.

    Аналогичным путем решается проблемам управления прерываниями в

    микроконтроллера, в целом. Для этого в регистре состояния выделяется

    разряд, содержимое которого определяет, разрешены или запрещены прерывания

    от внешних устройств. Значение этого разряда может устанавливаться

    программным путем.

    В микроЭВМ обычно используется одноуровневая система прерываний, т. е.

    сигналы "Запрос на прерывание" от всех ВУ поступают на один вход

    процессора. Поэтому возникает проблема идентификации ВУ, запросившего

    обслуживание, и реализации заданной очередности (приоритета) обслуживания

    ВУ при одновременном поступлении нескольких сигналов прерывания. Существуют

    два основных способа идентификации ВУ, запросивших обслуживания:

    - программный опрос регистров состояния (разряд "Готовность ВУ")

    контроллеров всех ВУ;

    - использование векторов прерывания.

    Организация прерываний с программным опросом готовности предполагает

    наличие в памяти микроконтроллера единой подпрограммы обслуживания

    прерываний от всех внешних устройств.

    Обслуживание ВУ с помощью единой подпрограммы обработки прерываний

    производится следующим образом. В конце последнего машинного цикла

    выполнения очередной команды основной программы проверяется наличие

    требования прерывания от ВУ. Если сигнал прерывания есть и в

    микропроцессоре прерывание разрешено, то он переключается на выполнение

    подпрограммы обработки прерываний.

    После сохранения содержимого регистров, используемых в подпрограмме,

    начинается последовательный опрос регистров состояния контроллеров всех ВУ,

    работающих в режиме прерывания. Как только подпрограмма обнаружит готовое к

    обмену ВУ, сразу выполняются действия по его обслуживанию. Завершается

    подпрограмма обработки прерывания после опроса готовности всех ВУ и

    восстановления содержимого регистров процессора.

    Приоритет ВУ с программным опросом готовности внешнего устройства

    однозначно определяется порядком их опроса в подпрограмме обработки

    прерываний. Чем раньше в подпрограмме опрашивается готовность ВУ, тем

    меньше время реакции на его запрос и выше приоритет. Необходимость проверки

    готовности всех внешних устройств существенно увеличивает время

    обслуживания тех ВУ, которые опрашиваются последними. Это является основным

    недостатком рассматриваемого способа организации прерываний. Поэтому

    обслуживание прерываний с опросом готовности ВУ используется только в тех

    случаях, когда отсутствуют жесткие требования на время обработки сигналов

    прерывания внешних устройств.

    Организация системы прерываний с использованием векторов прерываний

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

    прерываний ВУ, запросившее обслуживания, само идентифицирует себя с помощью

    вектора прерывания - адреса ячейки основной памяти, в которой хранится либо

    первая команда подпрограммы обслуживания прерывания данного ВУ, либо адрес

    начала такой подпрограммы. Таким образом, процессор, получив вектор

    прерывания, сразу переключается на выполнение требуемой подпрограммы

    обработки прерывания. В микроконтроллерах с векторной системой прерывания

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

    Различают векторные системы с интерфейсным и внеинтерфейсным вектором. В

    первом случае вектор прерывания формирует контроллер ВУ, запросившего

    обслуживания, во втором - контроллер прерываний, общий для всех устройств,

    работающих в режиме прерываний.

    17. Работа с прерываниями в МК Atmega 163

    Контроллер Atmega163 имеет 17 внешних и 15 внутренних прерываний. Каждый

    узел МК является источником прерываний и может прервать выполняемую

    программу. Каждое прерывание имеет фиксированный приоритет и вектор

    прерывания.

    Вектора прерываний занимают в пространстве памяти программа адреса с $0 до

    $22. $0 – определен, как сигнал сброса. Адрес последующего больше

    предыдущего на 2. Адреса $2 и $4 соответствуют внешним прерываниям int0 и

    int1. Приоритет прерываний уменьшается с возрастанием адресов и векторов.

    Любое прерывание может быть запрещено специальными битами в регистрах I/O

    МК.

    Для выхода из любой подпрограммы обработки прерываний в системе МК

    предусмотрена команда reti, восстанавливающая содержимое программного

    счетчика из стека. Для правильного функционирования системы прерываний в

    начале прграммы должен быть загружен указатель стека.

    |0 |0 |Низкий уровень сигнала INT1/0 |

    | | |генерирует запрос на |

    | | |прерывание |

    |0 |1 |Любое логическое изменение |

    | | |INT1/0 генерирует запрос на |

    | | |прерывание |

    |1 |0 |Задний фронт импульса на |

    | | |INT1/0 генерирует запрос на |

    | | |прерывание |

    |1 |1 |Переднийфронт импульса на |

    | | |INT1/0 генерирует запрос на |

    | | |прерывание |

    биты 3 и 2, биты активизации входа INT1

    биты 1 и 1, биты активизации входа INT0

    В регистре маскирования прерываний GIMSK содержаться флаги внешних

    прерываний. Когда счетчик команд МК устанавливается на конкретный вектор

    прерывания, соотв. Флаг в GIMSK аппаратно сбрасывается. Флаги можно

    сбросить, записав туда лог. 1.

    Бит 7 – int1 внешнее прерывание int 1 разрешено. Если бит int1 установлен и

    бит I в SREG =1, то внешний выход запроса на прерывание int1 становится

    активным

    Бит 6 – int0 тоже самое.

    18. Организация обмена прямым доступом к памяти (ПДП)

    Одним из способов обмена данными с ВУ является обмен в режиме

    прямого доступа к памяти (ПДП). В этом режиме обмен данными между ВУ и

    основной памятью микроЭВМ происходит без участия процессора. Схема,

    управляющая обменом в режиме ПДП, размещаются в специальном контроллере,

    который называется КПДП. Обмен данными в режиме ПДП позволяет использовать

    в микроЭВМ быстродействующие внешние запоминающие устройства, такие,

    например, как накопители на жестких магнитных дисках, поскольку ПДП может

    обеспечить время обмена одним байтом данных между памятью и ВЗУ, равное

    циклу обращения к памяти.

    Для реализации режима прямого доступа к памяти необходимо обеспечить

    непосредственную связь контроллера ПДП и памяти микроЭВМ. Контроллер ПДП

    подключается к памяти посредством шин адреса и данных системного

    интерфейса.

    Существуют две разновидности прямого доступа к памяти с

    "захватом цикла". Наиболее простой способ организации ПДП состоит в том,

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

    обменивается данными с памятью. В такие циклы контроллер ПДП может

    обмениваться данными с памятью, не мешая работе процессора. Однако

    возникает необходимость выделения таких циклов, чтобы не произошло

    временного перекрытия обмена ПДП с операциями обмена, инициируемыми

    процессором. В некоторых процессорах формируется специальный управляющий

    сигнал, указывающий циклы, в которых процессор не обращается к системному

    интерфейсу. Такой обмен в режиме ПДП возможен только в случайные моменты

    времени одиночными байтами или словами.

    Более распространенным является ПДП с "захватом цикла" и принудительным

    отключением процессора от шин системного интерфейса. Для реализации такого

    режима ПДП системный интерфейс микроЭВМ дополняется двумя линиями для

    передачи управляющих сигналов "Требование прямого доступа к памяти" (ТПДП)

    и "Предоставление прямого доступа к памяти" (ППДП).

    Управляющий сигнал ТПДП формируется контроллером прямого доступа к памяти.

    Процессор, получив этот сигнал, приостанавливает выполнение очередной

    команды, не дожидаясь ее завершения, выдает на системный интерфейс

    управляющий сигнал ППДП и отключается от шин системного интерфейса. С этого

    момента все шины системного интерфейса управляются контроллером ПДП.

    Контроллер ПДП, используя шины системного интерфейса, осуществляет обмен

    одним байтом или словом данных с памятью микроЭВМ и затем, сняв сигнал

    ТПДП, возвращает управление системным интерфейсом процессору. Как только

    контроллер ПДП будет готов к обмену следующим байтом, он вновь

    "захватывает" цикл процессора и т.д. В промежутках между сигналами ТПДП

    процессор продолжает выполнять команды программы. Тем самым выполнение

    программы замедляется, но в меньшей степени, чем при обмене в режиме

    прерываний.

    Применение в микроЭВМ обмена данными с ВУ в режиме ПДП всегда требует

    предварительной подготовки, а именно: для каждого ВУ необходимо выделить

    область памяти, используемую при обмене, и указать ее размер, т.е.

    количество записываемых в память или читаемых из памяти байт (слов)

    информации. Следовательно, контроллер ПДП должен обязательно иметь в своем

    составе регистр адреса и счетчик байт (слов). Перед началом обмена с ВУ в

    режиме ПДП процессор должен выполнить программу загрузки. Эта программа

    обеспечивает запись в указанные регистры контроллера ПДП начального адреса

    выделенной ВУ памяти и ее размера в байтах или словах в зависимости от

    того, какими порциями информации ведется обмен. Сказанное не относится к

    начальной загрузке программ в память в режиме ПДП. В этом случае содержимое

    регистра адреса и счетчика байт слов устанавливается переключателями или

    перемычками непосредственно на плате контроллера.

    21. Интерфейс UART.

    Асинхронный последовательный интерфейс UART (Universal Asynchronous

    Receiver Transmitter – универсальный асинхронный приемопередатчик)

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

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

    второе – приемником.

    В режиме асинхронной передачи каждое слово данных передается автономно и

    передача может быть начата в любой момент времени. Стандартный формат

    асинхронной передачи:

    [pic]

    Передача начинается со стартового (нулевого) бита. Затем передается от 5 до

    8 бит данных.

    Подразумевается, что приемник и передатчик работают на одной скорости.

    Внутренний генератор синхронизации запускается при обнаружении стартового

    бита.

    В простейшем случае асинхронный приемопередатчик имеет две сигнальные

    линии:

    TxD (Transmit Data)-выход,

    RxD (Receive Data)-вход.

    При этом два устройства-приемопередатчика должны быть соединены между собой

    тремя линиями, или мак называемым нуль-модемным кабелем:

    [pic]

    Интерфейс SPI.

    Последовательный интерфейс SPI(Serial Peripheral Interface) обеспечивает

    полный дуплексный обмен данными между двумя контроллерами. При этом один

    контроллер считаемся ведущим (master), второй – ведомым (slave). Ведущий

    контроллер является источником сигнала синхронизации (SCK).

    [pic]

    Ведущий и ведомый контроллеры связаны тремя сигнальными линиями:

    MISO (Master In Slave Out) – вход ведущего – выход ведомого.

    MOSI (Master Out Slave In) – выход ведущего – вход ведомого.

    SCK (Serial Clock) – синхронизация.

    Контакт #SS (Slave Select) – предназначен для выбора ведомого контроллера.

    Контроллер является ведомым если #SS=0.

    Регистры сдвига (Shift Register) ведущего и ведомого контроллеров по линиям

    MOSI и MOSO соединяются в кольцо. Запись в регистр данных ведущего

    контроллера запускает генератор синхронизации (SPI clock generator) и

    данные сдвигаются в регистрах сдвига соединенных в кольцо ведущего и

    ведомого контроллеров.

    Интерфейс I2C.

    2-проводной последовательный интерфейс (2-Wire Serial Interface) или I2C

    (Inter-Integrated Circuit) поддерживает двунаправленную последовательную

    связь нескольких устройств в полудуплексном режиме. В системе все

    устройства, участвующие в обмене, связываются двумя сигнальными линиями:

    SDA (Serial Data) – данные.

    SCA (Serial Clock) – синхронизация.

    Типичная 2-х проводная последовательная конфигурация шины:

    [pic]

    Каждое из устройств может выступать в роли передатчика или приемника.

    Синхронизацию обмена обеспечивает передатчик. Двунаправленную линию данных,

    выполненную по схеме «открытый коллектор» используют передатчик и приемник

    поочередно.

    [pic]

    Начало любой операции (Start) инициализируется переводом сигнала SDA из

    высокого уровня в низкий при высоком уровне SCL. Завершается обмен

    переводом сигнала SDA из низкого уровня в высокий при высоком уровне SCL

    (Stop).

    При передаче данных состояние линии SDA может изменяться только при низком

    уровне SCL. Биты данных стробируются положительным фронтом SCL.

    Каждая посылка, формируемая передатчиком, состоит из байта данных. Посылка

    начинается со старшего бита. После чего передатчик на один такт освобождает

    линию, а приемник формирует нулевой сигнал подтверждения Ack (Acknowledge).

    Каждое ведомое устройство имеет свой 7-битный адрес. Семь бит адреса

    передаются ведущим устройством в битах [7-1] первого байта.

    25. 16-бит т/с1 мик-ра доступен проц-му ядру для чтения и записи, он

    может считать импульсы синхронизации CK импульсы с выхода предделителя или

    импульсы с внешнего вывода Т1.

    Шесть 16 бит рег-в обеспечивают режимы вх-го захвата, вых-го сравнения и

    ШИМ.

    16-бит т/с1 считает импульсы со входа Т1 или тактовые импульсы СК.

    Переключением входа управляют биты CS10....CS12.

    При переполнении - флаг запроса на прерыв-е TOV1.

    регистры упр т/с1 TCCR1A и TCCR1B ;

    регистры данных TCNT1H и TCNT1L;

    регистры выходного сравнения OCR1AH и OCR1AL ;

    регистры выходного сравнения OCR1BH и OCR1BL ;

    регистры входного захвата - ICR1H и ICR1L ;

    регистр флагов прерывания TIFR;

    регистр маски прерывания TIMSK ;

    Страницы: 1, 2, 3, 4, 5, 6


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.