F40-43a (1041604), страница 47

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

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

В этомрежиме NSS функционирует как выход и может использоваться как сигнал выбора ведомого для одногоустройства SPI. Логический уровень сигнала на выходе NSS определяется битом NSSMD0 (SPI0CN.2). Другиеведомые устройства можно адресовать с помощью портов ввода/вывода общего назначения. На рис.20.4приведена схема соединений между одним ведущим и двумя ведомыми устройствами в 4-х проводном режиме.245Ред. 1.3C8051F040/1/2/3Рисунок 20.2.

Схема включения в режиме с несколькими ведущимиВедущееустройство 1NSSGPIOMISOMISOMOSIMOSISCKSCKGPIONSSВедущееустройство 2Рисунок 20.3. Схема соединения одного ведущего и одного ведомого сиспользованием 3-х проводной шины SPIВедущееустройствоMISOВедомоеустройствоMISOMOSIMOSISCKSCKРисунок 20.4. Схема соединения одного ведущего и нескольких ведомых сиспользованием 4-х проводной шины SPIВедущееустройствоGPIOMISOMISOMOSIMOSISCKSCKNSSNSSMISOMOSIВедомоеустройствоВедомоеустройствоSCKNSSРед. 1.3246C8051F040/1/2/320.3. Функционирование SPI0 в ведомом режимеКогда модуль SPI0 включен и не настроен как ведущий, он будет функционировать как ведомый SPI.Байты данных принимаются по линии MOSI от ведущего и передаются по линии MISO ведущему, при этомведущее устройство управляет сигналом на линии SCK.

Битовый счетчик логики модуля SPI0 подсчитываетфронты сигнала SCK. После того, как 8 бит данных приняты в сдвиговый регистр, устанавливается в 1 флагSPIF и байт данных копируется в буфер приемника. Данные считываются из буфера приемника путем чтениярегистра SPI0DAT. Ведомое устройство не может инициировать процесс обмена данными.

Данные, которыенеобходимо передать ведущему, предварительно загружаются в сдвиговый регистр путем записи регистраSPI0DAT. При записи регистра SPI0DAT данные сначала загружаются в буфер передатчика. Если сдвиговыйрегистр пуст, то содержимое буфера передатчика будет сразу же передано в сдвиговый регистр. В том случае,если сдвиговый регистр уже содержит данные, то SPI0 будет ждать окончания их передачи, и только послеэтого загрузит сдвиговый регистр содержимым буфера передатчика.Когда модуль SPI0 функционирует как ведомый, его можно настроить на работу в 3-х проводном или4-проводном режимах.

Активным по умолчанию является 4-проводный ведомый режим, когда NSSMD1(SPI0CN.3) = 0 и NSSMD0 (SPI0CN.2) = 1. В 4-проводном режиме сигнал NSS выведен на внешний выводпорта, который настроен как цифровой вход. SPI0 включен, когда NSS = 0, и отключен, когда NSS = 1. Битовыйсчетчик сбрасывается по заднему фронту сигнала NSS. Следует иметь ввиду, что сигнал NSS необходимосбросить в 0 как минимум за 2 системных тактовых цикла до первого активного фронта сигнала SCK длякаждого передаваемого байта. На рис.20.4 приведена схема соединений между одним ведущим и двумяведомыми устройствами в 4-х проводном режиме.3-проводный ведомый режим активен, когда NSSMD1 (SPI0CN.3) = 0 и NSSMD0 (SPI0CN.2) = 0.

NSSне используется и не разводится на внешний вывод порта с помощью матрицы. Т.к. в этом режиме нет способаоднозначной адресации устройства, то SPI0 должен быть единственным ведомым устройством,присутствующим на шине. Важно иметь ввиду, что в 3-х проводном ведомом режиме отсутствуют средства длясброса битового счетчика. Данный счетчик определяет момент окончания приема байта. Этот битовый счетчикможно сбросить лишь путем выключения и повторного включения модуля SPI0 с помощью бита SPIEN. Нарис.20.3 приведена схема соединений между ведущим и ведомым устройствами в 3-х проводном режиме.20.4. Источники прерываний модуля SPI0Если прерывания от модуля SPI0 разрешены, то следующие 4 флага будут генерировать прерыванияпри установке их в 1:Все приведенные ниже флаги сбрасываются программно.1.2.3.4.247Флаг прерывания от модуля SPI0 SPIF (SPI0CN.7) устанавливается в 1 по окончании передачикаждого байта.

Установка этого флага возможна во всех режимах работы модуля SPI0.Флаг конфликта записи WCOL (SPI0CN.6) устанавливается в 1, если запись в регистр SPI0DATпроисходит в тот момент, когда данные из буфера передатчика еще не переписаны в сдвиговыйрегистр. В этот случае запись в регистр SPI0DAT игнорируется и буфер передатчика непереписывается. Установка этого флага возможна во всех режимах работы модуля SPI0.Флаг ошибки режима MODF (SPI0CN.5) устанавливается в 1, если модуль SPI0 функционирует какведущий в режиме работы с несколькими ведущими и на входе NSS появляется сигнал с низкимлогическим уровнем. В этом случае будут сброшены в 0 биты MSTEN и SPIEN в регистре SPI0CN,в результате чего модуль SPI0 будет отключен.

Это позволит другому ведущему устройствуполучить доступ к шине.Флаг переполнения приемника RXOVRN (SPI0CN.4) устанавливается в 1, если при работе врежиме ведомого передача завершается, а буфер приемника все еще содержит непрочитанный байтот предыдущей передачи. Новый байт не переписывается в буфер приемника, что позволяетпрочитать ранее принятый байт данных. Байт данных, который вызва переполнение приемника,теряется.Ред. 1.3C8051F040/1/2/320.5. ТактированиеКак показано на рис.20.5, используя биты управления тактовой частотой регистра конфигурациимодуля SPI (SPI0CFG), можно выбрать четыре комбинации фазы и полярности импульсов тактированияпоследовательного интерфейса. Бит CKPHA (SPI0CFG.5) выбирает одну из двух фаз тактового сигнала (фронт,используемый для фиксации данных).

Бит CKPOL (SPI0CFG.4) задает активный уровень (высокий или низкий)тактового сигнала. Как ведущий, так и ведомые устройства должны быть настроены на использованиеодинаковых фазы и полярности тактовых импульсов. Примечание: при изменении фазы и полярности тактовыхимпульсов модуль SPI0 следует отключить сбросом в 0 бита SPIEN (SPI0CN.0).Следует иметь ввиду, что в ведущем режиме модуль SPI0 осуществляет считывание сигнала с линииMISO за один цикл системного тактового сигнала до неактивного фронта (т.е. фронта, при котором происходитизменение сигнала) сигнала SCK. Это позволяет обеспечить максимальное время установления сигнала дляведомого устройства.Регистр установки тактовой частоты модуля SPI0 (SPI0CKR), показанный на рис.20.8, управляетчастотой тактирования последовательного интерфейса при работе в ведущем режиме.

При работе в ведомомрежиме содержимое этого регистра игнорируется. Когда модуль SPI0 настроен как ведущий, максимальнаяскорость передачи данных равна половине системной тактовой частоты. Когда модуль SPI настроен какведомый, максимальная скорость передачи данных (бит/сек) для полнодуплексного режима работы равна 1/10системной тактовой частоты, при условии, что сигналы от ведущего SCK, NSS (в 4-х проводном ведомомрежиме) и последовательные входные данные синхронизированы с системной тактовой частотой. Если сигналыот ведущего SCK, NSS и последовательные входные данные асинхронны, то максимальная скорость передачиданных (бит/сек) должна быть меньше 1/10 системной тактовой частоты.

В особом случае, когда ведущемутребуется только передавать данные ведомому и не требуется принимать от него данные (т.е. полудуплексныйрежим работы), ведомый модуль SPI может принимать данные с максимальной скоростью (бит/сек), равной ¼системной тактовой частоты. Это справедливо при условии, что сигналы от ведущего SCK, NSS ипоследовательные входные данные синхронизированы с системной тактовой частотой.Рисунок 20.5. Временные диаграммы сигналов данных/тактированияSCK(CKPOL = 0, CKPHA = 0)SCK(CKPOL = 0, CKPHA = 1)SCK(CKPOL = 1, CKPHA = 0)SCK(CKPOL = 1, CKPHA = 1)MISO/MOSIСЗРБит 6Бит 5Бит 4Бит 3Бит 2Бит 1МЗРNSSРед. 1.3248C8051F040/1/2/320.6. Регистры специального назначения модуля SPIДля доступа к интерфейсу SPI и управления им используются четыре регистра специальногоназначения: регистр управления SPI0CN, регистр данных SPI0DAT, регистр конфигурации SPI0CFG и региструстановки тактовой частоты SPI0CKR.

Все эти регистры описаны в следующих разделах.Рисунок 20.6. SPI0CFG: Регистр конфигурации модуля SPI0RSPIBSYR/WMSTENR/WCKPHAR/WCKPOLRSLVSELRNSSINБит 7Бит 6Бит 5Бит 4Бит 3Бит 2RSRMTБит 1RRXBMTБит 0Значениепри сбросе:00000111SFR Адрес: 0x9ASFR страница: 0Бит 7: SPIBSY: Флаг занятости модуля SPI0.Этот бит устанавливается в 1 тогда, когда SPI0 находится в процессе передачи данных (ведущий иливедомый режим).Бит 6: MSTEN: Включение ведущего режима.0: Ведущий режим отключен. Модуль SPI0 работает в ведомом режиме.1: Ведущий режим включен.

Модуль SPI0 работает в ведущем режиме.Бит 5: CKPHA: Выбор активной фазы тактового сигнала модуля SPI0.Этот бит управляет фазой тактового сигнала модуля SPI0.0: Данные фиксируются по первому фронту периода сигнала SCK.1: Данные фиксируются по второму фронту периода сигнала SCK.Бит 4: CKPOL: Выбор полярности тактового сигнала модуля SPI0.Этот бит управляет полярностью тактового сигнала модуля SPI0.0: В состоянии простоя на линии SCK установлен сигнал низкого уровня.1: В состоянии простоя на линии SCK установлен сигнал высокого уровня.Бит 3: SLVSEL: Флаг выбора ведомого.Этот бит аппаратно устанавливается в 1 всякий раз, когда на линию NSS подан сигнал низкогоуровня, и показывает, что SPI0 является выбранным ведомым.

Этот бит отражает не мгновенноесостояние сигнала на выводе NSS, а скорее сглаженную (без паразитных выбросов) форму этогосигнала.Бит 2: NSSIN: Флаг мгновенного состояния сигнала на входном выводе NSS.Этот бит отражает мгновенное значение сигнала на входном выводе NSS в момент чтения этогорегистра.

Этот вход не является сглаженным.Бит 1: SRMT: Флаг опустошения сдвигового регистра (действителен в ведомом режиме).Этот бит будет устанавливаться в 1 тогда, когда все данные переданы в сдвиговый регистр или изсдвигового регистра, и нет данных для считывания из буфера передатчика или записи в буферприемника. Этот бит сбрасывается в 0, когда байт данных передается в сдвиговый регистр из буферапередатчика или при изменении сигнала SCK.Примечание: SRMT = 1 в ведущем режиме работы.Бит 0: RXBMT: Флаг опустошения буфера приемника (действителен в ведомом режиме).Этот бит будет устанавливаться в 1 тогда, когда буфер приемника прочитан и не содержит новыхданных.

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

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

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

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