新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于SPB的嵌入式音频处理系统设计

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

作者:时间:2016-10-10来源:网络收藏

摘要:FPGA设计中,常通过软件编程的方式来访问或者控制某些外围设备。电路设计软件Altium Designer的软件平台构建器()是一个包含了用于创建复杂软件系统所需的所有驱动和服务程序的软件构架。中的软件IP模块可以屏蔽底层细节,为FPGA设计的快速开发提供便利,提高研发效率。介绍了基于的FPGA设计关键技术,并在智能开发平台NanoBoard 3000上实现了基于SPB的嵌入式
关键词:SPB;Altium Designer软件;嵌入式FPGA设计;音频流信号

0 引言
FPGA(Field Programmable Gate Array)现场可编程门阵列,是在PAL,GAL,PLD基础上进一步发展的,作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制的电路的不足,又克服了原有可编程器件门电路数有限的缺点。使用FPGA来开发数字电路,可以大大缩短设计时间。从简单的与非门电路到高性能的CPU,FPGA能完成所有的数字器件。
随着技术的发展,FPGA在嵌入式设计方面的应用也越来越多。通过嵌入式软件开发工具,可以在FPGA上设计多个处理器核的嵌入式工程,并下载到FPGA器件中。电路设计软件Altium Designer(AD)及其智能开发平台NanoBoard 3000(NB 3000)为嵌入式开发提供了开发环境与实现平台。本文利用其软件平台构建器,即SPB(Software Platform Builder),搭建访问NB 3000外围音频设备接口的软件平台,设计实现从NB 3000的音频编解码器读取音频流信号并进行平滑处理的嵌入式系统。

1 软件平台构建器
设计FPGA嵌入式系统时,常需要通过软件编程的方式访问外围设备,如LED、音频接口、触摸屏等。但在编程时需要熟悉相关外围设备的工作状况,包括设备工作时所需的设备寄存器、设备特定的命令、使用的通信协议及需要处理的中断等。AD软件的软件平台构建器(SPB)为这些特定的外围设备提供了配置数据和驱动等相关的底层模块(软件IP模块),提供了访问外围设备的应用编程接口(API)。
在AD软件下进行嵌入式时,SPB的使用是通过软件平台文件(SwPlatform)实现的。SPB是一个图形化的用户界面,可以自行读取FPGA设计,为设计中的外围设备导入合适的底层模块,并以此为基础添加更多的高层IP模块到软件平台文件中。具体添加何种IP模块,取决于FPGA嵌入式设计中需要访问哪些外围设备。访问外围设备时,可以使用SPB提供的多个IP模块。较底层的IP模块可以访问特定的存储设备,如硬盘、SD卡、RAM驱动器,较高层的IP模块则更抽象也更独立于硬件。
软件平台文件(SwPlatform)是在SPB中,从一系列提供的元器件中选择组合起来的软件层。软件平台文件使得应用程序通过一组标准化的服务来利用硬件,如存储服务和网络服务。软件平台文件的目的其实就是使硬件设备通过抽象和通用的软件接口,来为应用程序提供外围设备的应用编程接口(API)。软件平台中的设备堆栈(Device Stacks)由三种类型的模块构成,分别是硬件包装(Wrapper)、驱动(Driver)和服务程序(Context)。通常从底而上,从最底层的与原理图设计上特定硬件设备相关的模块开始构建设备堆栈。在此之上,可以堆积较高层次的模块,提供更通用的访问外围设备的功能函数。设备堆栈的底部是硬件包装(Wrapper),然后是驱动(Driver),最后是服务程序(Context)。堆栈每往上一层,模块对硬件的抽象层面越高。设备堆栈层的功能描述如表1所示。

本文引用地址:http://www.eepw.com.cn/article/201610/306029.htm

a.JPG


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


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭