碧波液压网 欢迎你,游客。 登录 注册

基于Intel Xscale的嵌入式音频系统的研究与实现

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  目前,随着以PDA、信息家电、机顶盒等为代表的嵌入式系统应用的广泛发展,嵌入式系统已经越来越走近普通人的生活,随之而来的,就是对嵌入式软、硬件设计的广泛需要。在嵌入式系统设计当中,音频控制模块已成为不可缺少的一部分。

  1 系统硬件实现

  音频系统设计包括软件设计和硬件设计两方,本设计主要基于Intel Xscale PXA270处理器,在硬件上使用了基于IIS总线的音频系统体系结构。IIS(Inter-IC Sound bug)又称I2S,是菲利浦公司提出的串行数字音频总线协议。目前很多音频芯片和MCU都提供了对I2S的支持。

  I2S总线只处理声音数据。其他信号(如控制信号)必须单独传输。为了使芯片的引出管脚尽可能少,I2S只使用了三根串行总线。这三根线分别是:提供分时复用功能的数据线、字段选择线(声道选择)、时钟信号线。

  在Intel公司的Xscale芯片中,为了实现全双工模式,使用了两条串行数据线,分别作为输入和输出。I2S控制器可以通过PIO或者DMA方式来访问。

  在DMA方式下,DMA控制器只能通过串行音频数据寄存器(SADR)访问FIFO。DMA控制器通常以8,16或32字节大小的块存取先进先出(FIFO)队列数据的。I2S控制器向DMA控制器发送的DMA请求中Transmit FIFO请求信号主要依赖于TFTH(transmit trigger-threshold)设置值,而Receive FIFO请求信号主要依赖于RFTH (receive trigger-threshold)设置值。

  本设计用到的主要芯片是Intel Xscale PXA270和TI 的TSC2101音频控制器。在该体系结构中,为了实现全双工通信,数据传输使用了两个DMA通道,分别用来播放和录音的。

  

  2 WinCE下音频设备底层软件设计

  在嵌入式系统中,由于各种硬件设备有所不同,且种类繁多,因此通常都得为各种设备编写驱动程序。

  本设计是在Windows CE操作系统下开发音频设备的驱动程序。设备驱动程序是将操作系统和设备连接起来,使得操作系统能够识别设备,并为应用程序提供服务。Windows CE支持广泛的基于各种CE平台的设备驱动程序,也提供一些用于驱动开发的模型,其中包括来自其他操作系统的驱动程序模型。

  目前,Windows CE提供了四种设备驱动模型,其中两种是专用于Windows CE的模型:流接口驱动(Stream Interface Driver)和本地设备驱动(Native Device Driver),另外两种外部模型来自其他的操作系统。音频设备驱动程序采用流接口驱动类型,它主要由设备管理器模块(Device Manager)以DLL(动态链接库)的形式加载并管理。

  

  当设备需要驱动程序的服务时,基于Windows CE的平台要使用中断通知操作系统。Windows CE把中断处理分成两部分---核心码和用户码部分,这样使得功能和实现的简易性比较平衡。核心码部分叫做中断服务例行程序(ISR),而用户码部分叫做中断服务线程(IST)。中断服务例行程序(ISR)把物理中断映射到逻辑中断。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论