您的位置 首页 观点

以SPB为根底的嵌入式音频处理系统构建浅析

以SPB为基础的嵌入式音频处理系统构建浅析-FPGA(Field Programmable Gate Array)现场可编程门阵列,是在PAL,GAL,PLD基础上进一步发展的,作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制的电路的不足,又克服了原有可编程器件门电路数有限的缺点。使用FPGA来开发数字电路,可以大大缩短设计时间。从简单的与非门电路到高性能的CPU,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所示。

以SPB为根底的嵌入式音频处理体系构建浅析

SPB中的软件服务列表(Software Service)是一组运用程序可以运用的类型、界说、结构和功用函数。软件服务包括用于拜访SD卡、IDE存储设备、CF卡和闪存上的文件的存储服务;用于供给以太网拜访的网络服务;供给契合POSIX标准的多线程功用的中心服务;答应快速结构现代图形界面的GUI服务;用于完结音频和视频功用的多媒体服务。用于中止办理和软件守时办理的体系服务总是出现在软件渠道中,而且与特定设备无关。每个不同的软件模块都包括完好的API参阅信息。经过API Reference可以拜访API参阅信息,仓库中的每一层都会有具体的该层上可用函数的描绘。经过Header Files可以检查恣意驱动或许服务程序的头文件。

2 嵌入式音频处理体系规划

2.1 OoenBus体系规划

嵌入式规划时,在处理外围设备与处理器的衔接联系时,可以选用AD软件中的敞开总线(OpenBus体系)来完结,这样衔接进程将被大大简化。“OpenBus体系”是一个描绘一种运用一般总线完结整个体系内逻辑功用性“模块”衔接的术语。在OpenBus体系文档中,翻开OpenBus Palette面板,挑选并放置组成体系所需的器材。OpenBus Palette面板中用于FPGA规划的器材,依照功用分类有Connectors(衔接器)、Proce ssors(处理器)、Memories(存储器)、Peripherals(外围设备)等。每个OpenBus器材有必要正确装备后才干运用。这种Open Bus体系的规划办法与传统的将处理器和外围电路作为元件放置在电路板上不同,它移除了一切初级其他走线和互连细节,可以快速地构建体系。

在本文的嵌入式音频处理体系中,经过拜访NB3000开发板上的高保真音频接口获取音频流信号。在规划OpenBus主处理器体系中,别离挑选并放置微处理器(32-bit RISC Processor TSK3000A)、衔接件(Interconnect)、I2S音频流操控器(Audio Streaming Controller)、SPI操控器(SPI Controller)和SRAM操控器(SRAM Controller)等OpenBus器材,并连线如图1所示。一起,对OpenBus器材进行参数装备。将SPI操控器的数据发送巨细(Data Transfer Size)参数装备为32。将I2S音频流操控器的数据缓存(I2S Hardware Buffer)参数装备为4k samples,将I2S设置为中止号INT_I1。

一般情况下,任何运用OpenBus体系的FPGA规划都要规划放置接口电路的顶层原理图。图1的Open Bus体系文件为32位处理器TSK3000A和I/O接口逻辑获得了音频流数据,包括了FPGA规划中的主处理器体系。束缚文件将原理图顶层的端口衔接到方针FPGA器材的实践物理管脚。束缚文件中不光包括端口到管脚的映射,还包括如时钟分配、方针器材等其他相关的规划标准。

以SPB为根底的嵌入式音频处理体系构建浅析

顶层原理图经过束缚文件,将下载到FPGA中的嵌入式体系规划与FPGA器材的物理管脚衔接起来。顶层原理图规划中,音频流操控器I2S与音频编解码器(AUDIO_CODEC)相连,SPI操控器与音频编解码器操控器CS4270(AUDIO_CODEC_CTRL)相连,如图2所示。

以SPB为根底的嵌入式音频处理体系构建浅析

2.2 软件渠道文件规划

在SPB根底上建立拜访NB 3000开发板的音频接口,并对音频流数据进行处理的软件渠道文件(SwPlatform),如图3所示。

以SPB为根底的嵌入式音频处理体系构建浅析

NB 3000开发板上的音频编解码器为CS4270,因而图3中挑选CS4270 Audio Codec Driver模块,不需求再自行编写音频编解码器的驱动代码。规划选用SPI作为装备和操控,I2S用来传输数字音频数据流。因而软件渠道文件的底层规划挑选了I2S Master Controller和SPI Master Controller模块。中间层规划挑选了I2SDriver、SPI Driver和CS4270 Audio Codec模块。软件渠道文件使硬件外围设备的拜访变得简单,底层模块为特定的外围设备供给了装备数据和驱动代码。规划软件渠道文件时,挑选什么样的模块,取决于规划中需求拜访哪些外围设备。

2.3 嵌入式代码规划

FPGA嵌入式体系规划中,嵌入式工程是“嵌在”微处理器中的。嵌入式代码便是在软件渠道构建器上建立的软件渠道的根底上完结的软件编程。嵌入式工程中的软件代码,首要完结音频数据流的获取、音频数据流的处理和将处理好的音频数据流送到NB 3000开发板的喇叭上。首要程序代码如下:

以SPB为根底的嵌入式音频处理体系构建浅析

3 规划总结

将嵌入式规划文件下载到智能开发渠道NanoBoard 3000上的FPGA器材后,运用音频线将电脑或许音箱的音频源送到NanoBoard 3000的音频输入接口,就能从喇叭上听到处理后的音频作用。规划进程标明,AD的软件渠道构建器(SPB)为FPGA嵌入式规划拜访硬件电路相关外围设备供给了底层软件驱动供给了便当。经过建立软件渠道,调用IP模块,避开了关于底层硬件的驱动程序的编写,只需把握高档C言语就可以方便地对外围设备进行编程,简化了嵌入式代码的编写,缩短了FPGA嵌入式规划的开发时刻。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/98978.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部