首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» IIS接口的FPGA实现
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
IIS接口的FPGA实现
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-11-22 16:54
|
只看该作者
IIS接口的FPGA实现
处理器
,
寄存器
,
嵌入式
,
接口
,
技术
在嵌入式系统中经常采用IIS(Inter-IC Sound)总线连接专用音频器件以实现音频输入输出。不少嵌入式处理器带有专用的IIS总线,通过操作特殊功能寄存器实现对外接音频器件的操作,但也有一些嵌入式处理器没有扩展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),分别设计、仿真、测试、验证各元件,最后在顶层调用各元件,并将元件信号与实际输入输出信号关联,实现整体功能。实际实现了4个元件,如图2所示。
图2中,元件ARM_Interface负责实现与S3C4510B接口,主要是实现几个可以映射成存储器的地址单元,并提供这些单元与其他元件的接口。其中左右声道单元为16位,在内部分别与2个FIFO相连接,以便音频数据以选定的速率回放;IIS_out元件负责产生IIS总线或MSB对齐模式时序;L3_3B_Mod元件实现UDA1341TS数据传输模式中的DATA0扩展地址模式,共需传输3个字节;L3_2B_Mod元件则负责UDA1341TS其余的操作模式,只需传输2字节,即1字节地址和1字节数据。采用这种元件模块设计的方法主要考虑到FPGA容易实现并行操作,但对复杂条件操作和逻辑判断则不如处理器编程实现方便。因此并行实现多个元件,再由简单逻辑和条件及输入参数控制选定的元件工作,以实现需要的功能,这是FPGA设计的主要思想。
2.1 嵌入式处理器接口实现
此模块主要负责处理与嵌入式系统的数据传输接口。主要输入信号包括全局时钟GCLK、片选信号nCS、写信号nWBE0、读信号nOE以及地址信号ADDR[4..0],其中地址信号确定相对于片选地址的偏移地址,5位地址信号最多可寻址32个16位地址单元。所有总线数据操作与全局时钟同步。根据需要,实际设计实现了7个寄存器,分别是DATA0直接地址寄存器、DATA0扩展地址寄存器、DATA1寄存器、STATUS寄存器、左声道音频数据缓存器、右声道音频数据缓存器、FPGA控制寄存器,它们的偏移地址分别是0x00100、0x00110、0x01000、0x10100、0x00000、0x00010、0x01100。上述寄存器中,只有左右声道音频数据缓存器为16位,其余均为8位,因此只能实现不超过16位的IIS总线和MSB对齐模式。
测试本元件时,首先应测试单元的读写特性,通过ARM仿真器直接对编程单元进行读写即可验证扩展的正确性。对于内建16x8的FIFO的左右声道数据缓存器,可以通过读写多次测试其满空状态,并通过1个接在FPGA的I/O口线上的LED直接观察。测试无误后,该元件便可使用。
2.2 IIS总线实现
IIS总线通过IIS_out元件来实现,其接口信号如图3所示。输入信号是ARM_Interface提供的左右声道音频数据,输出信号是IIS总线要求的3个串行信号,即bclk、sync和dout,分别与SCK、WS和SD对应,这3个信号通过FPGA的I/O口线与UDA1341的BCK、WS以及DATAI与DATAO信号线相连。IIS 格式的信号无论有多少位有效数据,数据的最高位(MSB)总是被最先传输,在WS 变化后的第2 个SCK脉冲处,因此最高位拥有固定的位置,而最低位的位置则依赖于数据的有效位数。实际设计的数据有效位是16位,低于16位数据时高位填充‘0’,处理器将数据以16位方式写入左右声道音频数据缓存器时,自动进行高位填充。
实现IIS总线时序时,关键是要正确处理各种时钟信号之间以及生成的IIS总线3个信号之间的时序关系。要依据音频信号的采样速率选择FPGA系统时钟和UDA1341时钟选项,同时要合理使用计数器并正确读取左右声道音频数据缓存器,最终实现音频数据通过IIS总线的正确传输。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议