趙 楊,咸立文,牛吉凌,冷汶鍇
(中國電子科技集團(tuán)公司第三十研究所,四川 成都 610041)
海岸電臺是船岸通信的紐帶。它提供海上遇險安全通信保障、沿海航行警告、海上氣象警報和海上氣象預(yù)報播發(fā)等公益性服務(wù)和公眾通信。實(shí)際應(yīng)用中,電臺設(shè)備固定裝備于通信艙。為實(shí)現(xiàn)電臺設(shè)備與操作控制臺空間分離,完成對電臺遠(yuǎn)距離控制,研制了一款面向操作員的遙控器。遙控器能夠接收操作員的鍵控信息,提供話音輸入輸出接口,并實(shí)現(xiàn)話音處理。遙控器可對電臺進(jìn)行遠(yuǎn)程控制[1],并提供可視化顯示功能,具備多級菜單式人機(jī)交互界面。
遙控器系統(tǒng)應(yīng)用場景,如圖1所示。相對于無線通信[2],有線通信的優(yōu)勢為傳送穩(wěn)定、安全且抗干擾。根據(jù)實(shí)際使用場景需求,電臺遙控器選用有線傳輸,通過外接電纜與電臺互連。
圖1 遙控器系統(tǒng)應(yīng)用場景
遙控電纜實(shí)現(xiàn)遙控器設(shè)備供電及對外通信。傳輸信號包含電源信號和RS422接口信號。RS422接口傳輸按鍵操作指令、顯示控制指令、話音數(shù)據(jù)(基帶數(shù)字話音數(shù)據(jù)/聲碼話音數(shù)據(jù))等信息。
遙控器傳輸按鍵操作指令給電臺解析,并接收來自電臺的顯示控制指令,支持對電臺的遠(yuǎn)程操作控制與狀態(tài)實(shí)時顯示。
遙控器支持處理操作員話音,具備AD/DA處理及聲碼話處理功能。它通過RS422接口與短波電臺完成語音數(shù)據(jù)交互。
遙控器控制系統(tǒng)總體框圖如圖2所示[3],由控制模塊、人機(jī)接口模塊、電源模塊、手柄、揚(yáng)聲器和液晶屏等部分組成。
圖2 遙控器控制系統(tǒng)
(1)控制模塊:遙控器核心模塊,實(shí)現(xiàn)按鍵、話音、顯示等信息處理功能。
(2)人機(jī)接口模塊:實(shí)現(xiàn)按鍵、液晶屏顯示、手柄接入及接口轉(zhuǎn)換。
(3)電源模塊:實(shí)現(xiàn)電臺提供的直流電源到遙控器內(nèi)部所需的各路電源的轉(zhuǎn)換。
(4)手柄:實(shí)現(xiàn)話音輸入/輸出、鍵控PTT輸入。
(5)揚(yáng)聲器:實(shí)現(xiàn)話音的輸出,額定功率5 W。
(6)液晶屏:實(shí)現(xiàn)人機(jī)界面的顯示。設(shè)計(jì)選用北京迪文的DMG64480K057-01WN型號液晶屏。該液晶屏為5.7寸串口屏,自帶ARM操作系統(tǒng),可通過串口下載圖片和字庫,并通過操作命令實(shí)現(xiàn)控制。
控制器模塊作為遙控器的核心部件[4],主要包括FPGA單元、AD/DA單元、聲碼話單元、接口電平轉(zhuǎn)換與保護(hù)單元、音頻放大與調(diào)整單元、電源轉(zhuǎn)換單元等,如圖3所示。
圖3 控制器模塊硬件組成
1.3.1 FPGA單元
FPGA單元作為控制器模塊核心芯片,實(shí)現(xiàn)電臺同步協(xié)議、顯示控制回傳、按鍵檢測、接口轉(zhuǎn)換和時鐘處理等功能。芯片選用Xilinx的XC6SLX150-2FGG484I,包含147 443個邏輯單元,4 824 kbit片內(nèi)存儲資源,滿足現(xiàn)有及后續(xù)的功能擴(kuò)展。
1.3.2 AD/DA單元
AD/DA單元實(shí)現(xiàn)模擬話音與數(shù)字音頻之間的采樣與合成,芯片選用TI公司的TLV320AIC32,如圖4所示。該芯片是一款低功耗立體聲音頻編解碼器,支持基于寄存器的功率控制管理和輸入/輸出自動增益控制。
圖4 TLV320AIC32電路設(shè)計(jì)
1.3.3 聲碼話單元
聲碼話單元主要實(shí)現(xiàn)模擬話音到數(shù)字話音的轉(zhuǎn)換,并對話音進(jìn)行編解碼處理。
1.3.4 接口電平轉(zhuǎn)換與保護(hù)單元
接口電平轉(zhuǎn)換與保護(hù)單元實(shí)現(xiàn)遙控器內(nèi)部TTL電平信號與外部電臺RS422電平信號的轉(zhuǎn)換,采用的是MAXIM公司的MAX3491,50 m傳輸距離傳輸速率可達(dá)到2 Mb/s。保護(hù)單元實(shí)現(xiàn)接口信號保護(hù),采用的是雙向TVS保護(hù)陣列芯片SMDA15C-7。
1.3.5 音頻放大與調(diào)整單元
音頻放大與調(diào)整單元實(shí)現(xiàn)輸入音頻信號的放大和通道選擇、輸出音頻信號的音量調(diào)整及揚(yáng)聲器驅(qū)動。該單元主要由功率放大器、運(yùn)算放大器、音量調(diào)整電路、通道選擇電路、麥克風(fēng)前置放大器和平衡非平衡變換等組成,如圖5所示。
圖5 音頻放大與調(diào)整原理
電路設(shè)計(jì)和仿真實(shí)驗(yàn)選用硬件開發(fā)工具Cadence實(shí)現(xiàn)。FPGA設(shè)計(jì)平臺為賽靈思公司其配套的ISE開發(fā)套件,采用VHDL硬件描述語言實(shí)現(xiàn)。
FPGA作為設(shè)備控制核心,主要完成以下功能:
(1)模擬話音和聲碼話音數(shù)據(jù)的控制收發(fā)處理;
(2)遙控接口協(xié)議處理;
(3)鍵盤處理;
(4)顯示控制。
遙控器的FPGA總體實(shí)現(xiàn)方案,如圖6所示。
圖6 遙控器FPGA架構(gòu)設(shè)計(jì)
電臺操作員對遙控器顯示界面的內(nèi)容進(jìn)行按鍵選擇。FPGA的“按鍵信息處理模塊”對進(jìn)行信息解析,經(jīng)FIFO緩存,再由“電臺接口數(shù)據(jù)處理模塊”進(jìn)行封幀處理后發(fā)送至電臺。電臺根據(jù)按鍵信息將顯示控制命令回傳,經(jīng)FPGA的“電臺接口數(shù)據(jù)處理模塊”解幀,通過FIFO緩存,再由“顯示控制信息處理模塊”完成對液晶屏控制。
電臺端話音通信包括接收與發(fā)送兩個方向的處理。發(fā)送方向,設(shè)備通過手柄接收來自操作員話音信號,并數(shù)字化處理。FPGA根據(jù)配置參數(shù)選擇來自TLVAIC32芯片或聲碼模塊的話音數(shù)據(jù),經(jīng)“AD/DA模擬話處理模塊”或“聲碼話處理模塊”處理,通過FIFO緩存,再由“電臺接口數(shù)據(jù)處理模塊”將話音數(shù)據(jù)封幀后發(fā)送至電臺。話音接收方向,F(xiàn)PGA實(shí)現(xiàn)對電臺話音數(shù)據(jù)的解幀處理,并轉(zhuǎn)發(fā)給外部TLVAIC32芯片或聲碼模塊處理,最后由手柄和揚(yáng)聲器播放。
FPGA通過上述按鍵、顯示、話音信息的處理,達(dá)到對電臺的配置、查詢和管理的效果。
為方便實(shí)現(xiàn)遙控器FPGA的功能,設(shè)計(jì)按模塊劃分,包括電臺接口數(shù)據(jù)處理模塊、聲碼話處理模塊、AD/DA模擬話處理模塊、按鍵信息處理模塊和顯示控制信息處理模塊。
2.2.1 電臺接口數(shù)據(jù)處理模塊
電臺接口數(shù)據(jù)處理模塊主要實(shí)現(xiàn)與電臺交互數(shù)據(jù)的同步、組幀、拆幀,并轉(zhuǎn)發(fā)到FIFO緩存中。遙控接口電氣特性符合RS422規(guī)范,接口為同步串口,接口速率為1.25 Mb/s,同步時鐘為1.25 MHz,時鐘由電臺端提供,通信流程如圖7所示。數(shù)據(jù)以協(xié)議幀(發(fā)送幀和接收幀)為單位進(jìn)行傳輸,協(xié)議幀的傳輸速率為2 000幀/秒,每幀中包含625 bits。圖8為協(xié)議幀字段組成結(jié)構(gòu)。
圖7 電臺與遙控器的通信流程
圖8 協(xié)議幀字段組成
2.2.2 聲碼話處理模塊
聲碼話處理模塊主要完成與聲碼模塊的數(shù)據(jù)交互,以及與電臺接口數(shù)據(jù)處理模塊之間的跨時鐘域處理。聲碼模塊的數(shù)據(jù)接口采用同步串行接口,所有編解碼數(shù)據(jù)流都封裝成數(shù)據(jù)幀進(jìn)行傳輸。一個數(shù)據(jù)幀中包含13 Byte,接口時序如圖9、圖10所示(方向相對于遙控器)。聲碼話處理模塊與電臺數(shù)據(jù)處理模塊之間的跨時鐘域處理采用異步FIFO實(shí)現(xiàn)。
圖9 待解碼數(shù)據(jù)輸出時序
圖10 已編碼數(shù)據(jù)輸入時序
2.2.3 AD/DA模擬話處理模塊
AD/DA模擬話處理模塊實(shí)現(xiàn)模擬話音與數(shù)字音頻之間的采樣與合成,采用TI公司的TLV320AIC32芯片。FPGA通過I2C接口對芯片進(jìn)行初始化參數(shù)配置;采用同步串行接口與FPGA交互音頻碼流數(shù)據(jù)。本設(shè)計(jì)中,TLV320AIC32芯片配置為話音單聲道、64 kHz采樣率、16 bit量化。芯片工作模式采用左調(diào)整模式(LEFT JUSTIFIED MODE),其時序圖如圖11所示。
圖11 TLV320AIC32芯片左調(diào)整模式時序圖
芯片主要寄存器參數(shù)配置如下:
Register2:0x00:ADC/DAC采樣速率Fs=Fsref;
Register3:0x30:關(guān)閉PLL;Q=6;
Register7:0x08:Fsref=64 kHz,ADC/DAC采用單速率模式,左聲道對應(yīng)左通道DAC路徑,關(guān)閉右通道DAC路徑;
Register8:0xf0:主模式,BCLK和WCLK為輸出;
Register9:0xC0:左調(diào)整模式,字長n=16 bit;
Register15:0x00:打開左通道ADC PGA,增益0 dB;
Register19:0x04:打開左通道ADC,并將LINE1L的模擬話音送至左通道ADC中,增益0 dB;
Register37:0x80:打開左通道DAC;
Register41:0x40:左通道DAC的輸出選擇路徑DAC_L3以連接到左聲道輸出;
Register43:0x00:打開左通道DAC的輸出,增益0 dB;
Register86:0x0B:左聲道LEFT_LOP/M作為話音輸出,輸出電平0 dB。
2.2.4 顯示控制信息處理模塊
該模塊完成液晶顯示器的管理和控制,電臺液晶面板內(nèi)容的遠(yuǎn)程同步顯示。設(shè)計(jì)選用液晶屏的接口為UART接口,因此采用FPGA實(shí)現(xiàn)UART發(fā)送功能,由UART發(fā)送模塊實(shí)現(xiàn)。
UART發(fā)送模塊接收需要發(fā)送的并行數(shù)據(jù),將通過串并轉(zhuǎn)換轉(zhuǎn)換為串行數(shù)據(jù),且按照規(guī)定的數(shù)據(jù)格式和波特率,在發(fā)送模塊時鐘下從端口輸出至液晶屏串行接口。
2.2.5 按鍵信息處理模塊
該模塊完成遙控器面板按鍵操作的掃描、編碼及去抖動處理[5],處理流程如圖12所示。硬件設(shè)計(jì)將按鍵排列成矩陣形式,即行列鍵盤。當(dāng)按鍵被按下時,其交點(diǎn)的行線和列線接通,相應(yīng)的行線或列線上的電平發(fā)生變化。此時,F(xiàn)PGA通過檢測行列電平變化確定被選中的按鍵值。由于機(jī)械開關(guān)閉合時的彈性作用,導(dǎo)致按鍵閉合或斷開瞬間會伴隨一連串抖動,因此需要實(shí)現(xiàn)按鍵消抖功能。按鍵的機(jī)械性決定其抖動時間,一般為5~10 ms。因此,當(dāng)按鍵閉合時,F(xiàn)PGA對鍵值鎖定。延遲10 ms時,再次鎖定鍵值,并判斷兩次鍵值是否一致。若鍵值一致,則判定為一次有效的按鍵操作;否則,為機(jī)械抖動,F(xiàn)PGA重新進(jìn)行下一次掃描。最后,F(xiàn)PGA對判定后的結(jié)果進(jìn)行鍵值譯碼。
圖12 按鍵信息處理流程
通過上述硬件電路及可編程邏輯FPGA的設(shè)計(jì),實(shí)現(xiàn)了電臺遙控器的“一控雙顯”及“話音處理”功能。該遙控器在實(shí)際應(yīng)用中取得了很好效果,人機(jī)接口操作方便,聲碼話音和模擬話音清晰可辨。綜上所述,該遙控器的應(yīng)用解決了電臺設(shè)備與操作控制臺空間分離,具備很好的應(yīng)用價值。
參考文獻(xiàn):
[1] QIAN Min.EDA Implementation of Infrared Remotecontrol Transmit/Receive Data Communication System[J].Semiconductor Technology,2009(04):393-396.
[2] 楊萍.基于FPGA的功放遙控控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2016.YANG Ping.Design and Implementation of Power Amplifier Remote Control System Based on FPGA[D].Chengdu:University of Electronic Science and Technology,2016.
[3] 袁憲鋒,周風(fēng)余,王然等.基于ARM的嵌入式移動機(jī)器人遙控器設(shè)計(jì)[J].北京聯(lián)合大學(xué)學(xué)報:自然科學(xué)版,2012,26(03):26-30,34.YUAN Xian-feng,ZHOU Feng-yu,WANG Ran,et al.Design of an Embedded Mobile Robot Remote Controller Based on ARM[J].Journal of Beijing Union University(Natural Sciences),2012,26(03):26-30,34.
[4] 席彥彬.學(xué)習(xí)型遙控器原理及常見故障簡介[J].電視技術(shù),2013,37(12):39-44.XI Yan-bin.Learning Remote Control Principle and Fault Introduction[J].Video Engineering,2013,37(12):39-44.
[5] 康雨春.幾種常用開關(guān)防抖電路的簡介[J].電子世界,2009(11):43-44.KANG Yu-chun.Brief Introduction of Several Common Switch Anti Shake Circuits[J].Electronics World,2009(11):43-44.