SSI接口技术及其在音频处理中的应用

tlv320dac23是ti公司推出的高性能立体声高端编解码芯片,支持多种采样率和多种音频格式,并具有功耗低、封装小的特点,广泛应用于便携式数字音频处理系统中。
1 同步串行接口ssi的工作原理
synchronous serialinterface(ssi)是一个全双工的串行接口,允许芯片与多种串行设备通信。它是高精度绝对值角度编码器中一种较常用的接口方式,它采用主机主动式读出方式,即在主控者发出的时钟脉冲的控制下,从最高有效位(msb)开始同步传输数据。ssi模块结构如图1所示。
从图中可看出,ssi模块由发送电路、接收电路、串行时钟和帧同步时钟产生电路组成。发送电路和接收电路相互独立,但是共用串行时钟和帧同步时钟。
1.1 ssi模块引脚信号描述
sslclkin:ssi时钟输入信号。
sslbclk:ssi串行比特时钟。
sslmclk:ssi串行主时钟信号,在ssi主模式下,
该信号也作为过采样时钟信号。
ssi_fs:ssi串行帧同步信号。
sslrxd:ssi串行接收数据信号。
ssi_txd:ssi串行发送数据信号。
1.2 ssi的操作模式
ssi有3种基本同步操作模式:普通模式、网络模式和门时钟模式。
普通模式是最简单的模式,一帧内只能传输一个字,而且每一帧都需要帧同步信号来控制同步;网络模式主要用于多时隙的情况下,一帧内可以传输2个字到32个字不等;门时钟ssi_bclk模式下,串行比特时钟ssi_bclk指示了发送引脚或接收引脚上的有效数据,所以不需要帧同步信号。
除了上述3种基本模式外,针对音频上的应用,ssi还支持两种衍生模式——i2s模式和ac97模式,分别用于传输i2s和ac97音频格式数据。
1.3 ssi的初始化
初始化ssi模块的正确顺序:
①上电或重启ssi(ssi_cr[ssi_en]=0),即关闭ssi模块功能。
②配置ssi模块。涉及的寄存器包括控制寄存器ssi_cr、中断允许寄存器ssi_ier、发送配置寄存器ssi_tcr、接收配置寄存器ssi_rcr和时钟控制寄存器ssi_ccr。
③通过ssi_ier寄存器设置必要的中断或dma。
④设置ssi_cr[ssi_en]=1允许ssi模块功能。
⑤设置ssi_cr[te/re],开始发送/接收数据。
1.4 ssi的工作过程
(1)发送数据
单通道时,数据从串行发送数据寄存器ssi_tx0中传到发送移位寄存器txsr中,再通过串行发送引脚ssi_txd发送出去,然后根据用户设置情况决定是否产生发送中断。如果发送缓冲区txfifoo被允许,则ssi_tx0继续从txfifoo中取数据,直到txfifoo中的数据全部被发送,再通过用户设置情况决定是否产生发送中断。双通道时,发送移位寄存器txsr交替从ssi_tx0 和ssi_txl中取出数据。
(2)接收数据
单通道时,数据从串行接收引脚ssi_rxd进来,由接收移位寄存器rxsr传输给接收数据寄存器ssi_rx0,再根据用户设置情况决定是否产生接收中断。如果接收缓冲区rxfifoo被允许,则ssi_rx0将数据写入rxfifoo,并继续从接收移位寄存器中获取数据。双通道时,接收移位寄存器rxsr交替将数据传输给ssi_rx0和ssi_rxl。
2 音频编解码芯片简介
tlv320dac23是ti公司推出的一颗高性能立体声音频处理芯片(codec芯片),采用了多比特sigma-delta过采样技术,采样率可以从8 khz到96 khz,传输字长可选择为16位、20位、24位或32位;最大输出信噪比可达到100 db;控制端口可兼容spi、2-wire等协议;回放模式下功率为18 mw,省电模式下小于15μw;适用于便携式的数字音频处理。其功能模块框图如图2所示。
2.1 控制接口
控制接口用于对器件tlv320dac23的寄存器编程,设置音频芯片的工作参数。它兼容两种模式:spi三线模式和2一wire模式。
mode:模式选择引脚。为0时,采用2一wire模式;为1时,采用spi模式。
sclk:控制端口串行数据时钟。
sdi:控制端口串行数据输入。
cs:控制端口输入锁存/地址选择。在spi模式下,cs用于数据锁存控制;在2一wire模式下,cs定义了器件地址域的第7位。spi模式下,一个控制字为16位,分为两部分:高7位为控制地址,低9位为控制字。16位的控制字由msb位开始传输,每个比特在sclk的上升沿被锁存,整个16位的控制字在最低位被cs锁存进tlv320dac23。操作时序如图3所示。其中,b[15:9]为控制地址,b[8:o]为控制字。
2.2 模拟接口
模拟接口包括线输入、线输出和耳机输出。耳机输出可以驱动16ω或32 ω的耳机,音量增益为6 db到一73 db。
llinein、rlinein:左、右声道输入。
lout、rout:左、右声道输出。
lhpout、rhpout:左、右声道耳机输出
2.3 数字音频接口
数字音频接口用于输入tlv320dac23的d/a数据。
bclk:i2s串行比特时钟。主模式时bclk为输出,从模式时bclk为输入。
din:i2s串行数据输入。
lrcin:字时钟信号(帧信号),用于控制左、右声道的数据。在主模式中,由tlv320dac23产生该信号,在从模式中,由主设备(如dsp或mcu)产生该信号。
tlv320dac23支持4种音频接口模式:右对齐模式、左对齐模式、i2s模式和dsp模式。这4种模式都是最高有效位msb在前,16到32位不同的字长(右对齐除外,它不支持32位)。图4是i2s模式下的数字音频接口时序,数据的msb在lrcin下降沿后的第2个bclk上升沿开始传输。
2.4 时钟接口
mclk:芯片主时钟信号。当tlv320dac23作为主设备时,该信号由芯片自身产生;当tlv320dac23作为从设备时,该信号由外部产生。
clkout:时钟输出信号。可以为mclk或mclk/2。
3 基于mcf5329的音频驱动设计
3.1 硬件电路
tlv320dac23与mcf5329的接口有两个:一个是控制接口,用于设置tlv320dac23的寄存器,从而设置它的工作参数。由于mcf5329具有qspi模块,它兼容spi接口格式,所以tlv320dac23的控制接口采用spi模式。另一个是数字音频接口,用于传输tlv320dac23的音频数据并控制数据的时序。由于mcf5329的ssi模块支持i2s音频格式,所以tlv320dac23的数字音频接口采用i2s模式。
在本设计中,由微控制器mcf5329提供时钟信号,所以将mcf5329设为主设备,tlv320dac23作为从设备。具体连接如图5所示。
3.2 软件设计
音频播放的过程如下:程序检测到用户空间有需要播放的音频数据,便将音频数据拷贝到所建立的缓冲区中;然后通过dma将缓冲区的音频数据传输到ssi模块的发送引脚ssi_txd,发送引脚将数据发送至tlv320dac23中,通过耳机播放出来。
软件设计的流程如图6所示。其中,音频缓冲区被设置为一个固定大小的循环队列,其设置如图7所示。初始时,bufstart、audiostart、audiotail都指向缓冲区头。当用户空间有数据时,将数据拷贝到缓冲区并用audiotail指示数据尾部,数据的头部通过dma引擎连接到ssi_txd引脚,随着数据被ssi_txd发送至tlv320dac23,audiostart跟踪数据的头部。
结 语
本文分析了同步串行接口ssi的工作原理及过程,并通过与编解码芯片tlv320dac23的通信详细介绍了ssi在音频处理中的应用。实践表明,ssi接口简单,使用灵活可靠。

宽输入电压和输出电压范围的降压/升压电池充电器的优势
软件如何推动对动态网络管理的需求
无线蓝牙耳机哪款好,音质好的蓝牙耳机推荐
ASIC设计厂商智原推出基于联电28与40纳米工艺的完整成像与显示高速接口IP集
利用PID控制算法和温度传感器实现锅炉温度流量串级控制系统的设计
SSI接口技术及其在音频处理中的应用
蔡司三坐标测量机cmm三次元测量仪
是德科技自动化超宽带物理层一致性测试工具获得FiRa认证
基于海洋投弃式声速仪(XSV)的通信系统
签订千亿大单 天猫手机抢先布局2017年行业市场
OPPO R19或将使用骁龙730处理器,配备屏下摄像头
NOAA将使用Microsoft AI来增强对濒危物种的保护
什么是Pos的远程攻击
如何将PCB原理图传递到版图
三星将跨入OLED 全面对抗LGD
科创板首日大涨,催生中国“科技新贵”
Brand Finance发布《 Telecoms 150 2020》年度报告
提到区块链,第一想到的就是微软了!
什么是神经网络?为什么说神经网络很重要?神经网络如何工作?
Soitec正整装待发面向大规模硅光子市场