SPI Control Register 1 |
||||||||
Номер бита |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Название |
SPIE |
SPE |
SPTIE |
MSTR |
CPOL |
CPHA |
SSOE |
LSBFE |
Значение по умолчанию |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
SPI Control Register 2 |
||||||||
Номер бита |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Название |
- |
- |
- |
MODFEN |
BIDIROE |
- |
SPISWAI |
SPCO |
Значение по умолчанию |
- |
- |
- |
0 |
0 |
- |
0 |
0 |
SPIE – SPI Interrupt Enable – бит разрешения прерывания по приему данных.
SPIE=0 – прерывание запрещено;
SPIE=1 – прерывание разрешено.
SPE – SPI System Enable Bit – включение/выключение системы SPI.
SPE=0 – система SPI отключена;
SPE=1 – система SPI включена.
SPTIE – SPI Transmit Interrupt Enable – бит разрешения прерывания при передаче данных.
SPTIE=0 – прерывание запрещено;
SPTIE=1 – прерывание разрешено.
MSTR – SPI slave/master Mode – переключение режимов ведущего/ведомого.
MSTR=0 – режим ведомого;
MSTR=1 – режим ведущего.
CPOL – SPI Clock Polarity Bit – установка активного уровня синхросигнала;
CPOL=0 – активный уровень низкий, в состоянии ожидания – высокий;
CPOL=1 – активный уровень высокий, в состоянии ожидания – низкий.
CPHA – SPI Clock Phase Bit – установка фазы синхронизации.
CPHA=0 – активные четные фронты;
CPHA=1 – активные нечетные фронты.
SSOE – Slave Select Output Enable – установка функции вывода SS.
SSOE=0 – в режиме ведущего, при изменении сигнала на выводе SS, происходит сброс передачи и установка в состояние ожидания.
SSOE=1 - вывод SS всегда работает на выход.
LSBFE – Least Significant Bit First Enable – установление направления сдвига данных в регистре SPIDR.
LSBFE=0 – сдвиг начинается со старшего бита (MSB);
LSBFE=1 - сдвиг начинается с младшего бита (LSB).
MODFEN – Mode Fault Enable Bit – установка режимов для вывода SS.
MODFEN=0 – вывод SS не используется системой SPI;
MODFEN=1 – применяется в сочетании с SSOE=0, изменение на SS сбрасывают передачу.
BIDIROE – Bidirectional Mode Enable – разрешение двунаправленной передачи по одному проводу.
BIDIROE=0 – двунаправленная передача запрещена;
BIDIROE=1 - двунаправленная передача разрешена.
SPISWAI – SPI Stop in Wait Mode – бит управления питанием в ждущем режиме.
SPISWAI=0 – генератор синхросигналов нормально работает в ждущем режиме;
SPISWAI=1 – генератор синхросигналов не работает в ждущем режиме;
Блок генерации синхросигнала. Для управления частотой импульсов синхронизации существует регистр SPIBR (SPI Baud Rate Register) (таблица 5.2), который позволяет задать коэффициенты деления (предварительного и конечного) частоты шины (Bus Clock).
Таблица 5.2 - Назначение битов регистра SPIBR
SPI Baud Rate Register |
||||||||
Номер бита |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Название |
- |
SPPR2 |
SPPR1 |
SPPR0 |
- |
SPR2 |
SPR1 |
SPR0 |
Значение по умолчанию |
- |
0 |
0 |
0 |
- |
0 |
0 |
0 |
SPPR2 – SPPR0 – биты задающие предварительное деление частоты;
SPR2 – SPR0 – биты задающие окончательное деление частоты.
Частота синхросигнала определятся следующей формулой:
, (5.1)
где - - частота шины контроллера (2,5 МГц).
Частоту синхросигнала можно выбрать любую, примем ее равной 312,5 кГц (как среднее между максимально возможной частотой 1,25 МГц и минимальной 1,22 кГц ), для этого необходимо задать SPPR=0, SPR=2. Рассчитаем по формуле 5.1:
МГц = 312,5 кГц
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.