公务员期刊网 论文中心 正文

FPGA下的紫外光字符通信系统设计

FPGA下的紫外光字符通信系统设计

摘要:紫外光子可以和大气中的微粒发生散射作用从而实现非直视通信,同时具有保密性高的特点。本文设计以FPGA为发送和接收处理器核心的紫外LED通信设备。发射端FPGA使用USB串口线将电脑串口助手的信息通过I/O口输出,经过驱动电路点亮LED,接收端通过光电倍增管和信号放大电路接收信源信息和实现接口协议电平,最后回传给FPGA。实验结果表明:在外界光线不影响的条件下,该装置可以实现50米无误码的9600bps通信速率。

关键词:紫外光通信;FPGA;字符传输

紫外光(UV)通信是一种新兴的通信方式,因其独特的通信优势,受到越来越多学者的关注[1]。波长在200-280nm范围内的紫外光是UV通信所采用的波段,这是因为该波段的紫外光被大气平流层中的臭氧所吸收,导致到达地球表面的太阳辐射几乎可以忽略,因此该波段被称作“日盲区”,也为UV通信创造了接近零背景辐射的条件[2]。UV通信的另一大特点是大气散射性强。大气中存在大量的气体分子、粉尘、气溶胶等微粒,并且由于UV波长短,UV光子在传输的过程中会与这些微粒不断地发生碰撞而产生散射作用,这种散射特性使得信号能够绕障传播,实现非直视的通信[3-4]。在通信系统中系统的信源消息是一个很重要的条件,常见的信源消息包括文字、语音、图片、视频。因此为了实现人机交互式的通信方式,本文设计了以文字信息为发射信源的紫外光通信系统。以FPGA为核心,系统由发送端和接收端构成,将文字信息通过ASCII编码协议驱动紫外LED灯发送到空间大气中,通过接收端得到发送的ASCII码值回传给电脑。在上位机上显示发送消息。

1紫外光LED通信系统设计

1.1系统框图

基于紫外光LED通信系统由发送端和接收端两部分组成,发端主要完成光信号产生,收端主要完成信号转换为电信号的接收[5]。紫外光通信系统框图如图1所示。如图1所示电脑输入的携带字符信息的电信号经过USB接口数据线输入FPGA,通过FPGA程序接收处理和光源驱动电路,之后电信号点亮紫外LED灯,通过LED灯发送出去。接收端通过滤光片和光电探测器将光信号转换成电信号,经过放大电路把信号给了FPGA,FPGA程序接收信号解调之后在回传给上位机。

1.2FPGA程序设计

在FPGA开发板设计中,UART用来与PC进行通信,包括数据通信,命令和控制信息的传输。UART首先将接收到的并行数据转换成串行数据来传输。消息帧从一个低位起始位开始,后面是7个或8个数据位,一个可用的奇偶位和一个或几个高位停止位。UART传输时序如图2所示。为了满足UART协议本文基于Vivado2018.3使用VerilogHDL设计了串口回传的程序代码,根据图2可以看出,串口属于异步的传输时序,因此发端FPGA和收端FPGA采用了回环的串口通信方式。程序设计包括2部分构成:数据发送模块,数据接收模块,通过顶层文件将上述的2个模块进行实例化,以参数化的方式来设置系统时钟和波特率方便之后对于程序的移植。发端FPGA程序将UART_TX端口设置在了FPGA的通用I/O口上,使得电脑发送的串口数据可以通过I/O口输出用来点亮紫外LED灯。接收端FPGA程序将UART_RX端口设置在了FPGA的通用I/O口上,将通过光电倍增管的接收数据输入FPGA端口,程序就可以再次解调串口数据最终回传给电脑。经过Vivado2018.3分析综合之后的RTL视图如图3所示。图3中的uart_recv为数据的接收模块,该模块首先对uart_rxd端口的数据进行同步处理,通过协议的起始信号来得到了一个接收数据标志,根据顶层模块的参数设置来控制计数器,同时对数据进行串并转换,当接收到8位的ASCII码时生成uart_done信号。uart_send为数据发送模块,当接收模块接收到了8位数据,通过uart_done信号产生了一个发送使能信信号,同样会在系统时钟控制的计数器下,进行数据的并串转换,最终将数据一位一位发送出去。

1.3硬件设计

对发送端而言要满足紫外LED的额定工作条件,本文设计如图4所示的驱动电路[6]。OPA2613具有输出电流大,响应速度快,共模抑制比高的特性,该电路的工作原理就是一个设定阈值的比较电路。当信号的电压大于设定值是LED不亮,当信号的电压小于设定的阈值是LED亮,从而实现以OOK的调制方式将信号发送出去。对接收端而言,光电倍增管接收到的光信号转换为一个电流信号,需要外界电阻将电流信号转换为电压信号并满足电平标准,所以接收电路如图5所示,其中图5所示的R4变阻器用调节信号的电压幅值。使得满足FPGA的接口电平标准LVTTL3.3。

2实验结果分析

2.1实验硬件

通过对系统设备关键电路的设计,最终的系统发送端和接收端实物如图6所示。

2.2发送端和接收端调试

在连接好发送端和接收端设备之后,通过USB串口线连接电脑和开发板,在串口助手中可以输入任意的汉字、字母或者数字,发送的文本信息通过USB线,驱动电路板来点亮紫外LED灯。在接收端进行相同的连接并设置电脑串口助手。对于本次实验串口助手设置波特率为9600bps,没有校验位,停止位的时间为1个比特周期。本文为了分析有关串口通信的协议,因此实验结果只选取了示波器屏幕可以截取的部分,发送了Hello的字母消息。其中串口软件图如图7所示,示波器对于接收端的波形图如图8所示。图8中对应的信息为00001001010101001101000110110100011011010111101101其中加粗部分对应的分别为H、e、l、l、o的ASCII码。

3结论

本文详细介绍了基于FPGA的紫外光通信系统设计,给出了整体的实验方案,驱动电路和接收电路,使用FPGA完成了相关的Verilog串口代码设计,实际的测试结果良好。通过示波器观测UART协议表明信号质量符合解调要求,最终可以无误码的观测到上位机信息,同时在非直视的条件下也可以做到字符通信,提高了实际的紫外光通信系统的实用性。下一步可以继续研究其他信源信息,如音频、图像等,完善紫外光通信装置。

参考文献

[1]马宁,李晓毅,杨刚等.紫外光通信LED阵列光源的设计[J].科学技术与工程,2014,14(14):230-234.

[2]李海涛,李晓毅,叶永桢,韩志强.紫外光通信及其军事应用前景[J].信息通信,2016(12):60-62,66.

[3]王勇,景艳玲.紫外光通信中调制技术研究[J].激光杂志,2014(3):37-38.

[4]江沛,刘学,孙晖.长距离紫外光通信系统[J].光通信技术,2016,40(06):44-46.

[5]张骁,胡昊,王红星.紫外光室内传输系统设计与传输特性分析[J].光电子技术,2015,35(02):118-122.

[6]周显礼.紫外光移动自组网节点通信系统的设计与研究[D].西安:西安工程大学,2018.

作者:杨永坤 白晓晨 单位:西安工程大学