没有合适的资源?快使用搜索试试~ 我知道了~
首页PCM_I2S接口控制器
资源详情
资源评论
资源推荐

1
1.1.1.1 PCM_I2S 接口控制器
PCM_I2S 模块支持 PCM 和 I2S 两种接口协议。其中 I2S 模式时,支持 TDM 串行接口
和标准 I2S 接口。
Inter-IC sound(I2S)总线是针对于数字音频处理的串口连接协议。接口模块中数据接
收 FIFO 和数据发送 FIFO 用于缓存数据,完成数据的串并转换,即外部音频数字信号经移
位寄存器转换为并行数据后写入接收 FIFO;内部总线数据写入发送 FIFO 中,数据经移位
寄存器转换为串行数据以 I2S 总线协议传输到外部标准数字音频处理芯片。
TDM(Time Division Multiplexed) 串行接口,通过单根数据线传输多个通道的音频数
据。接口模块中数据接收 FIFO 和数据发送 FIFO 用于缓存数据,完成数据的串并转换,即
外部音频数字信号经移位寄存器转换为并行数据后写入接收 FIFO;内部总线数据写入发送
FIFO 中,数据经移位寄存器转换为串行数据以 TDM 协议传输到外部标准数字音频处理芯
片。
PCM 模式支持 4 线串行接口,可用于连接音频 codec 芯片或 Bluetooth 芯片。
模块内部包含接收 FIFO 和发送 FIFO 用于缓存数据。DMAS 通道将输出数据写入发送
FIFO 中,PCM 模块通过 PCM 接口将数据发送到片外接收设备;从芯片 PCM 接口输入的
数据写入接收 FIFO,然后由 DMAS 读出到软件指定的内部存储空间。
PCM_I2S 的基地址为:0xE100E000
1.1.1.1.1 功能特点
I2S 接口:
支持标准 I2S 串口协议,可以连接支持 I2S 协议的标准数字音频处理芯片
根据控制信号的源头不同,支持 master(控制信号由 COM_I2S 模块给出)和 slave
(控制信号由外部数字音频处理芯片给出)方式
左右声道的字长支持 16bits、24bits 和 32bits
TDM 接口:
支持 TDM 串行接口时序,支持两种时序模式,一种是通道(时隙)起始与帧同步信
号的上升沿对齐,另一种是通道(时隙)起始比帧同步信号的上升沿delay一个 SCLK
时钟周期
支持 master(控制信号由 COM_I2S 模块给出)和 slave(控制信号由外部数字音
频处理芯片给出)方式
每帧通道(时隙)数目可配置,每帧支持 2、3、4、5、6、7 或 8 个通道(时隙)
每个通道(时隙)长度固定为 32bit
每个通道(时隙)有效位可配置,支持 16bits、18bits、20bits 或 24bits,数据左对齐
PCM 接口特性:
接收和发送支持最多 4 个 slot,接收和发送通道 slot 个数相同

每个 slot 包含 16bits 数据,接收通道数据以 32bits 写入接收 FIFO 中;发送
数据从发送 FIFO 中读出,32bits 均为有效数
接收和发送数据在内存中以小端格式存放
对于每个 slot,先收到的数据为高位,发送时从每个 slot 的高位数据开始发送
(不支持 LSB first 方式)
支持 Master 和 Slave 两种工作模式
在 Master 方式中,帧信号、SCLK 信号由 COM_PCM 模块产生
在 Slave 模式下,帧信号、SCLK 由管脚输入
接收单通道模式下,支持两种帧头格式,帧头信号的上升沿或下降沿表示一帧开始
软件可配置模块在 SCLK 的上升沿或下降沿采样输入数据
软件可配置模块在 SCLK 的上升沿或下降沿输出数据
在 master 模式下,如果软件配置模块在 SCLK 上升沿输出数据,则模块输出的帧
头信号与 SCLK 上升沿同步,如果软件配置模块在 SCLK 下降沿输出数据,则模
块输出的帧头信号与 SCLK 下降沿同步
支持帧长度对应的 SCLK 时钟个数大于 slot 个数乘以 16 的情况
SCLK 时钟相位可配置翻转,master 模式下,软件可控制输出 SCLK 相位与
COM_PCM 模块内部采样或驱动输出数据的 SCLK 相位反相;slave 模式下,软
件可配置输入 SCLK 相位反相
数据线上第一个输出数据, 可以和帧信号同时出来, 也可以滞后帧信号一个时钟
周期。
系统接口:
模块支持 32bits APB 总线接口
接收数据 FIFO(32 x 32Bit)缓存外部音频数字信号
发送数据 FIFO(32 x 32Bit)缓存内部总线(COM_APB)数据
接收和发送支持 DMAS 硬件握手
中断输出

1.1.1.1.2 功能描述
1.1.1.1.2.1 结构框图
接收
FIFO(32X32
bits)
DATA_APB
接口
硬件握手
时钟产生
单元
移位寄存器
PCM_I2S
i2s_mclk
DMAS
发送
FIFO(32X32
bits)
I2S
数据
通路控制单
元
移位寄存器
sdout
sclk
fsync
sdin
图 1-1 PCM_I2S 串行接口模块框图
COM_I2S 模块包含数据发送和数据接收通路。
对于接收数据通路,输入数据经过移位寄存器转为并行数据后写入接收 FIFO,软件通
过总线接口读取接收数据或通过 DMAS 将接收到的数据写入音频数据缓冲区。
对于发送数据通路,软件通过总线接口或 DMAS 通道,将音频数据写入发送 FIFO,
COM_I2S 模块根据 TDM 或 I2S 帧同步信号和 SCLK 时钟,通过移位寄存器将 FIFO 数据
转换为串行数据输出。
COM_I2S 模块支持 master 和 slave 两种工作模式。
在 master 模式下,COM_I2S 模块产生帧同步信号和串行时钟(i2s_fsync 和 i2s_sclk),
并输出给芯片外部的音频设备。软件通过配置时钟产生单元,控制这两个信号的频率,以满
足帧率需求。
在 slave 模式下,帧同步信号和串行时钟(i2s_fsync 和 i2s_sclk)由芯片外部的音频设备
产生,I2S 根据输入的帧同步信号和串行时钟(i2s_fsync 和 i2s_sclk),完成数据接收和发送
工作。
TDM 和 I2S 模式共用 FIFO,两种模式不能同时工作。
1.1.1.1.2.2 子模块功能描述
1.1.1.1.2.2.1 I2S 总线
I2S 采用 4 线连接:
连续串行时钟(i2s_sclk)

字选择线(i2s_ws)
串行数据输入(i2s_sdin)
串行数据输出(i2s_sdout)
1.1.1.1.2.2.2 串口总线基本要求
当 COM_I2S 模块作为 master 时,COM_I2S 模块提供时钟信号 i2s_sclk,字选择信号
i2s_ws,并给出数据 i2s_sdin/i2s_sdout。当 COM_I2S模块作为 slave 时,时钟信号 i2s_sclk,
字选择信号 i2s_ws 由外部数字音频处理芯片给出,而 COM_I2S 模块在时钟和字选择信号
的控制下给出数据 i2s_sdin/i2s_sdout。图 1-2 下左边为 COM_I2S 模块工作在 master 方
式下,图 1-2 右边为 COM_I2S 模块工作在 slave 方式下。
图 1-2 I2S 连接示意图
COM_I2S_MODE 寄存器的 DLY_MODE 位可以控制 I2S 支持的接口时序,当该位为“0”
时,模块在 i2s_ws 跳变后一个 i2s_sclk 周期发送或接收数据;当该位为“1”时,模块在 i2s_ws
跳变后发送或接收数据。
master 模式下只支持 DLY_MODE=0 模式。
当 I2S 工作在 slave 模式时,在一个 i2s_ws 周期中,对于 LEFT 和 RIGHT 声道,必须
保证外部输入的 i2s_sclk 时钟有且只有 16 个上升沿。
图 1-3 master 模式下,DLY_MODE=0
图 1-4 slave 模式下,DLY_MODE=1
剩余16页未读,继续阅读



















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0