前言DSP嵌入式系統軟件開發遵循標準的嵌入式系統軟硬件協同設計模型,如圖1所示。
圖1 DSP軟件開發遵循嵌入式軟硬件協同設計模型這個開發過程可分為6個階段;第1階段:產品規格定義第2階段:算法建模第3階段:軟硬件劃分第4階段:迭代與選擇第5階段:實時軟件設計第6階段:軟硬件集成本書將涵蓋以上每個DSP軟件開發的重要階段。
第1階段:產品規格定義第1階段是嵌入式和實時系統的概述,向讀者介紹這一類型軟件開發的獨特方面。
我們需要先理解幾個關于嵌入式系統的挑戰,才可以基于數字信號處理展開討論。這些挑戰涉及非常復雜的環境,以及系統之間的交互,嵌入式組件內比重漸增加的軟件,軟件代碼復用及快速再造工程的需求,快速創新和不斷變化的市場需求推動下的產品發布周期,眾多實時的要求和需求管理的需要,及對于質量和過程成熟度日益的關注。
第1章和第2章會提供DSP以及嵌入式系統的概述,簡要說明一般嵌入式系統和DSP的主要區別。
第2階段:算法建模第2階段的重點在于對信號處理基本算法本質的理解。數字信號處理是使用數字或符號組成的序列來代表離散時間信號,并處理這些信號。DSP涉及音頻和語音信號處理、聲吶和雷達信號處理、統計信號處理、數字圖像處理、通信、系統控制、生物醫學信號處理等諸多領域。DSP算法用于處理這些數字信號。在信號處理中有一組基本算法,例如傅里葉變換、數字濾波器、卷積和相關性。第7章將會介紹和解釋一些最重要和最基本的DSP算法,作為本書后面許多主題的基礎。
第3階段:軟硬件劃分系統的硬件和軟件組件劃分在任何嵌入式開發項目中都是重要的一步。
大部分DSP是可編程的。數字信號處理的可編程架構有多種形式,每個都對成本、功耗、性能和靈活性有所權衡。在譜系的一端,數字信號處理系統設計人員通過使用專有的匯編語言可以實現應用的高效率和高性能。在譜系的另一端,系統開發人員可以使用普遍的ANSI C或C++或其他領域特定的語言,并在商用臺式電腦上執行所實現的算法,實現數字信號處理軟件棧。第4章詳述在一連續體不同的點上實現的權衡:一端的最大數字信號處理性能以及另一端由軟件實現的靈活性和便攜性。每個解決方案的權衡都一步步詳細描述,以帶領數字信號處理系統開發者找到滿足他們特定用例需求的解決方案為目標。
DSP可采用現場可編程門陣列(Field Programmable Gate Array,FPGA)實現。作為一個例子,第5章討論關于空間復用和不同增益架構上的挑戰,并介紹FPGA的一些架構,報告使用FPGA實現這些系統的實驗結果。第5章將介紹一個靈活的架構和空間復用MIMO檢測器的實現、Flex-sphere及其FPGA實現。我們還介紹WiMAX系統中的波束形成硬件架構,作為給下一代無線系統增加多樣性和提高性能的方法。
用于數字信號處理系統的硬件平臺有很多種不同的設計,每個都有其固有可編程性、功耗和性能的權衡。適合一個系統設計師的可能不適合另一個。第6章詳細描述多種數字信號處理平臺以及相關系統的可配置性和可編程性設計。在譜系的一端,詳細了解特定應用集成電路(Application Specific Integrated Circuit,ASIC)這種高性能、低可配置的解決方案。在譜系的另一端,作為高度可配置的解決方案介紹具有SIMD擴展的通用型嵌入式微處理器,這種解決方案支持強大的軟件可編程性。不同的設計重點逐個介紹,如基于可重新配置的現場可編程門陣列解決方案,以及有不同程度軟件可編程性的高性能特定應用集成處理器(Application Specific Integrated Processor,ASIP)。第6章將介紹每個系統的設計權衡,作為一種指導系統開發人員的方法,幫助他們選擇適合當前和未來系統部署的數字信號處理硬件平臺和組件。
第4階段:迭代與選擇DSP開發的另一個關鍵問題是嵌入式生命周期管理。這個周期始于DSP解決方案的選擇,要制定一個嵌入式系統以滿足性能以及成本、上市時間及其他重要的系統約束。正如前面提到的,嵌入式系統是一個整合在大系統中的專門計算機系統。許多嵌入式系統使用數字信號處理器來實現。DSP將與其他嵌入式元件連接,以執行特定的功能。具體的嵌入式應用將決定其需使用的DSP。例如,如果嵌入的應用程序執行視頻處理,系統設計人員可以選擇定制的DSP來執行媒體處理,包括視頻和音頻處理。第3章將討論嵌入式生命周期和DSP的各種選項,以及如何來確定整個系統的性能和能力。
第5階段:實時軟件設計實時軟件設計遵循的五個步驟如圖1所示。
1.識別要進行處理的激勵和激勵所需的響應。
2.確定每個激勵和響應的時序約束。
3.在并發進程中集中處理激勵和響應。
4.設計算法來處理激勵和響應,滿足給定的時間要求。
5.設計一個調度方案,確保進程的及時調度,以滿足時間期限。
我們將詳細討論這一階段的每個過程。
1.識別要進行處理的激勵和激勵所需的響應首先,我們需要識別信號處理的系統激勵以及它們的響應。不管使用硬件還是軟件,這都是必須做的。
在案例分析2中,我們介紹一個簡單實用但非常強大的規格說明技術,為開發者在這個規格層次提供一些指引。重