基于SPB的嵌入式音频处理系统设计.docxVIP

基于SPB的嵌入式音频处理系统设计.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

?

?

基于SPB的嵌入式音频处理系统设计

?

?

基于SPB的嵌入式音频处理系统设计

引言

FPGA(FieldProgrammableGateArray)现场可编程门阵列,是在PAL,GAL,PLD基础上进一步发展的,作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制的电路的不足,又克服了原有可编程器件门电路数有限的缺点。使用FPGA来开发数字电路,可以大大缩短设计时间。从简单的与非门电路到高性能的CPU,FPGA能完成所有的数字器件[1?2]。

随着技术的发展,FPGA在嵌入式设计方面的应用也越来越多。通过嵌入式软件开发工具,可以在FPGA上设计多个处理器核的嵌入式工程,并下载到FPGA器件中。电路设计软件AltiumDesigner(AD)及其智能开发平台NanoBoard3000(NB3000)为嵌入式系统设计开发提供了开发环境与实现平台[3?4]。本文利用其软件平台构建器,即SPB(SoftwarePlatformBuilder),搭建访问NB3000外围音频设备接口的软件平台,设计实现从NB3000的音频编解码器读取音频流信号并进行平滑处理的嵌入式音频处理系统。

1软件平台构建器

设计FPGA嵌入式系统时,常需要通过软件编程的方式访问外围设备,如LED、音频接口、触摸屏等。但在编程时需要熟悉相关外围设备的工作状况,包括设备工作时所需的设备寄存器、设备特定的命令、使用的通信协议及需要处理的中断等。AD软件的软件平台构建器(SPB)为这些特定的外围设备提供了配置数据和驱动等相关的底层模块(软件IP模块),提供了访问外围设备的应用编程接口(API)。

在AD软件下进行嵌入式系统设计时,SPB的使用是通过软件平台文件(SwPlatform)实现的。SPB是一个图形化的用户界面,可以自行读取FPGA设计,为设计中的外围设备导入合适的底层模块,并以此为基础添加更多的高层IP模块到软件平台文件中。具体添加何种IP模块,取决于FPGA嵌入式设计中需要访问哪些外围设备。访问外围设备时,可以使用SPB提供的多个IP模块。较底层的IP模块可以访问特定的存储设备,如硬盘、SD卡、RAM驱动器,较高层的IP模块则更抽象也更独立于硬件。

SPB中的软件服务列表(SoftwareService)是一组应用程序可以使用的类型、定义、结构和功能函数。软件服务包含用于访问SD卡、IDE存储设备、CF卡和闪存上的文件的存储服务;用于提供以太网访问的网络服务;提供符合POSIX规范的多线程功能的核心服务;允许快速构造现代图形界面的GUI服务;用于实现音频和视频功能的多媒体服务。用于中断管理和软件定时管理的系统服务总是出现在软件平台中,并且与特定设备无关。每个不同的软件模块都包含完整的API参考信息。通过APIReference可以访问API参考信息,堆栈中的每一层都会有详细的该层上可用函数的描述。通过HeaderFiles可以查看任意驱动或者服务程序的头文件。

2嵌入式音频处理系统设计

2.1OpenBus系统设计

嵌入式设计时,在处理外围设备与处理器的连接关系时,可以采用AD软件中的开放总线(OpenBus系统)来完成,这样连接过程将被大大简化。“OpenBus系统”是一个描述一种使用普通总线实现整个系统内逻辑功能性“模块”连接的术语[3]。在OpenBus系统文档中,打开OpenBusPalette面板,选择并放置组成系统所需的器件。OpenBusPalette面板中用于FPGA设计的器件,按照功能分类有Connectors(连接器)、Processors(处理器)、Memories(存储器)、Peripherals(外围设备)等。每个OpenBus器件必须正确配置后才能使用。这种OpenBus系统的设计方法与传统的将处理器和外围电路作为元件放置在电路板上不同,它移除了所有低级别的走线和互连细节,能够快速地构建系统[3]。

通常情况下,任何使用OpenBus系统的FPGA设计都要设计放置接口电路的顶层原理图[5?7]。图1的OpenBus系统文件为32位处理器TSK3000A和I/O接口逻辑获得了音频流数据,包含了FPGA设计中的主处理器系统。约束文件将原理图顶层的端口连接到目标FPGA器件的实际物理管脚。约束文件中不但包含端口到管脚的映射,还包含如时钟分配、目标器件等其他相关的设计规范。

NB3000开发板上的音频编解码器为CS4270,因此图3中选择CS4270AudioCodecDriver模块,不需要再自行编写音频编解码器的驱动代码。设计采用SPI作为配置和控制,I2S用来传输数字音频数据流。因此软件平台文件的底层设计选择了I2

文档评论(0)

138****9307 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档