梁霄
摘要:文章通過對射頻信號接收的研究和設計,實現射頻信號的預處理,可以顯著地改善復雜電磁環境下接收機或頻譜儀的測量效果,同時也可以提高測試系統的自動化水平。
關鍵詞:射頻預處理器;播出質量;測量效果
監測廣播電視系統播出質量是廣播電視監管行業的重要任務之一。其中,接收天線加專業接收機的組合作為主要監測方案被各級監管部門廣泛應用。但是,由于受來波方向、廣播電視射頻信號強度、接收機自身動態范圍和測量環境干擾等因素的影響,監測系統中需要多副天線配合天線切換器、濾波器、衰減器等設備實現射頻信號的預處理。傳統的監測系統中,天線切換器、濾波器和衰減器的選擇與控制都是依靠人工手動完成。為了提高監測效率,提升監測系統自動化水平,有必要設計一種基于網絡的射頻信號預處理器,實現接收信號的自動化預處理和網絡化遠程控制。
1 概述
1.1 動態范圍
動態范圍是衡量接收機性能的一個重要指標,是指使接收機能夠對接收信號進行檢測而又使接收信號不失真的輸入信號的大小范圍,一般指幅度。接收信號過大,會引起放大器的失真和引入噪聲,嚴重時甚至會燒毀接收機前端。信號過小,信號無法被檢測到。頻譜上小信號附近的大信號同樣會影響接收機的測量準確性。
1.2 衰減器
衰減器是在指定的頻率范圍內,一種用以引入_預定衰減的電路。結合后端的處理軟件補償,引入衰減器有助于提高接收機或頻譜儀的動態范圍。衰減器分為無源衰減器和有源衰減器兩種。有源衰減器與其他元件相配合組成可變衰減器,裝置在放大器內用于自動增益或斜率控制電路中。無源衰減器有固定衰減器和可調衰減器。本設計采用無源衰減器。
1.3 帶通濾波器與帶阻濾波器
帶通濾波器是指能通過某一頻率范圍內的頻率分量、但將其他范圍的頻率分量衰減到極低水平的濾波器,在實際的信號測量過程中可以使用帶通濾波器,只允許感興趣的信號通過。與帶通濾波器的概念相對的是帶阻濾波器,它是指能通過大多數頻率分量、但將某些范圍的頻率分量衰減到極低水平的濾波器,在所測量信號頻譜附近有大信號時,為了降低大信號對所測信號的干擾,特別是待測信號是較小信號時,采用帶阻濾波器衰減不感興趣的大信號不失為一種有效手段。本設計同時采用帶通濾波器與帶阻濾波器。
1.4 射頻同軸開關
同軸開關在射頻、微波系統中有著廣泛的用途,如時分多工器、時分通道選擇、脈沖調制、收發開關、波束調整等。開關的指標比較簡單,接通損耗盡可能小,關斷損耗盡可能大,頻帶和功率滿足系統要求。任何一種同軸開關都有相應的驅動電路,驅動電路實際上是一個脈沖放大器,把控制信號(通常為TTL電平)放大后輸出足夠大的電流或足夠高的電壓。同軸開關為本設計的重要部件。
2 射頻信號預處理器設計(見圖1-2)
2.1 射頻預處理器工作原理
用戶通過本地按鈕或PC機控制射頻預處理器,通過同軸開關選擇合適的天線通道,合適的衰減、直通、帶通、帶阻、高通、低通通道,經過射頻預處理器后的信號再進入接收機或頻譜儀,如圖1所示。用戶也可根據實際需要從外部接口外擴濾波器,射頻預處理器工作框如圖2所示。
2.2 硬件設計
主單元以帶有以太網接口的高性能ARM CORTEX-M3處理器為核心,SD卡接口存儲用戶的配置信息,2.4寸TFT液晶屏與光點撥碼開關作為本地控制人機交互單元,RJ45接口作為遠程控制接口,4路天線輸入、1路射頻輸出、2路外部濾波器擴展口均采用N型插座,ARM處理器通過SPIEl經過74HC595串并轉換后控制同軸開關。預處理器輸入電壓為AC220V,內部采用DCl2V開關電源為處理單元和同軸開關驅動電路供電。為了減少外部電磁環境對內部射頻信號的干擾,預處理器采用金屬屏蔽機箱。
2.3 軟件設計
軟件設計采用RT-Thread實時系統、開源的UCGUI圖形系統移植、LWIP網絡協議棧移植、顯示驅動編寫。
RT-ThreadRTOS是一款來自中國的開源實時操作系統,由國內一些專業開發人員開發、維護。它不僅僅是一款高效、穩定的實時核心,系統也是一套面向嵌入式系統的軟件平臺,覆蓋了全搶占的實時操作系統內核,小巧而與底層具體實現無關的文件系統。遠程控制采用以太網方案,需要TCP/IP協議棧支持,但是通用的協議棧體積龐大,不適合在嵌入式領域使用。LwIP(light weight IP)是瑞士計算機科學院的Adam Dunkels等開發的一套開放TCP/IP協議棧源代碼。LwlP既可以移植到操作系統上,又可以在無操作系統的情況下獨立運行。LwIP實現的重點是在保持TCP/IP協議主要功能的基礎上減少對RAM的占用,這使LwIP適合在低端嵌入式系統中使用。移植要點如下:
2.3.1 所需頭文件
CC.h主要定義數據類型的名稱;sys arch.h主要定義3種新數據類型:信號量、郵箱、線程。
2.3.2 Lwip的操作系統封裝層(operating system emulationlayer)
為了適應不同的操作系統,Lwip沒有在代碼中使用與某一個操作系統相關的系統調用和數據結構,而是在Lwip與操作系統之間增加了一個操作系統封裝層,操作系統封裝層為操作系統服務(定時、進程同步消息傳遞)提供了一個統一的接口。在Lwip中進程同步使用semaphone,消息傳遞采用mbox。
Operating system emulation layer的原代碼在…/1wip/src/core/sys.c中,與具體的操作系統相關的代碼在../1wip/src/arch/sys arch.c中.操作系統封裝層的主要函數如下:
void sys init(void)∥系統初始化
sys_thread_t sys_thread_new(void(*function)(void*arg),void*arg,int prio)//創建一個新進程
sys_mbox_t sys_mbox_new(void)∥創建一個郵箱
void_sys_mbox_flee(sys mbox tmbox)∥釋放并刪除一個郵箱
void_sys_mbox_post(sys_mbox_t mbox,void*data)//發送一個消息到郵箱
void sys_mbox_fetch(sys_mbox_t mbox,void**msg)∥等待郵箱中的消息
sys_sem_t sys_sem_new(u8 t_count)//創建一個信號量
void sys sem free(sys sem t sem)∥釋放并刪除一個信號量
void sys_sem_signal(sys_sem_t sem)∥發送一個信號量
void sys sem wait(sys sem t sem)∥等待一個信號量
void sys timeout(u32_t msecs,sys_timeout_handler h,void*arg)∥設置一個超時事件
void sys_untimeout(sys timeout_handler h,void*arg)∥刪除一個超時事件
2.3.3 ethernet的移植
與具體網卡打交道的函數位于ethernet.c中,移植工作主要是填空ethernetif.c的過程。主要實現以下3個函數:
void low level init(struct netif*netif), //初始化網卡
err_t low_level_output(struct netif*netif-struct pbuf*p),∥發送以太網數據包
struct pbuf*ow_1ev eI_input(struct netif*netif),
∥接收以太網數據包
UCGUI是一種嵌入式應用中的圖形支持系統。它為任何使用LCD圖形顯示的應用提供高效的獨立于處理器及LCD控制器的圖形用戶接口,它適用于單任務或是多任務系統環境,并適用于任意LCD控制器和CPU下任何尺寸的真實或虛擬顯示。它的設計架構是模塊化的,由不同的模塊中的不同層組成,由一個LCD驅動層來包含所有對LCD的具體圖形操作。UCGUI可以在任何的CPu上運行,因為它是100%的標準C代碼編寫的。UCGUI能夠適應大多數的使用黑白或彩色LCD的應用,它提供非常好的允許處理灰度的顏色管理,還提供一個可擴展的2D圖形庫及占用極少RAM的窗口管理體系。
設計中采用8位并行MCU接口的TFT液晶屏,需要軟件模擬讀、寫、指令、數據時序。見如下c語言宏定義:
∥指4/數據選擇
#define LCD_RS(X) GPIOPinWrite(GPIO_PORTE_BASE,GPIO_PIN_6,(x?LCD_RS_DATA:0))
//片選
#define LCD_CS(X) GPIOPinWrite(GPIO_PORTB_BASE,GPIO_PIN_4,(x?LCD—RS—DATA:0))
//讀
#defme LCD_WR(X) GPIOPinWrite(GPIO—PORTB_BASE,GPIO_PIN_5,(x?LCD_WR_DATA:0))
//寫
3 結語
遙控站安裝地點的選擇范圍因各種原因極度受限,基礎條件是具備通暢的網絡連接和穩定的電力供應,但電磁環境往往無法滿足收測標準,為保證監測業務的正常運行、收測數據的穩定可靠,在站點系統中引入射頻信號預處理器,通過本地或遠程控制同軸開關選擇不同的天線通道以及對信號進行前期濾波或衰減,可以顯著地改善復雜電磁環境下接收機或頻譜儀的測量效果,基于網絡的射頻信號預處理器還可以按照用戶需求遠程遙控、及時修改相關參數設置,大大提高工作效率,以應對各類日常、臨時監測任務。