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