Регистр управления/статуса передатчика (TCS)
Регистр TCS является 16-битным регистром управления/статуса, доступным для чтения и записи и используемым для управления при выполнении операции в секции передатчика (см. рис. 6.62). Управляющие биты регистра определяют последовательный формат передачи данных, а биты статуса этого регистра используются программистом DSP для опроса статуса приемника. В регистре TCS также находятся биты разрешения раздельной передачи и прерываний. Когда DSP осуществляет чтение, содержимое этого регистра появляется в двух младших байтах 24-битного слова; биты старшего байта читаются как нули. Содержимое регистра сбрасывается во время аппаратного или программного сброса. Если биты TOEN, T1EN и T2EN сбрасываются, то работа секции приемника запрещается и секция переводится в состояние сброса после задержки в один цикл команды. Во время нахождения в состоянии останова или индивидуального сброса биты статуса регистра также сбрасываются. Останов или сброс не оказывают влияния на управляющие биты регистра TCS.
Биты разрешения работы передатчика 0,1,2 (TOEN, T1EN, T2EN — биты 0,1,2). Доступный для записи и чтения управляющий бит разрешения работы передатчика 0/1/ 2 разрешает выполнение операции передатчика 0/1/2 SAI соответственно. Когда этот бит установлен, работа передатчика разрешена. И наоборот, когда этот бит сброшен, работа передатчика запрещена, а на линии SDO0/SDO1/SDO2 находится сигнал высокого уровня. Если биты TOEN, T1EN и T2EN сбрасываются, то работа секции передатчика запрещается, что эквивалентно состоянию индивидуального сброса. Содержимое бита T0EN/ T1ENЯ2EN сбрасывается во время аппаратного или программного сброса.
Бит ведущего передатчика (TMST- бит 3). Доступный для записи и чтения управляющий бит ведущего передатчика позволяет переключать работу секции передатчика из режима ведущего в режим ведомого и наоборот. Когда этот бит установлен, секция передатчика SAI устанавливается в режим ведущего. В режиме ведущего управление передатчика происходит с помощью выводов SCKT и WST. В режиме ведомого управление этими выводами осуществляется от внешнего источника. Содержимое бита TMST сбрасывается во время аппаратного или программного сброса.
Бит управления длиной слова передатчика (TWL[1:0] - биты 4 и 5). Доступные для записи и чтения биты управления длиной слова используется для выбора длины слова, передаваемой SAI. Длина слова данных определяется числом циклов тактового сигнала последовательной передачи между двумя краями сигнала выбора слова. Слово длиной 16, 24 или 32 бита может быть выбрано в соответствии с табл. 6.41. Если выбрана 16-битная длина слова, то 16 старших значащих битов регистра данных передачи будет передано в выбранном направлении сдвига (TDIR см. ниже). Если выбрана 32-битная длина слова, то 24 бита слова регистра данных передачи дополняются до 32 бит в соответствии со значением управляющего бита (TDWE).
Биты TWL[1:0] также используются для генерации отображения выбранного слова, когда секция передатчика сконфигурирована в режим ведущего (TMST =1). Содержимое битов TWL[1:0] сбрасывается при аппаратном или программном сбросе.
Бит направления сдвига данных передачи (TDIR- бит 6). Доступный для записи и чтения бит TDIR позволяет выбрать направление сдвига передаваемых данных. Когда бит сбрасывается, то данные выдвигаются со стороны старшего значащего бита. Когда бит установлен, данные выдвигаются со стороны младшего значащего бита (рис. 6.68). Содержимое бита сбрасывается во время аппаратного или программного сбросе.
Бит выбора правого/левого слова передачи (TLRS-бит 7). Доступный для записи и чтения бит TLRS позволяет выбрать полярность сигнала выбора слова передатчика (WST), который определяет левое и правое слово в выходном потоке. Когда бит сбрасывается, низкий сигнал WST идентифицирует левое слово данных. Когда бит устанавливается, низкий сигнал WST идентифицирует правое слово данных (рис. 6.69). Содержимое бита сбрасывается при аппаратном или программном сбросе.
Бит полярности тактового сигнала передатчика (ТСКР - бит 8). Доступный для записи и чтения бит ТСКР позволяет выбрать полярность тактового сигнала последовательного приема данных. Когда бит очищается, полярность тактового сигнала отрицательна. Когда бит устанавливается, полярность тактового сигнала положительна. Отрицательная полярность означает, что линии приема выбранного слова (WST) и входа последовательных данных (SDOx) работают синхронно по отрицательному краю (спаду) тактового сигнала и рассматриваются как действительные во время положительного перехода тактового сигнала. Положительная полярность означает, что WST и SDOx работают синхронно по положительному фронту тактового сигнала и рассматриваются как действительные во время отрицательного перехода тактового сигнала (рис. 6.70). Содержимое бита сбрасывается во время аппаратного или программного сброса.
Бит относительной синхронизации передатчика (TREL - бит 9). Доступный для записи и чтения бит TREL позволяет выбрать относительную синхронизацию сигнала WST относительно линии выхода последовательных данных (SDOx). Когда бит сбрасывается, переход на линии WST, отражающий начало слова данных, происходит одновременно с 1-м битом слова данных. Когда этот бит устанавливается, переход на линии WST происходит на один такт раньше (вместе с последним битом предыдущего слова данных), что соответствует формату I2S (рис. 6.71). Содержимое бита сбрасывается во время аппаратного или программного сброса.
Бит округления слов данных при передаче (TDWE) - бит 10). Доступный для записи и для чтения бит TDWE позволяет выбрать метод расширения во время передачи 24-битного слова данных до 32 битов. Когда бит сбрасывается после передачи 24-битного слова данных из регистра передачи данных, восемь раз передается последний бит, Когда бит устанавливается, восемь раз передается 1-й бит, а затем из регистра данных передачи передается 24-битовое слово. Бит TDWE игнорируется, если биты TWL[1:0] устанавливаются в положение, соответствующее длине, не равной 32 битам (рис. 6.72). Содержимое бита сбрасывается во время аппаратного или программного сброса.
Бит разрешения прерывания передатчика (TXIE- бит 11). Когда доступный для записи и чтения управляющий бит TXIE устанавливается, разрешаются прерывания передатчика для слов данных справа и слева, а работа DSP прерывается, если установлен один или оба бита TLDE и TRDE. Когда TXIE сбрасывается, прерывания передатчика запрещаются, однако биты TLDE и TRDE продолжают отображать условие пустоты регистра данных приемника. Отметим, что сброс бита RXIE будет маскировать отложенное прерывание приемника только после задержки величиной в один цикл команды. Если бит TXIE сбрасывается в подпрограмме обслуживания длительного прерывания, то рекомендуется, чтобы хотя бы одна команда была вставлена между командами, которые очищают TXIE, а в конце процедуры обработки прерывания была вставлена команда RTI.
Существуют три различных типа прерываний для передатчика, которые имеют отдельные векторы прерываний.
1. Прерывание передачи по левому каналу; генерируется при TXIE = 1, TDLE = 1,
TRDE = 0. Регистры данных передачи следует загрузить данными слева.
2. Прерывание передачи по левому каналу; генерируется при TXIE = 1, TDLE = 0,
TRDE = 1. Регистры данных передачи следует загрузить данными справа.
3. Прерывание передачи с исключительной ситуацией; генерируется при ТХ1Е=1,
TDLE = 1, TRDE = 1. Это означает, что предыдущие данные в регистре данных приемника
были потеряны или произошел перезапуск, т. е. передаются старые данные.
Для того чтобы очистить TDLE и TRDE во время обслуживания прерываний по правому или левому каналу, должно быть прочитано содержимое регистра данных передачи того приемника, работа которого разрешена. Очистка TDLE или TRDE приведет к сбросу соответствующего запроса на прерывание. Если возникает ситуация «прерывания приема с исключительной ситуацией» (TDLE = TRDE = 1), то оба бита TDLE и TRDE очищаются с помощью чтения содержимого регистра TCS, которое следует за чтением содержимого регистра данных приема тех приемников, работа которых разрешена.
Бит размещения прерываний передачи (TXIL - бит 12). Доступный для записи и чтения бит управления TXIL определяет размещение векторов прерываний приемников. Когда TXIL = 0, прерывания по левому и правому каналам приемника, а также прерывание приема с исключительной ситуацией размещаются по программным адресам $10, $12, $14 соответственно. Когда TXIL = 1, прерывания по левому и правому каналам приемника, а также прерывание приема с исключительной ситуацией размещаются по программным адресам $40, $42, $44 соответственно. Бит TXIL сбрасывается во время аппаратного или программного сброса (см. табл. 6.38).
Резервный бит (TCS - бит 13). Этот бит не используется и читается как нуль, его следует также записывать нулевым для обеспечения дальнейшей совместимости.
Бит пустоты данных слева при передаче (TLDE—бит 14), Бит TLDE доступен только для чтения и вместе с битом TRDE отражает статус регистров данных передачи, работа которых разрешена. Бит TLDE устанавливается, когда слово данных справа (что отражается в бите TLRS регистра TCS) одновременно передается из регистров данных передачи в регистры сдвига передачи разрешенного передатчика. Это означает, что регистры данных передачи в данный момент свободны для загрузки слов данных слева. Поскольку аудиоданные располагаются в словах двух типов (слева и справа) и читаются наоборот, то обычная операция передачи происходит, когда установлен только один бит статуса (TLDE или TRDE). Условие дополнительного запуска передачи показывает, что установлены оба бита. Бит TLDE сбрасывается, когда DSP осуществляет запись содержимого регистра данных передачи того передатчика, работа которого разрешена, при этом TLDE TRDE = 1. В случае возникновения условия дополнительного запуска TLDE • TRDE = 1, предыдущие данные будут переданы повторно (те данные, которые находятся в регистре данных передачи). В этом случае бит TLDE сбрасывается при первом чтении содержимого TCS, следующем за записью регистра данных передачи разрешенного передатчика. Если бит TXIE установлен, то, когда будет установлен бит TLDE, возникнет запрос прерывания. Вектор запроса прерывания будет зависеть от условия дополнительного запуска передачи. Бит TLDE также сбрасывается при аппаратном или программном сбросе, когда DSP находится в состоянии останова и когда все передатчики запрещены (TOEN, T1EN, T2EN сброшены).
Бит пустоты данных справа при передаче (TLDE - бит 15). Бит TLDE доступен только для чтения и вместе с битом TRDE отражает статус регистров данных передачи, работа которых разрешена. Бит TLDE устанавливается, когда слово данных слева (что отражается в бите TLRS регистра TCS) одновременно передается из регистра данных передачи в регистры сдвига передачи разрешенного передатчика. Это означает, что регистры данных передачи в данный момент свободны для загрузки слов данных слева. Поскольку аудиоданные располагаются в словах двух типов (слева и справа) и читаются наоборот, то обычная операция передачи происходит, когда установлен только один бит статуса (TLDE или TRDE). Условие дополнительного запуска передачи показывает, что установлены оба бита. Бит TLDE сбрасывается, когда DSP осуществляет запись содержимого регистра данных передачи того передатчика, работа которого разрешена, при этом TLDE ©TRDE = 1. В случае возникновения условия дополнительного запуска (TLDE • TRDE = 1) предыдущие данные будут переданы повторно (те данные, которые находятся в регистре данных передачи). В этом случае бит TLDE сбрасывается при первом чтении содержимого TCS, следующем за записью регистра данных передачи разрешенного передатчика. Если бит TXIE установлен, то, когда будет установлен бит TLDE, возникнет запрос прерывания. Вектор запроса прерывания будет зависеть от условия дополнительного запуска передачи. Бит TLDE также сбрасывается при аппаратном или программном сбросе, когда DSP находится в состоянии останова и когда все передатчики запрещены (TOEN, T1EN, T2EN сброшены).