《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP的便攜式雷達(dá)系統(tǒng)
基于DSP的便攜式雷達(dá)系統(tǒng)
EEworld
EEworld
摘要: 本設(shè)計(jì)的信號(hào)處理機(jī)是希望以他為主體構(gòu)成一個(gè)完整的便攜式雷達(dá)系統(tǒng),,除了信號(hào)處理的任務(wù)之外,,采樣,、顯示,、通信等多種任務(wù)也必須由他來(lái)完成,需要滿(mǎn)足實(shí)時(shí)多任務(wù)的要求,,所以必須使用嵌入式實(shí)時(shí)操作系統(tǒng),。本文主要介紹了為什么使用實(shí)時(shí)操作系統(tǒng)以及基于DSP/BIOSⅡ?qū)崟r(shí)操作系統(tǒng)的總體軟件設(shè)計(jì)思想和方案。
關(guān)鍵詞: DSP 便攜式 雷達(dá) TMS320C5509
Abstract:
Key words :

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

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

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

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

TMS320C5509總體硬件框圖

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

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

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

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

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

  (2)硬件抽象(Hardware Abstraction)

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

  (3)資源管理(Resoure Management)

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

  (4)通信和同步(Communication and Synchronization)

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

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

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

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

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

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

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

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

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

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

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

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

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

  在DSP/BIOSⅡ開(kāi)發(fā)環(huán)境里沒(méi)有要求顯示調(diào)用OSTaskDel(),這是因?yàn)殚_(kāi)發(fā)環(huán)境自動(dòng)做了處理,,實(shí)際原理都是一樣的,。

  5、結(jié)束語(yǔ)

  本文對(duì)探地雷達(dá)信號(hào)處理機(jī)的硬件結(jié)構(gòu)和軟件設(shè)計(jì)都做了介紹,,重點(diǎn)介紹了如何在項(xiàng)目應(yīng)用中使用DSP/BIOSⅡ?qū)崟r(shí)嵌入式操作系統(tǒng),。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。