USER GUIDE / AUDIO SYSTEM / PWMA / 寄存器描述
寄存器描述
AUDIO Control Register (AUDIO_CON)
AUDIO_CON是一个32位寄存器,任何复位操作都会将其初始化为0x00000000。
AUDIO_CONBASE+0x0000
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | CLR | DATA_TYPE | ENDIAN | INIT_LEVEL | IDLE_LEVEL | PRECISION | FORMAT | DMA_EN | AUDIO_CNT_EN | PRESCALE | |||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:19 | Reserved | 保留,写入无效,读取为0。 | R |
| 18 | CLR | 该位配置后清除DMA fifo数据并强行终止波形传输 0:无影响 1:清除 | RWC |
| 17 | DATA_TYPE | 该位控制DMA传输的数据类型 0:无符号数 1:有符号数 | RW |
| 16 | ENDIAN | 该位控制模块DMA传输数据的大小端。此处为量化位宽16bit数据内部的字节排列顺序,不涉及不同音频样本之间在32位数据总线上的排列顺序 0:小端数据大端数据 1:大端数据小端数据 | RW |
| 15 | INIT_LEVEL | 该位控制模块输出波形的起始电平 0:低电平 1:高电平 | RW |
| 14 | IDLE_LEVEL | 该位控制模块空闲状态下的输出波形电平,仅在DMA模式下使用 0:低电平 1:高电平 | RW |
| 13 | PRECISION | 该位控制输入的量化位宽 0:8bit 1:16bit | RW |
| 12:10 | FORMAT | 该位控制输入的音频格式: 3’b000:8Khz 3’b001:16Khz 3’b010:32Khz 3’b011:44.1Khz 3’b100:48Khz | RW |
| 9 | DMA_EN | DMA使能位 0:不使能 1:使能 | RW |
| 8 | AUDIO_CNT_EN | AUDIO使能位 0:不使能 1:使能 | RW |
| 7:0 | PRESCALE | AUDIO模块工作时钟分频系数,模块工作过程中不可改变寄存器值。可配置到0-255,即1-256分频。 | RW |
AUDIO Update Register (AUDIO_UPDATE)
AUDIO_UPDATEBASE+0x0004
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | UPDATE | ||||||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 保留,写入无效,读取为0。 | R |
| 0 | UPDATE | 更新每个通道的波形参数: 0:无影响 1:更新 | W |
AUDIO Status Register (AUDIO_ST)
AUDIO_STBASE+0x0008
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | AUDIO_WORK | DMA_FE | FST_WAVE | BUSY | |||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:4 | Reserved | 保留,写入无效,读取为0。 | R |
| 3 | AUDIO_WORK | 0:AUDIO不在工作 1:AUDIO正在输出波形 | R |
| 2 | DMA_FE | DMA FIFO空标志位 | R |
| 1 | FST_WAVE | 0:无影响 1:DMA传输第一个波形 | RWC |
| 0 | BUSY | 在设置AUDIO_UPDATE后,AUDIO_ST.BUSY位将保持1,直到更新生效。当位读取为0时,下一次更新的波形参数允许写入AUDIO_HIGH | R |
AUDIO Interrupt Mask Register (AUDIO_INT_MASK)
AUDIO_INT_MASKBASE+0x000C
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | EMPTY_MASK | Reserved | EMPTY_MASK | FST_WAVE_MASK | |||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:23 | Reserved | 保留,写入无效,读取为0。 | R |
| 12 | EMPTY_MASK | 0:DMA_FE不屏蔽 1:DMA_FE屏蔽 | RW |
| 0 | FST_WAVE_MASK | 0:FST_WAVE不屏蔽 1:FST_WAVE屏蔽 | RW |
AUDIO Period Threshold register(AUDIO_TH)
AUDIO_THBASE+0x0010
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | AUDIO_TH | ||||||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:175 | Reserved | 保留,写入无效,读取为0。 | R |
| 16:0 | AUDIO_TH | AUDIO波形计数周期,计数周期
= AUDIO_TH-1。 | RW |
AUDIO High-level Threshold register(AUDIO_HIGH)
AUDIO_HIGHBASE+0x0014
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | AUDIO_HIGH | ||||||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:175 | Reserved | 保留,写入无效,读取为0。 | R |
| 16:0 | AUDIO_HIGH | CPU模式下,输入的AUDIO高电平计数阈值。 | RW |
DMA Data Register (DMA_DATA)
DMA_DATABASE+0x0018
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | DMA_DATA | |||||||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | DMA_DATA | DMA模式下输入数据 示例: 场景1:8bit量化位宽,输入0x12345678 包括四个音频样本,从前到后依次为0x78,0x56,0x34,0x12 场景2:16bit量化位宽(小端),输入0x12345678 包括两个音频样本,依次为0x5678,0x1234 场景3:16bit量化位宽(小端),输入0x12345678 包括两个音频样本,依次为0x7856,0x3412 | RW |
AUDIO Volume Control Register (AUDIO_VOLUME)
AUDIO_VOLUMEBASE+0x001C
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserve | VOLUME_DOWN | VOLUME_GAIN | |||||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:9 | Reserve | 保留 | R |
| 8 | VOLUME_DOWN | 只对DMA模式有效,通过AUDIO_UPDATE更新有效 0: 放大音量 1: 减小音量 | RW |
| 7:0 | VOLUME_GAIN | 只对DMA模式有效,通过AUDIO_UPDATE更新有效 音量调节的增益因子,步长约0.5db,具体见1.1.5.1音量调节增益 | RW |
Soft Reset Register (SOFT_RESET,0x0020)
软件复位寄存器,实现软件复位。复位将自动清除,配置复位后,读取SOFT_RESET为1表明复位已经成功清除。
SOFT_RESETBASE+0x0020
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | SOFT_RESET | ||||||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 保留,写入无效,读取为0 | R |
| 0 | SOFT_RESET | 软件复位,低电平有效。写0触发复位,可自动清除。 | RW |
Soft Reset Status Register (SOFT_RESET_STATUS,0x0024)
软件复位状态寄存器
SOFT_RESET_STATUSBASE+0x0024
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | SOFT_RESET_STATUAS | ||||||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 保留,写入无效,读取为0 | R |
| 0 | SOFT_RESET_STATUAS | 软件复位状态。全局复位后默认为1,如果读出为0表明进行了软件复位,可以写1恢复默认状态 | RWC |