F00-17 (1041601), страница 27

Файл №1041601 F00-17 (Раздаточные материалы) 27 страницаF00-17 (1041601) страница 272017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 27)

За байтом адреса, а также за каждым байтом данных следует бит подтверждения (ACK)от приемника. Байт адреса состоит из 7-разрядного адреса и бита направления передачи (R/W). Битнаправления занимает самый младший значащий разряд адреса. Бит направления устанавливается в 1 длявыполнения операции чтения и сбрасывается в 0 для выполнения операции записи. Адрес общего вызова(0x00 +R/W) распознается всеми ведомыми устройствами, разрешая ведущему адресовать несколько ведомыхустройств одновременно.Все сеансы обмена данными инициируются ведущим, который адресует одно или несколько ведомыхустройств.

Ведущий генерирует бит START и затем передает адрес и бит направления. Если инициируетсяоперация записи от ведущего к ведомому, то ведущий передает по одному байту данных за раз, ожидая битаподтверждения (ACK) от ведомого в конце каждого байта. Если осуществляется операция чтения, товедомый передает данные, ожидая бита подтверждения (ACK) от ведущего в конце каждого байта. В концесеанса передачи данных ведущий генерирует бит STOP, чтобы завершить сеанс и освободить шину. Нарис.16.3 показан формат типичного сообщения SMBus.Рисунок 16.3.

Формат сообщения SMBusSTARTSLAVE ADDRR/WACKDATAACKDATANACKSTOPВремяМодуль SMBus может быть настроен для работы как в режиме ведущего, так и в режиме ведомого. В любойконкретный момент времени он может работать в одном из четырех режимов:16.2.1. Режим ведущего передатчикаПоследовательные данные выдаются на линию SDA, а тактовые импульсы выдаются на линию SCL.Первый передаваемый байт содержит адрес целевого ведомого устройства и бит направления. В этом случаебит направления (R/W) должен быть сброшен в 0, инициируя операцию записи. Затем ведущий передает одинили несколько байт последовательных данных. После передачи каждого байта ведомое устройствогенерирует бит подтверждения.

Для обозначения начала и конца сеанса передачи данных ведущее устройствогенерирует биты START и STOP.16.2.2. Режим ведущего приемникаПоследовательные данные принимаются с линии SDA, а тактовые импульсы выдаются на линиюSCL. Первый байт передается ведущим и содержит адрес целевого ведомого и бит направления. В этомслучае бит направления (R/W) должен быть установлен в 1, инициируя операцию чтения. Затемпоследовательные данные принимаются от ведомого по линии SDA, при этом ведущий генерирует тактовыеимпульсы. Ведомый передает один или несколько байт последовательных данных. После приема каждогобайта ведущий генерирует бит подтверждения.

Для обозначения начала и конца сеанса передачи данныхведущий генерирует биты START и STOP.16.2.3. Режим ведомого передатчикаПоследовательные данные выдаются на линию SDA, а тактовые импульсы принимаются с линииSCL. Сначала принимается байт, который содержит адрес и бит направления. В этом случае бит направления(R/W) должен быть установлен в 1, инициируя операцию чтения.

Если принятый адрес соответствует адресуведомого (или принят адрес общего вызова), ведомый передает ведущему один или несколько байтпоследовательных данных. После приема каждого байта ведущий генерирует бит подтверждения. Дляобозначения начала и конца сеанса передачи данных ведущий генерирует биты START и STOP.Page 114CYGNAL Integrated Products, Inc.  20024.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/716.2.4. Режим ведомого приемника.Последовательные данные принимаются с линии SDA, а тактовые импульсы принимаются с линииSCL.

Сначала принимается байт, который содержит адрес и бит направления. В этом случае бит направления(R/W) должен быть сброшен в 0, инициируя операцию записи. Если принятый адрес соответствует адресуведомого (или принят адрес общего вызова), один или несколько байт последовательных данныхпринимаются ведомым от ведущего. После приема каждого байта ведомый генерирует бит подтверждения.Для обозначения начала и конца сеанса передачи данных ведущий генерирует биты START и STOP.16.3. АрбитражВедущий может начать сеанс передачи, только если шина свободна.

Шина является свободной послебита STOP или после того, как на линиях SCL и SDA в течение определенного времени удерживаетсявысокий уровень сигнала. Два или более ведущих устройства могут попытаться сгенерировать бит STARTодновременно. Т.к. устройства, генерирующие бит START, не могут быть уверены в том, что другие ведущиене пытаются в это время захватить управление шиной, используется схема арбитража. Ведущие устройствапродолжают передавать до тех пор, пока один из ведущих не передаст на линию SDA сигнал высокогоуровня, в то время как другой ведущий выдает на эту линию сигнал низкого уровня.

Первый ведущий,передающий на линию SDA сигнал высокого уровня, теряет арбитраж и должен освободить шину.16.4. Растягивание тактового сигналаМодуль SMBus обеспечивает механизм тактовой синхронизации, аналогичный I2C, которыйпозволяет устройствам с различной скоростью передачи данных сосуществовать на одной шине. Чтобыпозволить медленным ведомым устройствам обмениваться данными с быстрыми ведущими, применяетсярастягивание тактовых импульсов на участке с низким уровнем сигнала. Ведомый может удерживать линиюSCL на низком уровне, тем самым удлиняя период тактового сигнала (за счет удлинения участка с низкимуровнем) и уменьшая таким образом частоту тактирования шины.16.5. Таймауты16.5.1. Таймаут низкого уровня на линии SCLЕсли линия SCL удерживается на низком уровне ведомым устройством, то дальнейший обменданными по шине невозможен.

Кроме того, ведущий не может установить на линии SCL высокий уровень,чтобы исправить бит ошибки. Чтобы решить эту проблему, протокол SMBus определяет, что устройства,участвующие в обмене, должны распознавать как условие «таймаута» любой тактовый цикл, в которомсигнал удерживается на низком уровне более 25мс.

Устройства, которые обнаружили такое условие таймаута,должны в течение 10мс после этого сбросить модули обмена.Один из таймеров общего назначения микроконтроллера, работающий в 16-разрядном режиме сперезагрузкой, может использоваться для отслеживания таймаута низкого уровня на линии SCL. Таймер 3спроектирован специально для этой цели. (Подробная информация о функционировании Таймера 3приведена в разделе 19.3).16.5.2. Таймаут высокого уровня на линии SCL (шина SMBus свободна)Спецификация SMBus оговаривает, что если устройство удерживает линии SCL и SDA на высокомуровне более 50 мкс, то шина считается свободной. Для обнаружения этого условия используется регистрSMB0CR (когда бит FTE в регистре SMB0CN установлен в 1).16.6. Регистры специального назначения модуля SMBusДля доступа к интерфейсу SMBus и управления им используются пять регистров SFR: региструправления SMB0CN, регистр установки тактовой частоты SMB0CR, регистр адреса SMB0ADR, регистрданных SMB0DAT и регистр состояния SMB0STA.

Все эти регистры описываются в следующих разделах.4.2002; Rev. 1.4CYGNAL Integrated Products, Inc.  2002Page 115C8051F000/1/2/5/6/7C8051F010/1/2/5/6/716.6.1. Регистр управленияРегистр управления SMB0CN используется для управления модулем SMBus и его настройки. Всебиты этого регистра могут быть прочитаны и записаны программно. Два управляющих бита такжеустанавливаются аппаратно. Флаг прерывания от последовательного порта (SI, SMB0CN.3) устанавливается в1 аппаратно при возникновении прерывания от модуля SMBus.

Он может быть сброшен только программно.Флаг STOP (STO, SMB0CN.4) сбрасывается в 0 аппаратно при обнаружении на шине бита STOP.Установка в 1 флага ENSMB включает модуль SMBus. Сброс в 0 флага ENSMB отключает модульSMBus и удаляет его с шины. Сброс флага ENSMB и затем повторная его установка в 1 приведут к сбросумодуля SMBus. Однако, флаг ENSMB не следует использовать для временного удаления устройства с шины,т.к. информация о состоянии шины будет потеряна.

Вместо этого для удаления устройства с шины следуетиспользовать флаг назначения подтверждения АА (описание флага АА приведено ниже).Установка в 1 флага запуска (STA, SMB0CN.5) переведет модуль SMBus в режим ведущего. Еслишина свободна, модуль SMBus сгенерирует бит START. Если шина занята, то модуль SMBus будет ожидатьбита STOP, свидетельствующего об освобождении шины, и затем сгенерирует бит START через 5мкс послезадержки, определяемой значением регистра SMB0CR.

(В соответствии с протоколом SMBus, модуль SMBusтакже будет считать шину свободной, если шина простаивает в течение 50мкс и бит STOP не обнаружен).Если бит STA устанавливается в 1 в то время, когда модуль SMBus находится в режиме ведущего и ужепереданы один или несколько байт, то будет сгенерировано событие «повторный START». Чтобыгарантировать правильное функционирование, флаг STO следует явно сбросить до установки в 1 бита STA.Если флаг окончания передачи (STO, SMB0CN.4) устанавливается в 1 в то время, когда модульSMBus находится в режиме ведущего, то модуль SMBus сгенерирует на шине бит STOP. В режиме ведомогофлаг STO можно использовать для восстановления из состояния сбоя. В это случае бит STOP негенерируется, но модуль SMBusведет себя так, как будто бит STOP уже получен, и переходит в режим «неадресованного» ведомого приемника.

При обнаружении на шине бита STOP модуль SMBus автоматическисбрасывает в 0 флаг STO.Флаг прерываний от последовательного порта (SI, SMB0CN.3) устанавливается аппаратно в 1, еслиинтерфейс SMBus переходит к одному из 27 возможных состояний. Если прерывания для модуля SMBusразрешены, то при установке в 1 флага SI генерируется запрос прерывания. Флаг SI должен быть сброшенпрограммно. Когда флаг SI установлен в 1, на линии SCL удерживается низкий уровень сигнала (тактовыйимпульс «растягивается») и передача последовательных данных по шине приостанавливается.Флаг назначения подтверждения АА (AA, SMB0CN.2) используется для задания уровня сигнала налинии SDA во время тактового импульса подтверждения на линии SCL. Установка в 1 флага АА приведет кпередаче бита подтверждения ACK (низкий уровень сигнала на линии SDA) во время тактового импульсаподтверждения на линии SCL, если устройство распознало свой адрес.

Характеристики

Тип файла
PDF-файл
Размер
2,62 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Раздаточные материалы
Описания к различным сериям микроконтроллеров
Описания некоторых систем передачи данных
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее