郭 奕,鄧幫建
(1. 西華大學電氣與電子信息學院,四川 成都 610039;2. 成都緯視科技有限公司,四川 成都 610054)
?
一種指令可編程的音頻切換器智能控制系統(tǒng)
郭奕1,鄧幫建2
(1. 西華大學電氣與電子信息學院,四川 成都 610039;2. 成都緯視科技有限公司,四川 成都 610054)
摘要:針對音頻切換器的控制軟件缺乏通用性的問題,基于.Net 4.0和WPF,開發(fā)一套音頻切換器智能控制系統(tǒng)。該系統(tǒng)采用指令可編程的思想,將業(yè)務邏輯、數(shù)據(jù)處理及用戶交互界面完全分離開,并將不同品牌音頻切換器的控制指令和配置信息預先存儲于XML文件中,當接入某切換器后,在程序運行時動態(tài)載入。該系統(tǒng)直接通過修改配置信息中的可編程指令集來實現(xiàn)對不同品牌切換器的自動控制,不需要對整個軟件進行重新編譯,從而提高了系統(tǒng)的通用性。
關鍵詞:音頻自動切換器;指令可編程;音頻工作站;串口通信協(xié)議
音頻切換器是專門為音頻信號的轉發(fā)切換而設計的高性能智能矩陣開關設備,廣泛用于語音工程、電化教學、指揮控制中心、多媒體會議室等場合,以完成音頻信號的切換。
針對不同行業(yè)的需求,音頻切換器不僅有支持非平衡音頻信號的RCA接口,也有專業(yè)的平衡音頻XLR接口。音頻切換器可把多路音頻輸入信號傳至輸出端口,在多路輸入信號的情況下,可以切換任何一路輸入信號到輸出端口。
1研究背景和現(xiàn)狀
通常音頻(AUDIO)切換器,可以完成1~16路輸入,1~16路輸出的任何切換,具有紅外遙控功能和RS232終端通信控制功能,可預加RS485總線接口,使用戶可以方便地完成演示過程中的信號切換。切換器廣泛應用于廣播電臺的節(jié)目轉播以及播出監(jiān)控中[1-8]。通常電臺的切換器連接方案如圖1所示,通過切換器,廣播電臺工作人員能夠很方便地控制輸出信號在各個輸入信號源之間切換。
圖1 廣播電臺切換器常用連接方案
切換器產(chǎn)品基本都支持RS232串行通信,都能接受來自于普通計算機的串行控制信號,因此,可以通過軟件方式很方便、定時、自動地對切換器按照預先的設置進行控制[9]。假定圖1中信號源1的輸入信號是中央臺,而電臺每天晚上7點都會轉播中央臺的新聞,有了切換器控制軟件后,就能夠預先編排好每天的切換任務,到點自動將輸入信號切換到相應的通道,不需要人為地操作切換器硬件。
由于市面上切換器產(chǎn)品種類繁多,不同廠商的切換器通常都具有不同的控制指令,這對切換器控制軟件的適用范圍提出了很苛刻的要求。目前常見的做法是,針對不同廠商的切換器硬件編寫不同的控制代碼,通過預編譯的方式,根據(jù)需求生成相應的可執(zhí)行程序,以此來適應不同類型的廠商的產(chǎn)品,這使得同樣一套軟件只能控制一種類型的切換器。如果需要控制另外的硬件,通常都需要重新編譯軟件,這對于軟件的維護和更新都是不利的。
本文利用.Net技術和WPF(Windows Presentation Foundation)技術設計了一套切換器智能控制系統(tǒng),該系統(tǒng)最大的特點就是采用指令可編程的思想,將切換器硬件的控制指令通過可擴展標記語言(XML)的方式記錄下來,在運行時候動態(tài)載入。因為沒有將指令固化在軟件代碼里,所以面對不同的切換器硬件時,只需要修改XML里的控制指令即可,免去了重新編譯軟件以及有多套軟件代碼需要維護的煩惱。
2系統(tǒng)技術方案
WPF是微軟推出的基于Windows Vista的用戶界面框架[10-12],屬于.NET Framework 3.0的一部分。它提供了統(tǒng)一的編程模型、語言和框架,真正做到了界面設計人員與開發(fā)人員的工作分離。同時,它提供了全新的多媒體交互用戶圖形界面。
XML是一種用于標記電子文件使其具有結構性的標記語言。它可以用來標記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標記語言進行定義的源語言。它非常適合萬維網(wǎng)傳輸。它提供統(tǒng)一的方法來描述和交換獨立于應用程序或供應商的結構化數(shù)據(jù)[13]。
由于切換器硬件設備的串口控制指令都是一些簡單的字符串信息,如重慶現(xiàn)代的型號為HS5455的切換器的控制指令中控制命令和設備返回狀態(tài)的格式都為命令(或狀態(tài))字符的ASCII碼+回車符的ASCII碼,因此以一定的格式將其記錄到XML文件中,再加上一定的解析和映射處理,能夠滿足實時配置和動態(tài)加載的要求。
本文實現(xiàn)的系統(tǒng)采用Microsoft Visual Studio 2012開發(fā),基于.Net 4.0完成,采用了WPF的開發(fā)模式,可以將業(yè)務邏輯、數(shù)據(jù)處理及用戶交互界面完全分離開,采用XML記錄控制指令,程序運行時動態(tài)加載,以此來提高系統(tǒng)的普適性,降低運維成本。
本文設計的切換器智能控制系統(tǒng)主要實現(xiàn)對切換器的自動切換的智能控制。用戶只要將每天所要對切換器做的一些操作編排成一張操作單,然后就可實現(xiàn)切換器的自動切換。用戶可以在計劃任務編輯里設置星期幾,什么時候調(diào)用什么的操作單,也可以實現(xiàn)自動調(diào)單及切換。
該切換器智能控制系統(tǒng)的主要工作流程如圖2所示,其中系統(tǒng)設置功能是本文的指令可編程思想實現(xiàn)的關鍵點。
根據(jù)系統(tǒng)需要實現(xiàn)的功能,以及用戶交互界面和數(shù)據(jù)處理邏輯盡量分開的原則,將系統(tǒng)的軟件劃分為4個主要的模塊:用戶交互模塊、用戶數(shù)據(jù)處理模塊、系統(tǒng)數(shù)據(jù)處理模塊以及程序輔助模塊,每個模塊的主要功能通過圖3描述。
1)用戶交互模塊。它主要完成軟件操作過程中與用戶的交互,由軟件主界面和一些彈出的子界面組成。其中軟件主界面包括工具欄、切換條目顯示區(qū)域、手動切換控制區(qū)域、狀態(tài)欄、日期和時間顯示區(qū)域等內(nèi)容。工具欄是切換列表的增加、刪除、修改、編輯、保存、系統(tǒng)設置、計劃制定、列表鎖定等主要交互功能的入口。切換條目顯示區(qū)域主要顯示某一天的切換計劃的具體內(nèi)容。手動切換控制區(qū)域主要用于模擬切換器硬件面板,可以通過軟件按鈕實現(xiàn)對切換器各個通道的手動切換控制。彈出子界面主要包括播出切換計劃管理界面和系統(tǒng)設置界面,其中系統(tǒng)設置界面和本文的創(chuàng)新點密切相關,可以通過它進行通道信息設置和硬件控制指令配置。
圖2 系統(tǒng)主要工作流程
圖3 系統(tǒng)主要功能模塊
2)用戶數(shù)據(jù)處理模塊。它主要用于存儲和處理交互過程中產(chǎn)生的用戶數(shù)據(jù),比如播出表的具體內(nèi)容列表、播出計劃列表等。這些數(shù)據(jù)通常以二進制文件形式保存。
3)系統(tǒng)數(shù)據(jù)處理模塊。它主要用于存儲和處理交互過程中產(chǎn)生的系統(tǒng)數(shù)據(jù),比如通道信息數(shù)據(jù)和硬件控制指令數(shù)據(jù)。這些數(shù)據(jù)通常以XML文件形式保存。
4)程序輔助模塊。它主要用于輔助完成一些程序的邏輯處理,通常把各個模塊的一些公用功能匯集于此,比如文件的序列化管理、文本字符串分析、時間信息分析等。
3系統(tǒng)實現(xiàn)結果
根據(jù)上述設計,本文利用VS2012實現(xiàn)了整個系統(tǒng)。下面將以重慶現(xiàn)代的HS5455切換器為例,詳細說明系統(tǒng)的實現(xiàn)過程及結果展示。
音頻切換器智能控制系統(tǒng)程序(下稱:程序)會首先檢測是否有加密狗,如果沒有加密狗則不允許進入程序,如果有加密狗,則無須輸入用戶名及密碼可直接進入主界面,程序處于鎖定狀態(tài),則要輸入解鎖密碼進行解鎖。退出程序時會有提示選擇是否退出,但程序處于自動操作狀態(tài)時,不允許退出,這樣設計的目的是防止誤操作而退出。程序主界面中包含了工具欄、列表顯示以及手動控制等內(nèi)容。其中工具欄里的“設置”按鈕,是進行硬件指令配置的入口。通過工具欄里的“設置”按鈕,可以進入設置界面,如圖4所示。
圖4 設置界面
設置界面分為操作設置和控制指令設置2部分。其中操作設置主要包括添加操作、刪除操作和修改操作名稱3個設置項。添加操作的目的是添加一個新操作,參數(shù)(控制端口、設備、命令)可從下拉列表選擇。刪除操作則是要刪除所選操作。修改操作名稱主要用于修改選擇操作的名稱,便于更好地理解某個切換動作的目的,如“切換到CCTV1”??刂浦噶钤O置主要完成控制端口、切換器硬件以及控制指令名稱三者的映射,如圖4所示:切換器HS5455的COM1口對應的命令名稱是“選中通道1”。此處的配置結果將保存在一個XML文件中,此XML文件的相關部分的格式如圖5所示。
圖5 系統(tǒng)設置存儲格式
圖4中的配置信息以圖5的格式保存到XML文件中。其中一個〈Operate〉〈/Operate〉對就描述了一個COM口的設置。其中:Name字段表示該通道的名稱;PortName表示當前對應端口的名稱;DeviceName表示當前切換器硬件的名稱,通常一個切換器硬件有多個端口;CommandName字段表示對應的操作名稱。
需要說明的是,此配置文件中的CommandName字段僅作為描述用,對應到硬件控制的具體指令,還需要一個XML格式的配置文件進行描述,以便將控制名稱轉換為具體的控制指令,其格式如圖6所示。
圖6 切換器指令存儲格式
圖6中DeviceList節(jié)點用于描述可支持的硬件設備列表,節(jié)點內(nèi)的信息將對各個硬件進行詳細描述。Device節(jié)點描述了某個切換器設備的基本信息,包括設備名稱、波特率、數(shù)據(jù)位數(shù)等。Send子節(jié)點描述了通過串口進行控制時發(fā)送的命令內(nèi)容,其內(nèi)容實際規(guī)定了圖5中的CommandName和實際發(fā)送的命令CommandString之間的映射關系,如圖7所示。如要執(zhí)行操作“選中通道1”,則實際需要程序向相應的COM口發(fā)送的指令為“49,13”。同樣,Receive子節(jié)點規(guī)定了通過串口接收到的數(shù)據(jù)的意義,其內(nèi)容規(guī)定了接收到的CommandString代表的實際意義,如圖8所示。例如從相應COM口接收到的信息為“79,75,13”,則表示“命令接收正確”。
圖7 Send指令段格式
圖8 Receive指令段格式
圖6中列舉的設備配置信息只有HS5455一款切換器,如果需要用到其他型號的切換器,只需要在DeviceList節(jié)的配置中按照制定的格式加入或者修改調(diào)整相應的指令和映射關系即可。圖6中DeviceList段中的Device小結可以有很多個,分別對應于不同型號的切換器硬件。如此一來,在設備發(fā)生更改的時候,只需要在該配置文件中增加一個Device配置節(jié),在該配置節(jié)中描述切換器硬件的名稱、波特率等信息,以及發(fā)送和接收指令的格式即可。本系統(tǒng)只須對配置文件做相應調(diào)整,而不需要對整個軟件進行重新編譯。
4結論
本文設計了一種指令可編程的智能切換器控制系統(tǒng),該系統(tǒng)能夠在不重新編譯代碼的情況下,更好地適應各種不同型號類型的切換器。本文的研究成果已申請我國計算機軟件著作權,登記號為2014SR080932。
參考文獻
[1]吳建忠. 視音頻切換器信號的技術保障措施[J]. 科技視界, 2012 (34):158.
[2]張占順. 調(diào)頻廣播音頻監(jiān)測報警系統(tǒng)[J]. 科技信息, 2012 (33):909.
[3]李軍. 淺談廣播轉播信號源的維護[J]. 科技創(chuàng)新導報, 2010 (5):88.
[4]楊海濤. 縣市級電臺的總控建設[J]. 廣播與電視技術, 2013,40(3):94.
[5]黃陳耿. 音頻工作站全自動播出在縣級廣播電臺的實現(xiàn)[J]. 西部廣播電視, 2005 (12):27.
[6]魏三強,朱軍. 一種公共廣播與背景音樂系統(tǒng)的優(yōu)化方案設計[J]. 西華大學學報(自然科學版),2012,31(6):81.
[7]李勇,鄭萍. 電話遠程測控系統(tǒng)的設計[J]. 西華大學學報(自然科學版),2005,24(4):70.
[8]林海東,余強. 基于H264的網(wǎng)絡視頻監(jiān)控系統(tǒng)設計與實現(xiàn)[J]. 西華大學學報(自然科學版),2014,33(2):22.
[9]徐文革. 視音頻切換器集中控制系統(tǒng)的設計與實現(xiàn)[J]. 中國有線電視, 2009 (9) :954.
[10]王鵬, 崔靜. 新一代界面技術WPF的架構及應用[J]. 成都紡織高等專科學校學報, 2011,28(1):18.
[11]鄒海,余籦超.基于WPF技術的甘特圖控件的研究與設計[J].計算機應用與軟件, 2014(5) :50.
[12]祝曉紅, 劉煒, 李俊麗. 用WPF進行復雜數(shù)據(jù)集成的方法研究[C]]//第二十七屆中國控制會議論文集.昆明:北京航空航天大學出版社,2008:3091-3094.
[13]劉芳, 肖鐵軍. XML應用的基石:XML解析技術[J]. 計算機工程與設計, 2005(10) :2823.
(編校:饒莉)
A Directive Programmable Audio Switcher Intelligent Control System
GUO Yi1, DENG Bangjian2
(1.SchoolofElectricalEngineeringandElectronicInformation,XihuaUniversity,Chengdu610039China;
2.ChengduWellViewTechnologyCo.Ltd.,Chengdu610054China)
Abstract:For the lack of generality of control system for different audio switcher, an audio switcher intelligent control system is developed on .Net Framework 4.0 and WPF. Based on the thought of directive programmable, the business logic and the data processing and user interface were completely separated. All of the control commands and configuration information were pre-stored in the XML file. They were loaded dynamically when the system is running. To realize the automatic control of different brands of switcher, the programmable instruction set is modified in the configuration information directly, and it isn’t necessary to recompile the entire control software. Therefore, the versatility of this system was improved.
Keywords:automatic audio switcher; directive programmable; audio workstation; serial communication protocol
doi:10.3969/j.issn.1673-159X.2016.01.020
中圖分類號:TN931;TN948.48
文獻標志碼:A
文章編號:1673-159X(2016)01-0094-05
基金項目:國家自然科學基金項目(61305104);春暉計劃項目(z2014054);四川省科技支撐計劃項目(2013GZX0152);西華大學重點基金項目(z1320927)。
收稿日期:2014-10-22
第一作者:郭奕(1982—),男,講師,博士,主要研究方向為數(shù)字圖像、音視頻處理與廣播電視相關技術、模式識別。
·計算機軟件理論、技術與應用·