戚桂東 李品斌 龐文茂 陳天江
(1.廣西廣播電視技術(shù)中心玉林分中心;2.廣西廣播電視技術(shù)中心貴港分中心)
目前在貴港轉(zhuǎn)播臺值班房,值班員通常使用收音機監(jiān)聽臺站發(fā)射的廣播節(jié)目?,F(xiàn)臺站同時發(fā)射5套調(diào)頻廣播節(jié)目,由于多套節(jié)目的聲音混淆在一起,因此不容易分辨每套節(jié)目是否正常。為保證安播,機房值班人員提出能否將廣播節(jié)目音頻在電視墻顯示監(jiān)看的想法。鑒于目前市場上類似的設(shè)備較少,較難采購功能符合需求的設(shè)備,因此本文使用STM32單片機作用主控,設(shè)計了一套廣播音頻可視化顯示方案。將多路模擬廣播節(jié)目音頻電壓信號通過VGA接口,接顯示器在電視墻上進行可視化監(jiān)看。實現(xiàn)了當值班員在監(jiān)視電視節(jié)目時,也可以同時監(jiān)視多路廣播節(jié)目是否正常,較有效提高了臺站廣播節(jié)目的安全播出效果。
本方案的整體設(shè)計框圖如圖1所示。前端使用廣播調(diào)諧器或收音頭接收臺站發(fā)射的5套廣播節(jié)目,解調(diào)輸出的左、右聲道,共10路模擬音頻電壓信號,輸入信號調(diào)理電路。信號調(diào)理電路主要作用是把信號調(diào)整到0V-3.3V之間(即單片機的A/D采樣電壓范圍內(nèi))。然后分別輸入到STM32單片機的模數(shù)轉(zhuǎn)換器ADC通道1至通道10。單片機的ADC工作于掃描模式,對10個ADC通道進行輪詢掃描轉(zhuǎn)換。為提高效率,使用單片機的DMA控制器,將ADC轉(zhuǎn)換的結(jié)果傳到RAM中,以便軟件調(diào)用。
Micro SD卡主要作用是存儲背景圖片和字庫數(shù)據(jù),單片機完成ADC數(shù)據(jù)處理后,單片機通過內(nèi)部靜態(tài)存儲控制器(FSMC),控制16位并行數(shù)據(jù)總線把要顯示的圖像像素RGB數(shù)據(jù),寫入到VGA顯卡的顯存里。VGA顯卡自動完成讀取顯存內(nèi)的圖像數(shù)據(jù),并經(jīng)數(shù)模轉(zhuǎn)換成模擬RGB信號,加入VGA控制時序信號,輸出到VGA接口,實現(xiàn)顯示器實時顯示5套廣播音頻信號的功能。
圖1 整體方案示意圖
根據(jù)系統(tǒng)要求,STM32F系列是一款基于Cortex-M3內(nèi)核的ARM微控制器,芯片具有16個ADC輸入引腳,同時具有靜態(tài)存儲控制器(FSMC),可以快速對外部的SRAM,NAND FLASH,NOR FLASH和PSRAM等存儲器進行快速讀寫。因此選擇ST公司的STM32F103單片機作為主控MCU。根據(jù)單片機數(shù)據(jù)手冊上的引腳功能表,找出ADC1的IN0-IN9引腳,設(shè)置為對音頻信號采樣的輸入引腳。
VGA顯卡采用ALIENTEK STM32 VGA顯示驅(qū)動模塊,如圖2所示。該模塊基于FPGA和SDRAM實現(xiàn),可以設(shè)置多種顯示分辨率和刷新率,集成32MB顯存,VGA信號輸出,適合帶有VGA接口的液晶顯示器。VGA顯卡與單片機接口是標準的Inter8080接口,符合STM32單片機的FSMC讀寫模式要求,通過FSMC模塊能方便地對屏幕任意像素進行讀寫操作。VGA顯卡對單片機的功能引腳,主要包括讀寫控制功能CE(片選)、A0(地址線)、WE(寫信號)、OE(讀信號)和16位并行數(shù)據(jù)總線D0-D15。方案設(shè)計時,以上功能分別接到STM32單片機FSMC 模塊對應(yīng)的引腳上:FSMC_NE4(片選)、FSMC_A10(地址線)、FSMC_NEW(寫信號)、FSMC_NOE(讀信號)和FSMC_D0-FSMC_D15(16位并行數(shù)據(jù)總線)。
圖2 VGA顯卡接口信號說明
在本方案中,信號調(diào)理電路的主要作用有兩個:1、電平轉(zhuǎn)換,將交流的音頻信號電平抬升,變成0V以上的大小變化的直流電平,這樣單片機的ADC才能完成對音頻信號的采樣;2、電平限幅,將轉(zhuǎn)換后的音頻信號電平限制在0V-3.3V之間,即在單片機ADC的采樣電壓輸入范圍內(nèi),防止電壓過高損壞器件。
設(shè)計的信號調(diào)理電路如圖3所示,輸入的音頻信號經(jīng)過電位器R1的衰減,通過電容C1,輸入放大位數(shù)為1倍的運放NE5532的反相輸入端。運放正相輸入端電壓是由5V經(jīng)R2和R5分壓的電壓,約為3.3V。根據(jù)運放“虛短”原理,反相輸入端電壓也約為3.3V。在運放的輸出端,音頻信號的基準電平就由0V提升到了3.3V。輸出的音頻信號經(jīng)R6和R7分壓,形成以約1.65V為電平基準的音頻信號。后面再由一個3.3V的穩(wěn)壓二極管D1限幅,可確保音頻信號電壓在單片機的ADC輸入范圍內(nèi)。當輸入的音頻信號幅度過大時,通過調(diào)節(jié)電位器R1對信號進行衰減,使輸出信號動態(tài)范圍在0-3.3V內(nèi)。
Micro SD卡主要功能是存儲背景圖片數(shù)據(jù)和中文字庫數(shù)據(jù),以供單片機讀取并調(diào)用顯示。Micro SD卡和單片機通信有兩種方式:第一種是SD模式;第二種是SPI模式。為加快讀寫速度,本設(shè)計中采用的是SD模式,單片機用SDIO方式與SD卡通信,設(shè)計的接口電路如圖3所示。
整個系統(tǒng)的軟件流程圖如圖4所示。系統(tǒng)開始工作時,先對系統(tǒng)時鐘、ADC等模塊進行初始化,并啟動ADC轉(zhuǎn)換;然后VGA顯卡開始進行初始化,設(shè)置顯示分辨率,刷新率等信息,主要包括兩個部分:1,對顯卡接口的I/O口進行配置;2,對STM32的靜態(tài)存儲控制器(FSMC)功能進行配置,配置FSMC工作模式和總線時序,使總線時序滿足VGA顯卡的時序要求;最后Micro SD卡進行初始化配置,并運行文件管理系統(tǒng)。系統(tǒng)完成以上工作后,單片機從Micro SD卡讀取背景圖片數(shù)據(jù),寫入顯存中并發(fā)送開啟VGA顯示命令,此時顯示器開始顯示背景圖片。
圖3 信號調(diào)理與Micro SD卡接口電路
圖4 軟件流程圖
圖5 設(shè)計的背景圖片與顯示效果圖
系統(tǒng)完成以上初始化操作后,開始進入正式工作流程。首先使用輪詢方式讀取10個ADC通道的結(jié)果數(shù)據(jù),并轉(zhuǎn)換成0V-3.3V的音頻信號電壓值。為了加快處理顯示速度,將顯示的圖形長度均勻量化為20等分,分別對應(yīng)0V-3.3V電壓值,通過查表方式查找需要顯示的圖形長度。當音頻電壓為0V時,顯示圖形為20格白色矩形,即無顯示;當音頻電壓為3.3V時,顯示圖形為20格紅色或藍色矩形,即滿格顯示;當音頻電壓在0V-3.3V之間變化時,顯示長度隨音頻電壓變化而變化的音量圖形。
根據(jù)設(shè)置的屏幕分辨率和背景圖像數(shù)據(jù),分別計算音量圖形顯示位置的坐標值。然后將各路音量圖形數(shù)據(jù)分別寫入對應(yīng)坐標值的顯存中,由VGA顯卡自動完成顯示。系統(tǒng)完成數(shù)據(jù)處理和顯示后,再開始下一輪的數(shù)據(jù)讀取、處理和顯示,形成一個周期循環(huán)。根據(jù)單片機的處理速度和實際的圖像顯示效果,還可以通過增加圖形量化極數(shù)或加入ADC采樣平均值算法,使顯示的圖像變化平滑。整個系統(tǒng)設(shè)計的顯示效果圖如圖5所示。
本系統(tǒng)的設(shè)計僅為拋磚引玉,為嵌入式系統(tǒng)的VGA接口設(shè)計提供了一種較便捷的開發(fā)思路。旨在利用電子和計算機技術(shù),解決廣播節(jié)目自臺監(jiān)控中出現(xiàn)的實際需求問題。系統(tǒng)后期還可以通過軟硬件升級,增加音頻監(jiān)測報警功能。實時監(jiān)測每個廣播節(jié)目音頻是否正常。從而形成一套簡單的自臺廣播節(jié)目音頻監(jiān)測設(shè)備。