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