<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于SPB的嵌入式音頻處理系統設計

基于SPB的嵌入式音頻處理系統設計

作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:FPGA設計中,常通過(guò)軟件編程的方式來(lái)訪(fǎng)問(wèn)或者控制某些外圍設備。電路設計軟件Altium Designer的軟件平臺構建器()是一個(gè)包含了用于創(chuàng )建復雜軟件系統所需的所有驅動(dòng)和服務(wù)程序的軟件構架。中的軟件IP模塊可以屏蔽底層細節,為FPGA設計的快速開(kāi)發(fā)提供便利,提高研發(fā)效率。介紹了基于的FPGA設計關(guān)鍵技術(shù),并在智能開(kāi)發(fā)平臺NanoBoard 3000上實(shí)現了基于SPB的嵌入式。
關(guān)鍵詞:SPB;Altium Designer軟件;嵌入式FPGA設計;音頻流信號

0 引言
FPGA(Field Programmable Gate Array)現場(chǎng)可編程門(mén)陣列,是在PAL,GAL,PLD基礎上進(jìn)一步發(fā)展的,作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路,FPGA既解決了定制的電路的不足,又克服了原有可編程器件門(mén)電路數有限的缺點(diǎn)。使用FPGA來(lái)開(kāi)發(fā)數字電路,可以大大縮短設計時(shí)間。從簡(jiǎn)單的與非門(mén)電路到高性能的CPU,FPGA能完成所有的數字器件。
隨著(zhù)技術(shù)的發(fā)展,FPGA在嵌入式設計方面的應用也越來(lái)越多。通過(guò)嵌入式軟件開(kāi)發(fā)工具,可以在FPGA上設計多個(gè)處理器核的嵌入式工程,并下載到FPGA器件中。電路設計軟件Altium Designer(AD)及其智能開(kāi)發(fā)平臺NanoBoard 3000(NB 3000)為嵌入式開(kāi)發(fā)提供了開(kāi)發(fā)環(huán)境與實(shí)現平臺。本文利用其軟件平臺構建器,即SPB(Software Platform Builder),搭建訪(fǎng)問(wèn)NB 3000外圍音頻設備接口的軟件平臺,設計實(shí)現從NB 3000的音頻編解碼器讀取音頻流信號并進(jìn)行平滑處理的嵌入式系統。

1 軟件平臺構建器
設計FPGA嵌入式系統時(shí),常需要通過(guò)軟件編程的方式訪(fǎng)問(wèn)外圍設備,如LED、音頻接口、觸摸屏等。但在編程時(shí)需要熟悉相關(guān)外圍設備的工作狀況,包括設備工作時(shí)所需的設備寄存器、設備特定的命令、使用的通信協(xié)議及需要處理的中斷等。AD軟件的軟件平臺構建器(SPB)為這些特定的外圍設備提供了配置數據和驅動(dòng)等相關(guān)的底層模塊(軟件IP模塊),提供了訪(fǎng)問(wèn)外圍設備的應用編程接口(API)。
在A(yíng)D軟件下進(jìn)行嵌入式時(shí),SPB的使用是通過(guò)軟件平臺文件(SwPlatform)實(shí)現的。SPB是一個(gè)圖形化的用戶(hù)界面,可以自行讀取FPGA設計,為設計中的外圍設備導入合適的底層模塊,并以此為基礎添加更多的高層IP模塊到軟件平臺文件中。具體添加何種IP模塊,取決于FPGA嵌入式設計中需要訪(fǎng)問(wèn)哪些外圍設備。訪(fǎng)問(wèn)外圍設備時(shí),可以使用SPB提供的多個(gè)IP模塊。較底層的IP模塊可以訪(fǎng)問(wèn)特定的存儲設備,如硬盤(pán)、SD卡、RAM驅動(dòng)器,較高層的IP模塊則更抽象也更獨立于硬件。
軟件平臺文件(SwPlatform)是在SPB中,從一系列提供的元器件中選擇組合起來(lái)的軟件層。軟件平臺文件使得應用程序通過(guò)一組標準化的服務(wù)來(lái)利用硬件,如存儲服務(wù)和網(wǎng)絡(luò )服務(wù)。軟件平臺文件的目的其實(shí)就是使硬件設備通過(guò)抽象和通用的軟件接口,來(lái)為應用程序提供外圍設備的應用編程接口(API)。軟件平臺中的設備堆棧(Device Stacks)由三種類(lèi)型的模塊構成,分別是硬件包裝(Wrapper)、驅動(dòng)(Driver)和服務(wù)程序(Context)。通常從底而上,從最底層的與原理圖設計上特定硬件設備相關(guān)的模塊開(kāi)始構建設備堆棧。在此之上,可以堆積較高層次的模塊,提供更通用的訪(fǎng)問(wèn)外圍設備的功能函數。設備堆棧的底部是硬件包裝(Wrapper),然后是驅動(dòng)(Driver),最后是服務(wù)程序(Context)。堆棧每往上一層,模塊對硬件的抽象層面越高。設備堆棧層的功能描述如表1所示。

本文引用地址:http://dyxdggzs.com/article/201610/306029.htm

a.JPG


SPB中的軟件服務(wù)列表(Software Service)是一組應用程序可以使用的類(lèi)型、定義、結構和功能函數。軟件服務(wù)包含用于訪(fǎng)問(wèn)SD卡、IDE存儲設備、CF卡和閃存上的文件的存儲服務(wù);用于提供以太網(wǎng)訪(fǎng)問(wèn)的網(wǎng)絡(luò )服務(wù);提供符合POSIX規范的多線(xiàn)程功能的核心服務(wù);允許快速構造現代圖形界面的GUI服務(wù);用于實(shí)現音頻和視頻功能的多媒體服務(wù)。用于中斷管理和軟件定時(shí)管理的系統服務(wù)總是出現在軟件平臺中,并且與特定設備無(wú)關(guān)。每個(gè)不同的軟件模塊都包含完整的API參考信息。通過(guò)API Reference可以訪(fǎng)問(wèn)API參考信息,堆棧中的每一層都會(huì )有詳細的該層上可用函數的描述。通過(guò)Header Files可以查看任意驅動(dòng)或者服務(wù)程序的頭文件。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: SPB 嵌入式 音頻處理 系統設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>