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

    曙海教育集團論壇DSP專區DSP系統和硬件開發討論區 → DSP數字信號處理綜述


      共有8553人關注過本帖樹形打印

    主題:DSP數字信號處理綜述

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


    加好友 發短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    DSP數字信號處理綜述  發帖心情 Post By:2010-11-13 12:17:21

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

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

    返回版面帖子列表

    DSP數字信號處理綜述








    簽名
    主站蜘蛛池模板: 亚洲精品成人网站在线观看| 国产精品美女一区二区| 亚洲人成网男女大片在线播放| 精品久久一区二区| 国产男靠女免费视频网站| 一线高清视频在线观看www国产 | 国模冰莲自慰肥美胞极品人体图| 久久久久香蕉视频| 欧洲无码一区二区三区在线观看 | 51影院成人影院| 女博士梦莹全篇完整小说| 久久精品国产清白在天天线| 欧美怡红院免费全部视频| 午夜dj在线观看免费高清在线| 超级乱淫视频播放日韩| 国产老妇伦国产熟女老妇高清| 中文字幕在线播放| 日本高清免费不卡在线| 亚洲欧美另类视频| 翁止熄痒禁伦短文合集免费视频 | 大学生男男澡堂69gaysex| 久久精品国产欧美日韩| 欧美怡红院免费全部视频| 午夜国产福利在线观看| 青草国产精品久久久久久| 在线精品日韩一区二区三区| 久久久亚洲欧洲日产国码二区| 欧美一区二区三区激情视频| 再深点灬舒服灬太大了网站 | 午夜久久久久久| 高清成人爽a毛片免费网站| 大量精子注入波多野结衣| 久久成人福利视频| 欧美乱色理伦片| 全免费a级毛片免费看| 韩国高清色www在线播放| 大学生一级特黄的免费大片视频| 久久久久国产精品免费免费不卡| 最漂亮夫上司犯连七天| 亚洲视频在线观看| 私人玩物无圣光|