SPI_I2S configuration register (SPI_I2SCFGR)

Регистр конфигурации SPI/I2S

Смещение (Address offset): 0x1C

Reset value: 0x0000

15141312111098
Reserved I2SMOD I2SE I2SCFG[1:0]
---rwrwrw
00000000
76543210
PCMSYNC Reserved I2SSTD[1:0] CKPOL DATLEN[1:0] CHLEN
rw---rwrwrwrw
00000000


Биты
Имя
Описание
15:12
Reserved
Reserved, must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
11
I2SMOD
I2S mode selection
Выбор режима работы SPI или I2S

 0 :  режим SPI

 1 :  режим I2S

Выбор режима возможен при отключенном контроллере SPI (бит SPE регистра SPI_CR1) и I2S (бит I2SE этого регистра).

10
I2SE
I2S Enable
Включение контроллера I2S

 0 :  контроллер I2S отключен

 1 :  контроллер I2S включен

Бит недоступен при включенном SPI-контроллере (бит SPE=1 регистра SPI_CR1).

9:8
I2SCFG[1:0]
I2S configuration mode
Режим конфигурации I2S

 00 :  Slave - transmit

 01 :  Slave - receive

 10 :  Master - transmit

 11 :  Master - receive

Изменение конфигурации возможно когда I2S отключен (I2SE=0)

Недоступен в SPI режиме.

7
PCMSYNC
PCM frame synchronization

 0 : 

 1 : 

Недоступен в SPI режиме.

6
Reserved
Reserved, forced at 0 by hardware
Зарезервировано. Аппаратно установлено в 0
5:4
I2SSTD
I2S standard selection
Выбор стандарта I2S

 00 :  I2S Philips standard

 01 :  MSB justified standard (left justified)

 10 :  LSB justified standard (right justified)

 11 :  PCM standard

Изменение конфигурации возможно когда I2S отключен (I2SE=0)

Недоступен в SPI режиме.

3
CKPOL
Steady state clock polarity
Полярность тактового сигнала в установившемся режиме

 0 :  установившийся уровень тактового сигнала — низкий

 1 :  установившийся уровень тактового сигнала — высокий

Изменение бита возможно когда I2S отключен (I2SE=0)

Недоступен в SPI режиме.

2
DATLEN[1:0]
Data length to be transferred
Длина передаваемых данных

 00 :  16 бит

 01 :  24 бита

 10 :  32 бита

 11 :  недоступно

Изменение конфигурации возможно когда I2S отключен (I2SE=0)

Недоступен в SPI режиме.

0
CHLEN
Channel length (number of bits per audio channel)
Ширина (разрядность) аудиоканала

 0 :  16 бит

 1 :  32 бита

16-битный аудиоканал возможет только при DATLEN=00. В противном случае аппаратно выставляется 32-битный аудиоканал независомо от значения CHLEN

Изменение бита возможно когда I2S отключен (I2SE=0)

Недоступен в SPI режиме.



/*******************  Bit definition for SPI_I2SCFGR register  ********************/

#define  SPI_I2SCFGR_CHLEN        ((uint16_t)0x0001)     /* Channel length (number of bits per audio channel) */

#define  SPI_I2SCFGR_DATLEN       ((uint16_t)0x0006)     /* DATLEN[1:0] bits (Data length to be transferred) */
#define  SPI_I2SCFGR_DATLEN_0     ((uint16_t)0x0002)     /* Bit 0 */
#define  SPI_I2SCFGR_DATLEN_1     ((uint16_t)0x0004)     /* Bit 1 */

#define  SPI_I2SCFGR_CKPOL        ((uint16_t)0x0008)     /* steady state clock polarity */

#define  SPI_I2SCFGR_I2SSTD       ((uint16_t)0x0030)     /* I2SSTD[1:0] bits (I2S standard selection) */
#define  SPI_I2SCFGR_I2SSTD_0     ((uint16_t)0x0010)     /* Bit 0 */
#define  SPI_I2SCFGR_I2SSTD_1     ((uint16_t)0x0020)     /* Bit 1 */

#define  SPI_I2SCFGR_PCMSYNC      ((uint16_t)0x0080)     /* PCM frame synchronization */

#define  SPI_I2SCFGR_I2SCFG       ((uint16_t)0x0300)     /* I2SCFG[1:0] bits (I2S configuration mode) */
#define  SPI_I2SCFGR_I2SCFG_0     ((uint16_t)0x0100)     /* Bit 0 */
#define  SPI_I2SCFGR_I2SCFG_1     ((uint16_t)0x0200)     /* Bit 1 */

#define  SPI_I2SCFGR_I2SE         ((uint16_t)0x0400)     /* I2S Enable */
#define  SPI_I2SCFGR_I2SMOD       ((uint16_t)0x0800)     /* I2S mode selection */