F20-23 (1041603), страница 40

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

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

Программа никогда не должна записывать данные в регистр SMB0STA. Это приведет кнеопределенному результату. В табл.18.1 приведены все 28 состояний модуля SMBus вместе ссоответствующими им кодами.Рисунок 18.12. SMB0STA: Регистр состояния модуля SMBus0R/WSTA7R/WSTA6R/WSTA5R/WSTA4R/WSTA3R/WSTA2R/WSTA1R/WSTA0Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000SFR Адрес:0xC1Биты 7-3: STA7-STA3: Код состояния модуля SMBus.Эти биты содержат код состояния модуля SMBus. Существует 28 возможных кодовсостояния.

Каждый код состояния соответствует единственному состоянию модуля SMBus.Корректный код состояния присутствует в регистре SMB0STA, когда флаг SI (SMB0CN.3)установлен в 1. Содержимое регистра SMB0STA не определено, когда флаг SI равен нулю.Запись в регистр SMB0STA в любое время даст неопределенный результат.Биты 2-0: STA2-STA0: Три младших значащих бита регистра SMB0STA всегда читаются как 0, когдафлаг SI установлен в 1Ред.

1.4194C8051F020/1/2/3Таблица 18.1. Коды состояния модуля SMBusКодсостояния(SMB0STA)Режим0x00Все режимы0x080x10Ведущийпередатчик/приемникВедущийпередатчик/приемникСостояние модуля SMBusОшибка шины (т.е. некорректныйSTART, некорректный STOP, …)Передан бит START.Передан бит «повторный START».Передан адрес ведомого + W. ПолученACK.Передан адрес ведомого + W. ПолученNACK.0x18Ведущий передатчик0x20Ведущий передатчик0x28Ведущий передатчикПередан байт данных. Получен ACK.0x30Ведущий передатчикПередан байт данных. Получен NACK.0x38Ведущий передатчикПотерян арбитраж.0x40Ведущий приемникПередан адрес ведомого + R. ПолученACK.0x48Ведущий приемникПередан адрес ведомого + R.

ПолученNACK.0x50Ведущий приемникПолучен байт данных. Передан ACK.0x58Ведущий приемник0x60Ведомый приемник0x68Ведомый приемник0x70Ведомый приемник0x78Ведомый приемник0x80Ведомый приемник0x88Ведомый приемникПолучен байт данных. Передан NACK.Получен собственный адрес ведомого+ W. Передан ACK.При передаче в ведущем режимеадреса ведомого + R/W потерянарбитраж.Получен собственный адрес ведомого+ W. Передан ACK.Получен адрес общего вызова (0x00).Передан ACK.При передаче в ведущем режимеадреса ведомого + R/W потерянарбитраж.Получен адрес общего вызова (0x00).Передан ACK.Получен собственный адрес ведомого+ W. Получен байт данных.Передан ACK.Получен собственный адрес ведомого+ W. Получен байт данных.Передан NACK.195Ред.

1.4Типичное действиеУстановка STO для сбросаSMBusЗагрузка SMB0DAT адресомведомого + R/W. Сброс STA.Загрузка SMB0DAT адресомведомого + R/W. Сброс STA.Загрузка SMB0DAT даннымидля передачиПовтор опроса подтверждения.Установка STO + STA.1) Загрузка SMB0DATследующим байтом, или2) Установка STO, или3) Сброс STO, а затемустановка STA для передачибита «повторный START»1) Повтор передачи, или2) Установка STOСохранение текущих данныхЕсли необходимо принятьтолько один байт, то сброс АА(передача NACK после приемабайта). Ожиданиепринимаемых данныхПовтор опроса подтверждения.Установка STO + STA.Чтение SMB0DAT.

Ожиданиеследующего байта. Еслиследующий байт являетсяпоследним, то сброс АА.Установка STO.Ожидание данных.Сохранить текущие данные дляповтора передачи, когда шинаосвободится.Ожидание данных.Ожидание данных.Сохранить текущие данные дляповтора передачи, когда шинаосвободится.Чтение SMB0DAT. Ожиданиеследующего байта или STOP.Установка STO для сбросаSMBus.C8051F020/1/2/3Кодсостояния(SMB0STA)0x90РежимСостояние модуля SMBusВедомый приемник0x98Ведомый приемник0xA0Ведомый приемник0xA8Ведомый передатчик0xB0Ведомый передатчикПолучен адрес общего вызова (0x00).Получен байт данных.Передан ACK.Получен адрес общего вызова (0x00).Получен байт данных.Передан NACK.Получен бит STOP или «повторныйSTART», когда устройство адресуетсяв качестве ведомого.Получен собственный адрес ведомого+ R.

Передан ACK.При передаче в ведущем режимеадреса ведомого + R/W потерянарбитраж.Получен собственный адрес ведомого+ R. Передан ACK.0xB8Ведомый передатчикПередан байт данных. Получен ACK.0xC0Ведомый передатчик0xC8Ведомый передатчик0xD0Ведомыйпередатчик/приемник0xF8Все режимыПередан байт данных. Получен NACK.Передан последний байт данных(AA=0).

Получен ACK.Истек таймаут высокого уровня налинии SCL, определяемый значениемрегистра SMB0CR (при FTE=1)Простой (ожидание)Ред. 1.4Типичное действиеЧтение SMB0DAT. Ожиданиеследующего байта или STOP.Установка STO для сбросаSMBus.Никаких действий нетребуется.Загрузка SMB0DAT даннымидля передачи.Сохранить текущие данные дляповтора передачи, когда шинаосвободится.Загрузка SMB0DAT даннымидля передачи.Загрузка SMB0DAT даннымидля передачиОжидание бита STOP.Установка STO для сбросаSMBus.Установка STO для сбросаSMBus.Флаг SI не установлен.196C8051F020/1/2/319. МОДУЛЬ SPI (SPI0)Модуль SPI0 обеспечивает доступ к четырех проводной полнодуплексной последовательной шине.SPI0 может работать как в ведущем, так и в ведомом режимах, а также поддерживает работу несколькихведомых и ведущих устройств на одной шине. Вход выбора ведомого (NSS) используется для выбора модуляSPI0 в качестве ведомого устройства; дополнительный порт ввода/вывода общего назначения можноиспользовать в качестве выходов выбора ведомых, когда модуль SPI0 работает в ведущем режиме.

Имеетсясхема обнаружения конфликтов на случай, если два или более ведущих попытаются передать данныеодновременно. Модуль SPI может работать как в ведущем, так и в ведомом режимах. Когда модуль SPIнастроен как ведущий, максимальная скорость передачи данных (бит/сек) равна половине частоты системноготактового сигнала.Когда модуль SPI настроен как ведомый, максимальная скорость передачи данных (бит/сек) дляполнодуплексного режима передачи равна 1/10 системной тактовой частоты, при условии, что сигналы отведущего SCK, NSS и последовательные входные данные синхронизированы с системной тактовой частотой.Если сигналы от ведущего SCK, NSS и последовательные входные данные асинхронны, то максимальнаяскорость передачи данных (бит/сек) должна быть меньше 1/10 системной тактовой частоты. В особом случае,когда ведущему требуется только передавать данные ведомому и не требуется принимать от него данные (т.е.полудуплексный режим), ведомый модуль SPI может принимать данные с максимальной скоростью (бит/сек),равной ¼ системной тактовой частоты.

Это справедливо при условии, что сигналы от ведущего SCK, NSS ипоследовательные входные данные синхронизированы с системной тактовой частотой.Рисунок 19.1. Структурная схема модуля SPISFR шинаSPI0CKRSCR7SYSCLKSCR6SCR5SCR4SCR3SCR2SPI0CFGSCR1SCR0CKPHAC B B B FK C C C RP 2 1 0 SO2LSPI0CNFRS1FRS0SPIFWCOLMODFRXOVRNTXBSYSLVSELMSTENSPIENЛогикасчетчикабитовЛогика делителятактовой частотыЛОГИКА УПРАВЛЕНИЯ МОДУЛЯ SPIУправлениетрактом данныхТактирование шины SPI(Ведущий режим)Прерывание отмодуля SPIИнтерфейсуправлениявыводамиПередаваемыеданныеSPI0DATСдвиговый регистр7 6 5 4 3 2 1 0ПринимаемыеЛогикауправлениявыводамиNSSЧтениеSPI0DATSFR шина197MISOданныеРегистр принимаемых данныхЗапись вSPI0DATMOSIРед.

1.4МАТРИЦАSCKПортввода/выводаC8051F020/1/2/319.1. Описание сигналовНиже описаны четыре сигнала, используемые интерфейсом SPI (MOSI, MISO, SCK, NSS).19.1.1. Выход ведущего, вход ведомогоСигнал MOSI (master-out, slave-in - «выход ведущего, вход ведомого») является выходом данныхведущего устройства и входом данных ведомых устройств. Этот сигнал является выходом, если SPI0 работает введущем режиме, и входом, если SPI0 работает в ведомом режиме.

Он используется для последовательнойпередачи данных от ведущего к ведомому. Данные передаются старшими значащими разрядами вперед.19.1.2. Вход ведущего, выход ведомогоСигнал MISO (master-in, slave-out - «вход ведущего, выход ведомого») является выходом данныхведомого устройства и входом данных ведущего устройства. Он используется для последовательной передачиданных от ведомого к ведущему. Этот сигнал является входом, если SPI0 работает в ведущем режиме, ивыходом, если SPI0 работает в ведомом режиме.

Данные передаются старшими значащими разрядами вперед.Когда ведомое устройство не выбрано, его модуль SPI переводит вывод MISO в высокоимпедансное состояние.19.1.3. Тактовые импульсыСигнал SCK (serial clock – «импульсы тактирования последовательного интерфейса») является выходомведущего устройства и входом ведомых устройств. Он используется для синхронизации обмена даннымимежду ведущим и ведомым устройствами по линиям MOSI и MISO. SPI0 генерирует этот сигнал. когдаработает в ведущем режиме.19.1.4. Выбор ведомогоСигнал «Выбор ведомого» (NSS) является входом, используемым для выбора модуля SPI, работающегов ведомом режиме, или для отключения модуля SPI, работающего в ведущем режиме. В ведомом режиме онудерживается на низком уровне в течение всего сеанса обмена данными.

Сигнал NSS всегда является входомSPI0; если SPI0 работает в ведущем режиме, то сигналы выбора ведомых должны выдаваться через выводыпорта ввода/вывода общего назначения. Подключение к шине SPI показано на рис.19.2; информацияотносительно конфигурации порта общего назначения приведена в разделе 17.1.Сигнал NSS должен иметь низкий уровень для инициации обмена с модулем SPI0 как с ведомымустройством; SPI0 выйдет из ведомого режима, когда NSS = 1. Следует иметь ввиду, что принимаемые данныене фиксируются в буфере приемника, пока сигнал NSS не установится в 1. При обмене данными с передачейнескольких байт сигнал NSS должен устанавливаться в 1 (на, как минимум, 4 системных тактовых цикла) послекаждого байта, который принимается модулем SPI0 в ведомом режиме.Порт ввода/выводаПорт ввода/выводаПорт ввода/выводаРисунок 19.2. Подключение к шине SPINSSNSSNSSВедомоеустройствоВедомоеустройствоВедомоеустройствоVDDMISOMOSISCKВедущееустройствоРед. 1.4198C8051F020/1/2/319.2.

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

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

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

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