APP下载

卫星信道模拟器触摸屏参数控制系统的设计

2018-04-11郭业才万逸儒

实验室研究与探索 2018年2期
关键词:参数设置模拟器触摸屏

郭业才, 万逸儒, 彭 舒, 胡 峥

(1. 南京信息工程大学 电子与信息工程学院, 南京 210044;2. 江苏省大气环境与装备技术协同创新中心, 南京 210044)

0 引 言

随着卫星移动通信技术的不断发展,卫星移动通信在自然灾害救援、偏远地区通信以及军事通信中具有不可替代的作用。与有线通信和地面无线通信相比,卫星移动通信系统的服务范围广,更容易全球覆盖,是通信领域中的研究热点[1,2]。在卫星通信系统设计中,租用实际卫星链路进行试验代价高昂,可行性差[3]。卫星信道模拟器能够模拟接近卫星通信的传播特性,用于设备的通信调试,极大地降低了研发成本[4,5]。在参数配置上,有的卫星信道模拟器参数几乎是固定不变的;有的采用上位机进行参数设置,需要与计算机相连,这样的参数设置既不方便,适应性也差。

针对上述问题,设计了一种卫星信道模拟器触摸屏参数控制系统,该系统以FPGA作为主控单元,通过触摸屏控制实现卫星信道模拟器的参数设置。参数设置的方法:只要系统上电,系统就开始自行加载程序,然后对触摸屏进行初始化并显示首界面和参数设置界面等信息,接着触摸按键实现卫星信道参数设置。与参数固定的卫星信道模拟器相比,该系统参数可调;与利用上位机进行参数设置相比,该系统参数设置更加便捷、适应性强、人机交互界面友好。

1 参数控制结构

卫星信道模拟器的触摸屏参数控制结构,如图1所示。信号在FPGA中进行多普勒频移、多径时延与增益、瑞利Rayleigh分布、对数正态log-normal分布和高斯白噪声等卫星信道环境模拟时,为了使卫星信道参数可调,通过FPGA控制触摸屏实现卫星信道参数设置界面显示和卫星信道参数输入。可调的参数包括多径条数、多径增益、多普勒频移以及高斯噪声增益等。

图1卫星信道模拟器的触摸屏参数控制结构图

2 硬件系统设计

硬件系统设计包括硬件结构、芯片选型及硬件电路设计。

2.1 硬件结构

卫星信道模拟器的触摸屏参数控制系统的硬件结构主要包括FPGA模块、触摸屏模块、SDRAM、串行Flash和JTAG&PS下载接口,如图2所示。

图2硬件结构图

图2中,FPGA模块作为主控单元,实现对触摸屏模块的控制;触摸屏模块作为显示和触摸单元,用来实现卫星信道模拟器参数设置与显示;SDRAM作为缓存单元,用来缓存图片和字符等数据;串行Flash用来存储程序,防止程序掉电丢失;JTAG&PS下载接口用来实现程序的测试和固化。

2.2 芯片选型及硬件电路设计

考虑到同等价格条件下Altera公司的FPGA资源比Xilinx的丰富,而且整个卫星信道模拟器的设计中大约用到了9 000个逻辑单元和100个I/O口,因此选用了Altera公司生产的Cyclone系列的EP3C16Q240C8N。该芯片共有15 408个逻辑单元,0.5 Mbit的RAM,160个I/O口,20个全局时钟域,4个锁相环,56个乘法器,具有成本低、性能高和功耗低的特点。

时钟、SDRAM、串行Flash、JTAG&PS下载接口和FPGA一起构成了FPGA最小系统。时钟采用50 MHz的有源晶振提供系统时钟。SDRAM采用了美光公司生产的MT48LC4M16A2,该芯片有16位数据总线、12位地址总线、存储空间为64 Mbit,程序数据存储要求,具有低成本的优点。串行 Flash采用的是 EPCS16,存储空间为16 Mbit,该芯片是Cyclone系列芯片专用串行Flash,和其他串行Flash相比,控制程序设计相对简单。FPGA下载电路有3种方式:JTAG配置、AS配置和PS配置,JTAG配置的特点是下载速度快,程序掉电丢失;AS配置和PS配置的特点是下载速度慢,程序掉电不丢失,AS配置需要单独的下载接口,而PS配置和JTAG配置共用一个接口。由于程序在设计时需要进行测试和固化,为了节约PCB空间采用JTAG和PS两者配置方式。

触摸屏模块由显示控制芯片和触摸控制芯片组成。显示控制芯片RA8875,最大支持800×480分辨率的面板,內建768KB显示内存,支持2D的(Block Transfer Engine,BTE)图形加速引擎和几何图形加速引擎,支持8 bit和16 bit的8080/6800 MCU系列总线接口,支持串行SPI通信接口,相对于其他显示控制芯片,RA8875具有功能强大、成本低和易开发等优点,因此显示控制芯片采用RA8875。由于BTE加速引擎只对并行总线接口开放并且16 bit总线结构数据传输速率是8 bit总线结构的2倍,因此显示芯片通信采用16 bit的8080总线接口。触摸控制芯片GT811,能同时准确识别5个触摸点的位置,移动轨迹和触摸面,并根据需要读取相应触摸点的触摸信息,相对于其他触摸控制芯片,具有触摸屏自动校准、触摸电压与触摸坐标值之间无需转换的优点,因此触摸控制芯片采用GT811。GT811与FPGA之间采用3线-SPI通信,中断T_IN采用软件中断控制。

引脚连接上,JTAG和EPCS16采用专用引脚连接,RA8875、GT811和MT48LC4M16A2的时钟引脚与FPGA相邻的时钟引脚连接,其余引脚与FPGA的I/O引脚连接,如图3所示。

图3硬件电路

3 程序设计

触摸屏控制采用基于Nios II嵌入式设计,包括基于Qsys的Nios II软核设计和基于C语言的触摸屏程序设计。由于触摸屏输入的卫星信道参数传给FPGA后无法直接进行参数更新,因此需要参数控制模块来实现触摸屏控制与算法模块之间的参数转换,参数控制模块采用Verilog语言设计。下面将详细设计Nios II软核、触摸屏程序以及参数控制模块。

3.1 Nios II软核设计

Nios II软核采用Quatus Ⅱ的Qsys搭建,作用是把系统组件与外设之间进行配置和连接,从而实现FPGA与外设之间端口的连接和通信[5,6],通过并行输入/输出(Pararel Input Output,PIO)总线把设定的卫星道信道参数传给参数控制模块。

Nios II软核主要包括标准控制组件和用户定义组件[7],如图4所示。Nios II软核设计的具体步骤如下:(1) 启动Qsys,创建一个IP核,命名为MyCPU。(2) 添加CLK时钟源,设置为50MHz 。(3) 添加NiosⅡ处理器,类型为NiosⅡ/f。(4) 添加JTAG_UART,缓存深度为64 byte。(5) 添加SDRAM Controller,数据位宽16 bit,数据行地址线12 bit,列地址总线8 bit,内存大小64 Mbit。(6) 添加EPCS Controller ,默认设置。(7) 添加驱动LCD的PIO,包括LCD_DB(16位双向)、LCD_CS(1位输出)、LCD_RS(1位输出)、LCD_WR(1位输出)、LCD_RD(1位输出)、LCD_RST(1位输出)、LCD_PS(1位输出)。(8) 添加驱动Touch的PIO,包括T_INT(1位输入)、T_SDA(1位输出/输出)、T_CLK(1位输入)。(9) 添加DMA,采用默认设置。(10) 添加多径条数控制的PIO,命名为pathes(3位输出),多径条数选择为1~5条。(11)添加控制第几条路径选择的PIO,命名为path(3位输出),选择为第1~第5条。(12) 添加控制路径衰落比例的PIO,命名为fading(4位输出),比例范围0.1~0.9。(13) 添加多普勒频移大小控制的PIO,命名为doppler_db(16位输出),范围1 KHz ~500 KHz。(14) 添加多普勒频移方向的PIO,命名为doppler_dr(1位输出)。(15) 添加高斯噪声控制的PIO,命名为gauss_gain(9位输出)。(16) 点击 generate生成IP核。

图4Nios II软核结构框图

3.2 触摸屏程序设计

触摸屏程序设计包括触摸屏显示程序设计和触摸程序设计。

3.2.1显示程序设计

显示内容包括字符、图片和按键图标。由于没有外挂汉字字库并且RA8875不能直接显示汉字,因此采用字库工具PCtoLCD把设定好大小的汉字转换成字符数据,采用点阵的方式显示。对于图片与图标采用图像数据生成工具Image2Lcd转换成字符数据,同样采用点阵显示。

RA8875有两种显示方式:横屏显示(800×480)和竖屏显示(480×800),本设计采用横屏显示。由于RA8875內建BTE 2D图形加速引擎,因此采用BTE模式显示图形。工作原理:设定图片显示目的位置坐标,然后设定BTE宽度缓存器和高度缓存器,接着设定BTE控制缓存器,设置BTE的工作模式,具体为REG[20h] Bit7=1,开始写入一笔数据,检查状态缓存器STSR Bit7,当STSR Bit7=1时,写入下一笔数据;当STSR Bit7=0时,数据写完,结束程序,如图5所示。

图5显示程序流程图

3.2.2触摸程序设计

触摸芯片GT811采用5点触控,由于本设计中参数设计通常为单点触控,为了防止误触,设计成单点触控。设计思想:进入程序后对GT811进行初始化,设定当触摸屏受到按压或点击时,GT811通过软件中断T_IN请求通知FPGA有触摸发生,此时引脚T_IN输出为低电平,向FPGA提出中断请求,进入中断服务程序。通过判断中断输入口电平的变化消除非意图的触摸产生的抖动,消除抖动后,通过电压的切换分别导通Y电极对、X电极对的模拟量,经过A/D转换,读取相应的坐标值,将转换后的坐标值与设定的按键图标边界值进行比较,若在按键图标范围内,则切换到相应的触发程序,否则开中断返回到主程序,继续等待外部触摸中断的发生[8-13]。程序流程,如图6所示。

图6触摸控制程序流程图

触摸屏整体流程,如图7所示。卫星信道模拟器上电后,进入产品介绍首界面,包括产品名称、学校、作者和导师等信息,延时3 s后进入卫星信道模拟器参数设置界面,包括多径时延与增益、多普勒频移和高斯白噪声等按键图标,通过扫描触摸屏的输入的状态,根据各种状态来做出相应的处理。在触摸屏输入状态下,检测触摸的坐标,当坐标不在任意按键图标内时,继续扫描是否有按键被按下;当坐标在某一按键内时,进行功能识别,然后更新相应的卫星信道参数。

图7触摸屏整体流程图

3.3 参数控制模块设计

卫星信道参数从触摸屏传输到算法模块时,经过参数控制模块最终完成卫星信道参数更新,参数控制模块主要包括多普勒频移控制模块、多径时延与增益控制模块以及高斯增益控制模块。

3.3.1多普勒频移控制模块

多普勒频移控制模块如图8所示。多普勒频移原理是把输入信号通过希尔伯特hilbert滤波器变换成I和Q两路互相正交的信号,然后分别与正余弦信号相乘,最后两路输出信号相加得到多普勒频移输出信号。为使多普勒频移可调,正余弦发生器DDS的频率也要可调,这里采用坐标旋转法(cordic法)生成频率可调的DDS,通过频率控制字控制输出正余弦的频率。假设系统时钟为fclk,输出信号频率为fout,频率控制字为N位,频率控制字为M,则输出信号频率为

(1)

则频率控制字的表达式为

(2)

设计中N=32,多普勒频移的最小为1 kHz,则相应的控制字M= 85 899,对于触摸屏输出的频率doppler_db=NkHz时,对应的频率控制字为85 899×N。

图8多普勒频移控制模块结构图

实践中,用户终端和卫星之间存在相对运动,当两者逐渐靠近时,压缩波长,频率增高;当两者逐渐远离时,拉伸波长频率降低。为了控制频移增高或降低,采用Verliog语言编写一个可切换的加/减法器,当控制使能doppler_dr=1时,为加法器,输出频率降低;当doppler_dr=0时,为减法器,频率增高。

3.3.2多径时延与增益控制模块

本文设计的多径最多为5条,时延采用寄存器时延实现[14],寄存器时延的位宽为16 bit,时延分辨率为系统时钟周期,系统时钟为50 MHz,多径时延分别为20、100、160、220、300 ns,如图9所示。当触摸屏输出的多径条数pathes传到多径时延与增益模块时,通过多径条数控制模块把输入多径条数变成控制时延模块的使能端(高电平有效),来控制相应的路径。多径增益控制模块由路径控制path与增益比例fading两部分组成,当输入相应路径时,该路径对应的乘法器使能端有效,然后通过fading控制衰落比例。

增益比例为小数并且FPGA芯片为32位定点处理器,无法直接进行小数乘运算,需要对定点乘法器进行改进。改进的乘法器实现方法如下:假设时延输后输入为datain,增益后输出为dataout,datain为16位有符号整数,比例因子fading为4位小数,对datain低位补4位小数(4’b0),变为20位的{datain,4’b0},对fading高位补16位有符号整数位(16’b0),变为20位的{16’b0,fading},两数相乘的输出dataout用40位有符号数表示。实际需要的输出为16位,需要对输出dataout截位,由于两数相乘的8位小数位全为0且整数位高15位也为0,符号位取次高位,因此截位后的输出为{dataout[38],dataout[22:8]}。

图9多径时延与增益结构图

3.3.3高斯增益控制模块

高斯增益控制模块,如图10所示。根据中心极限定理,多个m序列和值的概率密度趋近于正态分布,采用多个m序列相加得到高斯白噪声[14-15]。为了控制噪声的功率,将其与高斯噪声增益因子gauss_gain相乘,高斯白噪声用16 bit有符号数表示, gauss_gain采用9 bit有符号数表示,符号位为0,取值范围为0~255,输出截取16 bit有符号数(次高位以下16位数据)表示。当gauss_gain取最大值255时,信噪比为0 dBm,当gauss_gain减半时,信噪比增加6 dBm,最大为48 dBm。

图10高斯增益控制模块结构图

4 测试与分析

触摸屏测试时,先给卫星信道模拟器上电,然后把程序通过JTAG口下载到FPGA中,接着触摸屏开始显示首界面,延时3S后显示参数设置界面,接着对触摸芯片初始化,然后进行测试触摸功能,点击“频移增大”按键图标,显示触摸坐标为(143,328),在按键图标范围内,符合设计要求,具体如图11所示。

(1) 首界面

(2) 参数设置界面

(3) 触摸坐标图

图12 多普勒频移仿真图

参数控制模块采用Modelsim进行仿真,易于直接观察参数控制效果。多普勒频移仿真如图12所示,输入信号是一个2 MHz的正弦波,多普勒频移的大小为doppler_db=200 kHz,频移方向doppler_dr=1,即频移减小,图中datain表示输入信号,dataout表示频移输出信号,sine和cosine表示DDS生成的正余弦信号。

多径时延与增益模块仿真如图13所示,输入信号采用的是周期采样32个点的正弦波。多径条数控制仿真,多径径条数pathes=3,图中out1~out5表示路径1~5的输出,可以观察到路径out1~out3有输出,路径out4~out5无输出。

图13 多径条数仿真图

多径增益仿真如图14,路径条数pathes=5,第1条(path=1)路径的增益比例为0.5,即fading=4’b0100。

图14 多径增益仿真图

高斯白噪声仿真如图15所示,令输出噪声信噪比为24 dBm,对应的gauss_gain=128,也就是输出噪声是输入噪声的0.5倍,图中awgn_out表示生成的噪声,awgn_gain表示增益后的噪声。

图15 高斯增益仿真图

通过测试,表明触摸屏卫星信道模拟器参数设置界面显示良好,按键图标触摸有效,可以直观地显示多径条数、多径增益的比例、多普勒频移方向及大小以及噪声增益比例的控制精确等参数。

5 结 语

设计了基于FPGA可触控卫星信道器的触摸屏参数控制系统,该系统的硬件电路、Nios II软核、触摸屏程序和参数控制模块等进行了分析。测试表明,触摸屏响应迅速,触摸功能强劲,参数设置有效,达到了设计要求。与采用上位机进行参数设置的信道模拟器相比,具有环境适应性强、参数设置方便等优点,具有很好的应用前景。

参考文献(References):

[1]郭业才,袁涛,章涛.气象信道模拟器的设计及其仿真[J].计算机应用,2013,33(9):2650-2652.

[2]SEYED Y, SHIRZI M , MOHARRER A ,etal. Use of shadowing moments to statistically model mobile satellite channels in urban environments [J]. IEEE transactions on wireless communications, 2013, 12(8):3760-3769.

[3]郭业才,赵卫娟,张秀再.卫星信道三状态Markov模型设计与仿真[J].计算机应用,2016,36(1):91-95.

[4]贾国庆, 陈善继,陈超,等. 一种面向宽带无线通信的远程分布式MIMO信道仿真系统设计[J].实验室研究与探索,2017,36(3):94-99.

[5]CHEFFENA M, FONTAN F P. Channel simulator for land mobile satellite channel along Roadside trees [J]. IEEE trasactions on antennas and propagation, 2011,59(5): 1699-1706.

[6]黄亮,杨景常.基于SOPC的TFT触摸屏显示系统设计[J].液晶与显示,2009,24(5):718-722.

[7]李雪梅,李梦婷.基于SOPC的触摸屏显示系统设计[J].北京电子科技学院报,2015,23(2):64-73.

[8]胡必武,宋跃,胡升平,等.基于ARM及FPGA实现的嵌入式触摸屏任意信号发生器[J].仪表技术与传感器,2008,3:62-65.

[9]李建海,王成刚,杨帆,等.基于PLC和触摸屏的应变监测系统设计[J].兵器装备工程学报,2017,38(2):105-109.

[10]梁明亮,张惠敏,徐冰.基于ARM微处理器的液晶触摸屏的接口设计[J].算机测量与控制,2011.19(3):691-695.

[11]周爱国,潘强标.基于目标跟踪的红外触摸屏优化算法[J].计算机应用,2015,35( 10) : 2995-2999.

[12]陈雷成,王华华,江彦鲤,等.一种低复杂度信道模拟器的设计[J].电讯技术,2014,54(9):1275-1279.

[13]罗宁.低轨卫星信道模拟器中传输特性的FPGA实现[D].成都:电子科技大学,2004.

[14]刘德全.智能温室多点温度检测系统电路设计与仿真[J].实验室研究与探索,2014,33(11):77-83.

[15]郝宪锋,成向阳,贾朋.一种基于NIOS的双极性相控高压脉冲信号源设计[J].实验室研究与探索,2017,36(2):62-67.

·名人名言·

“学校的目标应当是培养有独立行动和独立思考的个人,不过他们要把为社会服务看作是自己人生的最高目标。”

——爱因斯坦

猜你喜欢

参数设置模拟器触摸屏
了不起的安检模拟器
盲盒模拟器
划船模拟器
PLC和触摸屏在卫生间控制系统的应用
浅析投射式多点触控电容触摸屏
皮肤“长”出触摸屏
逃生疏散模拟软件应用
蚁群算法求解TSP中的参数设置
RTK技术在放线测量中的应用
动态飞行模拟器及其发展概述