微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > IIS接口的FPGA实现

IIS接口的FPGA实现

时间:06-29 来源:互联网 点击:

在嵌入式系统中经常采用IIS(Inter-IC Sound)总线连接专用音频器件以实现音频输入输出。不少嵌入式处理器带有专用的通过操作特殊功能寄存器实现对外接音频器件的操作,但也有一些嵌入式处理器没有扩展IIS总线,如ARM7芯片S3C4510B。近年来,FPGA技术发展迅速,现已成为可编程片上系统(SoPC)的硬件载体。采用FPGA实现IIS总线及与总线相关的接口控制,一方面可以用硬件的方法实现IIS总线操作,使嵌入式系统很容易扩展音频功能;另一方面由于FPGA可以实现大量的组合逻辑和时序逻辑,还可以用来实现DSP算法,增加了系统的灵活性。

1 基本原理

1.1 系统方案

嵌入式处理器采用Samsung公司的ARM7芯片S3C4510B;音频芯片使用Philips 公司开发的UDA1341TS,这是一款适用于MiniDisc(MD)、PDA等便携式设备的高性能低功耗的经济型音频编码解码器;FPGA芯片则使用 Xilinx公司的Spartan-II 系列芯片XC2S100。系统示意图如图1。

图1中FPGA负责连接S3C4510B和UDA1341TS,为此需要按照访问UDA1341TS的时序要求实现IIS总线和L3接口,同时要按照S3C4510B总线时序要求,实现按存储器方式操作的特殊功能寄存器,并将对UDA1341TS的操作转换成对特殊功能寄存器的操作。这样S3C4510B便可以直接访问FPGA实现的特殊功能寄存器,从而实现对UDA1341TS的控制。

1.2 IIS和UDA1341TS简介

IIS又称I2S, 是Philips公司提出的串行数字音频总线协议,专用于芯片间进行高速高效的音频数据传输。IIS总线只处理声音数据,其他信号必须单独传输,如控制信号。IIS总线包括3 个信号线,即1个双向数据传输线SD(Serial Data)、一个声道选择线WS(Word Select)和1个时钟线SCK(Serial Clock)。在数据传输过程中,发送端和接收端具有相同的时钟信号,发送端作为主装置(Master)时,产生位时钟信号和声道选择信号,接收端被动响应。为了实现全双工传输模式,一些IIS实现时使用了Dout和Din两个数据线。

UDA1341TS片内集成了立体声ADC、DAC以及模拟输入通道,其中模拟输入通道包括可编程增益放大器(PGA)、数字自动增益控制(AGC)、 数字声音处理(DSP)等。UDA1341TS的重放过程也具有可编程的DSP功能,如去加重、音量控制、低音增强、高音增强以及软件配置静音等。

根据串行音频数据输入输出格式和每声道字长的不同,UDA1341TS支持4种操作模式,分别是:(1)字长不超过20位的IIS总线模式;(2)字长不超过20位的最高位对齐(MSB-justified)模式;(3)字长为16、18或20位的最低位对齐(LSB-justified)模式;(4)输出采用最高位对齐,输入采用字长为16、18或20位的最低位对齐模式。其中IIS总线模式和最高位对齐模式操作时序如图2所示。二者具有相同的信号线,但左右声道控制电平和位延迟不同,对于IIS总线,声道控制电平改变后,最高位推迟一个时钟周期才发送。

对UDA1341TS的所有功能控制和状态获取均通过3线串行接口L3实现。该接口包含3个信号线,分别是串行数据线L3DATA、接口模式选择线L3MODE和串行时钟线L3CLOCK。L3接口操作有两种模式,即地址模式和数据传输模式。地址模式用于选中后续操作所要访问的芯片及其内部寄存器,被地址模式选中的芯片和寄存器一直保持有效,直到UDA1341TS收到一个新的地址模式命令字节。数据传输模式用于将音频处理和系统控制参数写入UDA1341TS并可以读取回放的音频数据的峰值电平。L3MODE为低电平时操作为地址模式,高电平时操作为数据传输模式。

地址模式下由主器件按标准时序送出8位地址,其中高6位表示UDA1341TS芯片地址000101,最低2位选择要访问的该芯片内部寄存器,分别是DATA0、DATA1和STATUS,由此产生下面的3种寄存器操作模式。

(1)STATUS操作模式可以控制芯片复位、系统时钟频率、数据输入格式、DC滤波器、输入增益、输出增益、ADC和DAC极性控制、倍速播放和功率控制等。

(2)DATA0操作模式又分为两种:直接地址模式和扩展地址模式。数据最高2位非‘11’时为直接地址模式,在这种模式下,可以直接控制音量、低音增强、高音增强、峰值检测位置、去加重、静音等功能;数据最高2位为‘11’时为扩展地址模式,可以通过3位选择6个5位的扩展寄存器,分别控制通道混合增益、MIC灵敏度、自动增益控制、输入放大器增益器等。

(3)DATA1操作模式用于读取音频数据重放时的峰值电平。2 FPGA设计及功能仿真

如图1所示,FPGA负责连接S3C4510B和UDA1341TS,需要实现S3C4510B总线接口、IIS总线和L3接口等。采用模块化设计思想,划分几个功能相对独立的模块,并将各个功能模块封装成元件(Component),分别设

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top