新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 實時操作系統(tǒng)在雷達信號處理中的應(yīng)用

實時操作系統(tǒng)在雷達信號處理中的應(yīng)用

作者: 時間:2008-08-27 來源:網(wǎng)絡(luò) 收藏
隨著DSP(數(shù)字器)性能的改進,范圍的擴大,特別是在消費類電子產(chǎn)品的日益增加,DSP除了繼續(xù)承擔傳統(tǒng)的算法處理核心的角色之外,還需要完成一些控制性的或事務(wù)性的工作,而這些工作以前往往是由控制能力、線程管理能力更強的MCU或CPU來完成。嵌入式解決了DSP系統(tǒng)開發(fā)中的2個重要的問題:一是可以保證系統(tǒng)響應(yīng)的性,二是使復(fù)雜的多線程多任務(wù)的軟件系統(tǒng)的開發(fā)變得相對簡單易行。

  DSP平臺的機一般只是整個系統(tǒng)的一個專用于算法的子部分,不需要控制太多的外設(shè),而且為了滿足信號處理,盡量采用前后臺式的線性程序結(jié)構(gòu)。

  本設(shè)計的信號處理機是希望以他為主體構(gòu)成一個完整的便攜式系統(tǒng),除了信號處理的任務(wù)之外,采樣、顯示、通信等多種任務(wù)也必須由他來完成,需要滿足實時多任務(wù)的要求,所以必須使用嵌入式實時。本文主要介紹了為什么使用實時以及基于DSP/BIOSⅡ?qū)崟r操作系統(tǒng)的總體軟件設(shè)計思想和方案。

  1、總體硬件方案設(shè)計

  本信號處理機以TMS320C5509作為整個系統(tǒng)的核心,由于考慮到圖像的緩存需要較大的存儲空間,所以擴展了三星公司的16 Mb的SDRAM――KM416S1020C作 為擴展存儲器。整個系統(tǒng)的工作流程是由控制器和D/A提供給前端采樣頭所需的信號,并啟動A/D對采樣頭傳來的模擬信號進行采樣,DSP接收之后做相應(yīng)的信號處理,根據(jù)鍵盤的設(shè)定將圖像按照一定的要求顯示到彩色圖形液晶上,并通過USB接口將數(shù)據(jù)傳送到PC機存儲以便做進一步的處理和顯示??傮w硬件框圖如圖1所示。

總體硬件框圖

  TMS320C5509數(shù)字信號處理器是德州儀器公司(TI)TMS320C5000系列中新推出的一種,極大降低了功耗,達到了每個MIPS只需0.05 mW的水平,與市場上的主流產(chǎn)品TMS320C54x相比,功耗降低了6倍。TMS320C5509的內(nèi)核是從TMS320C54x上發(fā)展而來的,所以可以完全兼容現(xiàn)在市場主流的TMS320C54x系列處理器的指令,既保護了用戶在軟件方面的投資,又使得熟悉TMS320C54x編程的軟件人員幾乎不用再學習就可以編寫他的軟件。同時,TMS320C5509中還集成了大量諸如AD,USB控制器之類的片內(nèi)外設(shè),使其成為了一款具有SOC(片上系統(tǒng))性質(zhì)處理器,用戶只需外加很少的輔助器件就可以構(gòu)成一個較完整的DSP系統(tǒng)。從以上特點可以看出,TMS320C5509非常適合于應(yīng)用在便攜式系統(tǒng)中。

  2、實時操作系統(tǒng)DSP/BIOSⅡ的簡介

  TI公司的DSP/BIOSⅡ是一種專門為TI公司的TMS320系列DSP芯片設(shè)計的嵌入式實時多任務(wù)操作系統(tǒng)。主要由5個部分組成:

  (1)線程和調(diào)度(Procedure and Scheduling)

  DSP/BIOSⅡ提供了4種不同的執(zhí)行線程,包括HWI(硬中斷任務(wù))、SWI(軟中斷任務(wù))和TSK(任務(wù))等,每一類線程又具有不同的執(zhí)行、掛起、休眠等特性。DSP/BIOSⅡ支持基于靜態(tài)優(yōu)先級的調(diào)度方法,又可以通過修改內(nèi)核提供搶先式多任務(wù)服務(wù)。

 ?。?)硬件抽象(Hardware Abstraction)

  他提供了PIP和SIO兩種數(shù)據(jù)傳輸模式,可以方便DSP與外設(shè)之間的數(shù)據(jù)交換。Pipe(數(shù)據(jù)管道)使用了較少的內(nèi)存,并且傳輸?shù)乃俣瓤?、效率高。SIO(流)對內(nèi)存有了更高的抽象,便于創(chuàng)建設(shè)備驅(qū)動程序更加結(jié)構(gòu)化的方法。

  (3)資源管理(Resoure Management)

  利用DSP/BIOSⅡ的邏輯接口可以對特定的硬件部分進行訪問和配置。DSP/BIOSⅡ不僅可以通過其設(shè)置工具來定義內(nèi)存映射、中斷向量表而且還可以設(shè)置定時器、串行口等硬件設(shè)備。

 ?。?)通信和同步(Communication and Synchronization)

  DSP/BIOSⅡ支持旗語(Semaphores)、郵箱(Mailbox)和數(shù)據(jù)隊列(Queue)等多種內(nèi)部線程通信和同步的方式。旗語是最主要的同步方式,可以使任務(wù)通過旗語來運行和掛起,還可以用互斥旗語來管理緩沖區(qū)和設(shè)備。

  (5)實時分析(Real-Time Analysis)

  實時分析工具能夠讓開發(fā)者在程序執(zhí)行期間對DSP進行交互和診斷。DSP/BIOSⅡ不僅提供了常用的日志(LOG),STS,TRC模塊,還提供了CPU負載圖(CPULoad Graph)、執(zhí)行圖(Execution Graph)等多種更方便的調(diào)試和觀察工具。

  3、基于DSP/BIOSⅡ?qū)崟r操作系統(tǒng)的軟件結(jié)構(gòu)設(shè)計

  使用DSP/BIOSⅡ來做項目的第一步就是模塊劃分,即把項目所要完成的功能拆分成幾個相對獨立的線程來完成(可以認為線程在運行時是獨占DSP的),根據(jù)線程中使用硬件資源的情況考慮用什么類型的線程來完成。一般來說,用到硬中斷的任務(wù)放到HWI來完成,用到定時器的任務(wù)可以放到PRD(周期任務(wù))中完成。然后是確定線程之間的關(guān)系,根據(jù)他來設(shè)定各個線程的優(yōu)先級,以及用 什么方式通訊和交換數(shù)據(jù)。旗語是最便于使用的通訊方式。

  探地信號處理機的信號處理過程:A/D每采來一列數(shù)據(jù)之后給DSP發(fā)一個硬中斷信號,每接收到一列數(shù)據(jù)之后,DSP對這列數(shù)據(jù)分別進行平均濾波和自適應(yīng)濾波,同時進行列計數(shù);當列計數(shù)到達一幀時,對這一幀圖像信號進行小波去噪處理和脈沖壓縮,最后根據(jù)鍵盤的設(shè)定把圖像顯示到圖形液晶上,并通過USB接口送到PC主機,以便下一步的處理。

根據(jù)以上的執(zhí)行過程,整個軟件分解為12個獨立的任務(wù),其中列中斷、USB數(shù)據(jù)傳送這2個模塊是HWI(硬中斷)類型的任務(wù),鍵盤模塊屬于PRD(周期性)任務(wù)(完成對鍵盤定期掃描),其余模塊是SWI(軟中斷)類型的任務(wù)。初始化任務(wù)完成對DSP的初始設(shè)定后就刪除;列中斷任務(wù)負責給DSP發(fā)送列數(shù)據(jù)來臨信息,觸發(fā)列平均、列自適應(yīng)任務(wù),完成對一列數(shù)據(jù)的去噪處理;列計數(shù)模塊完成對列中斷的計數(shù),當?shù)竭_一幀時,發(fā)送幀中斷,觸發(fā)一系列針對幀的數(shù)據(jù)處理任務(wù);整個軟件系統(tǒng)的執(zhí)行流程如圖2所示。

整個軟件系統(tǒng)的執(zhí)行流程

  DSP/BIOSⅡ作為一種商用的操作系統(tǒng),提供給便于使用的圖形配置界面。使用圖形界面可以幫助開發(fā)者快速開發(fā)程序,不必寫繁瑣的初始化程序,而可以用圖形界面配置后讓編譯器自動生成。比如對于串行口(MCBSP)的設(shè)置就需要配置中斷源、數(shù)據(jù)格式、收發(fā)頻率等十幾個寄存器,麻煩而且容易出錯,但是如果使用圖形界面來設(shè)置,一切就容易多了。圖形配置界面不僅可以完成對硬件資源的設(shè)置,還可以對任務(wù)、信號量進行初始化,完成了他,也就完成了使用DSP/BIOSⅡ的第二步工作。完成各個線程程序的編寫之后,編譯并載入DSP中運行。DSP首先初始化,然后從MAIN()函數(shù)跳入任務(wù)循環(huán)隊列,按照優(yōu)先級執(zhí)行隊列中的任務(wù),而任務(wù)一般都是無限循環(huán)的,只被特定的信號量掛起。

  DSP/BIOSⅡ提供了強大的分析調(diào)試工具。除了常用的方法之外,CPU負載圖和執(zhí)行圖是兩種非常有效的方法。CPU負載圖提供的是目標CPU的負載曲線。CPU負載的定義是除去執(zhí)行最低優(yōu)先級任務(wù)以外的時間量。最低優(yōu)先級任務(wù)是只在其他線程都不運行時才執(zhí)行的任務(wù)。因此,CPU負載圖包括從目標向主機傳送數(shù)據(jù)和執(zhí)行附加后臺任務(wù)所需的時間。在執(zhí)行圖中,可以看到各個線程的活動方式。圖形中還包括了信號量的活動,周期性函數(shù)標記(tick)和時鐘模塊標記。執(zhí)行圖能從整體上看到項目所有線程的活動狀態(tài)。根據(jù)調(diào)試得到的信息可以評估線程的執(zhí)行情況和CPU的負荷情況,配合其他調(diào)試工具,修改設(shè)計直到完成項目的功能需要。

  CPU負載圖反映的是軟件系統(tǒng)所需要的性能和CPU實際最大性能的比值,像PC機上性能統(tǒng)計圖,如果所需的性能大于DSP的實際性能,就必須修改設(shè)計、優(yōu)化算法、加快時鐘頻率,甚至更換性能更高的DSP芯片。

  執(zhí)行圖顯示了各個任務(wù)執(zhí)行過程中的細節(jié)信息,對于嵌入式應(yīng)用而言,實時性是非常重要甚至是必須滿足的條件,操作系統(tǒng)按很小的間隔進行調(diào)度就是力圖保證系統(tǒng)響應(yīng)的實時性。但是在實際中,如果任務(wù)分配不好,使得任務(wù)不能在調(diào)度間隔內(nèi)完成,就會影響整個系統(tǒng)的實時性,這時,必須對任務(wù)劃分作合理的修改。比如本系統(tǒng)中對一列數(shù)據(jù)的去噪處理,原先是等到一幀數(shù)據(jù)來到后再做的,仿真中發(fā)現(xiàn)這樣使得一幀間隔內(nèi)所要執(zhí)行的任務(wù)過多,DSP無法完成,所以將數(shù)據(jù)的預(yù)處理改到每一列去做,保證系統(tǒng)的實時性。

  4、DSP/BIOSⅡ操作系統(tǒng)使用中要注意的問題

 ?。?)很好地使用DSP/BIOSⅡ的關(guān)鍵在于很好地理解操作系統(tǒng),這有點像算法理論和應(yīng)用算法的關(guān)系。操作系統(tǒng)凝聚了軟件領(lǐng)域幾十年發(fā)展中的精華,有很多概念和結(jié)構(gòu)是需要很深入的理解和思考的,所以,初學者一定得反復(fù)看看一些專門講操作系統(tǒng)的書籍。

  (2)任務(wù)必須寫成下面2種形式之一。

程序

  在DSP/BIOSⅡ開發(fā)環(huán)境里沒有要求顯示調(diào)用OSTaskDel(),這是因為開發(fā)環(huán)境自動做了處理,實際原理都是一樣的。

  5、結(jié)束語

  本文對探地信號處理機的硬件結(jié)構(gòu)和軟件設(shè)計都做了介紹,重點介紹了如何在項目應(yīng)用中使用DSP/BIOSⅡ?qū)崟r嵌入式操作系統(tǒng)。實時嵌入式操作系統(tǒng)在國外得到廣泛的應(yīng)用,已成為嵌入式系統(tǒng)設(shè)計中必不可少的一部分,但是在國內(nèi)高校,以DSP為核心的嵌入式平臺中,嵌入式操作系統(tǒng)的應(yīng)用很有限。所以快速利用這方面的最新技術(shù),提高嵌入式系統(tǒng)開發(fā)的層次和深度是刻不容緩的。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉