R1 I2S » History » Version 4
krufter_multiclet, 06/16/2015 11:53 AM
1 | 1 | krufter_multiclet | h1. I2S Мультиклет R1 |
---|---|---|---|
2 | 1 | krufter_multiclet | |
3 | 1 | krufter_multiclet | Особенности: |
4 | 1 | krufter_multiclet | 1) Работает в режиме "ведущий" и "ведомый" |
5 | 1 | krufter_multiclet | 2) Выбор разрядности сэмпла от 16 до 32 бит |
6 | 1 | krufter_multiclet | 3) Глубина буфера приемника-передатчика 32 строки |
7 | 1 | krufter_multiclet | 4) Предделитель синхронизирующей частоты |
8 | 1 | krufter_multiclet | |
9 | 4 | krufter_multiclet | Cтроки буфера приемника-передатчика размещаются в виде регистров(адреса смещения 0xC, 0x10, 0x14...) |
10 | 1 | krufter_multiclet | Статусный бит LSBF означает, что 16 строк общего буфера заполнены. |
11 | 1 | krufter_multiclet | Статусный бит HSBF означает, что все 32 строки общего буфера заполнены. |
12 | 1 | krufter_multiclet | |
13 | 2 | krufter_multiclet | *Важно:* на передачу контроллер I2S функционирует в полном объеме. На прием в текущей версии процессора недоступен буфер приема на чтение. |
14 | 2 | krufter_multiclet | Поэтому в текущей версии процессора необходимо программно определять входное значение. Т.е. с помощью GPIOxIN определять текущий уровень |
15 | 2 | krufter_multiclet | тактирующего сигнала и снимать значение с линии данных(все сигналы кроме линии данных на прием работают штатно). |
16 | 2 | krufter_multiclet | |
17 | 2 | krufter_multiclet | *Регистр конфигурации I2S_CFG:* |
18 | 1 | krufter_multiclet | Бит 0 - разрешение работы |
19 | 1 | krufter_multiclet | 1 - разрешение прерываний |
20 | 1 | krufter_multiclet | 2 - установка записи левого канала (1 - в нечетные адреса, 0 - в четные адреса) |
21 | 1 | krufter_multiclet | 3 - выбор режима (1 - ведущий, 0 - ведомый) |
22 | 1 | krufter_multiclet | 4 - прием или передача данных (1 - передача, 0 - прием) |
23 | 1 | krufter_multiclet | 5-7 - резерв |
24 | 1 | krufter_multiclet | 8-15 - предделитель (частота работы процессора делится на число записанное а данных битах) |
25 | 1 | krufter_multiclet | 16-21 - размер сэмпла (16-32) |
26 | 2 | krufter_multiclet | 22-31 - резерв |
27 | 2 | krufter_multiclet | |
28 | 2 | krufter_multiclet | *Регистр маски прерываний I2S_MSK:* |
29 | 2 | krufter_multiclet | 0 - нижний буфер LSBF аудио данных заполнен |
30 | 2 | krufter_multiclet | 1 - верхний буфер HSBF аудио данных заполнен |
31 | 2 | krufter_multiclet | 2-31 - резерв |
32 | 2 | krufter_multiclet | |
33 | 2 | krufter_multiclet | *Регистр прерываний I2S_INT:* |
34 | 2 | krufter_multiclet | 0 - нижний буфер LSBF аудио данных заполнен |
35 | 2 | krufter_multiclet | 1 - верхний буфер HSBF аудио данных заполнен |
36 | 2 | krufter_multiclet | 2-31 - резерв |
37 | 2 | krufter_multiclet | |
38 | 2 | krufter_multiclet | *Регистр данных I2S_DATA:* |
39 | 2 | krufter_multiclet | 0-31 - данные на передачу и прием (в текущей версии процессора это регистр только для передачи, см графу "Важно") |