Project

General

Profile

R1 I2S » History » Version 3

Version 2 (krufter_multiclet, 06/16/2015 11:42 AM) → Version 3/4 (krufter_multiclet, 06/16/2015 11:50 AM)

h1. I2S Мультиклет R1

Особенности:
1) Работает в режиме "ведущий" и "ведомый"
2) Выбор разрядности сэмпла от 16 до 32 бит
3) Глубина буфера приемника-передатчика 32 строки
4) Предделитель синхронизирующей частоты

Cтроки буфера приемника-передатчика размещаются в виде регистров(адреса смещения 0xC, 0x10, 0x14...)
Статусный бит LSBF означает, что 16 строк общего буфера заполнены.
Статусный бит HSBF означает, что все 32 строки общего буфера заполнены.

*Важно:* на передачу контроллер I2S функционирует в полном объеме. На прием в текущей версии процессора недоступен буфер приема на чтение.
Поэтому в текущей версии процессора необходимо программно определять входное значение. Т.е. с помощью GPIOxIN определять текущий уровень
тактирующего сигнала и снимать значение с линии данных(все сигналы кроме линии данных на прием работают штатно).

*Регистр конфигурации I2S_CFG:*
Бит 0 - разрешение работы
1 - разрешение прерываний
2 - установка записи левого канала (1 - в нечетные адреса, 0 - в четные адреса)
3 - выбор режима (1 - ведущий, 0 - ведомый)
4 - прием или передача данных (1 - передача, 0 - прием)
5-7 - резерв
8-15 - предделитель (частота работы процессора делится на число записанное а данных битах)
16-21 - размер сэмпла (16-32)
22-31 - резерв

*Регистр маски прерываний I2S_MSK:*
0 - нижний буфер LSBF аудио данных заполнен
1 - верхний буфер HSBF аудио данных заполнен
2-31 - резерв

*Регистр прерываний I2S_INT:*
0 - нижний буфер LSBF аудио данных заполнен
1 - верхний буфер HSBF аудио данных заполнен
2-31 - резерв

*Регистр данных I2S_DATA:*
0-31 - данные на передачу и прием (в текущей версии процессора это регистр только для передачи, см графу "Важно")