Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
ADDR - регистр адреса подчиненного модуля TWIСодержание книги
Поиск на нашем сайте
Регистр данных (DATA) используется для передачи и приема данных. Передача и приема данных выполняется путем логических сдвигов регистра DATA через линию SDA. Из этого следует, что доступ к регистру DATA во время передачи байта невозможен (блокируется на аппаратном уровне). Доступ к регистру данных возможен, только если линия SCL удерживается подчиненным устройством в низком состоянии, т.е. когда бит CLKHOLD равен единице. Когда ведущее устройство считывает данные из подчиненного, подлежащие отправке данные должны быть записаны в регистр DATA. Передача байта начинается, когда ведущее устройство передаст бит подтверждения, а затем запустит синхронизацию для передачи подчиненным устройством байта данных. Флаги DIF и CLKHOLD становятся равными единице. Когда ведущее устройство записывает данные в подчиненное устройство и, в результате такой операции, в регистр DATA принят один байт данных, флаги DIF и CLKHOLD станут равными единице. Если активизирован режим SMART, то чтение из регистра DATA инициирует выполнение заданной битом ACKACT операции. Доступ к регистру DATA приводит к сбросу флагов прерываний подчиненного модуля и флага CLKHOLD. Нет
ADDRMASK - регистр маски адреса подчиненного модуля TWI
· Биты 7:1 - ADDRMASK[7:1]: направление чтение/запись Данные биты регистра ADDRMASK могут использоваться в качестве второго регистра сравнения адреса или в качестве регистра маски адреса, что зависит от значения бита ADDREN. Если ADDREN равен нулю, ADDRMASK используется в роли 7-битного регистра маски адреса подчиненного устройства. В таком случае, каждый бит ADDRMASK будет маскировать (исключать из процедуры сравнения) соответствующие биты адреса регистра ADDR. Если бит маски равен единице, то результат сравнения соответствующих бит принятого адреса и регистра ADDR игнорируется. Проще говоря, маскированные биты всегда считаются совпавшими. Если ADDREN равен единице, в сравнении принимаемого адреса, помимо регистра ADDR, будет участвовать заданное битами ADDRMASK значение. В этом режиме принимаемый адрес сравнивается с двумя значениями: одно в регистре ADDR и еще одно, заданное битами ADDRMASK. · Бит 0- ADDREN: назначение бит ADDRMASK По умолчанию, данный бит равен нулю и биты ADDRMASK выступают в роли маски адреса для регистра ADDR. Если же данный бит равен единице, биты ADDRMASK, в дополнение к регистру ADDR, будут участвовать в сравнении с принятым адресом. Обзор регистров модуля TWI
Обзор регистров ведущего модуля TWI
Обзор регистров подчиненного модуля TWI
Обзор векторов прерываний Таблица 19.9. Векторы прерываний модуля TWI и значения смещений их адресов
Последовательный интерфейс SPI Отличительные особенности · Полнодуплексная, синхронная передача данных по трем линиям · Ведущая или подчиненная работа · Первым передается младший или старший бит данных · Восемь программно-выбираемых скоростей · Флаг прерывания по завершению передачи · Флаг ошибочной записи в регистр данных · Возобновление активной работы МК из режима IDLE · Ведущий режим с удвоенной скоростью (CK/2) Обзор Последовательный интерфейс SPI - интерфейс для высокоскоростной синхронной передачи данных с использованием трех или четырех выводов ИС. С его помощью можно организовать высокоскоростное соединение между МК XMEGA и внешними ИС, а также между несколькими микроконтроллерами AVR. Интерфейс SPI поддерживает полнодуплексную передачу данных. Устройство, подключенное к шине, должно действовать как ведущее устройство или как подчиненное. Ведущее устройство инициирует транзакции передачи данных и полностью ими управляет. Взаимодействие между ведущим и подчиненным ЦПУ через интерфейс SPI показано на рисунке 20.1. Система состоит из двух сдвиговых регистров, а также генератора синхронизации на стороне ведущего устройства. Ведущий SPI инициирует цикл связи установкой низкого уровня на выводе выбора подчиненного устройства (SS) той ИС, с которой необходимо установить соединение. Подлежащие передаче данные ведущее и подчиненное устройства помещают в сдвиговые регистры. После этого, ведущее устройство начинает генерировать импульсы синхронизации на линии SCK, что приводит к взаимному обмену данными. Передача данных сдвигом в направлении от ведущего устройства к подчиненному всегда выполняется на линии MOSI, а передача в обратном направлении - на линии MISO. После передачи каждого пакета данных, ведущее устройство, в целях синхронизации подчиненного устройства, может перевести линию SS в высокое состояние. Модуль SPI микроконтроллеров XMEGA оснащен одноуровневой буферизацией в канале передачи и двухуровневой буферизацией в канале приема. Это означает, что подлежащие передаче байты данных, нельзя поместить в регистр данных модуля SPI пока полностью не завершится цикл сдвигов. Во время приема данных, принятую посылку необходимо успеть считать прежде, чем завершится прием очередной посылки. В противном случае, первый байт данных будет потерян. В подчиненном режиме SPI, логика управления выполняет выборку поступающего на вход SCK сигнала. Чтобы гарантировать корректность выборок сигнала синхронизации, необходимо соблюдать требования к длительности низкого и высокого уровней импульсов синхронизации: длительность и низкого и высокого уровней должна быть не менее 2 циклов синхронизации ЦПУ. После разрешения работы модуля SPI, вступают в силу альтернативные настройки направления на выводах MOSI, MISO, SCK и SS в соответствии с таблицей 20.1. Выводы, которые отмечены как "задается пользователем", должны быть настроены программно. Таблица 20.1. Перекрытие модулем SPI настроек порта ввода-вывода
Ведущий режим Когда интерфейс SPI используется как ведущий, автоматическое управление линией SS не производится. Вывод SS необходимо настроить как выход и им необходимо управлять из программы пользователя. Если к шине подключено несколько подчиненных и/или ведущих устройств, то ведущий модуль SPI может использовать любые имеющиеся у МК линии ввода-вывода общего назначения для управления линией SS каждого подключенного к шине подчиненного устройства. После записи байта в регистр данных включается в работу генератор синхронизации шины SPI и выполняется передача сдвигом восьми бит данных в подчиненное устройство. По завершении сдвига одного байта, генератор синхронизации шины SPI останавливается и устанавливается флаг прерывания модуля SPI. Записью нового байта в регистр данных ведущее устройство может продолжить передачу данных. Кроме того, он может сигнализировать о завершении передачи данных установкой низкого уровня на линии SS. Последний принятый байт данных сберегается в буферном регистре. Если вывод SS настроен как вход, необходимо учитывать, что работа ведущего устройства будет возможной, только если на этом входе будет присутствовать высокий уровень. Если же вывод SS будет работать как вход и на нем будет присутствовать низкий уровень, то модуль SPI будет интерпретировать такую ситуацию, как попытку другого ведущего устройства получить управление над шиной. Во избежание конфликтов на шине, ведущее устройство выполняет следующие действия: · Переходит в подчиненный режим. · Устанавливает флаг прерывания модуля SPI. Подчиненный режим Когда интерфейс SPI настроен как подчиненный, он будет находиться в состоянии ожидания до тех пор, пока на выводе SS будет присутствовать высокий уровень, при этом, линия MISO будет находиться в высокоимпедансном состоянии. Когда модуль находится в состоянии ожидания, программа имеет возможность обновления содержимого регистра данных, но данные не будут передаваться сдвигом даже при наличии импульсов синхронизации на линии SCK. После установления низкого уровня на выводе SS и при условии настройки вывода MISO как выхода, подчиненный модуль начнет передачу данных сдвигом по первому импульсу синхронизации на линии SCK. По завершении передачи сдвигом одного байта данных, становится равным единице флаг прерывания модуля SPI. Подчиненный модуль может разместить новые данные для передачи в регистре до чтения принятых данных. Последний принятый байт данных сберегается в буферном регистре. Если вход SS вновь переходит в высокое состояние, это приведет к сбросу логики SPI и невозможности дальнейшего приема данных. Если это произойдет во время передачи, то все частично принятые сдвиговым регистром данные будут потеряны. Вывод SS используется для сигнализации начала и окончания передачи. Он также полезен для синхронизации пакетов/посылок за счет поддержания синхронизма счетчика бит подчиненного устройства и генератора синхронизации в ведущем устройстве. Режимы SPI Возможны четыре комбинации фазы и полярности сигнала SCK по отношению к сигналам данных. Передача данных по интерфейсу SPI выполняется в форматах, показанных на рисунке 20.2. Биты данных передаются сдвигом и защелкиваются по противоположным фронтам сигнала SCK. Этим гарантируется достаточность времени для стабилизации сигналов данных. Таблица 20.2. Режимы SPI
Передний фронт - фронт, с которого начинается период импульсов синхронизации. Задний фронт - фронт, которым заканчивается период импульсов синхронизации. Рисунок 20.2. Режимы передачи SPI Поддержка DMA Поддержка DMA модулем SPI доступна только в подчиненном режиме. Подчиненный модуль SPI может запустить DMA-передачу после заполнения в результате сдвигов регистра данных. При необходимости поддержки DMA в ведущем режиме, можно воспользоваться модулем USART, настроенный на работу в режиме SPI. Более детально об этом см. в разделе 21.10 "USART в режиме ведущий SPI". Описание регистров
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-30; просмотров: 327; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.95.167 (0.009 с.) |