72
OVRF - признак переполнения, принимает значение OVRF=1, если в
сдвиговый регистр поступают новые данные в то время, как ранее принятые
данные еще не считаны из буферного регистра приемника;
MODF - признак ошибки режима, принимает значение MODF=1, если на
ведущий модуль подан сигнал SS#=0, или на ведомый модуль в процессе
передачи поступает сигнал SS#=1;
SPTE - признак освобождения буфера передатчика, принимает значение
SPTE=1, когда данные из буфера передатчика переписываются в сдвиговый
регистр для реализации обмена.
В регистре SPSCR содержатся также управляющие биты, доступные для
записи-чтения:
ERRIE - разрешает при значении EERIE=1 формирование запроса
прерывания при установке признаков OVRF=1 или MODF=1;
MODFEN - разрешает при значении MODFEN=1 контроль режима работы
модуля SPI08 путем установки признака MODF;
SPR1..0 - задают значения коэффициента деления Kd, определяющего
частоту синхросигналов обмена
SPR1-0 Kd
00 2
01 8
10 32
11 128
В процессе обмена данными сдвиговые регистры ведущего и ведомого
модулей соединяются в кольцо. При этом в каждом такте обмена
производится ввод бита в младший разряд сдвигового регистра ведущего и
ведомого модулей и вывод старшего бита из этого регистра. После окончания
передачи 8-ми битного символа в регистре SPSСR устанавливается признак
завершения обмена SPCRF=1. При этом формируется запрос прерывания,
если в регистре SPCR установлен бит разрешения прерывания SPRIE=1.
В исходном состоянии на выходе SPSCK ведущего SPI поддерживается
постоянный уровень 0, если в регистре SPCR установлено значение бита
полярности синхросигналов CPOL=0, или уровень 1, если CPOL=1. Обмен
производится 8-разрядными символами, которые поступают в сдвиговый
регистр после записи данных в регистр SPDR ведущего модуля SPI08. При
этом на выход SPSCK ведущего модуля поступают синхросигналы,
положительный или отрицательный фронт которых определяет начало
передачи очередного бита и момент его ввода в принимающий регистр.
Выбор активного фронта синхросигнала определяется значением бита фазы
синхронизации CPHA, который задает формат передачи данных.