赵 杨,咸立文,牛吉凌,冷汶锴
(中国电子科技集团公司第三十研究所,四川 成都 610041)
海岸电台是船岸通信的纽带。它提供海上遇险安全通信保障、沿海航行警告、海上气象警报和海上气象预报播发等公益性服务和公众通信。实际应用中,电台设备固定装备于通信舱。为实现电台设备与操作控制台空间分离,完成对电台远距离控制,研制了一款面向操作员的遥控器。遥控器能够接收操作员的键控信息,提供话音输入输出接口,并实现话音处理。遥控器可对电台进行远程控制[1],并提供可视化显示功能,具备多级菜单式人机交互界面。
遥控器系统应用场景,如图1所示。相对于无线通信[2],有线通信的优势为传送稳定、安全且抗干扰。根据实际使用场景需求,电台遥控器选用有线传输,通过外接电缆与电台互连。
图1 遥控器系统应用场景
遥控电缆实现遥控器设备供电及对外通信。传输信号包含电源信号和RS422接口信号。RS422接口传输按键操作指令、显示控制指令、话音数据(基带数字话音数据/声码话音数据)等信息。
遥控器传输按键操作指令给电台解析,并接收来自电台的显示控制指令,支持对电台的远程操作控制与状态实时显示。
遥控器支持处理操作员话音,具备AD/DA处理及声码话处理功能。它通过RS422接口与短波电台完成语音数据交互。
遥控器控制系统总体框图如图2所示[3],由控制模块、人机接口模块、电源模块、手柄、扬声器和液晶屏等部分组成。
图2 遥控器控制系统
(1)控制模块:遥控器核心模块,实现按键、话音、显示等信息处理功能。
(2)人机接口模块:实现按键、液晶屏显示、手柄接入及接口转换。
(3)电源模块:实现电台提供的直流电源到遥控器内部所需的各路电源的转换。
(4)手柄:实现话音输入/输出、键控PTT输入。
(5)扬声器:实现话音的输出,额定功率5 W。
(6)液晶屏:实现人机界面的显示。设计选用北京迪文的DMG64480K057-01WN型号液晶屏。该液晶屏为5.7寸串口屏,自带ARM操作系统,可通过串口下载图片和字库,并通过操作命令实现控制。
控制器模块作为遥控器的核心部件[4],主要包括FPGA单元、AD/DA单元、声码话单元、接口电平转换与保护单元、音频放大与调整单元、电源转换单元等,如图3所示。
图3 控制器模块硬件组成
1.3.1 FPGA单元
FPGA单元作为控制器模块核心芯片,实现电台同步协议、显示控制回传、按键检测、接口转换和时钟处理等功能。芯片选用Xilinx的XC6SLX150-2FGG484I,包含147 443个逻辑单元,4 824 kbit片内存储资源,满足现有及后续的功能扩展。
1.3.2 AD/DA单元
AD/DA单元实现模拟话音与数字音频之间的采样与合成,芯片选用TI公司的TLV320AIC32,如图4所示。该芯片是一款低功耗立体声音频编解码器,支持基于寄存器的功率控制管理和输入/输出自动增益控制。
图4 TLV320AIC32电路设计
1.3.3 声码话单元
声码话单元主要实现模拟话音到数字话音的转换,并对话音进行编解码处理。
1.3.4 接口电平转换与保护单元
接口电平转换与保护单元实现遥控器内部TTL电平信号与外部电台RS422电平信号的转换,采用的是MAXIM公司的MAX3491,50 m传输距离传输速率可达到2 Mb/s。保护单元实现接口信号保护,采用的是双向TVS保护阵列芯片SMDA15C-7。
1.3.5 音频放大与调整单元
音频放大与调整单元实现输入音频信号的放大和通道选择、输出音频信号的音量调整及扬声器驱动。该单元主要由功率放大器、运算放大器、音量调整电路、通道选择电路、麦克风前置放大器和平衡非平衡变换等组成,如图5所示。
图5 音频放大与调整原理
电路设计和仿真实验选用硬件开发工具Cadence实现。FPGA设计平台为赛灵思公司其配套的ISE开发套件,采用VHDL硬件描述语言实现。
FPGA作为设备控制核心,主要完成以下功能:
(1)模拟话音和声码话音数据的控制收发处理;
(2)遥控接口协议处理;
(3)键盘处理;
(4)显示控制。
遥控器的FPGA总体实现方案,如图6所示。
图6 遥控器FPGA架构设计
电台操作员对遥控器显示界面的内容进行按键选择。FPGA的“按键信息处理模块”对进行信息解析,经FIFO缓存,再由“电台接口数据处理模块”进行封帧处理后发送至电台。电台根据按键信息将显示控制命令回传,经FPGA的“电台接口数据处理模块”解帧,通过FIFO缓存,再由“显示控制信息处理模块”完成对液晶屏控制。
电台端话音通信包括接收与发送两个方向的处理。发送方向,设备通过手柄接收来自操作员话音信号,并数字化处理。FPGA根据配置参数选择来自TLVAIC32芯片或声码模块的话音数据,经“AD/DA模拟话处理模块”或“声码话处理模块”处理,通过FIFO缓存,再由“电台接口数据处理模块”将话音数据封帧后发送至电台。话音接收方向,FPGA实现对电台话音数据的解帧处理,并转发给外部TLVAIC32芯片或声码模块处理,最后由手柄和扬声器播放。
FPGA通过上述按键、显示、话音信息的处理,达到对电台的配置、查询和管理的效果。
为方便实现遥控器FPGA的功能,设计按模块划分,包括电台接口数据处理模块、声码话处理模块、AD/DA模拟话处理模块、按键信息处理模块和显示控制信息处理模块。
2.2.1 电台接口数据处理模块
电台接口数据处理模块主要实现与电台交互数据的同步、组帧、拆帧,并转发到FIFO缓存中。遥控接口电气特性符合RS422规范,接口为同步串口,接口速率为1.25 Mb/s,同步时钟为1.25 MHz,时钟由电台端提供,通信流程如图7所示。数据以协议帧(发送帧和接收帧)为单位进行传输,协议帧的传输速率为2 000帧/秒,每帧中包含625 bits。图8为协议帧字段组成结构。
图7 电台与遥控器的通信流程
图8 协议帧字段组成
2.2.2 声码话处理模块
声码话处理模块主要完成与声码模块的数据交互,以及与电台接口数据处理模块之间的跨时钟域处理。声码模块的数据接口采用同步串行接口,所有编解码数据流都封装成数据帧进行传输。一个数据帧中包含13 Byte,接口时序如图9、图10所示(方向相对于遥控器)。声码话处理模块与电台数据处理模块之间的跨时钟域处理采用异步FIFO实现。
图9 待解码数据输出时序
图10 已编码数据输入时序
2.2.3 AD/DA模拟话处理模块
AD/DA模拟话处理模块实现模拟话音与数字音频之间的采样与合成,采用TI公司的TLV320AIC32芯片。FPGA通过I2C接口对芯片进行初始化参数配置;采用同步串行接口与FPGA交互音频码流数据。本设计中,TLV320AIC32芯片配置为话音单声道、64 kHz采样率、16 bit量化。芯片工作模式采用左调整模式(LEFT JUSTIFIED MODE),其时序图如图11所示。
图11 TLV320AIC32芯片左调整模式时序图
芯片主要寄存器参数配置如下:
Register2:0x00:ADC/DAC采样速率Fs=Fsref;
Register3:0x30:关闭PLL;Q=6;
Register7:0x08:Fsref=64 kHz,ADC/DAC采用单速率模式,左声道对应左通道DAC路径,关闭右通道DAC路径;
Register8:0xf0:主模式,BCLK和WCLK为输出;
Register9:0xC0:左调整模式,字长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 显示控制信息处理模块
该模块完成液晶显示器的管理和控制,电台液晶面板内容的远程同步显示。设计选用液晶屏的接口为UART接口,因此采用FPGA实现UART发送功能,由UART发送模块实现。
UART发送模块接收需要发送的并行数据,将通过串并转换转换为串行数据,且按照规定的数据格式和波特率,在发送模块时钟下从端口输出至液晶屏串行接口。
2.2.5 按键信息处理模块
该模块完成遥控器面板按键操作的扫描、编码及去抖动处理[5],处理流程如图12所示。硬件设计将按键排列成矩阵形式,即行列键盘。当按键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化。此时,FPGA通过检测行列电平变化确定被选中的按键值。由于机械开关闭合时的弹性作用,导致按键闭合或断开瞬间会伴随一连串抖动,因此需要实现按键消抖功能。按键的机械性决定其抖动时间,一般为5~10 ms。因此,当按键闭合时,FPGA对键值锁定。延迟10 ms时,再次锁定键值,并判断两次键值是否一致。若键值一致,则判定为一次有效的按键操作;否则,为机械抖动,FPGA重新进行下一次扫描。最后,FPGA对判定后的结果进行键值译码。
图12 按键信息处理流程
通过上述硬件电路及可编程逻辑FPGA的设计,实现了电台遥控器的“一控双显”及“话音处理”功能。该遥控器在实际应用中取得了很好效果,人机接口操作方便,声码话音和模拟话音清晰可辨。综上所述,该遥控器的应用解决了电台设备与操作控制台空间分离,具备很好的应用价值。
参考文献:
[1] QIAN Min.EDA Implementation of Infrared Remotecontrol Transmit/Receive Data Communication System[J].Semiconductor Technology,2009(04):393-396.
[2] 杨萍.基于FPGA的功放遥控控制系统的设计与实现[D].成都:电子科技大学,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] 袁宪锋,周风余,王然等.基于ARM的嵌入式移动机器人遥控器设计[J].北京联合大学学报:自然科学版,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] 席彦彬.学习型遥控器原理及常见故障简介[J].电视技术,2013,37(12):39-44.XI Yan-bin.Learning Remote Control Principle and Fault Introduction[J].Video Engineering,2013,37(12):39-44.
[5] 康雨春.几种常用开关防抖电路的简介[J].电子世界,2009(11):43-44.KANG Yu-chun.Brief Introduction of Several Common Switch Anti Shake Circuits[J].Electronics World,2009(11):43-44.