Tаблица 8.1

Переназначение режима работы выводов модуля SPI

Вывод Режим «Master» Режим «Slave»
MOSI Определяется пользователем* Вход
MISO Вход Определяется пользователем*
SCK Определяется пользователем* Вход
SS Определяется пользователем* Вход

* Направление передачи данных определяется состоянием соответствующего разряда регистра DDRB.

Как видно из таблицы, в некоторых случаях пользователь должен само­стоятельно задать режим работы вывода, используемого модулем SPI, в со­ответствии с его назначением (см. далее). Причем возможность управления внутренними подтягивающими резисторами выводов, работа­ющих как входы, сохраняется независимо от способа управления их режи­мом работы.

Для управления модулем SPI предназначен регистр управления SPCR, расположенный по адресу $0D ($2D). Формат этого регистра приведен на рис.8.2.

SPI Control Register (SPCR)

Бит $0D($2D) R/W Нач.знач.                 SPCR
SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0
R/W R/W R/W R/W R/W R/W R/W W
               

Рисунок 8.2 – Регистр управления SPI (SPCR)

Бит 7 - SPIE (SPI Interrupt Enable). Разрешение преывания от SPI. Прерывание возникает при выставлении в «1» флага SPIF регистра SPSR. При этом прерывания должны быть разрешены глобально (бит I регистра SREG).

Бит 6 - SPE (SPI Enable). Разрешение работы SPI. Для разрешения работы бит необходимо выставить в «1».

Бит 5 - DORD (Data Order). Порядок следования данных. При DORD=1 первым передается младший разряд данных, а при DORD=0 – старший.

Бит 4 - MSTR (Master/Slave Select). Выбор режима Master/Slave. При MSTR=1 SPI работает в режиме Master, а при MSTR=0 - в режиме Slave.

Бит 3 - CPOL (Clock Polarity). Полярность тактовых импульсов. При CPOL=0 генерируются импульсы положительной полярности, при отсутствии импульсов на выводе SCK присутствует низкий уровень. При CPOL=1 -отрицательной полярности, при отсутствии импульсов – высокий уровень.

Бит 2 - CPHA (Clock Phase). Фаза тактовых импульсов. При CPHA=0 обработка данных производится по переднему фронту импульсов сигнала SCK (при CPOL=0 – по нарастающему, а для CPOL=1 – по спадающему фронту). При CPHA=1 - по заднему фронту.

Биты 1,0 - SPR1, SPR0 (SPI Clock Rate Select 1 and 0). Задание частоты тактового сигнала SCK в режиме “Master”. В режиме Slave эти биты не задействованы. Значения частоты тактового сигнала SCK приведены в табл.8.2.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: