Конспект лекций по курсам "Проектирование центральных и периферийных устройств ЭВС", "Микропроцессоры и ЭВМ в микросистемах". Лукьяненко Е.Б. - 104 стр.

UptoLike

Составители: 

1 – первым передается младший разряд.
4 р. MSTR – выбор режима работы: 0 – режим ведомого; 1 – режим ведущего.
3 р. CPOL полярность тактового сигнала: 0 во время ожидания на SCK при
сутствует низкий уровень; 1 - во время ожидания на SCK присутствует высокий
уровень.
2 р. CPHA фаза тактового сигнала: 0 данные считываются по нарастающему
фронту SCK; 1 – по спадающему фронту SCK.
1р. CPR1, CPR0 – скорость передачи
0 0 SCK=CK/4
0 1 SCK=CK/16
1 0 SCK=CK/64
1 1 SCK=CK/128
Регистр SPSR имеет формат (регистр состояния):
Регистр SPSR
7 6 5 4 3 2 1 0
SPIF WCOL - - - - - -
7 р. SPIF (SPI Interrupt Flag) – флаг прерывания от интерфейса SPI. Этот флаг
указывает на завершение передачи и вызывает запрос на прерывание, как только в
регистре SPCR будет установлен разряд SPIE, а в регистре SREG – разряд общего
разрешения прерывания I.
6 р. WCOL (Write COLlision) конфликт записи. Устанавливается в случае,
если во время передачи данных делается попытка записи в регистр данных SPI,
что приводит к разрушению переданного байта данных. При этом текущая пере-
дача доводится до завершения, а новый байт не записывается в сдвиговый
регистр. Флаг WCOL должен быть сброшен пользователем вручную.
Перед выполнением обмена необходимо разрешить работу модуля SPI. Для
этого устанавливается в 1 разряд SPE регистра SPCR. Режим работы определяется
состоянием разряда MSTR. Передача данных осуществляется следующим об-
разом. При записи в регистр данных SPI ведущего микроконтроллера запускается
генератор тактового сигнала модуля SPI и данные начинают поразрядно выда-
ваться на вывод MOSI и соответственно поступать на вывод MOSI ведомого ми-
кроконтроллера. После выдачи последнего разряда текущего байта генератор
тактового сигнала останавливается с одновременной установкой в 1 флага «конец
передачи» (SPIF). Если прерывания от модуля SPI разрешены (флаг SPIE регистра
SPCR установлен в 1) , генерируется запрос на прерывание . После этого ведущий
микроконтроллер может начать передачу следующего байта, либо, подав на вход /
SS ведомого микроконтроллера напряжение высокого уровня, перевести послед-
ний в режим ожидания.
104