ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.12.2024
Просмотров: 2027
Скачиваний: 3
СОДЕРЖАНИЕ
13.1. Классификация микропроцессоров и особенности их использования в цифровой аппаратуре.
13.2. Типовые структуры микропроцессорных систем.
13.3. Принцип программного управления в микропроцессорной системе.
13.4. Организация ввода-вывода в микропроцессорной системе.
13.5. Интерфейсы микропроцессорных систем.
13.6. Управляющие сигналы типового микропроцессора.
13.7. Структура типового микропроцессора.
13.8. Способы адресации данных.
13.9. Типовая система команд микропроцессора.
13.9.1. Команды пересылки данных.
13.9.2. Команды выполнения арифметических операций.
13.9.3. Команды выполнения логических операций.
Рис.13.8. Временная диаграмма протокола интерфейса I2C.
Механизм передачи, когда ведущее устройство является приемником, а ведомое передатчиком, аналогичен описанному выше. В этом режиме формированием синхроимпольсов и состяний «СТАРТ» и «СТОП» также будет заниматься ведущее устройство. Но только в данном случае оно будет приемником. В ответ на состояние «СТАРТ» ведомый передатчик под управлением синхроимпульсов SCL с ведущего приемника будет выставлять побитно данные на линию SDA, которые будут считаны ведущим приемником. После передачи восьми бит данных ведомый передатчик приступит к ожиданию от ведущего приемника бита подтверждения. Если прием прошел без ошибок, ведущий приемник передаст этот бит путем подсаживания линии SDA и формирования синхроимпульса на линии SCL. В противном случае на линии SDA останется присутствовать высокий потенциал.
Процесс обмена информации начинается с того, что ведущее устройство выдает на I2C шину первый байт, в семи старших разрядах которого присутствует адрес активизируемого устройства, а в младшем бите отражается направление пересылки данных. При нуле в этом бите передача осуществляется от ведущего устройства к ведомому, а при единице – от ведомого к ведущему. Все ведомые устройства получат условие «СТАРТ» и примут первый байт. Только в одном устройстве адрес, закодированный первым байтом, совпадет с индивидуальным адресом этого устройства. И именно оно продолжит участвовать в пересылке. Остальные ведомые устройства останутся в режиме ожидания. Все они будут ждать новое условие «СТАРТ», после которого вновь первым передаваемым байтом будет адрес активизируемого устройства. Ведомое устройство, для которого адрес совпал, завершит процедуру приема первого байта, для чего оно выработает бит подтверждения. Получив подтверждение, ведущее устройство начнет в зависимости от направления пересылки, управлять приемом или передачей данных. Между этими пересылками условие «СТОП» формироваться не будет, а будет формироваться только бит подтверждения после пересылки очередного байта. Как только все байты данных будут пересланы, ведущее устройство сформирует условие «СТОП» и пересылка будет считаться завершенной.
13.5.4. Интерфейс spi.
Другим примером широко используемого в микропроцессорной технике интерфейса для стыковки микросхем является интерфейс SPI. Изначально этот интерфейс был придуман компанией Motorola, а в настоящее время используется в продукции многих производителей. Его наименование является аббревиатурой от «Serial Peripheral Bus», что отражает его предназначение - шина для подключения внешних устройств. Шина SPI организована по принципу «ведущий-ведомый». В качестве ведущего устройства обычно выступает микроконтроллер (или микропроцессор с контроллером указанного интерфейса в системе), но им также может быть ПЛИС или специализированная микросхема. Подключенные к ведущему шины внешние устройства являются ведомыми. В их роли выступают различного рода микросхемы, в т.ч. запоминающие устройства (ОЗУ, ПЗУ, ППЗУ, Flash-ROM), часы реального времени, АЦП или ЦАП и др.
Главным составным блоком интерфейса SPI является обычный регистр сдвига, сигналы синхронизации и ввода/вывода которого образуют интерфейсные сигналы. Протокол SPI является протоколом обмена данными между двумя сдвиговыми регистрами, каждый из которых одновременно выполняет и функцию приемника, и функцию передатчика. Непременным условием передачи данных по шине SPI является генерация сигнала синхронизации. Этот сигнал имеет право генерировать только ведущее устройство. От этого сигнала полностью зависит работа ведомого устройства.
Стандартом шины SPI определены четыре сигнала:
MOSI (от англ. Master Output Slave Input) – выходной сигнал передачи последовательных данных для ведущего устройства, входной сигнал приема последовательных данных для ведомого устройства;
MISO (от англ. Master Input Slave Output) - входной сигнал приема последовательных данных для ведущего устройства, выходной сигнал передачи последовательных данных для ведомого устройства;
SCLK (от англ. Select Clock) – выходной сигнал синхронизации для ведущего устройства и аналогичный входной сигнал для ведомого устройства;
(от англ. Select
Slave)
– выходной сигнал выбора одного из
ведомых устройств для ведущего устройства,
входной сигнал активизации для ведомого
устройства.
Существует
два типа подключения нескольких устройств
к шине SPI – параллельное и последовательное.
Параллельное подключение (рис. 13.9,а)
более распространено, т.к. позволяет
организовывать подключение любых
SPI-совместимых устройств. При таком
подключении все линии, кроме линии
сигнала выбора
,
соединены параллельно. Ведущее устройство
переводом того или иного сигнала
в низкое состояние задает, с каким
ведомым устройством оно будет обмениваться
данными. Главным недостатком такого
подключения является необходимость в
дополнительных линиях
для адресации нескольких ведомых
устройств, что существенно неудобно в
случае большого их количества.
Рис.13.9. Варианты одключения устройств по стандарту интерфейса SPI.
Самое
простое подключение, в котором участвуют
только два устройства – ведущее и
ведомое, требует всего одной линии
сигнала
.
Ведущее устройство передает данные по
линии MOSI синхронно со сгенерированным
им же сигналом SCLK, а ведомое захватывает
переданные биты данных по определенным
фронтам принятого сигнала синхронизации.
Одновременно с этим ведущее устройство
отправляет свою посылку данных.
Представленную схему можно упростить
исключением одной из линий MISO или MOSI,
если в процессе передачи предполагается
только односторонняя связь. Одностороннюю
передачу данных можно встретить у таких
микросхем как ЦАП, АЦП, цифровые
потенциометры, программируемые усилители
и аналогичные по смыслу. Чтобы ведомое
устройство принимало и передавало
данные, помимо наличия сигнала
синхронизации необходимо также, чтобы
линия
была переведена в низкое состояние.
Когда используется только одно ведомое
устройство, может возникнуть соблазн
исключения и линии
за счет жесткой установки низкого уровня
на входе выбора ведомого устройства.
Такое решение крайне нежелательно и
может привести к сбоям или вообще к
невозможности передачи данных, т.к. вход
выбора ведомого устройства служит для
перевода его в исходное состояние и
иногда инициирует вывод первого бита
данных.
Каскадное
включение избавлено от недостатка
необходимости большого количества
линий
в случае большого количества ведомых
устройств, т.к. при данном подключении
из нескольких микросхем образуется
один большой сдвиговый регистр. Для
этого выход передачи данных MISO
текущего ведомого устройства соединяется
с входом приема данных MOSI
последующего, как показано на рис.13.9,б.
Входы выбора
всех устройств соединяются параллельно
и, таким образом, общее число линий связи
сохраняется равным четырем. Однако
использование последовательного
подключения возможно только в том
случае, если оно обеспечивается
характеристиками всех ведомых устройств.
В технической документации на подключаемые
в шину устройства по последовательной
схеме должна стоять отметка «daisy-chaining».
Протокол передачи по интерфейсу SPI отражает логику работы сдвигового регистра, которая заключается в выполнении операции сдвига и, соответственно, побитного ввода и вывода данных по определенным фронтам сигнала синхронизации. Установка данных при передаче и выборка при приеме всегда выполняются по противоположным фронтам импульсов синхронизации (рис.13.10).
Импульсы синхронизации SCLK могут иметь как положительную, так и отрицательную полярность. При этом передача или прием могут осуществляться как по переднему, так и по заднему его фронту. Таким образом, возможно четыре варианта логики работы интерфейса SPI. Эти варианты получили название режимов SPI и описываются двумя параметрами:
CPOL - исходный уровень сигнала синхронизации (если CPOL=0, то линия синхронизации до начала цикла передачи и после его окончания имеет низкий уровень, иначе, если CPOL=1, - высокий);
CPHA - фаза синхронизации (если CPHA=0, то по переднему фронту в цикле синхронизации будет выполняться прием данных, а затем, по заднему фронту, - передача данных; если же CPHA=1, то передача данных будет выполняться по переднему фронту в цикле синхронизации, а прием - по заднему).
Рис.13.10. Временная диаграмма протокола интерфейса SPI.
Ведущее и ведомое устройства, работающие в различных режимах SPI, являются несовместимыми. Поэтому необходимо обращать внимание на характеристики ведомых устройств при подключении их в шину. Аппаратные модули SPI, интегрированные в микроконтроллеры, в большинстве случаев поддерживают возможность выбора любого режима SPI. По аналогичному с протоколом SPI подключаются карты флэш-носителей SD и MMC форматов.
13.6. Управляющие сигналы типового микропроцессора.
Кроме информационных линий адреса и данных, микропроцессор снабжен управляющими выводами, образующими вместе с выводами системного контроллера шину управления микропроцессорной системы. Управлюющие сигналы индивидуальны для каждого типа микропроцессора, но, тем не менее, можно выделить характерные для почти всех микропроцессоров сигналы. В некоторых случаях определенные сигналы исключают друг друга, поэтому присутствуют либо те, либо другие. Разобъем управляющие сигналы для удобства в функциональные группы.
Сигналы управления чтением/записьюпредназначены для активизации периферийного модуля в режим выдачи данных на шину данных или приема данных с шины данных. В общем случае режим чтения характеризуется тем, что микропроцессор запрашивает данные от периферийного модуля, а режим записи - тем, что микропроцессор выставляет данные периферийному модулю. У некоторых микропроцессоров эти сигналы представлены группой сигналов системной шины управления, рассмотренных ранее в теме структурной организации микропроцессорной системы:
RDM (read memory, чтение памяти) - сигнал инициализации чтения из модулей запоминающих устройств (выходной сигнал);
WRM (write memory, запись в память) - сигнал инициализации записи в модули запоминающих устройств (выходной сигнал);
RDIO (read input/output, чтение порта) - сигнал инициализации чтения из порта ввода (выходной сигнал);
WRIO (write input/output, запись в порт) - сигнал инициализации записи в порт вывода (выходной сигнал).
Есть микропроцессоры, в которых сигналы управления чтением/записью образуются сигналами, указывающими направление передачи информации и тип адресуемого модуля:
RD (read, чтение) – сигнал инициализации чтения из периферийного модуля (выходной сигнал);
WR (write, запись) – сигнал инициализации записи в периферийный модуль (выходной сигнал);
MEM (memory, память) – сигнал обращения к памяти (выходной сигнал);
I/O (input/output, порты ввода-вывода) – сигнал обращения к портам ввода-вывода (выходной сигнал).
Режимы
обращения к памяти или к портам исключают
друг друга в одном машинном цикле.
Поэтому часто вместо пары сигналов MEM
и I/O
на выводах микропроцессора присутствует
только один сигнал
.
Единичный уровень этого сигнала
соответствует режиму обращения к памяти,
а нулевой – режиму обращения к портам
ввода-вывода. Для формирования сигналовRDM,
WRM,
RDIO
и WRIO
системной шины управления, если таких
нет на выводах микропроцессора, из
сигналов RD,
WR,
MEM
и I/O
микропроцессора можно спроектировать
схему на основе вентилей элементарных
логических функций или воспользоваться
системным контроллером.