Project

General

Profile

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 - данные на передачу и прием (в текущей версии процессора это регистр только для передачи, см графу "Важно")