|
|||||||||||||||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[34] Запрос прерывания по SPI Внутренняя шина данных Рис. 38 Блок-схема SPI В системе организовано одиночное буферирование передающей стороны и двойное буферирование на приемной стороне. Это означает то, что передаваемые символы не могут быть записаны в регистр данных SPI прежде, чем будет полностью завершен цикл сдвига. С другой стороны, при приеме данных принимаемый символ должен быть считан из регистра данных SPI прежде, чем будет завершен прием следующего символа, в противном случае предшествовавший символ будет потерян. При разрешенном SPI направления данных выводов MOSI, MISO, SCK и SS настраиваются в соответствии со следующей таблицей: уровня на выводе PB0(SS) порт SPI деактивируется и вывод PB2(MOSI) может быть использован в качестве вывода входа. Режим ведущий/ведомый может быть установлен и программным способом установкой или очисткой бита MSTR в регистре управления SPI. Два сдвиговых регистра ведущего и ведомого микроконтроллеров можно рассматривать как один разнесенный 16-разрядный циклический сдвиговый регистр. См. Рис 39. При сдвиге данных из ведущего микроконтроллера в ведомый одновременно происходит сдвиг данных из ведомого микроконтроллера в ведущий, т.е. в течение одного цикла сдвига происходит обмен данными между ведущим и ведомым микроконтроллерами. Таблица 22. Настройка выводов SPI
MSB MASTER LSB j8-разрядный сдвиговый регистр MISO MISO MOSI MOSI MSB SLAVE LSB 8-разрядный сдвиговый регистр Тактовый генератор SPI \- SCK SCK SSSS Vcc Рис. 39 Межсоединения ведущего и ведомого SPI. ФУНКЦИОНИРОВАНИЕ ВХОДА SS При работе SPI ведущим (бит MSTR регистра SPCR установлен), пользователь имеет возможность установить направление работы вывода SS. Если вывод SS сконфигурирован как выход, то вывод является выводом общего назначения и он не активируется системой SPI. Если же вывод SS сконфигурирован как вход, то для обеспечения работа ведущего SPI он должен удерживаться на высоком уровне. Если, в режиме ведущего, вывод SS является входом и внешней периферийной схемой на него подан низкий уровень, то SPI воспримет его как обращение другого ведущего SPI к себе как к ведомому. Чтобы избежать конфликтной ситуации на шине, система SPI выполняет следующие действия: 1.Бит MSTR в регистре SPCR очищается и SPI система становится ведомой. Результатом этого является то, что MOSI и SCK выводы становятся входами. 2.Устанавливается флаг SPIF регистра SPSR и, если разрешено прерывание SPI, начнется выполнение подпрограммы обработки прерывания. Таким образом, когда управляемый прерыванием передающий SPI используется в ведущем режиме, и существует вероятность подачи на вывод SS управляющего сигнала низкого уровня, прерывание должно всегда проверять установлен ли еще бит MSTR. Если же бит MSTR был очищен выбором режима ведомого, то он должен быть установлен пользователем. Если же SPI работает в режиме ведомого, то вывод SS постоянно работает на вход. Если на вывод SS подан низкий уровень, то SPI активируется и MISO, если это определено пользователем, становится выходом. Все остальные выводы являются входами. Если вывод SS удерживается на высоком уровне, то все выводы являются входами , SPI пассивен, что означает, что он не будет получать входящих данных. Существует четыре варианта комбинации фазы и полярности SCK относительно последовательных данных, определяемые управляющими битами CPHA и CPOL. Форматы передачи данных SPI показаны на Рис. 40 и 41. Номер цикла SCK (для сравнения) SCK (CPOL=0) SCK (CPOL=1) (от ведущ°го) (XlMSBQC 6 ~ >>С 5 > 3 » <Г 2 TQ > > LSB MISO- (от ведомого) SS (к ведомому) MSB Х 6 Х 5 Х 4 >< 3 >Х 2 X J X LSB *Неопределенно , но обычно это MSB уже принятого символа Рис. 40. Формат пересылок SPI при CPHA = 0 Но мер цик ла S CK (для сравнения) SCK (CPOL=0) SCK (CPOL=1) (от ведуЩ°;?) k>SB3c 6 z>c 5 гзс 4j>C 3 «<C 2 «f« LSB , MISO 4<TyMSX64<5H<44<3 1 LSB (от ведомого) -г -Г -Г -I-f -Г -Г -I-Г -Г -1- SS (к ведомому) Л * Неопределенно, но обычно это LSB уже переданного символа. Рис 41. Формат пересылок SPI при CPHA = 1 РЕГИСТР УПРАВЛЕНИЯ SPI - SPCR - (Control Register) Бит7 6 5 4 3 2 10 $OD ($2D)I SPIE I SPE I PORD MSTR CPOL CPHA SPR1 SPR0~1 SPCR Чтение/ЗаписьR/W R/W R/W R/W R/W R/W R/W R/W Начальное значение 00000000 •Bit 7 - SPIE: SPI Interrupt Enable - Разрешение прерывания SPI. Установка бита SPIE в состояние 1 приводит к установке бита SPIF регистра SPSR и, при разрешении глобального прерывания, к выполнению прерывания SPI. •Bit 6 - SPE: SPI Enable - Разрешение SPI Установка бита SPE в состояние 1 разрешает подключение SS, MOSI, MISO и SCK к выводам PB4, PB5, PB6 и PB7. •Bit 5 - DORP: Data Order - Порядок данных При установленном в состояние 1 бите DORD передача слова данных происходит LSB вперед. При очищенном бите DORD первым передается MSB слова данных. •Bit 4 - MSTR: Master/Slave Select - Выбор режима ведущий/ведомый При установленном в состояние 1 бите MSTR SPI работает в ведущем режиме и при очищенном бите в ведомом режиме. Если SS сконфигурирован как вход и на него подан низкий уровень при установленном MSTR, то MSTR будет сброшен и будет установлен бит SPIF в регистре SPSR. Чтобы вновь разрешить ведущий режим SPI, пользователь должен установить MSTR. |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | |||||||||||||||