<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團(tuán)論壇DSP專區(qū)DSP系統(tǒng)和硬件開發(fā)討論區(qū) → DSP數(shù)字信號(hào)處理綜述


      共有8550人關(guān)注過本帖樹形打印

    主題:DSP數(shù)字信號(hào)處理綜述

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發(fā)短信
    等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
    DSP數(shù)字信號(hào)處理綜述  發(fā)帖心情 Post By:2010-11-13 12:17:21

    摘 要:簡(jiǎn)要概述了DSP與單片機(jī)的關(guān)系,然后詳細(xì)介紹了DSP應(yīng)用軟件結(jié)構(gòu),并對(duì)DSP應(yīng)用的未來趨勢(shì)——DSP和RTOS的結(jié)合進(jìn)行了初步分析。   關(guān)鍵詞:DSP 實(shí)時(shí)操作系統(tǒng) 循環(huán)調(diào)度 1 DSP、MCU、MPU的關(guān)系   微控制器MCU通俗的稱呼是單片機(jī),它與微處理器MPU是微機(jī)技術(shù)的兩大分支。MPU的發(fā)展動(dòng)力是人類對(duì)無止境的海量數(shù)值運(yùn)算的需求,速度越來越快。MCU的發(fā)展是為了滿足被控制對(duì)象的要求,向高可靠性、低功耗、低成本發(fā)展。一般MCU的引腳數(shù)在60以下,MCU以8位機(jī)為主、32位機(jī)為輔。有趨勢(shì)提高M(jìn)CU的運(yùn)算功能,將DSP集成到MCU中,比如32位的MC68356集成了Motorola的DSP56002。   微控制器MCU一直存在兩種基本結(jié)構(gòu):哈佛(Harvard)結(jié)構(gòu)和馮諾伊曼(vonMeumann)結(jié)構(gòu),還可進(jìn)一步講是對(duì)應(yīng)成復(fù)雜指令集計(jì)算機(jī)CISC和精簡(jiǎn)指令計(jì)算機(jī)RISC。馮諾伊曼結(jié)構(gòu)具有單一總線PRAM或DRAM都映射到同一地址空間,總線寬度與CPU類型匹配。哈佛結(jié)構(gòu)具有獨(dú)立的程序總線和數(shù)據(jù)總線,CISC的指令一般是微碼miccode,每條指令由CPU解碼為許多基本指令,基于CISC的微控制器一般很復(fù)雜,都采用馮諾伊曼結(jié)構(gòu),所需要的程序存儲(chǔ)器比RISC產(chǎn)品少。微碼在CPU產(chǎn)生而限制了CISC器件的帶寬,其指令集也比RISC器件大。   68000的MPU是準(zhǔn)32位的MPU,內(nèi)部32位,外部總線是16位。蘋果機(jī)就是用68000系列,它的運(yùn)行分成系統(tǒng)態(tài)和用戶態(tài),其設(shè)計(jì)是面向分時(shí)多任務(wù)或?qū)崟r(shí)操作系統(tǒng)的,68000的總線后來變成VME總線標(biāo)準(zhǔn)。到68020就是全32位了。   1991年IEEE1149.1即JTAG的公布滿足了IC制造商的措施需求,也給ASIC、MCU、MPU、DSP、PLD、FPGA等的用戶帶來方便。一般十萬門以上的IC都有JTAG接口,1993年IEEE1149.5對(duì)JTAG作了修正(5線接口)。IC的測(cè)試分成晶片級(jí)、IC封裝級(jí)、電路板與系統(tǒng)極,JTAG完成了前兩者的測(cè)試。適于68000系列的32位機(jī)的開發(fā)工具ICD32是一段扁平電纜,一端接IC的JTAG的5線接口,一端通過25芯頭(里面有GAL)接PC機(jī)并口。   傳統(tǒng)上,微控制器MCU與微處理器MPU是兩大分支,而DSP是MCU的一種特殊變形。但是從實(shí)質(zhì)講,MPU多半是CISC,除了DSP之外的MCU也是CISC。而DSP是RISC。所以比較時(shí)更適合DSP與MPU相比,MPU適宜于相同管理這樣的應(yīng)用中,以條件判斷為主的應(yīng)用,以軟件管理的操作系統(tǒng)為核心的產(chǎn)品,MPU的設(shè)計(jì)側(cè)重于不妨礙程序的流程,以保證操作系統(tǒng)支持功能及轉(zhuǎn)移預(yù)測(cè)功能等。而DSP側(cè)重于保證數(shù)據(jù)的順利通行,結(jié)構(gòu)盡量簡(jiǎn)單。 2 DSP應(yīng)用的結(jié)構(gòu)   DSP應(yīng)用不同于主流的嵌入式系統(tǒng)應(yīng)用,在那些應(yīng)用中,你可以依賴一個(gè)通用的多優(yōu)先級(jí)核心(Kernel)的服務(wù)。而在DSP領(lǐng)域,該核心與DSP模塊可能是兩回事,盡管核心都應(yīng)該提供CPU資源、中斷處理、通信機(jī)制等。所以,一個(gè)有豐富細(xì)節(jié)的核心和操作系統(tǒng)通常是不加以考慮的,因?yàn)樗釉诰o湊的DSP上實(shí)在勉強(qiáng)。開發(fā)者常常自已設(shè)計(jì)系統(tǒng)軟件框架,作為目標(biāo)代碼的一部分一起運(yùn)行。開發(fā)者甚至沒有意識(shí)到自已編寫了一個(gè)小型操作系統(tǒng)。   可見,這樣的核心/操作系統(tǒng)隨著應(yīng)用的不同是多種多樣的。也需要有各種核心,支持從簡(jiǎn)單到復(fù)雜的應(yīng)用。至于是自已寫核心或者從別的專業(yè)公司獲得幫助,那是需要在效率、緊湊、靈活、擴(kuò)展性、安全等因素進(jìn)行折衷考慮的。 2.1 核心的種類   一般來說,框架從簡(jiǎn)單到復(fù)雜分成:?jiǎn)稳蝿?wù)和一個(gè)中斷服務(wù)程序(ISR)、多個(gè)互相通信的任務(wù)、多個(gè)分時(shí)循環(huán)的線程、多優(yōu)先級(jí)的結(jié)構(gòu)。   .單任務(wù)和中斷服務(wù)流程ISR(基本核心結(jié)構(gòu))   單任務(wù)處理一個(gè)數(shù)據(jù)緩沖區(qū),數(shù)據(jù)由一個(gè)ISR從特定的硬件取得(如AD器件)。系統(tǒng)首先需要初始化,使能中斷,建立外設(shè)的正確狀態(tài)。ISR的編程則應(yīng)該保護(hù)現(xiàn)場(chǎng),ISR的錯(cuò)誤是調(diào)試很難檢查的。通常一次ISR控制一個(gè)數(shù)據(jù),而主任務(wù)需要一個(gè)數(shù)據(jù)緩沖區(qū)。解決辦法是雙緩沖結(jié)構(gòu)。主程序的常見流程是:等待ISR填滿緩沖區(qū);處理緩沖區(qū)數(shù)據(jù),釋放已經(jīng)處理完的緩沖區(qū)。為了保證實(shí)時(shí)性,系統(tǒng)至少是雙緩沖,因此主程序處理一個(gè)緩沖區(qū)時(shí),ISR正在向另一個(gè)緩沖區(qū)送數(shù)。這種情況下,不需要特別的同步機(jī)制,緩沖區(qū)的滿就是同步機(jī)制,整個(gè)系統(tǒng)除了主任務(wù)外就無所事事了,主任務(wù)則占用一切DSP資源。故此模式效率非常高。   .通用的任務(wù)   系統(tǒng)有一個(gè)核心,它可以管理多任務(wù),允許向系統(tǒng)列表加任務(wù)來擴(kuò)展系統(tǒng),占用如何擴(kuò)展則與應(yīng)用有關(guān)。首先以一個(gè)自動(dòng)應(yīng)答機(jī)來說明這種擴(kuò)展,ISR是一個(gè),而多個(gè)任務(wù)串行執(zhí)行:音調(diào)檢查、語音識(shí)別、話音壓縮等。第一個(gè)任務(wù)控制CPU的緩沖區(qū),執(zhí)行完后主動(dòng)徹底放棄控制,移交下一個(gè)任務(wù)。這種安排使得任務(wù)切換開銷很小,因?yàn)槟阃耆狼袚Q時(shí),哪些狀態(tài)需要保存而哪些不需要。這種方式的毛病就是任何一個(gè)任務(wù)失控,整個(gè)系統(tǒng)就崩潰了,因?yàn)楹诵臎]有辦法取得對(duì)CPU的控制。   .多個(gè)執(zhí)行線程以循環(huán)(round-robin)模式切換   對(duì)前一種結(jié)構(gòu)的改進(jìn)是使用一種更安全的任務(wù)安排,使各個(gè)任務(wù)的依賴關(guān)系弱化。這需要一個(gè)基于時(shí)間段的任務(wù)切換器,在當(dāng)前任務(wù)用完了規(guī)定時(shí)間片后將控制權(quán)移交下一個(gè)任務(wù)。在循環(huán)結(jié)構(gòu)中,各個(gè)任務(wù)是平等的機(jī)會(huì)。這樣CPU不會(huì)在為一個(gè)壞的任務(wù)而癱瘓,當(dāng)然,安全的代價(jià)是你無法準(zhǔn)確知道任務(wù)切換在什么時(shí)候發(fā)生,于是某個(gè)線程進(jìn)入時(shí)的現(xiàn)場(chǎng)保護(hù)必須保護(hù)該線程要使用的所有寄存器,并且在退出線程時(shí)全部恢復(fù)。   .循環(huán)(round-robin)線程與協(xié)作序列的組合   當(dāng)處理一個(gè)較復(fù)雜但每個(gè)通路的處理是相同的時(shí)候,如語音信箱,無線基站,PXB等。可以將多個(gè)通路按照通用的多任務(wù)方式處理,而每個(gè)任務(wù)內(nèi)以循環(huán)線程組成,每個(gè)任務(wù)是安全的,也就保證了整個(gè)系統(tǒng)的安全的。   .通用的解決:多優(yōu)先組結(jié)構(gòu)   這是靈活性最強(qiáng)的方式,廣泛應(yīng)用于浮點(diǎn)和定點(diǎn)DSP系統(tǒng)。多優(yōu)先級(jí)可以認(rèn)為是循環(huán)方式的一種增強(qiáng)版,在資源可用時(shí),高優(yōu)先級(jí)的線程會(huì)被執(zhí)行。多優(yōu)先級(jí)核心應(yīng)該小心使用,因?yàn)楹茈y確定實(shí)時(shí)執(zhí)行序列,特別是如果還允許動(dòng)態(tài)改變優(yōu)先級(jí)的話,調(diào)試更加困難。而且核心本身占用的CPU資源對(duì)定點(diǎn)DSP而言是相當(dāng)大的開銷。   除了這些缺點(diǎn),本結(jié)構(gòu)是某些應(yīng)用的理想選擇。比如,系統(tǒng)中的任務(wù)有的是時(shí)間苛刻的(高優(yōu)先級(jí)),有些是可以后臺(tái)運(yùn)行的(低優(yōu)先級(jí)),比如在蜂房電話中,DSP要迅速及時(shí)處理帶內(nèi)信號(hào)信令,對(duì)用戶的按鍵則可以較慢地響應(yīng)。隨著DSP和MCU的功能上進(jìn)一步集成,這種應(yīng)用會(huì)越來越多。 2.2 其他性能綜述   .現(xiàn)場(chǎng)保護(hù)   任務(wù)切換中的現(xiàn)場(chǎng)保護(hù)(上下文保護(hù))是影響性能的一個(gè)重要因素,它與中斷響應(yīng)時(shí)延是矛盾的,在任務(wù)列表被訪問和管理期間,中斷通常需要禁止。所以,任務(wù)機(jī)制越復(fù)雜,中斷需要的時(shí)延越大。注意,在DSP領(lǐng)域,實(shí)時(shí)中斷常處理幾十kHz的信號(hào),對(duì)中斷響應(yīng)需要的時(shí)延是很敏感的。   .實(shí)時(shí)與非實(shí)時(shí)   對(duì)于基于核心的系統(tǒng)進(jìn)行調(diào)試,將系統(tǒng)作為一個(gè)整體來調(diào)試需要滿足兩個(gè)基本要求:需要系統(tǒng)全速運(yùn)行時(shí)可以觀察和管理系統(tǒng);需要知道每次觀察時(shí)影響的上下文。為達(dá)到此要求系統(tǒng)必須增加額外開銷。   DSP設(shè)計(jì)者并非處處需要實(shí)時(shí)調(diào)試工具,模塊的很多部分可以單步調(diào)試。但是,大部分問題(bug)都是整個(gè)系統(tǒng)全速運(yùn)行時(shí)暴露出來的。Go-DSP的調(diào)試工具Code Composer的優(yōu)越是在系統(tǒng)全速運(yùn)行時(shí)仍然可以觀察和修改狀態(tài)。實(shí)時(shí)調(diào)試是需要代價(jià)的,需要有DebugAgent伴隨應(yīng)用代碼,占用了CPU部分資源,當(dāng)然在最終產(chǎn)品上,DebugAgent是完全去掉的。 3 實(shí)時(shí)操作系統(tǒng)RTOS與DSP應(yīng)用的結(jié)合 3.1 用于嵌入式微處理器的傳統(tǒng)的實(shí)時(shí)多任務(wù)操作系統(tǒng)   目前的趨勢(shì)是一個(gè)微處理器MCU從單一任務(wù)結(jié)構(gòu)變成多任務(wù)的結(jié)構(gòu),初期軟件設(shè)計(jì)是在應(yīng)用中增加一個(gè)任務(wù)調(diào)用循環(huán)作為主程序,隨著軟件規(guī)模上升和對(duì)實(shí)時(shí)性要求的提高,RTOS作為一種軟件開發(fā)平臺(tái),成為嵌入式系統(tǒng)領(lǐng)域的主流。   RTOS是一段MCU啟動(dòng)后首先執(zhí)行的背景程序,貫穿系統(tǒng)運(yùn)行的始終。RTOS的引入會(huì)增加系統(tǒng)的代碼存儲(chǔ)器占用和運(yùn)行時(shí)間。RTOS主要的性能指標(biāo)是存儲(chǔ)器占用、最小任務(wù)切換時(shí)間、最大中斷延時(shí)。這三個(gè)指標(biāo)與RTOS自身的設(shè)計(jì)、微處理器的設(shè)計(jì)、C語言編譯器的性能有關(guān)。 3.2 實(shí)時(shí)操作系統(tǒng)RTOS與DSP結(jié)合   DSP軟件開發(fā)越來越復(fù)雜,開發(fā)者會(huì)發(fā)現(xiàn)自已在兩個(gè)矛盾的方向努力,一方面,設(shè)計(jì)者必須對(duì)底層代碼優(yōu)化以滿足實(shí)時(shí)應(yīng)用,同時(shí)由于系統(tǒng)越來越復(fù)雜,需要高層次的設(shè)計(jì)手段,包括使用庫(kù)和第三方軟件包。   對(duì)DSP應(yīng)用提供RTOS支持,是DSP的性能和功能日益增加的必然結(jié)果。DSP正在從高速數(shù)學(xué)引擎轉(zhuǎn)變?yōu)榘髁骺刂破骶哂械奶匦缘男酒虼诵枰狣SP設(shè)計(jì)人員集中精力解決應(yīng)用問題,而不是重復(fù)實(shí)施系統(tǒng)級(jí)功能。   DSP系統(tǒng)一般是兩個(gè)極端,簡(jiǎn)單的單片DSP設(shè)計(jì),用于Modem或峰房電話等。另一種是高性能的多處理器DSP系統(tǒng),用于大批輸入流的實(shí)時(shí)處理。對(duì)于高檔多處理器DSP系統(tǒng)設(shè)計(jì),有四個(gè)可能影響性能的主要因素:通過系統(tǒng)的數(shù)據(jù)流(流水線或星形);主系統(tǒng)總線(VME或PCI總線);RTOS的性能,多DSP系統(tǒng)中,RTOS在每個(gè)DSP上運(yùn)行于嵌入式模式,RTOS提供所需要的數(shù)據(jù)流和處理性能,同時(shí)又允許主處理器繼續(xù)在其固有模式(Win95/NT/Solaris)中操縱整個(gè)系統(tǒng);處理來自A/D陣列的輸入流的接口設(shè)計(jì),最好方法是使A/D轉(zhuǎn)換子系統(tǒng)與系統(tǒng)其余部分有效隔離。   選擇RTOS的關(guān)鍵考慮因素:   .保證其可靠性足以應(yīng)付DSP負(fù)載。   .支持與NT或Unix主系統(tǒng)的互操作性。   .嵌入式操作核心要足夠小,適應(yīng)于有限的DSP存儲(chǔ)空間。   .有面向DSP的高級(jí)指令集,便于迅速編程。   .必要時(shí)可以對(duì)低級(jí)程序碼手動(dòng)優(yōu)化。   嵌入式RTOS的主要功能是為DSP之間的實(shí)時(shí)協(xié)調(diào)與通信提供一個(gè)標(biāo)準(zhǔn)化的環(huán)境,包括中斷處理和存儲(chǔ)區(qū)分配等,以及和主機(jī)OS握手的所有功能。RTOS運(yùn)行于DSP之上,所以必須很小,還應(yīng)該能進(jìn)行分布操作和DSP任務(wù)的并行編程。RTOS的結(jié)構(gòu)應(yīng)該使程序員很容易把單DSP任務(wù)變成分裂模式,即能運(yùn)行于多個(gè)DSP。RTOS應(yīng)該能支持順暢地把任務(wù)分?jǐn)偂C嫦駾SP的嵌入式RTOS的主要功能是:多任務(wù);動(dòng)態(tài)進(jìn)程;同步消息傳遞;信號(hào)機(jī);時(shí)鐘管理;等等。總之,目標(biāo)是最小的運(yùn)行開銷和最大的硬件控制能力。   作為Eonic公司的Virtuoso,可以用于浮點(diǎn)和定點(diǎn)DSP。用于TI C4x和ADSP1060的版本的差別是有特殊的通信端口,便于多處理器系統(tǒng)的硬件開發(fā)。通過提供透明的多處理,使軟件開發(fā)也容易。Virtuoso對(duì)于單DSP的應(yīng)用也提供了很多優(yōu)越性,從一開始開發(fā),你就有一個(gè)完全的多任務(wù)環(huán)境,這就意味著你可以將應(yīng)用分成幾個(gè)小的任務(wù),更便于編程。有一套完整的工具用于任務(wù)間通信,任務(wù)同步,管理存儲(chǔ)區(qū)和定時(shí)器,中斷管理。提供了一個(gè)ISR1層支持嵌套中斷。而TI缺省的ISR0層的中斷服務(wù)中是不允許被中斷的。如果系統(tǒng)中有突發(fā)性的中斷發(fā)生,就有可能丟中斷。Virtuoso的ISR1層提供了可嵌套的中斷機(jī)制,且響應(yīng)速度與ISR0相當(dāng)。多任務(wù)機(jī)制使設(shè)計(jì)人員能夠充分發(fā)揮DSP的能力,因?yàn)榭梢允笵SP是100%的忙碌,否則DSP可能為了等待某個(gè)事件發(fā)生而處于空閑。特別是采用TMS320C6201,不使用RTOS是無法充分發(fā)揮其性能的。Virtuoso的另一個(gè)優(yōu)點(diǎn)是可移植性,編寫的C代碼可以使用到Virtuoso支持的任何DSP。   用于DSP的RTOS對(duì)加快開發(fā)進(jìn)度、提供高級(jí)功能調(diào)用和標(biāo)準(zhǔn)的I/O庫(kù)是非常有用的。許多RTOS支持多任務(wù)并包含DSP庫(kù),使用它有助于可移植性和可維護(hù)性。另一方面,RTOS要占用處理器的開銷,耗費(fèi)本來可用于信號(hào)處理的DSP周期。如果是對(duì)于單處理器,支持多任務(wù)的開銷可能會(huì)很可觀。另外,成本也是要考慮的因素。

    支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    DSP數(shù)字信號(hào)處理綜述








    簽名
    主站蜘蛛池模板: 色吊丝永久性观看网站| 香蕉免费看一区二区三区| 久久天天躁狠狠躁夜夜呲| 久久精品人成免费| 久久aa毛片免费播放嗯啊| 三级黄色片免费看| 999精品在线| 风间由美100部合集| 美女黄色免费网站| 狠狠色丁香久久综合五月| 欧美日本在线观看| 日韩免费在线观看视频| 成年女人a毛片免费视频| 天天操天天爱天天干| 国产精品无码DVD在线观看| 国产女人18毛片水真多18精品| 免费鲁丝片一级在线观看| 动漫人物差差差动漫网站| 国产va免费精品高清在线观看| 午夜天堂精品久久久久| 亚洲综合久久成人69| 五月综合激情网| 三上悠亚大战黑人在线观看| 91免费国产在线观看| 美女脱了内裤打开腿让你桶爽| 激情内射亚洲一区二区三区爱妻| 最近中文字幕的在线mv视频| 日日噜噜噜夜夜爽爽狠狠视频| 欧美性色黄大片www喷水| 最近最新中文字幕完整版免费高清 | 国产日韩欧美亚欧在线| 后入内射欧美99二区视频| 亚洲欧美色中文字幕在线| 久久久久亚洲精品男人的天堂| 99RE6在线视频精品免费| 美女下部隐私免费直播| 欧美乱子伦videos| 女博士梦莹凌晨欢爱| 国产女人18毛片水| 人妻少妇精品久久久久久| 久久国产免费观看精品3|