首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» 基于ARM9处理器的嵌入式音频系统设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于ARM9处理器的嵌入式音频系统设计
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-11-22 16:48
|
只看该作者
基于ARM9处理器的嵌入式音频系统设计
Internet
,
微处理器
,
嵌入式
,
解码器
,
立体声
随着Internet技术和多
媒体
技术的快速发展,语音通信技术的应用越来越广泛,也越来越受到重视。如今的嵌人式设备日益复杂化,功能比以前更加丰富,性能也越来越高。在多种嵌人式
终端
产品中,音频处理功能已成为不可缺少的重要组成部分,高质量的音效是当前发展的重要趋势。 本文利用ATMEL公司的AT91RM9200型微处理器和Philips公司的UDA1341型立体声音频编解码器设计了一种嵌入式音频系统。该嵌入式音频系统硬件部分采用基于IIS总线的音频系统体系结构,其主要硬件电路后文作了详细的介绍。软件上,笔者以嵌入式Linux操作系统作为平台,重点介绍该音频系统在此平台下的驱动程序的实现。
1 AT91RM9200处理器简介
AT91RM9200是ATMEL公司针对系统控制以及通信领域推出的基于ARM920T内核的新型微处理器,在高性能和低功耗特性方面具有极大的优势,而且具有很高的主频,最高可达到180MHz。该处理器具有独立的16K指令和16K数据cache,全功能的MMU虚拟内存管理单元,以及内部的16KBSRAM和128KBROM,EBI接口控制器。片上集成了丰富的外围接口,包括网络MAC、USB控制器、SDRAM控制器、CF接口、NANDflash接口、IIC接口、JTAG调试器以及支持256MB的地址空间。而且处理器还提供自举模式,供用户写入引导代码,方便Linux等操作系统的移植。
2 UDA1341TS音频芯片及IIS总线简介
PHILIPS公司的UDA1341TS是一块功能强大的专用语音处理芯片。该芯片集语音放大、滤波、采样、A/D和D/A转换等功能于一体,并且能进行数字语音处理。本设计使用的AT91RM9200处理器具有一个IIS音频接口,此接口采用DMA方式传输数据。在该方式下,由DMA控制器取代CPU,获得总线控制权,从而实现内存与
外设
或者内存之间的不同区域之间大量数据的快速传输。用DMA接口传输数据,不仅可以降低CPU负担,还可以节省系统的软件设计时间,降低编程难度。而UDA1341TS支持IIS总线格式,并且具有数字语音处理特性,由此决定了UDA1341TS与AT91RM9200处理器的电路连接比较简单,并且能实现语音的A/D和D/A等预处理,而不需要再额外增加专门的A/D和D/A器件。
需要说明的是,数字音频系统需要多种多样的集成电路,因此,为这些电路提供一个标准的通信协议非常重要。IIS总线是由SONY和PHILIPS公司等电子巨头共同提出的数字音频总线协议,全称是内部集成电路声音总线(InterICSoundBus),它是一种串行的数字音频总线协议,该总线专门用于音频设备之间的数据传输,为数字立体声提供一个序列连接至标准编解码器,目前很多音频芯片和处理器都提供了对IIS总线的支持。笔者根据IIS总线的原理,结合AT91RM9200处理器和数字音频输入/输出接口芯片UDA1341TS的结构特点,设计的嵌入式音频系统可以运用到很多类似的音频系统中。
3 系统硬件设计方案
由于IIS总线只处理音频数据,而其他的信号如编码、控制等信号单独传送。为了使必需的引脚数最小并且保持连线简单,IIS总线由3条信号线组成:时分复用的数据通道线、字段选择线和时钟信号线。本系统由系统主控制器提供时钟信号,控制数字音频数据在各个IC之间的流向。此时,发送器在外部时钟信号的控制下产生数据,处于从模式。
本设计硬件连接图比较简单,如图1所示。图中的处理器采用了AT91RM9200处理器,其内置IIS音频总线,内置的IIS接口能读取IIS总线上的数据,并由UDA1341TS芯片外扩,通过总线和系统连接,需要处理器提供系统时钟和3根控制线。
图1 硬件设计简图
AT91RM9200的IIS控制器由5个引脚与外部的音频编解码器相连。这些引脚分别是:系统时钟;位速率时钟(可使用内部或外部时钟源);字段选择;串行声音输入;串行声音输出。本设计中,UDA1341TS使用的是L3接口,该接口用来控制音频信号的音量大小以及低音等。L3接口有3个信号:L3MODE,L3CLK,L3DATA,将字节写入L3总线寄存器。IIS总线控制器通过软件控制AT91RM9200的通用I/O引脚(笔者选用的是PA0、PA1、PA2三个通用I/O口)来支持L3接口。下图是本嵌入式音频系统的硬件电路连接图,见图2。
图2 硬件电路的连接
各个引脚的连接说明如下:
SYSCLK:IIS总线的基本时钟源,AT91RM9200处理器的TCLK3引脚与UDA1341TS芯片的系统时钟相连接。由于UDA1341TS芯片仅支持从模式,因此在所有的应用中系统设备必须提供系统时钟。系统时钟频率是可编程的,其分频率可以是256、384或512倍的采样频率。系统时钟必须在频率上与数字接口信号一致。在设计中笔者用的是256fs的时钟。
WS:字段选择引脚,用于指出现行串行数据采样值为左声道还是右声道数据,AT91RM9200处理器的TK0引脚与WS相连接。
BCK:向UDA1341TS提供用作采样逻辑的串行声音位速率时钟,AT91RM9200处理器的TD0引脚与UDA1341TS芯片的BCK引脚相连接。
DATAI,DATAO:用于从UDA1341TS接收、发送串行声音数据,AT91RM9200处理器的RD0,RK0引脚分别对应UDA1341TS的音频输入、输出引脚。
L3M0DE,L3CLOCK,L3DATA:UDA1341TS的L3接口引脚,分别与AT91RM9200的3个通用数据输出引脚PA0、PA1、PA2连接。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议