Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

Несколько упрощенная структурная схема модуля MSSP, сконфигурированного для работы по протоколу SPI, приведена на Рис. 12.8. Основным узлом модуля MSSP является регистр специального назначения SSPBUF, расположенный по адресу h’13’. Байт данных, загруженный в этот РСН, автоматически перегружается в сдвиговый регистр модуля SSPSR и побитно выдается на вывод RC5/SDO микроконтроллера. Одновременно с этим восемь битов данных считываются с вывода RC4/SDI. После завершения указанных операций принятый байт автоматически пересылается в регистр SSPBUF, откуда его можно считать. Это индицируется установкой флага BF (Buffer Full) в регистре состояния SSPSTAT, формат которого приведен на Рис. 12.9. После чтения регистра SSPBUF флаг BF автоматически сбрасывается.

Рис. 12.8.Модуль MSSP, сконфгурированный для работы по протоколу SPI. Выводы модуля задействуют линии параллельного порта С

В отличие от параллельных портов ввода/вывода, конфигурирование и контроль состояния интерфейсных модулей микроконтроллеров, как правило, осуществляются с помощью ряда соответствующих регистров управления и состояния. Помимо этого используются биты масок и флагов прерываний, расположенные либо в регистре INTCON, либо в одном или двух регистрах разрешения прерываний от периферийных устройств и регистрах флагов прерываний от периферийных устройств, аналогичных показанным на Рис. 7.6 (стр. 224). Конфигурирование регистров управления, состояния и прерываний периферийных устройств обычно выполняется в той же части программы, в которой производится конфигурирование параллельных портов ввода/вывода. Так как интерфейсные модули в обязательном порядке задействуют выводы параллельных портов, то эти выводы часто необходимо конфигурировать даже в том случае, если порты ввода/вывода в программе не используются. Конфигурация линий ввода/вывода переопределяется автоматически при включении периферийного модуля или же должна явно задаваться самим программистом. К сожалению, ответ на этот вопрос далеко не всегда очевиден, поэтому для получения точной информации необходимо обращаться к документации на конкретный микроконтроллер.

Но вернемся к нашему модулю MSSP. На Рис. 12.9 показаны установки регистров SSPCON и SSPSTAT, используемые при работе в режиме SPI. Ну, а для подключения к внешним устройствам в этом режиме в общей сложности задействуется четыре вывода.

∙ RC5/SDO

Бит TRISC[5] должен быть сброшен для переключения этого вывода в режим выхода.

∙ RC4/SDI

Этот бит конфигурируется модулем MSSP как вход независимо от состояния соответствующего бита TRISC[4],

∙ RC3/SCK

При работе в качестве ведущего бит TRSC[3] должен быть сброшен, поскольку на этом выводе формируется тактовый сигнал. И, наоборот, при работе в режиме ведомого бит TRISC[3] должен быть установлен, чтобы принимать тактовый сигнал от ведущего.

В режиме ведомого Ь’0100’ этот вывод должен быть сконфигурирован как вход (TRISA[5] = 1), чтобы другой ведущий мог выбрать данное устройство.

При любом сбросе оба регистра SSPCON и SSPSTAT очищаются, а внутренний счетчик битов обнуляется. При этом модуль отключен, и если программист собирается использовать MSSP, то он должен задать соответствующие значения различных управляющих битов[154].

∙ SSPEN

Установка бита SSPCON[5] в 1 разрешает работу модуля последовательного синхронного порта. Если модуль выключен, то соответствующие выводы могут использоваться в качестве линий-обычных параллельных портов ввода/вывода.

∙ SSPM[3:0]

Четыре бита выбора режима работы модуля, расположенные в SSPCON[3:0], используются для выбора протокола обмена, а также различных опций работы ведущего/ведомого. На Рис. 12.9 указано шесть комбинаций этих битов, относящихся к протоколу SPI.

Рис. 12.9.Регистры управления (SSPCON) и состояния (SSPSTAT) модуля MSSP при его работе в режиме SPI

Режимы ведущего (а их четыре) отличаются друг от друга только значением частоты тактового сигнала и ее источниками. В трех из этих режимов тактовый сигнал формируется из тактового сигнала микроконтроллера. Например, при использовании резонатора с частотой 20 МГц частота сигналов на выводе SCK может быть равна 5 МГц, 1.25 МГц и 312.5 кГц (период 200 не, 800 не и 3.2 мкc соответственно). В последнем же из режимов частота тактового сигнала шины SPI равна половине частоты сигнала, формируемого при переполнении Таймера 2 (см. Рис. 13.8 на стр. 474). Этот режим используется, когда требуется очень низкая скорость передачи данных.

При работе модуля в качестве ведомого тактовый сигнал поступает на вывод SCK извне от внешнего ведущего устройства. Кроме того, ведущий может управлять выводом SS для выбора одного из нескольких ведомых (см. Рис. 12.12).

∙ SSPOV

Перейти на страницу:

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

Похожие книги

Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки