大連老白山微波站:張玉臣
在信息技術(shù)的支持下,調(diào)頻廣播發(fā)射臺(tái)站的“無(wú)人值守”逐漸成為必然趨勢(shì)?,F(xiàn)階段一些臺(tái)站雖然也使用了主備機(jī)自動(dòng)切換系統(tǒng),但是只能在同廠家、同型號(hào)的發(fā)射設(shè)備之間進(jìn)行切換,具有很強(qiáng)的局限性;還有一些臺(tái)站則使用軟件平臺(tái)控制主備機(jī)切換,但是在出現(xiàn)斷電等情況時(shí)也會(huì)導(dǎo)致自動(dòng)切換控制系統(tǒng)失效,無(wú)法保證廣播節(jié)目的持續(xù)播出。在這一背景下,設(shè)計(jì)和應(yīng)用一種可以支持不同型號(hào)設(shè)備靈活切換,以及支持現(xiàn)場(chǎng)手動(dòng)、遠(yuǎn)程遙控等多種操作模式的主備機(jī)自動(dòng)切換控制系統(tǒng),對(duì)保障調(diào)頻廣播節(jié)目的正常播放、優(yōu)化聽(tīng)眾的節(jié)目收聽(tīng)體驗(yàn)有積極幫助。
本文設(shè)計(jì)的調(diào)頻廣播發(fā)射機(jī)主備機(jī)自動(dòng)切換控制系統(tǒng),以STM32F103單片機(jī)作為控制中心,通過(guò)RS485接口實(shí)時(shí)采集發(fā)射機(jī)的工況參數(shù),由調(diào)頻接收芯片AN8035開(kāi)路接收確認(rèn),并通過(guò)對(duì)比交流電輸入功率變化,智能判斷是否需要切換主備發(fā)射機(jī)。若判斷結(jié)果為“是”,則發(fā)送切換指令自動(dòng)完成切換。系統(tǒng)的設(shè)計(jì)要求如下:
(1)系統(tǒng)功能要求。支持上電記憶和上電自動(dòng)運(yùn)行。系統(tǒng)預(yù)設(shè)參數(shù)在斷電恢復(fù)之后完整保留,確保主備機(jī)切換后維持發(fā)射機(jī)的原工作狀態(tài)繼續(xù)運(yùn)行。具備自檢功能,在主發(fā)射機(jī)發(fā)生故障后能夠第一時(shí)間檢測(cè)到,以最短時(shí)間完成1+1切換;(2)系統(tǒng)接口要求。電源輸入接口為三芯,允許通過(guò)最大電流10A。電源輸出接口為三孔,允許通過(guò)最大電流10A。射頻輸入/輸出采用帶法蘭的N-K接口。網(wǎng)絡(luò)通信接口采用RJ45連接座,RS485通信接口采用拔插式端子;(3)運(yùn)行環(huán)境要求。該系統(tǒng)正常工作溫度-20~50℃、相對(duì)濕度≤90%、電源電壓AC150V-300V。
該系統(tǒng)的控制中心為STM32F103單片機(jī),最高工作頻率72MHz,功耗36mA。內(nèi)置64KB的Flash,共有12個(gè)采樣I/O口、3個(gè)16位定時(shí)器。設(shè)計(jì)時(shí)鐘電路和復(fù)位電路2個(gè)外圍電路,其中時(shí)鐘電路中安裝有2個(gè)外部時(shí)鐘,工作頻率分別為8MHz和32MHz;復(fù)位電路采用上電復(fù)位模式。單片機(jī)支持3種啟動(dòng)方式,默認(rèn)為正常工作模式,BOOT1=X,BOOT0=0,此模式下從用戶的閃存啟動(dòng)。單片機(jī)的I/O分配共有5種類型,YA口支持串口通信、SWD程序下載;YB口用于切換狀態(tài)指示;YC口用于數(shù)據(jù)采集和信號(hào)接收;YD口控制三個(gè)同軸切換開(kāi)關(guān)倒換主備機(jī)輸出;YE口用于主機(jī)繼電器線包吸合,具體情況如表1所示。
表1 I/O口資源分配表
系統(tǒng)電源由2部分組成,一路電源為220V,向主備發(fā)射機(jī)供電;另一路為12V,向控制系統(tǒng)的芯片供電。其中,220V電源分別連接電壓傳感器、繼電器,2臺(tái)繼電器的輸出電壓分別供主發(fā)射機(jī)和備發(fā)射機(jī)運(yùn)行。12V電源連接K7805-500型開(kāi)關(guān)穩(wěn)壓器,穩(wěn)壓后輸出5V電壓,供調(diào)頻接收電路和RD485芯片運(yùn)行;5V電壓連接AMS1117-3.3穩(wěn)壓器,輸出3.3V電壓,供單片機(jī)和其他芯片運(yùn)行。為獲得更高效的電源信號(hào),在電路中靠近K7805-500的地方,還放置了100uf/25V的濾波電解電容(C3和C5),在靠近AMS1117-3.3的地方,放置了10μF(C4)和0.1μF(C6)陶瓷電容,具體電路如圖1所示。
圖1 :電源模塊原理圖
本系統(tǒng)中所用通信模塊有RS232和RS485兩種,前者用于自動(dòng)切換控制系統(tǒng)內(nèi)部通信,后者用于CPU與主備發(fā)射機(jī)主控進(jìn)行通信。其中,RS485通信接口使用差分接收器,進(jìn)一步提高了抗噪聲能力,降低了通信干擾、提高了信號(hào)質(zhì)量。最大傳輸速率可以達(dá)到20Mbps,理論上最大傳輸距離可達(dá)到3000m。RS485支持電氣自動(dòng)調(diào)節(jié),在正常通信時(shí)邏輯電平置“1”,兩線電壓差為+(2-6)V,滿足通信需求;在沒(méi)有信號(hào)傳輸時(shí),邏輯電平置“0”,兩線電壓差為-(2-6)V,延長(zhǎng)了通行串口芯片的使用壽命。在STM32F103單片機(jī)上,選擇USART3端口做RS485的接口,使用線纜將兩個(gè)接口連接后,即可實(shí)現(xiàn)單片機(jī)與主備發(fā)射機(jī)的雙向通信。
本系統(tǒng)使用AT45DB021D型Flash存儲(chǔ)器,額定工作電壓2.7V,含有1個(gè)256字節(jié)的SRAM緩沖器,支持Rapids串行接口通信,最大存儲(chǔ)容量可以達(dá)到64MB??芍С?jǐn)?shù)據(jù)、程序代碼、數(shù)字語(yǔ)音等多種形式的信息存儲(chǔ)。該存儲(chǔ)器支持在線編程和燒錄,并且支持?jǐn)?shù)據(jù)的讀取、改寫和擦除,存儲(chǔ)模塊電路如圖2所示。
圖2 :存儲(chǔ)器模塊原理圖
前端傳感器采集主發(fā)射機(jī)的電壓、電流等信號(hào),并將其反饋至CPU。由CPU進(jìn)行數(shù)據(jù)分析后判斷是否存在異常。若存在異常,則進(jìn)入倒機(jī)模式。單片機(jī)生成倒機(jī)命令,并發(fā)送給前端的執(zhí)行設(shè)備。繼電器接收倒機(jī)指令后,首先從P1口切斷故障機(jī)的電源,將故障發(fā)射機(jī)隔離在調(diào)頻廣播系統(tǒng)之外,避免故障擴(kuò)大化。然后繼電器在通過(guò)P6口連接倒換同軸開(kāi)關(guān),使開(kāi)關(guān)上電、閉合。在確定天線位置倒換正確后,新接入的備用機(jī)通電,從而完成了故障機(jī)和備用機(jī)的自動(dòng)切換。完成切換后,使QN8035開(kāi)路,判斷廣播節(jié)目播出是否恢復(fù)正常。在控制系統(tǒng)實(shí)際運(yùn)行時(shí),還必須考慮自動(dòng)切換失敗的情況,為此本系統(tǒng)還設(shè)計(jì)了5個(gè)按鍵,在自動(dòng)切換失敗后可進(jìn)入手動(dòng)操作模式,構(gòu)成“雙保險(xiǎn)”。手動(dòng)切換完畢后,再重新按下自動(dòng)/手動(dòng)按鈕,將切換控制模式重新恢復(fù)至自動(dòng)模式。
本系統(tǒng)使用RealView MDK開(kāi)發(fā)環(huán)境,具有源代碼編輯器功能強(qiáng)大、對(duì)話框可自定義開(kāi)發(fā)工具、可實(shí)時(shí)下載代碼程序至Flash ROM編程器等一系列特點(diǎn)。在系統(tǒng)調(diào)試運(yùn)行時(shí),使用μVision3設(shè)備模擬器,可模擬運(yùn)行單片機(jī)的各項(xiàng)操作指令和系統(tǒng)功能。主程序流程如圖3所示。
圖3 :主函數(shù)流程圖
如上圖所示,執(zhí)行主程序時(shí),首先對(duì)控制系統(tǒng)及其功能模塊做初始化處理,然后再進(jìn)入循環(huán)查詢程序。初始化內(nèi)容包括各串口復(fù)位,IP地址恢復(fù)默認(rèn),中斷、定時(shí)器、GPIO等恢復(fù)默認(rèn),QN8035調(diào)頻接收芯片初始化等。
切換控制模塊的功能是在系統(tǒng)檢測(cè)到主發(fā)射機(jī)出現(xiàn)故障后,成功將主機(jī)隔離,并順利切換至備用發(fā)射機(jī),具體有包括檢查播出時(shí)間表、檢測(cè)故障、倒換主備機(jī)等流程。每個(gè)環(huán)節(jié)對(duì)應(yīng)一個(gè)切換函數(shù),函數(shù)類型及其功能如表2所示。
表2 切換函數(shù)類型及對(duì)應(yīng)功能
以手動(dòng)整機(jī)倒機(jī)為例,其切換流程為:(1)按下應(yīng)急檢修按鈕;(2)開(kāi)啟備用發(fā)射機(jī)的電源,并等待備用機(jī)3個(gè)功放模塊完成通信;(3)檢查通信是否正常,如果正常則關(guān)閉備用機(jī)的柵壓。3個(gè)功放模塊中,有任意一個(gè)模塊通信超時(shí)自動(dòng)退出切換流程;(4)關(guān)閉故障機(jī)柵壓;(5)倒換天線,同時(shí)開(kāi)啟備用機(jī)柵壓,完成手動(dòng)倒機(jī)。
串口負(fù)責(zé)上位機(jī)與發(fā)射機(jī)之間進(jìn)行信息傳遞,例如從上位機(jī)發(fā)送故障機(jī)隔離指令、主備機(jī)切換指令等。串口中斷模塊運(yùn)行時(shí),同樣要先執(zhí)行初始化程序。首先復(fù)位串口,并將復(fù)位后的串口在寄存器中重新配置;然后設(shè)置波特率,可以調(diào)用Void uart_init(u32 pclk2,u32 bound)初始化函數(shù),設(shè)置時(shí)鐘頻率及波特率。完成串口初始化后,每當(dāng)串口接收到一組新的數(shù)據(jù),RDR位移寄存器中的數(shù)據(jù)被轉(zhuǎn)移到RSART_DR寄存器中。此時(shí)狀態(tài)寄存器RXNE被置位。如果CRI寄存器中RXNEIE為1,則產(chǎn)生中斷。
網(wǎng)口和串口的功能基本一致,都是負(fù)責(zé)不同設(shè)備之間的通信。但是串口只適用于短距離通信,并且信道容量較小,通常只負(fù)責(zé)自上而下地發(fā)送各項(xiàng)控制指令。而網(wǎng)口支持長(zhǎng)距離通信,并且傳輸容量大、傳輸速度快,常用于將傳感器采集到的狀態(tài)參數(shù)、運(yùn)行工況等實(shí)時(shí)反饋給上位機(jī)。網(wǎng)絡(luò)通信模式的功能實(shí)現(xiàn)有2種模式,其一是使用以太網(wǎng)收發(fā)芯片,比較常見(jiàn)的有ENC28J60;其二是采用嵌入式的以太網(wǎng)協(xié)議棧,常用的有UIP協(xié)議棧。本系統(tǒng)的網(wǎng)絡(luò)通信選擇了ENC28J60芯片與UIP協(xié)議棧組合的方式。ENC28J60芯片應(yīng)用時(shí),也要進(jìn)行初始化處理,包括將端口狀態(tài)調(diào)節(jié)為“輸出”狀態(tài),重新配置用于數(shù)據(jù)發(fā)送和接收的緩沖區(qū)地址,以及寫入MAC地址和初始化中斷寄存器等。
使用以太網(wǎng)連接調(diào)頻廣播直放站網(wǎng)絡(luò)接口,然后在直放站上運(yùn)行上位機(jī)軟件,完成數(shù)據(jù)上傳和加載后,即可在軟件界面上展示發(fā)射機(jī)當(dāng)前的工況參數(shù)和設(shè)備信息,如:(1)工作狀態(tài),包括輸出停播位、定時(shí)開(kāi)關(guān)機(jī)控制位、正在控制動(dòng)作響應(yīng)延時(shí)等;(2)保護(hù)狀態(tài),包括電流過(guò)流、溫度超限、反射過(guò)高等;(3)檢測(cè)狀態(tài),包括主電壓異常、功放溫度過(guò)高等;(4)設(shè)備信息,包括設(shè)備地址、快速延時(shí)、主動(dòng)間隔、默認(rèn)網(wǎng)關(guān)等。
在主備機(jī)切換時(shí),需要將3個(gè)功放模塊全部從主機(jī)切換到備用機(jī),才能順利完成倒機(jī)。為此在該軟件上測(cè)試了3個(gè)發(fā)射功放的功能實(shí)現(xiàn)情況,功放模塊的系統(tǒng)界面如圖4所示。
圖4 :功放模塊上位機(jī)界面
在1號(hào)機(jī)上選擇“停播”項(xiàng),輸出功率、反射功率等參數(shù)不變,點(diǎn)擊“倒機(jī)”后發(fā)現(xiàn)正在播出的功放模塊停止運(yùn)行;選擇“開(kāi)機(jī)”項(xiàng),其他參數(shù)不變,點(diǎn)擊“倒機(jī)”后發(fā)現(xiàn)停播的功放模塊恢復(fù)至播出狀態(tài);選擇“修復(fù)否”項(xiàng),其他參數(shù)不變,點(diǎn)擊“倒機(jī)”后,如果檢測(cè)到故障則顯示“未修復(fù)”,如果未檢測(cè)到故障則顯示“已修復(fù)”。在2號(hào)、3號(hào)機(jī)上進(jìn)行同樣測(cè)試,均顯示該軟件的各項(xiàng)控制功能正常實(shí)現(xiàn)。
為滿足調(diào)頻廣播發(fā)射臺(tái)站主備機(jī)自動(dòng)切換的要求,本文設(shè)計(jì)了一種以STM32F103單片機(jī)為核心,使用以太網(wǎng)接口采集發(fā)射機(jī)實(shí)時(shí)工況,并判斷是否需要進(jìn)行主備切換的控制系統(tǒng)。在輪流循環(huán)檢測(cè)中,判斷需要主備切換后,利用3組獨(dú)立的功放模塊遠(yuǎn)程控制自動(dòng)倒機(jī)。該系統(tǒng)投入使用后,將顯著降低廣播節(jié)目的停播率,降低維修工作難度,創(chuàng)造良好的社會(huì)效益和經(jīng)濟(jì)效益。