《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > DSP/BIOS在數(shù)字監(jiān)測接收機(jī)中的應(yīng)用
DSP/BIOS在數(shù)字監(jiān)測接收機(jī)中的應(yīng)用
單片機(jī)與嵌入式系統(tǒng)
楊 磊,李會勇 電子科技大學(xué)
摘要: 本文利用DSP/BIOS操作系統(tǒng)對數(shù)字監(jiān)測接收機(jī)系統(tǒng)進(jìn)行設(shè)計,采用時間片輪詢方式在任務(wù)間實施調(diào)度。該方案已應(yīng)用在實際的工程中,通過DSP/BIOS分析工具可知該數(shù)字監(jiān)測接收機(jī)系統(tǒng)能夠在滿足實時性的情況下正常穩(wěn)定地工作,且設(shè)計和資源分配得到了正確的應(yīng)用。
Abstract:
Key words :

引言
    隨著通信與信息技術(shù)的不斷發(fā)展及數(shù)字產(chǎn)品的普及,DSP被越來越多地應(yīng)用于各種數(shù)字系統(tǒng)中。美國德州儀器(TI)公司于20世紀(jì)90年代開發(fā)了能在其DSP產(chǎn)品上運(yùn)行的實時操作系統(tǒng)內(nèi)核DSP/BIOS,并提出一系列DSP軟件實施方案來加速應(yīng)用開發(fā)進(jìn)程。
    本文將嵌入式技術(shù)應(yīng)用于數(shù)字監(jiān)測接收機(jī)系統(tǒng)設(shè)計中,采用TI公司的TMS320DM6437為核心處理器,以DSP/BIOS操作系統(tǒng)為軟件平臺,通過芯片支持庫和應(yīng)用程序構(gòu)建成一個完整的數(shù)字監(jiān)測接收機(jī)系統(tǒng)。監(jiān)測接收機(jī)通過周期地掃描給定頻段,利用頻譜分析測量頻譜占用度、頻率發(fā)射類型、帶寬和載干比等參數(shù),并實現(xiàn)自動測量。

1 DSP/BIOS
    針對TI公司的TMS320系列數(shù)字信號處理器,DSP/BIOS為開發(fā)者提供一種實時操作系統(tǒng)解決方案。DSP/BIOS是一個功能豐富、可擴(kuò)展的內(nèi)核服務(wù)集,開發(fā)人員可以用來管理系統(tǒng)級的資源和構(gòu)建DSP應(yīng)用的基礎(chǔ)架構(gòu)。在DSP/BIOS的協(xié)助下,開發(fā)人員可以拋開底層開發(fā)的困擾,從而專注于算法實現(xiàn)和系統(tǒng)集成。
    DSP/BIOS是一個可剪裁的實時操作系統(tǒng),主要由3部分組成:多線程實時內(nèi)核、實時分析工具和芯片支持庫。多線程實時內(nèi)核維護(hù)調(diào)度多線程的運(yùn)行,負(fù)責(zé)任務(wù)的調(diào)度及時間輪詢算法的實現(xiàn);實時分析工具提供線程算法實時運(yùn)行的情況,方便用戶驗證系統(tǒng)設(shè)計的正確性和可靠性;芯片支持庫負(fù)責(zé)管理外設(shè)資源,利用圖形工具便可完成復(fù)雜的外設(shè)寄存器初始化配置。
1.1 多線程實時內(nèi)核
    DSP/BIOS設(shè)計的主要目的是降低存儲器需求的空間和CPU響應(yīng)時間。這種設(shè)計有利于縮減程序代碼量,提高系統(tǒng)模塊化程度,降低指令的執(zhí)行周期以及實現(xiàn)后臺任務(wù)間的通信和管理。
1.2 實時分析工具
    DSP/BIOS的實時分析工具能實時捕獲和顯示數(shù)據(jù),這對于軟件開發(fā)階段診斷系統(tǒng)和查找系統(tǒng)缺陷非常有幫助。實時分析工具主要包含兩方面的內(nèi)容:實時數(shù)據(jù)交換(RTDX)功能和面板工具插件。實時分析工具是在DSP空閑周期內(nèi)完成與目標(biāo)應(yīng)用程序間的通信,因此不會影響應(yīng)用程序的實時性。
1.3 芯片支持庫
    在DSP系統(tǒng)軟件設(shè)計中,一般會涉及大量對片上外設(shè)的操作,往往要消耗過多的時間和精力。TI公司為5000系列和6000系列的DSP提供了各自的芯片支持庫CSL(Chip Support Library)。CSL庫函數(shù)主要用于配置和控制DSP片上外設(shè),使片上外設(shè)更容易使用,縮短開發(fā)時間,增強(qiáng)可移植性。用CSL來配置和管理DSP的硬件外設(shè)模塊,可以使固件程序的開發(fā)變得更加方便和快捷。

2 數(shù)字監(jiān)測接收機(jī)系統(tǒng)
2.1 數(shù)字監(jiān)測接收機(jī)系統(tǒng)分析
    數(shù)字監(jiān)測接收機(jī)工作原理如圖1所示。數(shù)字監(jiān)測接收機(jī)由標(biāo)準(zhǔn)源、調(diào)諧器、中頻數(shù)字信號處理器和電源等模塊組成。接收機(jī)通過網(wǎng)絡(luò)與遠(yuǎn)程計算機(jī)工作站相連,計算機(jī)工作站完成信號顯示、對接收機(jī)輸出信號的進(jìn)一步處理,以及對接收機(jī)的配置及控制。

 a.JPG


    中頻數(shù)字信號處理器是系統(tǒng)的核心部件,負(fù)責(zé)對寬帶信號進(jìn)行中頻數(shù)字化處理。其中包括FPGA實現(xiàn)中頻信號高速采樣、數(shù)字DDC(Direct Digital Control,直接數(shù)字控制)和DSP完成中頻/視頻PSD處理,以及信號解調(diào)、ITU測試等工作。
    DSP需要利用DSP/BIOS操作系統(tǒng)實現(xiàn)以下功能:接收FPGA數(shù)字下變頻后的中頻數(shù)據(jù),配置FPGA數(shù)字下變頻參數(shù),測量射頻參數(shù)和信號頻譜,解調(diào)數(shù)字/模擬調(diào)制信號,打包處理數(shù)據(jù),解析網(wǎng)絡(luò)命令等。其基本框架如圖2所示。

 b.JPG


     針對以上分析,系統(tǒng)需要創(chuàng)建10個任務(wù)。其中,DDC數(shù)據(jù)接收為硬中斷任務(wù),系統(tǒng)狀態(tài)切換和打包處理數(shù)據(jù)啟用軟中斷任務(wù),其余皆為可搶占任務(wù)。由于DSP/BIOS采用多任務(wù)優(yōu)先級搶占式調(diào)度,在RTOS中當(dāng)前處理的任務(wù)設(shè)置為優(yōu)先級最高,處理完成后將其優(yōu)先級降低使得其他任務(wù)能夠工作。網(wǎng)絡(luò)命令接收和解析網(wǎng)絡(luò)命令享有最高優(yōu)先級;DDC參數(shù)配置優(yōu)先級次之;測量射頻參數(shù)、測量信號頻譜和解調(diào)信號采用相同的優(yōu)先級,網(wǎng)絡(luò)數(shù)據(jù)發(fā)送優(yōu)先級最低。任務(wù)之間通過消息機(jī)制實現(xiàn)共用數(shù)據(jù)互斥訪問。
2. 2 DSP/BIOS設(shè)置
    根據(jù)系統(tǒng)需求,利用DSP/BIOS配置工具配置中斷和任務(wù)。在系統(tǒng)中對參數(shù)的設(shè)定直接影響到系統(tǒng)的執(zhí)行情況,特別是對各個對象的堆棧設(shè)置,如果分配不合理,將會造成在程序執(zhí)行過程中數(shù)據(jù)丟失,嚴(yán)重時將給系統(tǒng)帶來災(zāi)難性破壞。
    由于系統(tǒng)需要通過時間片輪詢的方式滿足RTOS多任務(wù)調(diào)度的需求,需要通過配置工具配置一個周期函數(shù)管理(PRD)。其作用是在指定的時間內(nèi)執(zhí)行某一個任務(wù),若超出此時間,則將當(dāng)前任務(wù)的執(zhí)行掛起轉(zhuǎn)而執(zhí)行同等優(yōu)先級的其他任務(wù)。該任務(wù)通過DSP/BIOS提供的TSK_yield來實現(xiàn)。
    系統(tǒng)還需配置時間標(biāo)志管理(Event Log Manager)來將當(dāng)前調(diào)試信息實時打印輸出,方便系統(tǒng)調(diào)試和維護(hù)。每個任務(wù)都有自己的緩沖空間,任務(wù)間通過信號量和消息郵箱進(jìn)行互斥訪問公共資源,達(dá)到系統(tǒng)協(xié)同合作的目的。
     DSP/BIOS配置如圖3所示。

 c.JPG


    需要指出的是,測量射頻參數(shù)任務(wù)、測量信號頻譜任務(wù)和解調(diào)信號任務(wù)采用相同的優(yōu)先級,其任務(wù)配置并未在配置工具中設(shè)置,而是在代碼中通過TaskCreate()函數(shù)動態(tài)建立的,提高了系統(tǒng)配置的靈活性和實用性。

 

3 結(jié)果分析
3.1 任務(wù)調(diào)度
    在DSP/BIOS中,可以通過線程執(zhí)行圖分析各個線程的執(zhí)行情況。本系統(tǒng)的線程執(zhí)行圖如圖4所示。

 d.JPG


    從圖中可以看出數(shù)據(jù)處理任務(wù)(Other Threads,通過TaskCreate函數(shù)建立)和網(wǎng)絡(luò)處理任務(wù)(prdNdk)的執(zhí)行順序。系統(tǒng)先啟動網(wǎng)絡(luò)處理任務(wù)接收原始數(shù)據(jù),完成數(shù)據(jù)處理任務(wù)后,通過任務(wù)調(diào)度切換至網(wǎng)絡(luò)任務(wù),從而完成了數(shù)據(jù)處理任務(wù)和網(wǎng)絡(luò)處理任務(wù)的正常切換。
3.2 日志分析
    在系統(tǒng)設(shè)計時,數(shù)據(jù)處理任務(wù)在代碼中動態(tài)創(chuàng)建,不能通過線程執(zhí)行圖分析,只能通過日志分析標(biāo)注當(dāng)前任務(wù)運(yùn)行狀態(tài)。日志記錄圖如圖5所示。4個數(shù)據(jù)處理任務(wù)具有相同的優(yōu)先級,不能搶占其他任務(wù)的資源,只能按照一定的順序輪詢執(zhí)行。從圖中可以看出,系統(tǒng)能正常地完成數(shù)據(jù)處理任務(wù)。

 e.JPG

 

結(jié)語
    本文利用DSP/BIOS操作系統(tǒng)對數(shù)字監(jiān)測接收機(jī)系統(tǒng)進(jìn)行設(shè)計,采用時間片輪詢方式在任務(wù)間實施調(diào)度。該方案已應(yīng)用在實際的工程中,通過DSP/BIOS分析工具可知該數(shù)字監(jiān)測接收機(jī)系統(tǒng)能夠在滿足實時性的情況下正常穩(wěn)定地工作,且設(shè)計和資源分配得到了正確的應(yīng)用。
 

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