Микропроцессорные устройства РТС и их программное обеспечение, страница 9
Описание файла
PDF-файл из архива "Микропроцессорные устройства РТС и их программное обеспечение", который расположен в категории "". Всё это находится в предмете "государственный экзамен" из 12 семестр (4 семестр магистратуры), которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "государственный экзамен" в общих файлах.
Просмотр PDF-файла онлайн
Текст 9 страницы из PDF
Процедура обмена завершается тем,что ведущий формирует состояние СТОП — переход состояния линии SDA из низкого состояния вВЫСОКОЕ при ВЫСОКОМ состоянии линии SCL. Состояния СТАРТ и СТОП всегда вырабатываютсяведущим. Считается, что шина занята после фиксации состояния СТАРТ. Шина считается освободившейсячерез некоторое время после фиксации состояния СТОП. При передаче посылок по шине I2C каждыйведущий генерирует свой синхросигнал на линии SCL.
После формирования состояния СТАРТ, ведущийопускает состояние линии SCL в НИЗКОЕ состояние и выставляет на линию SDA старший бит первогобайта сообщения. Количество байт в сообщении не ограничено. Спецификация шины I2C разрешаетизменения на линии SDA только при НИЗКОМ уровне сигнала на линии SCL. Данные действительны идолжны оставаться стабильными только во время ВЫСОКОГО состояния синхроимпульса. Дляподтверждения приема байта от ведущего — передатчика ведомым — приемником в спецификациипротокола обмена по шине I2C вводится специальный бит подтверждения, выставляемый на шину SDAпосле приема 8 бита данных.ПодтверждениеТаким образом передача 8 бит данных от передатчика к приемнику завершаются дополнительным циклом(формированием 9-го тактового импульса линии SCL), при котором приемник выставляет низкий уровеньсигнала на линии SDA, как признак успешного приема байта.Подтверждение при передаче данных обязательно, кроме случаев окончания передачи ведомой стороной.Соответствующий импульс синхронизации генерируется ведущим.
Передатчик отпускает (ВЫСОКОЕ)линию SDA на время синхроимпульса подтверждения. Приёмник должен удерживать линию SDA в течениеВЫСОКОГО состояния синхроимпульса подтверждения в стабильном НИЗКОМ состоянии.В том случае, когда ведомый-приёмник не может подтвердить свой адрес (например, когда он выполняет вданный момент какие-либо функции реального времени), линия данных должна быть оставлена вВЫСОКОМ состоянии. После этого ведущий может выдать сигнал СТОП для прерывания пересылкиданных. Если в пересылке участвует ведущий-приёмник, то он должен сообщить об окончании передачиведомому-передатчику путем не подтверждения последнего байта. Ведомый-передатчик должен освободитьлинию данных для того, чтобы позволить ведущему выдать сигнал СТОП или повторить сигнал СТАРТ.Синхронизация выполняется с использованием подключения к линии SCL по правилу монтажного И.
Этоозначает, что ведущий не имеет монопольного права на управление переходом линии SCL из НИЗКОГОсостояния в ВЫСОКОЕ. В том случае, когда ведомому необходимо дополнительное время на обработкупринятого бита, он имеет возможность удерживать линию SCL в низком состоянии до момента готовности кприему следующего бита. Таким образом, линия SCL будет находиться в НИЗКОМ состоянии напротяжении самого длинного НИЗКОГО периода синхросигналов.Устройства с более коротким НИЗКИМ периодом будут входить в состояние ожидания на время, пока некончится длинный период. Когда у всех задействованных устройств кончится НИЗКИЙ периодсинхросигнала, линия SCL перейдет в ВЫСОКОЕ состояние. Все устройства начнут проходить ВЫСОКИЙпериод своих синхросигналов.
Первое устройство, у которого кончится этот период, снова установит линиюSCL в НИЗКОЕ состояние. Таким образом, НИЗКИЙ период синхролинии SCL определяетсянаидлиннейшим периодом синхронизации из всех задействованных устройств, а ВЫСОКИЙ периодопределяется самым коротким периодом синхронизации устройств.Механизм синхронизации может быть использован приемниками как средство управления пересылкойданных на байтовом и битовом уровнях.На уровне байта, если устройство может принимать байты данных с большой скоростью, но требуетопределенное время для сохранения принятого байта или подготовки к приему следующего, то оно можетудерживать линию SCL в НИЗКОМ состоянии после приема и подтверждения байта, переводя такимобразом передатчик в состояние ожидания.На уровне битов, устройство, такое как микроконтроллер без встроенных аппаратных цепей I2C или сограниченными цепями, может замедлить частоту синхроимпульсов путем продления их НИЗКОГОпериода.
Таким образом скорость передачи любого ведущего адаптируется к скорости медленногоустройства.Адресация в шине I2CКаждое устройство, подключённое к шине, может быть программно адресовано по уникальному адресу. Длявыбора приемника сообщения ведущий использует уникальную адресную компоненту в формате посылки.При использовании однотипных устройств, ИС часто имеют дополнительный селектор адреса, которыйможет быть реализован как в виде дополнительных цифровых входов селектора адреса, так и в видеаналогового входа.
При этом адреса таких однотипных устройств оказываются разнесены в адресномпространстве устройств, подключенных к шине.В обычном режиме используется 7-битная адресация.Процедура адресации на шине I2C заключается в том, что первый байт после сигнала СТАРТ определяет,какой ведомый адресуется ведущим для проведения цикла обмена. Исключение составляет адрес «Общеговызова», который адресует все устройства на шине. Когда используется этот адрес, все устройства в теориидолжны послать сигнал подтверждения.
Однако, устройства, которые могут обрабатывать «общий вызов»,на практике встречаются редко.Первые семь битов первого байта образуют адрес ведомого. Восьмой, младший бит, определяетнаправление пересылки данных. «Ноль» означает, что ведущий будет записывать информацию ввыбранного ведомого. «Единица» означает, что ведущий будет считывать информацию из ведомого.После того, как адрес послан, каждое устройство в системе сравнивает первые семь бит после сигналаСТАРТ со своим адресом. При совпадении устройство полагает себя выбранным как ведомый-приёмник иликак ведомый-передатчик, в зависимости от бита направления.Адрес ведомого может состоять из фиксированной и программируемой части.
Часто случается, что всистеме будет несколько однотипных устройств (к примеру ИМС памяти, или драйверов светодиодныхиндикаторов), поэтому при помощи программируемой части адреса становится возможным подключить кшине максимально возможное количество таких устройств. Количество программируемых бит в адресезависит от количества свободных выводов микросхемы. Иногда используется один вывод с аналоговойустановкой программируемого диапазона адресов[1]. При этом в зависимости от потенциала на этомадресном выводе ИМС, возможно смещение адресного пространства драйвера так, чтобы однотипные ИМСне конфликтовали между собой на общей шине.Все специализированные ИМС, поддерживающие работу в стандарте шины I2C, имеют наборфиксированных адресов, перечень которых указан производителем в описаниях контроллеров.Комбинация бит 11110ХХ адреса зарезервирована для 10-битной адресации.Как следует из спецификации шины, допускаются как простые форматы обмена, так и комбинированные,когда в промежутке от состояния СТАРТ до состояния СТОП ведущий и ведомый могут выступать и какприемник, и как передатчик данных.
Комбинированные форматы могут быть использованы, например, дляуправления последовательной памятью.Во время первого байта данных можно передавать адрес в памяти, который записывается во внутреннийрегистр-защелку. После повторения сигнала СТАРТа и адреса ведомого выдаются данные из памяти. Всерешения об авто-инкременте или декременте адреса, к которому произошел предыдущий доступ,принимаются конструктором конкретного устройства. Поэтому, в любом случае лучший способ избежатьнеконтролируемой ситуации на шине перед использованием новой (или ранее не используемой) ИМСследует тщательно изучить ее описание (datasheet или reference manual), получив его с сайта производителя.Более того, производители часто размещают рядом более подробные инструкции по применению.В любом случае, по спецификации шины все разрабатываемые устройства должны сбрасывать логику шиныпри получении сигнала СТАРТ или повторный СТАРТ и подготавливаться к приему адреса.Тем не менее основные проблемы с использованием I2C шины возникают именно из-за того, чторазработчики, «начинающие» работать с I2C шиной не учитывают того факта, что ведущий (часто —микропроцессор) не имеет монопольного права ни на одну из линий шины.ПрименениеI²C находит применение в устройствах, предусматривающих простоту разработки и низкую себестоимостьизготовления при относительно неплохой скорости работы.Список возможных применений:доступ к модулям памяти NVRAM;доступ к низкоскоростным ЦАП/АЦП;регулировка контрастности, насыщенности и цветового баланса мониторов;регулировка звука в динамиках;управление светодиодами, в том числе в мобильных телефонах;чтение информации с датчиков мониторинга и диагностики оборудования, например, термостатцентрального процессора или скорость вращения вентилятора охлаждения процессора;чтение информации с часов реального времени (кварцевых генераторов);управление включением/выключением питания системных компонент;информационный обмен между микроконтроллерами;РазработкаКаждая электронная система включает в себя 3 различных типа узлов:Узел управленияУзлы общего назначения, такие как буферы ЖКИ, порты ввода/вывода, ОЗУ, ЭСПЗУ илипреобразователи данных.Специфические узлы, такие как схемы цифровой настройки и обработки сигнала для радио- ивидео- систем, или генераторы тонального набора для телефонии.В настоящее время ассортимент продукции Philips включает более 150 КМОП и биполярных I²Cсовместимых устройств, функционально предназначенных для работы во всех трех вышеперечисленныхкатегориях электронного оборудования.