新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 短波發(fā)射機自動功率控制異常波形采集系統(tǒng)設(shè)計

短波發(fā)射機自動功率控制異常波形采集系統(tǒng)設(shè)計

作者:吳昊 屈曉旭 時間:2016-08-29 來源:電子產(chǎn)品世界 收藏
編者按:短波發(fā)射機自動功率控制中,算法設(shè)計缺陷或反饋控制系統(tǒng)故障可能導(dǎo)致輸出波形失真,甚至產(chǎn)生毛刺,損壞發(fā)射機功放或降低功放輸出效率。針對短波發(fā)射機自動功率控制波形檢測采集分析中的數(shù)據(jù)交互量大、實時性要求高等特點,提出了一種自動功率控制異常時波形實時采集設(shè)計方案。實驗表明,本設(shè)計不僅靈活可靠,且能滿足大量數(shù)據(jù)的實時交換要求。

摘要:短波中,算法設(shè)計缺陷或反饋控制系統(tǒng)故障可能導(dǎo)致輸出波形失真,甚至產(chǎn)生毛刺,損壞功放或降低功放輸出效率。針對短波波形檢測采集分析中的數(shù)據(jù)交互量大、實時性要求高等特點,提出了一種異常時波形實時采集設(shè)計方案。實驗表明,本設(shè)計不僅靈活可靠,且能滿足大量數(shù)據(jù)的實時交換要求。

本文引用地址:http://butianyuan.cn/article/201608/296186.htm

引言

  音頻信號進入發(fā)射機經(jīng)過調(diào)制后,通過信道功率控制使調(diào)制信號輸出電壓值逼近功放理想輸入值,從而提高功放效率。信道功率控制主要包括自動增益控制(AGC)與自動電平控制(ALC)。

  實際工作中,調(diào)制信號經(jīng)過信道功率控制后會有各種不同的瞬態(tài)響應(yīng),可能產(chǎn)生毛刺或發(fā)生包絡(luò)失真,從而降低通信質(zhì)量,增大誤碼率,嚴(yán)重的可能損壞功放[1]。分析射頻信號的毛刺等高頻信號的變化特性、功率上升時間、包絡(luò)長期穩(wěn)定性等參數(shù),發(fā)現(xiàn)射頻信號采集分析系統(tǒng)可以檢測通信設(shè)備功率控制中是否存在設(shè)計缺陷或發(fā)生故障。這對于保證通信質(zhì)量和保護功放,具有重要意義。

  由于毛刺等高頻信號的變化特性往往是瞬態(tài)的,因此,對采樣檢測系統(tǒng)的采樣率和處理速度提出了較高要求。此外,由于信號包絡(luò)變化慢,延續(xù)時間長,因此,包絡(luò)失真檢測系統(tǒng)的存儲容量足夠大。

  為實現(xiàn)整個系統(tǒng)功能,需要FPGA和DSP作為下位機,以完成毛刺檢測這類“高頻”信號特征檢測,并可將發(fā)現(xiàn)的異常波形標(biāo)記后返回上位機。另外,由PC完成大存儲量、低速的“低頻”信號特征(包絡(luò)失真等)檢測。上位機與下位機之間的數(shù)據(jù)交互量大,實時性要求高,因此,需要一種數(shù)據(jù)傳輸更為可靠、傳輸速率更快的上位機與下位機之間的通信方案。

  本文設(shè)計了一款可實現(xiàn)上位機與下位機大量數(shù)據(jù)實時傳輸?shù)耐ㄐ畔到y(tǒng)。下位機由DSP與FPGA構(gòu)成,完成數(shù)字信號的初步處理,其中DSP完成復(fù)雜算法及控制任務(wù),F(xiàn)PGA完成實時性要求高、運算量大的毛刺識別等高速信號處理。上位機程序則利用MATLAB編程,完成實時性要求不高但數(shù)據(jù)量較大的信號處理及顯示控制任務(wù)。上位機與ARM之間通過以太網(wǎng)連接,基于UDP協(xié)議實現(xiàn)。ARM通過HPI接口控制DSP,實現(xiàn)和命令控制。

1 總體設(shè)計

1.1 系統(tǒng)結(jié)構(gòu)

  PC機的各類并行總線通常無法直接連接機外高速并口設(shè)備,如各類DSP的高速主機接口(HPI,Host Port Interface)。本文采用ARM作為DSP與PC之間的橋梁。PC與ARM之間采用以太網(wǎng)通信方式,ARM與DSP在同一電路板上集成,從而解決了并行高速總線的連接問題,使系統(tǒng)設(shè)計簡潔,應(yīng)用方便,同時滿足高速數(shù)據(jù)傳輸?shù)囊蟆?/p>

  圖1顯示了系統(tǒng)的硬件結(jié)構(gòu)框圖。從圖1中可以看出,上位機通過網(wǎng)線連接ARM,ARM控制DSP的主機接口,AD采樣的大量數(shù)據(jù)經(jīng)過FPGA做相應(yīng)處理后返回給DSP的EMIF接口。系統(tǒng)中,F(xiàn)PGA與ARM由各自晶振提供時鐘,F(xiàn)PGA對晶振頻率做鎖相處理后給DSP和A/D提供時鐘。

  系統(tǒng)中,ARM控制板基于TI公司的LM3S9B96芯片;FPGA采用ALTERA公司StratixⅡ系列的EP2SGX30D;DSP選用了TI公司的TMS320C6416。

1.2 工作流程

  上位機與DSP完成一次通信的工作流程如圖2所示。從上位機發(fā)出的命令被處理成UDP報文形式后,經(jīng)過以太網(wǎng)連接器與控制器進入ARM,再經(jīng)過UDP協(xié)議解析后被轉(zhuǎn)發(fā)送至DSP。由于ARM直接控制HPI接口,因此,命令轉(zhuǎn)發(fā)過程即是ARM改寫DSP的RAM空間的過程。DSP收到命令后將解析報文,執(zhí)行命令。執(zhí)行完命令后,DSP將要返回給上位機的數(shù)據(jù)寫到之前定義好的RAM空間內(nèi)。ARM之后將訪問DSP的RAM空間,即進行讀操作,將該數(shù)據(jù)整理成UDP報文形式,并通過網(wǎng)口轉(zhuǎn)發(fā)給上位機。DSP與ARM之間采用中斷方式通知對方新數(shù)據(jù)或命令的到來。

2 硬件設(shè)計

2.1 ARM控制板設(shè)計

  ARM開發(fā)板硬件設(shè)計如圖3所示。本設(shè)計中的ARM開發(fā)板是基于TI公司的LM3S9B96芯片,其硬件模塊主要包括1個看門狗復(fù)位電路、1個網(wǎng)絡(luò)變壓器以及2個晶體振蕩器。

  LM3S9B96的時鐘來源是主振蕩器(MOSC)或16MHz內(nèi)部振蕩器(IOSC)。最終產(chǎn)生的系統(tǒng)時鐘用于Cortex-M3處理器內(nèi)核以及大多數(shù)片內(nèi)外設(shè)。本設(shè)計中,主振蕩器通過外部單端時鐘源連接到OSC0輸入引腳,以提供頻率精準(zhǔn)的時鐘源。

  看門狗復(fù)位電路是一個定時器電路。正常工作的MCU每隔一段時間輸出一個復(fù)位信號到看門狗復(fù)位電路輸入端,給WDT清零。若超過規(guī)定時間未發(fā)送復(fù)位信號(一般在程序陷入死循環(huán)時),WDT定時超過后,看門狗電路就會發(fā)出一個復(fù)位信號到MCU,使MCU復(fù)位,防止MCU死機[2]。

  LM3S9B96芯片集成了MAC和PHY功能,只需要連接集成變壓器的RJ45網(wǎng)口和必要的阻容器件,便可以實現(xiàn)以太網(wǎng)通信。

2.2 DSP主機接口(HPI)設(shè)計

  上位機通過ARM可訪問主機接口(HPI)。主機接口是主設(shè)備或主處理器與DSP的通信接口。在C6x系列DSP中,主機接口是一個16位或者32位寬的并行端口,可以實現(xiàn)并行高速數(shù)據(jù)傳輸[3]。上位機掌管該接口的控制權(quán)。通過上位機不僅可以直接訪問DSP所有的存儲空間,而且可以直接訪問DSP片內(nèi)存儲空間映射的外圍設(shè)備。

  系統(tǒng)硬件連接如圖4所示。本設(shè)計中,ARM的地址線AMR_A[4:1]復(fù)用為HPI接口的控制信號。HCNTL[1:0]用作接口功能選擇,用來區(qū)分外部主機當(dāng)前訪問的HPI寄存器種類[4]。

  表1描述了主機訪問HPI寄存器的選擇信號HCNTL[1:0]。HR/W信號決定當(dāng)前對HPI接口是讀或?qū)懙牟僮?。?nèi)部HPI選通信號來源于3個輸入信號HCS、HDS1和HDS2。HCS輸入用于使能HPI、HDS1和HDS2信號控制著HPI的數(shù)據(jù)傳輸。通過這些信號控制線可以順利實現(xiàn)HPI的讀/寫操作。

  上位機通過網(wǎng)口與ARM開發(fā)板連接,信號均為差分輸入,差分輸出。

2.3 射頻信號采集

  射頻信號采集采用ADI公司的AD9637實現(xiàn)。AD9637可同步將8路模擬射頻信號轉(zhuǎn)換為數(shù)字信號,轉(zhuǎn)換精度有10bit與12bit可選,轉(zhuǎn)換速率最高可達(dá)80MSPS,最大數(shù)據(jù)量為480MSPS,用戶可通過芯片的SPI控制口對AD9637進行設(shè)置。

  本設(shè)計中,DSP通過FPGA實現(xiàn)SPI接口與AD9637通信。考慮到實際采樣信號為2M~30M的短波射頻信號,設(shè)置AD采樣時鐘為62.5MHz,并使用斬波(CHOP)模式,從而使其具有較小的低頻分量。

3 軟件設(shè)計

3.1 基于MATLAB的上位機軟件設(shè)計

  上位機程序基于MATLAB R2012a開發(fā)。利用MATLAB圖形用戶接口開發(fā)環(huán)境(GUIDE)可以方便地建立GUI對象,同時建立M文件框架。用戶在該框架下編寫GUI組件的回調(diào)函數(shù),可以控制并決定GUI對用戶操作的響應(yīng)。

  本設(shè)計中,DSP負(fù)責(zé)實時高速采樣的分析。DSP將采樣數(shù)據(jù)發(fā)送至上位機,MATLAB負(fù)責(zé)大量非實時低速信號的分析。上位機與ARM之間的通信基于UDP協(xié)議,即用戶數(shù)據(jù)報協(xié)議。UDP協(xié)議提供面向事務(wù)的簡單不可靠信息傳送服務(wù),屬于傳輸層協(xié)議。雖然UDP不提供數(shù)據(jù)包分組、組裝,不能對數(shù)據(jù)包進行排序,在網(wǎng)絡(luò)環(huán)境較差的情況下存在丟包問題,但其有簡單、高效的優(yōu)點。在本設(shè)計中,PC與ARM通過網(wǎng)線連接,傳輸距離不遠(yuǎn),網(wǎng)絡(luò)質(zhì)量較好,不必考慮丟包問題。

  UDP報文一般分為首部和數(shù)據(jù)區(qū)兩部分。本設(shè)計中,首部內(nèi)容包括源端口、目的端口、報文長度與校驗和[5]。MATLAB軟件提供了UDP對象的創(chuàng)建函數(shù)。本設(shè)計在此基礎(chǔ)上設(shè)計了頂層協(xié)議,并根據(jù)協(xié)議編寫了數(shù)據(jù)讀取程序,將讀取到的數(shù)據(jù)打印或存入工作空間,進行包絡(luò)失真等檢測[6]。

  在上位機給DSP下達(dá)命令前,需要對發(fā)送端與接收端的參數(shù)進行設(shè)置。參數(shù)設(shè)置包括本地IP地址、本地發(fā)送端與接收端端口號、遠(yuǎn)端IP地址、遠(yuǎn)端數(shù)據(jù)發(fā)送端和接收端的端口號?;緟?shù)設(shè)置完畢后,將設(shè)置接收端緩存大小。然后,打開接收數(shù)據(jù)端UDP,在后臺等待下位機數(shù)據(jù)。

  上位機發(fā)送命令時,預(yù)先設(shè)置發(fā)送數(shù)據(jù)端緩存大小;打開發(fā)送數(shù)據(jù)端UDP后,發(fā)送命令;數(shù)據(jù)發(fā)送完成后,關(guān)閉發(fā)送數(shù)據(jù)端UDP。

3.2 下位機軟件設(shè)計

3.2.1 ARM控制板軟件設(shè)計

  本設(shè)計中,ARM主要負(fù)責(zé)上位機與DSP之間的通信,以Keil uVision4作為開發(fā)環(huán)境,C++語言為開發(fā)語言。

  在實現(xiàn)上位機與DSP通信前,ARM先進行初始化。初始化過程包括設(shè)置系統(tǒng)時鐘、EPI總線初始化、設(shè)置本地IP、目標(biāo)IP及物理地址等參數(shù),設(shè)置回調(diào)函數(shù)響應(yīng)中斷、定時器初始化以及清中斷。設(shè)計中定義的回調(diào)函數(shù)包括ARM向DSP轉(zhuǎn)發(fā)命令函數(shù)與ARM向上位機轉(zhuǎn)發(fā)數(shù)據(jù)函數(shù)。定義完回調(diào)函數(shù)后,回調(diào)函數(shù)的函數(shù)指針會注冊給調(diào)用者。當(dāng)收到來自上位機或DSP的中斷后,ARM將使用函數(shù)指針調(diào)用指定的回調(diào)函數(shù)對事件進行處理[7]。

  初始化完成后,ARM的IP地址、HPI接口控制寄存器、地址寄存器的初始值均設(shè)置完畢,開始等待上位機發(fā)來的命令,即等待中斷的過程。DSP返回數(shù)據(jù)給ARM前,同樣也會給ARM硬中斷,從而通知ARM對DSP進行讀操作。當(dāng)收到來自上位機或DSP的中斷后,ARM會根據(jù)特定中斷調(diào)用事先定義好的回調(diào)函數(shù),實現(xiàn)命令或數(shù)據(jù)的透傳[8]。

3.2.2 DSP主機接口控制軟件設(shè)計

  HPI接口通過EDMA控制器與內(nèi)存空間相連,因此,上位機訪問DSP內(nèi)存空間時不需要DSP的CPU參與。主機通過操作3種不同的HPI寄存器實現(xiàn)對DSP內(nèi)存的訪問,分別為控制寄存器(HPIC)、地址寄存器(HPIA)和數(shù)據(jù)寄存器(HPID)[9]。

  中斷后,ARM將執(zhí)行之前定義好的回調(diào)函數(shù),接收UDP報文并解析。上位機既可以通過網(wǎng)口給ARM發(fā)送命令,也可給DSP發(fā)送命令。ARM收到來自上位機的中斷后,會先將命令解析,分析是否是給自己的命令。若是,則將命令透傳給DSP。ARM透傳命令給DSP時,將訪問DSP的RAM地址,命令內(nèi)容寫入相應(yīng)寄存器,并改寫控制寄存器,通知DSP訪問該空間并執(zhí)行命令。DSP執(zhí)行完命令后,將數(shù)據(jù)寫入之前定義好的RAM內(nèi),拉低HINT,通知ARM訪問該空間并將數(shù)據(jù)轉(zhuǎn)發(fā)給上位機。ARM收到上位機命令后的工作流程如圖5所示。

4 實驗驗證

  本文通過對下位機數(shù)據(jù)發(fā)送包計數(shù)與上位機數(shù)據(jù)接收包計數(shù)進行統(tǒng)計對比,得出此通信方案的可靠性。經(jīng)過多次實驗對比,部分收發(fā)數(shù)據(jù)包計數(shù)統(tǒng)計如表2所示??梢?,上位機收包計數(shù)與下位機發(fā)包計數(shù)結(jié)果基本一致,說明本通信設(shè)計方案可靠性高,且滿足大量數(shù)據(jù)實時交換的要求。

5 結(jié)語

  本文設(shè)計并實現(xiàn)了一種以ARM為橋梁實現(xiàn)上位機與DSP通信的嵌入式系統(tǒng),給出了系統(tǒng)設(shè)計總框圖,介紹了ARM與DSP通信接口設(shè)計、上位機程序設(shè)計以及系統(tǒng)開始工作后信號在系統(tǒng)中的處理及流程。本文設(shè)計的通信結(jié)構(gòu)高速、穩(wěn)定且易于調(diào)試,可推廣應(yīng)用到各種信號采集和控制系統(tǒng)的設(shè)計中。

參考文獻:

  [1]趙儉,張效義,于永莉.突發(fā)通信模式下數(shù)字自動增益控制的FPGA實現(xiàn)[J].艦船科學(xué)技術(shù),2006,28(03):53-55.

  [2]孫雪飛,胡巍.例說TI ARM Cortex-M3--基于LM3S9B96[M].北京:北京航空航天大學(xué)出版社,2013.

  [3]汪安民,張松燦,常春藤.TMS320C6000 DSP實用技術(shù)與開發(fā)案例[M].北京:人民郵電出版社,2008.

  [4]熊斌,趙曙光,郭星明.一種多路視頻處理系統(tǒng)新方案[J].通信技術(shù),2011,44(05):116-118.

  [5]蔡鈞,段文偉,付俊杰等.一種改進的DCS通信接口方案及應(yīng)用[J].自動化儀表,2011,32(08):50-52.

  [6]Chia-han Y,Gulnara Z,Yang Chen-Wei,et al.Cosimulation Environment for Event-Driven Distributed Controls of Smart Grid[J].IEEE Transactions on Industrial Informatics,2013,9(03):1423-1435.

  [7]裴科,張剛.一種互補性多處理器系統(tǒng)中OS間通信接口設(shè)計[J].計算機工程與應(yīng)用,2010,46(17):60-62.

  [8]曹理發(fā).基于ARM+DSP的視頻處理系統(tǒng)設(shè)計與實現(xiàn)[D].武漢:武漢理工大學(xué),2008.

  [9]吳劍劍.一種基于ARM+FPGA+DSP嵌入式實時圖像處理平臺設(shè)計與實施[D].武漢:華中科技大學(xué),2012.

本文來源于中國科技期刊《電子產(chǎn)品世界》2016年第8期第38頁,歡迎您寫論文時引用,并注明出處。



評論


相關(guān)推薦

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

關(guān)閉