DSP/BIOS在數(shù)字監(jiān)測(cè)接收機(jī)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
隨著通信與信息技術(shù)的不斷發(fā)展及數(shù)字產(chǎn)品的普及,DSP被越來(lái)越多地應(yīng)用于各種數(shù)字系統(tǒng)中。美國(guó)德州儀器(TI)公司于20世紀(jì)90年代開(kāi)發(fā)了能在其DSP產(chǎn)品上運(yùn)行的實(shí)時(shí)操作系統(tǒng)內(nèi)核DSP/BIOS,并提出一系列DSP軟件實(shí)施方案來(lái)加速應(yīng)用開(kāi)發(fā)進(jìn)程。
本文將嵌入式技術(shù)應(yīng)用于數(shù)字監(jiān)測(cè)接收機(jī)系統(tǒng)設(shè)計(jì)中,采用TI公司的TMS320DM6437為核心處理器,以DSP/BIOS操作系統(tǒng)為軟件平臺(tái),通過(guò)芯片支持庫(kù)和應(yīng)用程序構(gòu)建成一個(gè)完整的數(shù)字監(jiān)測(cè)接收機(jī)系統(tǒng)。監(jiān)測(cè)接收機(jī)通過(guò)周期地掃描給定頻段,利用頻譜分析測(cè)量頻譜占用度、頻率發(fā)射類(lèi)型、帶寬和載干比等參數(shù),并實(shí)現(xiàn)自動(dòng)測(cè)量。
1 DSP/BIOS
針對(duì)TI公司的TMS320系列數(shù)字信號(hào)處理器,DSP/BIOS為開(kāi)發(fā)者提供一種實(shí)時(shí)操作系統(tǒng)解決方案。DSP/BIOS是一個(gè)功能豐富、可擴(kuò)展的內(nèi)核服務(wù)集,開(kāi)發(fā)人員可以用來(lái)管理系統(tǒng)級(jí)的資源和構(gòu)建DSP應(yīng)用的基礎(chǔ)架構(gòu)。在DSP/BIOS的協(xié)助下,開(kāi)發(fā)人員可以拋開(kāi)底層開(kāi)發(fā)的困擾,從而專(zhuān)注于算法實(shí)現(xiàn)和系統(tǒng)集成。
DSP/BIOS是一個(gè)可剪裁的實(shí)時(shí)操作系統(tǒng),主要由3部分組成:多線程實(shí)時(shí)內(nèi)核、實(shí)時(shí)分析工具和芯片支持庫(kù)。多線程實(shí)時(shí)內(nèi)核維護(hù)調(diào)度多線程的運(yùn)行,負(fù)責(zé)任務(wù)的調(diào)度及時(shí)間輪詢(xún)算法的實(shí)現(xiàn);實(shí)時(shí)分析工具提供線程算法實(shí)時(shí)運(yùn)行的情況,方便用戶(hù)驗(yàn)證系統(tǒng)設(shè)計(jì)的正確性和可靠性;芯片支持庫(kù)負(fù)責(zé)管理外設(shè)資源,利用圖形工具便可完成復(fù)雜的外設(shè)寄存器初始化配置。
1.1 多線程實(shí)時(shí)內(nèi)核
DSP/BIOS設(shè)計(jì)的主要目的是降低存儲(chǔ)器需求的空間和CPU響應(yīng)時(shí)間。這種設(shè)計(jì)有利于縮減程序代碼量,提高系統(tǒng)模塊化程度,降低指令的執(zhí)行周期以及實(shí)現(xiàn)后臺(tái)任務(wù)間的通信和管理。
1.2 實(shí)時(shí)分析工具
DSP/BIOS的實(shí)時(shí)分析工具能實(shí)時(shí)捕獲和顯示數(shù)據(jù),這對(duì)于軟件開(kāi)發(fā)階段診斷系統(tǒng)和查找系統(tǒng)缺陷非常有幫助。實(shí)時(shí)分析工具主要包含兩方面的內(nèi)容:實(shí)時(shí)數(shù)據(jù)交換(RTDX)功能和面板工具插件。實(shí)時(shí)分析工具是在DSP空閑周期內(nèi)完成與目標(biāo)應(yīng)用程序間的通信,因此不會(huì)影響應(yīng)用程序的實(shí)時(shí)性。
1.3 芯片支持庫(kù)
在DSP系統(tǒng)軟件設(shè)計(jì)中,一般會(huì)涉及大量對(duì)片上外設(shè)的操作,往往要消耗過(guò)多的時(shí)間和精力。TI公司為5000系列和6000系列的DSP提供了各自的芯片支持庫(kù)CSL(Chip Support Library)。CSL庫(kù)函數(shù)主要用于配置和控制DSP片上外設(shè),使片上外設(shè)更容易使用,縮短開(kāi)發(fā)時(shí)間,增強(qiáng)可移植性。用CSL來(lái)配置和管理DSP的硬件外設(shè)模塊,可以使固件程序的開(kāi)發(fā)變得更加方便和快捷。
2 數(shù)字監(jiān)測(cè)接收機(jī)系統(tǒng)
2.1 數(shù)字監(jiān)測(cè)接收機(jī)系統(tǒng)分析
數(shù)字監(jiān)測(cè)接收機(jī)工作原理如圖1所示。數(shù)字監(jiān)測(cè)接收機(jī)由標(biāo)準(zhǔn)源、調(diào)諧器、中頻數(shù)字信號(hào)處理器和電源等模塊組成。接收機(jī)通過(guò)網(wǎng)絡(luò)與遠(yuǎn)程計(jì)算機(jī)工作站相連,計(jì)算機(jī)工作站完成信號(hào)顯示、對(duì)接收機(jī)輸出信號(hào)的進(jìn)一步處理,以及對(duì)接收機(jī)的配置及控制。
[!--empirenews.page--]
中頻數(shù)字信號(hào)處理器是系統(tǒng)的核心部件,負(fù)責(zé)對(duì)寬帶信號(hào)進(jìn)行中頻數(shù)字化處理。其中包括FPGA實(shí)現(xiàn)中頻信號(hào)高速采樣、數(shù)字DDC(Direct Digital Control,直接數(shù)字控制)和DSP完成中頻/視頻PSD處理,以及信號(hào)解調(diào)、ITU測(cè)試等工作。
DSP需要利用DSP/BIOS操作系統(tǒng)實(shí)現(xiàn)以下功能:接收FPGA數(shù)字下變頻后的中頻數(shù)據(jù),配置FPGA數(shù)字下變頻參數(shù),測(cè)量射頻參數(shù)和信號(hào)頻譜,解調(diào)數(shù)字/模擬調(diào)制信號(hào),打包處理數(shù)據(jù),解析網(wǎng)絡(luò)命令等。其基本框架如圖2所示。
針對(duì)以上分析,系統(tǒng)需要?jiǎng)?chuàng)建10個(gè)任務(wù)。其中,DDC數(shù)據(jù)接收為硬中斷任務(wù),系統(tǒng)狀態(tài)切換和打包處理數(shù)據(jù)啟用軟中斷任務(wù),其余皆為可搶占任務(wù)。由于DSP/BIOS采用多任務(wù)優(yōu)先級(jí)搶占式調(diào)度,在RTOS中當(dāng)前處理的任務(wù)設(shè)置為優(yōu)先級(jí)最高,處理完成后將其優(yōu)先級(jí)降低使得其他任務(wù)能夠工作。網(wǎng)絡(luò)命令接收和解析網(wǎng)絡(luò)命令享有最高優(yōu)先級(jí);DDC參數(shù)配置優(yōu)先級(jí)次之;測(cè)量射頻參數(shù)、測(cè)量信號(hào)頻譜和解調(diào)信號(hào)采用相同的優(yōu)先級(jí),網(wǎng)絡(luò)數(shù)據(jù)發(fā)送優(yōu)先級(jí)最低。任務(wù)之間通過(guò)消息機(jī)制實(shí)現(xiàn)共用數(shù)據(jù)互斥訪問(wèn)。
2. 2 DSP/BIOS設(shè)置
根據(jù)系統(tǒng)需求,利用DSP/BIOS配置工具配置中斷和任務(wù)。在系統(tǒng)中對(duì)參數(shù)的設(shè)定直接影響到系統(tǒng)的執(zhí)行情況,特別是對(duì)各個(gè)對(duì)象的堆棧設(shè)置,如果分配不合理,將會(huì)造成在程序執(zhí)行過(guò)程中數(shù)據(jù)丟失,嚴(yán)重時(shí)將給系統(tǒng)帶來(lái)災(zāi)難性破壞。
由于系統(tǒng)需要通過(guò)時(shí)間片輪詢(xún)的方式滿(mǎn)足RTOS多任務(wù)調(diào)度的需求,需要通過(guò)配置工具配置一個(gè)周期函數(shù)管理(PRD)。其作用是在指定的時(shí)間內(nèi)執(zhí)行某一個(gè)任務(wù),若超出此時(shí)間,則將當(dāng)前任務(wù)的執(zhí)行掛起轉(zhuǎn)而執(zhí)行同等優(yōu)先級(jí)的其他任務(wù)。該任務(wù)通過(guò)DSP/BIOS提供的TSK_yield來(lái)實(shí)現(xiàn)。
系統(tǒng)還需配置時(shí)間標(biāo)志管理(Event Log Manager)來(lái)將當(dāng)前調(diào)試信息實(shí)時(shí)打印輸出,方便系統(tǒng)調(diào)試和維護(hù)。每個(gè)任務(wù)都有自己的緩沖空間,任務(wù)間通過(guò)信號(hào)量和消息郵箱進(jìn)行互斥訪問(wèn)公共資源,達(dá)到系統(tǒng)協(xié)同合作的目的。
DSP/BIOS配置如圖3所示。
需要指出的是,測(cè)量射頻參數(shù)任務(wù)、測(cè)量信號(hào)頻譜任務(wù)和解調(diào)信號(hào)任務(wù)采用相同的優(yōu)先級(jí),其任務(wù)配置并未在配置工具中設(shè)置,而是在代碼中通過(guò)TaskCreate()函數(shù)動(dòng)態(tài)建立的,提高了系統(tǒng)配置的靈活性和實(shí)用性。
[!--empirenews.page--]
3 結(jié)果分析
3.1 任務(wù)調(diào)度
在DSP/BIOS中,可以通過(guò)線程執(zhí)行圖分析各個(gè)線程的執(zhí)行情況。本系統(tǒng)的線程執(zhí)行圖如圖4所示。
從圖中可以看出數(shù)據(jù)處理任務(wù)(Other Threads,通過(guò)TaskCreate函數(shù)建立)和網(wǎng)絡(luò)處理任務(wù)(prdNdk)的執(zhí)行順序。系統(tǒng)先啟動(dòng)網(wǎng)絡(luò)處理任務(wù)接收原始數(shù)據(jù),完成數(shù)據(jù)處理任務(wù)后,通過(guò)任務(wù)調(diào)度切換至網(wǎng)絡(luò)任務(wù),從而完成了數(shù)據(jù)處理任務(wù)和網(wǎng)絡(luò)處理任務(wù)的正常切換。
3.2 日志分析
在系統(tǒng)設(shè)計(jì)時(shí),數(shù)據(jù)處理任務(wù)在代碼中動(dòng)態(tài)創(chuàng)建,不能通過(guò)線程執(zhí)行圖分析,只能通過(guò)日志分析標(biāo)注當(dāng)前任務(wù)運(yùn)行狀態(tài)。日志記錄圖如圖5所示。4個(gè)數(shù)據(jù)處理任務(wù)具有相同的優(yōu)先級(jí),不能搶占其他任務(wù)的資源,只能按照一定的順序輪詢(xún)執(zhí)行。從圖中可以看出,系統(tǒng)能正常地完成數(shù)據(jù)處理任務(wù)。
結(jié)語(yǔ)
本文利用DSP/BIOS操作系統(tǒng)對(duì)數(shù)字監(jiān)測(cè)接收機(jī)系統(tǒng)進(jìn)行設(shè)計(jì),采用時(shí)間片輪詢(xún)方式在任務(wù)間實(shí)施調(diào)度。該方案已應(yīng)用在實(shí)際的工程中,通過(guò)DSP/BIOS分析工具可知該數(shù)字監(jiān)測(cè)接收機(jī)系統(tǒng)能夠在滿(mǎn)足實(shí)時(shí)性的情況下正常穩(wěn)定地工作,且設(shè)計(jì)和資源分配得到了正確的應(yīng)用。