Главная » Просмотр файлов » Руководство пользователя MSP430

Руководство пользователя MSP430 (1041606), страница 31

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

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

При передаче каждого бита ведущим устройством генерируется один тактовый импульс. Модуль I2C работает с данными, организованными побайтно. Сначала перемещается старший значащий разряд, как показано на рис.15-3.

Первый, после условия «СТАРТ», байт состоит из 7-разрядного адреса ведомого и бита R/nonW. Когда R/nonW=0, ведущий передает данные ведомому. Когда R/nonW=1, ведущее устройство принимает данные от ведомого. Бит ACK посылается приемником после каждого байта на 9-ом такте SCL.


Рис.15-3. Передача данных модулем I2C

Данные на SDA должны быть неизменны в течение периода высокого уровня SCL, как показано на рис.15-4. Высокий и низкий уровень SDA может изменяться, только когда SCL имеет низкий уровень, в противном случае будет сгенерировано условие «старт» или «стоп».


Рис.15-4. Передача бита на шине I2C

15.2.2 Условия «СТАРТ» и «СТОП» I2C

Условия «СТАРТ» и «СТОП», показанные на рис.15-5, генерируются ведущим. Условие «СТАРТ» возникает при переходе с высокого уровня на низкий на линии SDA, когда SCL имеет высокий уровень. Условие «СТОП» появляется при переходе с низкого уровня на высокий на линии SDA при высоком уровне на SCL. Бит занятости I2CBB устанавливается после условия «СТАРТ» и сбрасывается после «СТОП».


Рис.15-5. Условия «СТАРТ» и «СТОП» модуля I2C

15.2.3 Режимы адресации I2C

Модуль I2C поддерживает 7-разрядный и 10-разрядный режимы адресации.

7-разрядная адресация

В 7-разрядном формате адресации, показанном на рис.15-6, первый байт – это 7-разрядный адрес ведомого и бит R/nonW. Бит ACK посылается приемником после каждого байта.


Рис.15-6. 7-разрядный формат модуля I2C

10-разрядная адресация

В 10-разрядном адресном формате, показанном на рис.15-7, первый байт содержит 11110b плюс два старших бита 10-разрядного адреса ведомого и бит R/nonW. Бит ACK посылается приемником после каждого байта. Следующий байт содержит оставшиеся 8 бит 10-разрядного адреса ведомого, завершающиеся битом ACK и 8-разрядными данными.


Рис.15-7. 10-разрядный адресный формат модуля I2C

Повторные условия «СТАРТ»

Направление потока данных на SDA может быть изменено ведущим без первоначального останова передачи, что приведет к повторению условия «СТАРТ». Это вызовет «РЕСТАРТ». После выполнения «РЕСТАРТА» адрес ведомого отправляется снова, но уже с новым направлением данных, заданным битом R/nonW. Условие «РЕСТАРТ» показано на рис.15-8.


Рис.15-8. Формат адресации модуля I2C с повторным условием «СТАРТ»





15.2.4 Режимы работы модуля I2C

Модуль I2C работает в режимах «ведущий передатчик», «ведущий приемник», «ведомый передатчик» или «ведомый приемник».

Режим ведущего

В режиме ведущего выполнение передачи и приема управляется с помощью битов I2CRM, I2CSTT и I2CSTP, как описано в таблице 15-1. Режим ведущего приемника вводится установкой I2CTRX=0 после передачи адресного байта ведомого и установленного бита R/nonW. Режимы ведущего передатчика и ведущего приемника показаны на рис.15-9 и рис.15-10.

SCL удерживается в низком состоянии, когда необходимо вмешательство ЦПУ после передачи байта.

Таблица 15-1. Функционирование ведущего

I2CRM

I2CSTP

I2CSTT

Условие или активность шины

X

0

0

Модуль I2C в режиме ведущего, но свободен. Условия «старт» и «стоп» не генерируются.

0

0

1

Активность инициируется установкой I2CSTT. I2CNDAT используется для установки длины передачи. Условие «стоп» автоматически не генерируется после перемещения байт, количество которых задано в I2CNDAT. Программное обеспечение должно установить I2CSTP для генерации условия «стоп» в конце передачи.

0

1

1

I2CNDAT используется для установки длины передачи. Установкой I2CSTT инициируется активность. Условие «стоп» автоматически генерируется после передачи байт, количество которых задано I2CNDAT.

1

0

1

I2CNDAT не используется для установки длины передачи. Длиной передачи должно управлять программное обеспечение. Установка бита I2CSTT инициирует активность. Для инициирования условия «стоп» или останова активности программное обеспечение должно установить бит I2CSTP. Этот режим используется, если необходимо передать более 256 байт.

0

1

0

Установка бита I2CSTP генерирует условие «стоп» на шине после отправки количества байт, заданного I2CNDAT или немедленно, если уже передано количество байт, заданное I2CNDAT.

1

1

0

Установка бита I2CSTP генерирует условие «стоп» на шине после завершения текущей передачи или немедленно, если текущая передача не активна.

1

1

1

Зарезервировано, шина неактивна.













Диаграмма состояний I2C


Рис.15-9. Режим ведущего передатчика, I2CWORD = 1


Рис.15-10. Режим ведущего приемника, I2CWORD = 1

Арбитраж

Если два или более передатчиков одновременно начинают передачу на шине, запускается процедура арбитража. На рис.15-11 поясняется процедура арбитража между двумя устройствами. Процедура арбитража использует данные, представленные на SDA конкурирующими передатчиками. Первый ведущий передатчик, генерирующий логическую единицу, отвергается противостоящим ведущим, генерирующим логический сигнал низкого уровня. Процедура арбитража дает приоритет устройству, которое передает поток последовательных данных с наименьшим двоичным значением. Ведущий передатчик, потерявший арбитраж, переключается в режим ведомого приемника и устанавливает флаг потери арбитража ALIFG. Если два или более устройства посылают одинаковые первые байты, арбитраж продолжается на последующих байтах.


Рис.15-11. Процедура арбитража между двумя ведущими передатчиками

Если выполняется процедура арбитража, когда на SDA повторяются условия «СТАРТ» или «СТОП», ведущие передатчики, вовлеченные в арбитраж, должны послать повторные условия «СТАРТ» или «СТОП» в том же самом месте в формате фрэйма. Арбитраж не разрешается между:

  • Повторным условием «СТАРТ» и битом данных

  • Условием «СТОП» и битом данных

  • Повторным условием «СТАРТ» и условием «СТОП»

Режим ведомого

В режиме ведомого операции передачи и приема управляются автоматически модулем I2C. Режимы ведомого передатчика и ведомого приемника показаны на рис.15-12 и рис.15-13.

В режиме ведомого приемника биты последовательных данных принимаются на SDA и сдвигаются по тактовым импульсам, генерируемым ведущим устройством. Ведомое устройство не генерирует тактовый сигнал, но может удерживать линию SCL в состоянии низкого уровня, если после приема байта необходимо вмешательство ЦПУ.

В режим ведомого передатчика можно войти только из режима ведомого приемника. Вход в режим ведомого передатчика происходит, если байт адреса ведомого, переданный ведущим, является таким же адресом, как и его собственный и был послан установленный бит R/W, указывая на запрос отправки данных ведущему. Ведомый передатчик сдвигает последовательные данные из устройства на SDA по импульсам тактирования, генерируемым ведущим устройством. Ведомое устройство не генерирует тактовых сигналов, но может удерживать линию SCL в состоянии низкого уровня, если после передачи байта необходимо вмешательство ЦПУ.


Рис.15-12. Ведомый передатчик, I2CWORD=1


Рис.15-13. Ведомый приемник, I2CWORD=1



15.2.5 Регистр данных I2CDR шины I2C

Регистр I2CDR может быть доступен как 8-разрядный или 16-разрядный регистр, что определяется битом I2CWORD. Функции регистра I2CDR описаны в таблице 15-2.

Таблица 15-2. Функции регистра I2CDR

I2CWORD

I2CTRX

Функция I2CDR

0

1

Режим передачи байта: Используется только младший байт. Байт дважды буферизируется. Если новый байт записан до передачи предыдущего байта, новый байт ожидает во временном буфере до момента защелкивания в младшем байте регистра I2CDR. Когда I2CDR доступен, устанавливается бит TXRDYIFG.

0

0

Режим приема байта: Используется только младший байт. Байт дважды буферизируется. Если новый байт принят до прочтения предыдущего байта, новый байт ожидает во временном буфере до момента защелкивания в младшем байте регистра I2CDR. Когда I2CDR готов для чтения, устанавливается бит RXRDYIFG.

1

1

Режим передачи слова: Первым передается младший байт слова, затем старший байт. Регистр дважды буферизируется. Если новое слово записано до передачи предыдущего слова, новое слово ожидает во временном буфере до момента защелкивания в регистре I2CDR. Когда I2CDR доступен, устанавливается бит TXRDYIFG. Если последние передаваемые данные состоят только из одного байта, старший байт должен содержать нуль. Когда I2CDR готов к доступу, устанавливается бит TXRDYIFG.

1

0

Режим приема слова: Первым принимается младший байт слова, затем старший байт. Регистр дважды буферизируется. Если новое слово принято до прочтения предыдущего слова, новое слово ожидает во временном буфере до момента защелкивания в регистре I2CDR. Если последним был принят один байт, тогда старший байт содержит нуль, устанавливается бит I2CSDB. Когда I2CDR готов к доступу, устанавливается бит RXRDYIFG.

Опустошение при передаче

В режиме ведущего опустошение происходит, когда сдвиговый регистр передачи и буфер передачи пусты, а I2CNDAT > 0. В режиме ведомого опустошение происходит, когда сдвиговый регистр передачи и буфер передачи пусты, а внешний ведущий I2C все еще запрашивает данные. Когда происходит опустошение при передаче, устанавливается бит I2CTXUDF. Запись данных в регистр I2CDR или сброс бита I2CEN сбрасывает I2CTXUDF. I2CTXUDF используется только в режиме передачи.

Переполнение при приеме

Переполнение при приеме происходит, когда сдвиговый регистр приема и буфер приема заполнены. Когда происходит переполнение при приеме, устанавливается бит I2CRXOVR. Потери данных не происходит, поскольку в этом случае линия SCL удерживается в состоянии низкого уровня, которое приостанавливает дальнейшую активность на шине. Чтение регистра I2CDR или сброс бита I2CEN сбрасывает бит I2CRXOVR. Бит I2CRXOVR используется только в режиме приема.



15.2.6 Генерация тактовых сигналов I2C и синхронизация

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

Тип файла
Документ
Размер
7,29 Mb
Тип материала
Высшее учебное заведение

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

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