Регистр управления/статуса приемника (RCS)
Регистр RCS является 16-битным регистром управления/статуса, доступным для чтению и записи и используемым для управления при выполнении операции в секции приемника (рис. 6.62). Управляющие биты регистра определяют последовательный формат передачи данных, а биты статуса этого регистра используются программистом DSP для опроса статуса приемника. Также в регистре RCS находятся биты разрешения приема и прерываний. Когда DSP осуществляет чтение, содержимое этого регистра появляется в двух младших байтах 24-битного слова, остальные биты читаются как нули. Содержимое регистра сбрасывается во время аппаратного или программного сброса. Если оба бита R0EN и R1EN сбрасываются, то работа секции приемника запрещается и она переводится в состояние сброса. Такой индивидуальный сброс происходит в первом цикле команды после сброса указанных битов. Во время нахождения в состоянии останова или индивидуального сброса биты статуса регистра также сбрасываются. Останов или сброс не оказывают влияния на управляющие биты регистра RCS. Следует изменять содержимое управляющих битов регистра, пока секция приемника находится в состоянии сброса (или запрещения работы), иначе результаты операции будут неверны.
Бит разрешения работы приемника (ROEN - бит 0). Доступный для записи и для чтения управляющий бит разрешения работы приемника 0 разрешает выполнение операции приемника О SAI. Когда этот бит установлен, работа приемника 0 разрешена. И наоборот, когда этот бит сброшен, работа приемника запрещена. Если оба бита R0EN и R1EN сбрасываются, то работа секции приемника запрещается, что эквивалентно состоянию индивидуального сброса. Содержимое бита R0EN сбрасывается во время аппаратного или программного сбросов.
Бит разрешения работы приемника (R0EN - бит 1). Доступный для записи и для чтения управляющий бит разрешения работы приемника 1 разрешает выполнение операции приемника 1 SAI. Когда этот бит установлен, работа приемника 1 разрешена. И наоборот, когда этот бит сброшен, работа приемника запрещена. Если оба бита R0EN и R1EN сбрасываются, то работа секции приемника запрещается, что эквивалентно состоянию индивидуального сброса. Содержимое бита R1EN сбрасывается во время аппаратного или программного сбросов.
Резервные биты (RCS-биты 13 и 2). Эти биты не используются. Они читаются как нули; в эти биты также следует записывать нули для обеспечения дальнейшей совместимости.
Бит ведущего приемника (RMST- бит 3). Доступный для записи и для чтения управляющий бит ведущего приемника позволяет переключать работу секции приемника из режима ведущего в режим ведомого и наоборот. Когда этот бит установлен, секция приемника SAI устанавливается в режим ведущего. В режиме ведущего управление приемника происходит с помощью выводов SCKR и WSR. В режиме ведомого управление этими выводами осуществляется от внешнего источника. Содержимое бита RMST сбрасывается во время аппаратного или программного сброса.
Биты управления длиной слова приемника (RWL[1:0] - биты 4 и 5). Доступный для записи и чтения бит управления длиной слова используется для выбора длины слова, получаемой SAI. Длина слова данных определяется числом циклов тактового сигнала последовательной передачи между двумя краями сигнала выбора слова. Слово длиной 16, 24 или 32 бита может быть выбрано в соответствии с табл. 6.40. Регистры данных приемника всегда заполняются 24-битными данными, когда поступает новое слово данных. Если выбрана 16-битная длина слова, то полученное 16-битное слово данных будет размещено в 16 старших битах регистра данных приемника независимо от бита направления сдвига данных приемника (RDIR); восемь младших битов регистра данных приемника очищаются. Если выбрана 32-битная длина слова, то восемь бит отбрасываются в соответствии со значением управляющего бита округления слова данных приемника (RDWT). Биты RWL[1:0] также используются для генерации отображения выбранного слова, когда секция приемника сконфигурирована в режим ведущего (RMST = 1). Содержимое битов RWL[1:0] сбрасывается во время аппаратного или программного сброса.
Бит направления сдвига данных приемника (RDIR- бит 6). Доступный для записи и чтения бит RDIR позволяет выбрать направление сдвига. Когда бит сбрасывается, то данные вдвигаются со стороны старшего бита. Когда бит установлен, данные вдвигаются со стороны младшего бита (рис. 6.63). Содержимое бита сбрасывается во время аппаратного или программного сброса.
Бит выбора правого/левого слова приемника (RLRS-бит 7). Доступный для записи и чтения бит RLRS позволяет выбрать полярность сигнала выбора слова приемника (WSR), который определяет левое и правое слово во входном потоке. Когда бит сбрасывается, низкий сигнал WSR идентифицирует левое слово данных. Когда бит устанавливается, низкий сигнал WSR идентифицирует правое слово данных (рис. 6.64). Содержимое бита сбрасывается во время аппаратного или программного сброса.
Бит полярности тактового сигнала приемника (ИСКР - бит 8), Доступный для записи и чтения бит RCKP позволяет выбрать полярность тактового сигнала последовательного приема данных. Когда бит очищается, полярность тактового сигнала отрицательна. Когда бит устанавливается, полярность тактового сигнала положительна. Отрицательная полярность означает, что линии приема выбранного слова (WSR) и входа последовательных данных (SDIx) работают синхронно по отрицательному краю (спаду) тактового сигнала и рассматриваются как действительные во время положительного перехода тактового сигнала. Положительная полярность означает, что WSR и SDIx работают синхронно по положительному краю (фронту) тактового сигнала и рассматриваются как действительные во время отрицательного перехода тактового сигнала (рис. 6.65). Содержимое бита сбрасывается во время аппаратного или программного сброса.
Бит относительной синхронизации приемника (RREL — бит 9). Доступный для записи и чтения бит RREL позволяет выбрать синхронизацию сигнала приемника выбранного слова (WSR) относительно линии входа последовательных данных (SDIx). Когда бит сбрасывается, переход на линии WSR, отражающий начало слова данных, происходит одновременно с 1-м битом слова данных. Когда этот бит устанавливается, переход на линии WSR происходит на один такт раньше (вместе с последним битом предыдущего слова данных), что соответствует формату I 2S (рис. 6.66).
Содержимое бита сбрасывается при аппаратном или программном сбросе.
Бит округления слов данных приемника (RDWT- бит 10). Доступный для записи и чтения бит RDWT позволяет выбрать 24-битную часть полученного 32-битного слова, которая будет передаваться из сдвигового регистра в регистр данных. Когда бит сбрасывается, в регистр данных передаются первые 24 бита. Когда бит устанавливается, в регистр данных передаются последние 24 бита. Бит RDWT игнорируется, если биты RWL[1:0] устанавливаются в положение, соответствующее длине, не равной 32 битам
(рис. 6.67). Содержимое бита сбрасывается во время аппаратного или программного сброса.
Бит разрешения прерывания приемника (RXIE- бит 11). Когда доступный для записи и чтения управляющий бит RXIE устанавливается, разрешаются прерывания приемника для слов данных справа и слева, а работа DSP прерывается, если установлен один или оба бита - RLDF и RRDF. Когда RXIE сбрасывается, прерывания приемника запрещаются, однако биты RLDF и RRDF продолжают отображать условие заполнения регистра данных приемника. Отметим, что сброс бита RXIE будет маскировать отложенное прерывание приемника только после задержки величиной в один цикл команды. Если бит RXIE сбрасывается в подпрограмме обслуживания длительного прерывания, то рекомендуется, чтобы хотя бы одна команда была вставлена между командами, которые очищают RXIE, а в конце процедуры обработки прерывания была бы вставлена команда RTI.
Существуют три различных типа прерываний для приемника, которые имеют отдельные вектора прерываний:
1)прерывание приема по левому каналу; генерируется когда RXIE = 1, RDLF = 1, RDF = 0;
2)прерывание приема по правому каналу; генерируется когда RXIE = 1, RDLF = 0,
RRDF = 1;
3)прерывание приема с исключительной ситуацией (перезапуск); генерируется когда
RXIE = 1, RDLF = 1, RRDF = 1; это означает, что предыдущие данные в регистре данных
приемника были потеряны или произошел перезапуск.
Для того чтобы очистить RDLF и RRDF во время обслуживания прерываний по правому или левому каналу, должно быть прочитано содержимое регистра данных приема того приемника, работа которого разрешена. Очистка RDLF или RRDF приведет к сбросу соответствующего запроса на прерывание. Если возникает ситуация «прерывания приема с исключительной ситуацией» (RDLF = RRDF = 1), то оба бита - RDLF и RRDF очищаются с помощью чтения содержимого регистра RCS, которое следует за чтением содержимого регистра данных приема тех приемников, работа которых разрешена.
Бит размещения прерываний приема (RXIL - бит 12). Доступный для записи и чтения бит управления RXIL определяет размещение векторов прерываний приемников. Когда RXIL = 0, прерывания по левому и правому каналам приемника, а также прерывание приема с исключительной ситуацией размещаются по программным адресам $16, $18, $1А соответственно. Когда RXIL = 1, прерывания по левому и правому каналам приемника, а также прерывание приема с исключительной ситуацией размещаются по программным адресам $46, $48, $4А соответственно. Бит RXIL сбрасывается во время аппаратного или программного сброса (см. табл. 6.38).
Бит полноты данных слева при приеме (RLDF- бит 14). Бит RLDF доступен только для чтения и вместе с битом RRDF (см. ниже) отражает статус регистров данных приема, работа которых разрешена. Бит RLDF устанавливается, когда слово данных слева (что отражается на выводе WSR и в бите RLRS регистра RCS) передается в регистры данных приема после того, как они были получены с помощью сдвига через регистр сдвига разрешенного приемника. Поскольку аудиоданные располагаются в словах двух типов (слева и справа) и читаются наоборот, то обычная операция приема происходит, когда установлен или бит RLDF или бит RRDF. Условие перезапуска приема показывает, что установлены оба бита. Бит RLDF сбрасывается, когда DSP осуществляет чтение содержимого регистра данных приема того приемника, работа которого разрешена; при этом RLDF © RRDF = 1. В случае возникновения условия перезапуска (RLDF • RRDF =1), бит RLDF сбрасывается при первом чтении содержимого RCS, следующем за чтением регистра данных приема разрешенного приемника. Бит RLDF также сбрасывается при аппаратном или программном сбросе, когда DSP находится в состоянии останова и когда все приемники запрещены (R0EN и R1EN сброшены). Если бит RXIE установлен, то, когда будет установлен бит RLDF, возникнет запрос прерывания. Вектор запроса прерывания будет зависеть от условия перезапуска приема.
Бит полноты данных справа при приеме (RRDF- бит 15). Бит RRDF доступен только для чтения и вместе с битом RLDF отражает статус регистров данных приема, работа которых разрешена. Бит RRDF устанавливается, когда слово данных справа (что отражается на выводе WSR и в бите RLRS регистра RCS) передается в регистры данных приема после того, как они были получены с помощью сдвига через регистр сдвига разрешенного приемника. Поскольку аудиоданные располагаются в словах двух типов (слева и справа) и читаются наоборот, то обычная операция приема происходит, когда установлен бит RLDF или бит RRDF. Условие перезапуска приема показывает, что установлены оба бита. Бит RRDF сбрасывается, когда DSP осуществляет чтение содержимого регистра данных приема того приемника, работа которого разрешена; при этом RLDF © RRDF = 1. В случае возникновения условия перезапуска (RLDF • RRDF = 1) бит RLDF сбрасывается при первом чтении содержимого RCS, следующем за чтением регистра данных приема разрешенного приемника. Бит RRDF также сбрасывается при аппаратном или программном сбросе, когда DSP находится в состоянии останова и когда все приемника запрещены (R0EN и R1EN сброшены). Если бит RXIE установлен, то при установке бита RRDF возникнет запрос прерывания. Вектор запроса прерывания будет зависеть от условия перезапуска приема.