
- •Основные понятия и определения микропроцессорной техники: микропроцессор, микропроцессорная система, микроконтроллер. Принципы построения микропроцессорных систем.
- •Архитектура микропроцессора: архитектура со сложной системой команд (cisc-процессоры), архитектура с упрощенной системой команд (risc-процессоры). Принстонская и гарвардская архитектуры.
- •3. Структура микропроцессорной системы и основные режимы ее работы – выполнение основной программы, обслуживание прерываний, прямой доступ к памяти.
- •4. Модуль процессора микропроцессорной системы. Состав модуля – операционный блок, блок управления, интерфейсный блок. Выполняемые функции.
- •5. Модуль памяти мпс. Выполняемые функции. Основные характеристики. Типы микросхем, применяемых для построения постоянной и оперативной памяти микропроцессорных систем.
- •6. Реализация обмена данными между внешними устройствами и микропроцессорной системой (мпс). Модуль ввода/вывода мпс, выполняемые функции, функциональная схема устройства ввода/вывода.
- •7. Понятие о системе команд микропроцессоров. Основные группы команд. Способы адресации операндов в микропроцессорах.
- •Форматы команд
- •Способы адресации операндов и команд
- •Адресация операндов
- •Адресация команд
- •Группы команд микропроцессора
- •8. Классификация и структура микроконтроллеров (мк). Процессорное ядро мк, его основные характеристики.
- •9. Типы памяти микроконтроллеров: память программ, память данных, регистры, внешняя память.
- •Память программ
- •Память данных
- •Регистры мк
- •Внешняя память
- •10. Порты ввода/вывода: назначение, основные типы. Таймеры микроконтроллеров: назначение, внутренняя структура.
- •Таймеры микроконтроллеров
- •12. Интерфейсы микропроцессорных систем, классификация и принципы построения
- •14. Последовательные асинхронные интерфейсы: rs-232, rs-422, rs-485, ирпс (интерфейс радиальный последовательный). Назначение, форматы передачи данных, основные технические характеристики.
- •15. Последовательные синхронные интерфейсы: spi (Synhronous Peripheral Interface), i2c (Inter Integrated Circuit). Назначение, форматы передачи данных, основные технические характеристики.
- •Интерфейсная шина i2c
- •16. Однокристальные микроконтроллеры семейства mcs-51: состав и общая характеристика. Структурная организация: регистры, память данных и программ.
- •17. Однокристальные микроконтроллеры семейства mcs-51: порты ввода/вывода, таймеры/счетчики, последовательный порт, система прерываний. Назначение, основные особенности.
- •18. Работа микроконтроллеров семейства mcs-51 в автономном режиме, способы подключения внешней памяти программ и данных.
- •21. Микроконтроллеры подсемейства pic18: общая характеристика, особенности архитектуры и системы команд.
- •Организация памяти
- •Система прерывания
- •Порты ввода/вывода
- •Генератор тактовых импульсов
- •Система команд pic18
- •Основные этапы разработки микроконтроллерных систем
- •Разработка и автономная отладка аппаратных средств мкс
- •Разработка и отладка программного обеспечения
- •23. Язык Ассемблер для микроконтроллеров семейства mcs-51: назначение, структура полей предложений на языке Ассемблер, директивы Ассемблера.
- •Поля предложения на языке Ассемблер
- •Примеры
- •Директивы Ассемблера
- •Метка Операция Операнды Комментарий
- •Метка Операция Операнды Комментарий
- •Опрос двоичного датчика
- •Ожидание события
- •Формирование временной задержки
- •Формирование управляющих сигналов из мк
- •Защита от дребезга контактов
- •25. Методы ввода информации с клавиатуры для микроконтроллеров семейства mcs-51: виды клавиатур, схема подключения контактов клавиатур к микроконтроллеру, методы опроса клавиатуры.
- •Описание микроконтроллерного устройства
- •Создание исходного файла базовой программы
- •Включение и выключение светодиода. Чтобы подать логическую единицу на вывод rb0 (для включения светодиода) необходимо в нулевой бит регистра portb записать 1:
- •Опрос переключателя. Ниже приведен текст программы, которая по нажатию клавиши sa1 включает светодиод vd1, а при ее отпускании светодиод гаснет.
- •Представление информации в языке Си
- •Операции и выражения в Си
- •Операторы управления вычислительным процессом
- •Функции
15. Последовательные синхронные интерфейсы: spi (Synhronous Peripheral Interface), i2c (Inter Integrated Circuit). Назначение, форматы передачи данных, основные технические характеристики.
Многие МК имеют в своем составе модуль последовательного синхронного интерфейса SPI (Serial Peripheral Interface). Интерфейс предназначен для связи МК с периферийными устройствами МКС. Интерфейс SPI организован по принципу «ведущий/ведомый». В качестве ведущего обычно выступает МК. На рис. 15.1 приведена схема подключения МК (ведущего) к микросхеме памяти EEPROM (ведомому) с использованием интерфейса SPI.
Рис. 15.1. Сопряжение МК с периферийной микросхемой
посредством интерфейса SPI
Интерфейс SPI имеет три информационные линии: MOSI (Master Output Slave Input) – линия передачи данных от ведущего к ведомому; MISO (Master Input Slave Output) – линия передачи данных от ведомого к ведущему; SCK (Serial ClocK) – линия синхронизации (стробирования) данных. Имеется также линия управления SS, на которую ведущий выставляет низкий уровень для выбора ведомого.
Для подключения к интерфейсу SPI микросхема должна иметь встроенный контроллер. Основные элементы контроллера – 8-разрядный сдвиговый регистр и два буферных регистра данных приемника и передатчика. На рис. 15.2 приведены временные диаграммы обмена данными между ведущим и ведомым по интерфейсу SPI.
Достоинствами интерфейса SPI являются: простота передачи на физическом уровне обусловливает высокую надежность и быстродействие обмена, предельное быстродействие SPI измеряется десятками мегагерц и поэтому он особенно эффективен для потоковой передачи больших объемов данных; все линии SPI являются однонаправленными, что существенно упрощает реализацию преобразователей уровней сигналов и гальванической развязки; простота программной реализации протокола SPI.
К недостаткам интерфейса SPI можно отнести очень малую длину линий связи: обычно в пределах платы, длина – несколько десятков сантиметров.
Рис. 15.2. Временные диаграммы обмена по интерфейсу SPI
Интерфейсная шина i2c
Современные устройства радиоэлектронной техники используют большое число микросхем, что требует много линий для адресации, выбора и управления их работой. Для увеличения эффективности, упрощения схемотехнических решений фирма Philips разработала простую шину для «межмикросхемного управления» (inter-IC). Шина получила название I2C или I2C. Для эффективного использования все присоединенные к ней устройства должны иметь встроенный интерфейс, который позволяет связываться друг с другом по шине I2C. Фирма Philips разработала и изготавливает более 200 интегральных микросхем и других устройств с различной технологией (n-МОП, КМОП, ТТЛ и др.), имеющих встроенный интерфейс I2C. Благодаря своим качествам интерфейс I2C стал стандартом «де-факто», и многие ведущие электронные фирмы (Atmel, Motorola, Microchip, Texas Instruments и др.) также выпускают микросхемы с интерфейсом I2C.
Основные характеристики шины I2C:
скорость обмена – до 100 кбит/с для стандартного режима, до 400 кбит/с в скоростном и до 3,4 Мбит/с в высокоскоростном режимах работы;
максимальное количество микросхем, присоединенных к шине, ограничивается только суммарной емкостью нагрузки, которая не должна быть больше 400 пФ;
максимальная длина линий шины – 2 метра для стандартного режима.
Шина I2C – двунаправленная асинхронная с последовательной передачей данных. Она использует 2 сигнальные линии:
SDA (Serial DAta) – двунаправленная шина данных;
SCL (Serial Clock) – линия синхронизации (тактового сигнала).
Для управления линиями применяются выходные каскады с открытым стоком или открытым коллектором, чтобы устройства можно было соединять по схеме «монтажного И». Типовая конфигурация шины I2C показана на рис. 15.3.
Для обеспечения высокого уровня при отсутствии на шине активного устройства используются внешние подтягивающие резисторы RPU сопротивлением 1…10 кОм, в зависимости от длины линии и скорости передачи данных. На одной линии могут работать устройства стандартного и скоростного режимов.
Рис. 15.3. Подключение устройств к шине I2C
Вследствие различных технологий микросхем (n-МОП, КМОП, ТТЛ), которые могут быть подключены к шине, уровни логических 0 и 1 не фиксированы определенными значениями, а зависят от напряжения питания UCC. Наиболее часто величина UCC равна +5 В.
Все устройства, подключаемые к шине, делятся на два класса: “Master” (ведущий) и “Slave” (ведомый). Устройство “Master” генерирует тактовый сигнал SCL и, как следствие, является ведущим. Оно может самостоятельно выходить на шину и адресовать любое ведомое устройство с целью передачи или приема из него информации. В протоколе I2C каждое устройство имеет свой адрес. Обычно в качестве ведущего выступает микроконтроллер.
Когда ведущий желает инициировать передачу данных, он сначала передает адрес устройства, с которым будет производить обмен. Все устройства на шине следят за выставленным адресом и сравнивают его с собственным. Вместе с адресом передается бит направления передачи R/W, который определяет, будет ли ведущий читать из ведомого или записывать в него. При R/W = 0 реализуется режим записи в ведомое устройство, при R/W = 1 – режим чтения. Во время обмена всегда один из абонентов – передатчик, а другой – приемник. Таким образом, ведущий и ведомый могут работать в одном из двух режимов обмена:
ведущий передает, а ведомый принимает;
ведущий принимает, а ведомый передает.
Условия START и STOP. Когда нет передачи данных по шине I2C, реализуется режим ожидания: на линиях SDA и SCL будут высокие уровни напряжения (логические 1) за счет подтягивающих резисторов. Процедура обмена начинается с того, что ведущий формирует условие START: он генерирует переход сигнала на линии SDA из высокого уровня в низкий при высоком уровне на линии SCL, как показано на рис. 15.4. Этот переход воспринимается всеми устройствами, подключенными к шине, как признак начала процедуры обмена. Сеанс обмена завершается тем, что ведущий формирует условие STOP – переход сигнала на линии SDA из низкого уровня в высокий при высоком уровне на линии SCL. Условия START и STOP всегда вырабатываются ведущим. Считается, что шина занята после фиксации условия START. Шина считается освободившейся через некоторое время после фиксации условия STOP.
После формирования условия START ведущий выставляет на линии SCL низкий уровень, а на линии SDA – старший бит первого байта сообщения. Спецификация шины I2C разрешает изменение сигнала на линии SDA только при низком уровне на линии SCL. Данные действительны и должны оставаться стабильными только во время высокого уровня синхроимпульса SCL, как показано на рис. 15.4.
Рис. 15.4. Временные диаграммы сигналов в условиях START и STOP
Подтверждение. Для подтверждения приема байта сообщения в спецификации протокола шины I2C вводится специальный бит подтверждения ACK, выставляемый приемником на линию SDA после приема 8 бит данных. Для этой цели ведущий формирует 9-й тактовый импульс на линии SCL, при котором приемник выставляет низкий уровень на линии SDA, как признак успешного приема байта. Подтверждение при передаче данных обязательно. На время синхроимпульса подтверждения передатчик отпускает линию SDA, путем вывода сигнала DATA_OUT = 1, при котором выходной транзистор передатчика закрывается (см. рис. 15.3). Приемник должен удерживать линию SDA в течение высокого состояния синхроимпульса в стабильном низком состоянии. В том случае, когда ведомый-приемник не может подтвердить прием байта, линия данных должна быть оставлена в высоком состоянии. Это является признаком отсутствия приема байта и оценивается ведущим как отсутствие подтверждения. После этого ведущий может выдать условие STOP для прерывания пересылки данных.
Если в пересылке участвует ведущий-приемник, то он должен сообщить об окончании обмена ведомому-передатчику путем неподтверждения приема последнего байта. После этого ведомый-передатчик должен освободить линию SDA для того, чтобы позволить ведущему выдать условие STOP или повторить START.
Адресация в шине I2C. Для адресации устройств используется два формата адреса: 7-разрядный и 10-разрядный. На рис. 15.5 приведен формат 7-разрядного адреса.
Рис. 15.5. Формат 7-разрядного адреса (ST-START;
R/W – бит направления «чтение/запись»; АСК - подтверждение)
Адрес передается в первом байте ведущим после формирования условия START. Первые семь битов байта образуют адрес ведомого, причем сначала передается старший разряд адреса A6. Восьмой бит передаваемого байта R/W определяет направление пересылки данных. Если «0», то ведущий будет записывать информацию в ведомый-приемник. Если «1», то ведущий будет читать информацию из ведомого-передатчика. После того, как адрес послан, все устройства на шине сравнивают первые семь бит после условия START со своим адресом. При совпадении устройство полагает себя выбранным как ведомый-приемник или как ведомый-передатчик, в зависимости от бита направления. Выбранное устройство посылает на линию SDA бит подтверждения ACK низкого уровня во время 9-го синхроимпульса на линии SCL. Формат 7-разрядной адресации используется в обычном режиме работы шины I2C. Теоретически он позволяет обращаться к 128 устройствам, однако часть адресов используется для служебных целей, что сокращает размер адресного пространства. Адрес ведомого устройства состоит из фиксированной и программируемой частей. Фиксированные адреса строго постоянны и выдаются комитетом I2C (фирмой Philips).
Передача данных. Все передачи по шине I2C производятся байтами. Число байтов, которые могут быть переданы за один сеанс обмена, не ограничено. Каждый байт должен сопровождаться битом подтверждения. Данные передаются, начиная со старшего бита.
Достоинства интерфейса I2C следующие: не нужно разрабатывать схемы сопряжения с интерфейсом, так как они уже интегрированы в микросхемы; большое количество типов микросхем, которые могут быть присоединены к интерфейсу; очень низкое энергопотребление; высокая помехоустойчивость; широкий диапазон питающего напряжения.
К недостаткам I2C можно отнести небольшую длину линий интерфейса. Обычно они должны располагаться в пределах одной печатной платы.