APP下载

一种10 Mbit/s~1 Gbit/s速率自适应无线光通信机的研制

2014-03-27吴鹏飞柯熙政袁泉

西安理工大学学报 2014年4期
关键词:封包寄存器时钟

吴鹏飞,柯熙政,袁泉

(西安理工大学 自动化与信息工程学院,陕西 西安 710048)

无线激光通信(Wireless Laser Communication;WLC)是以激光作为信息的载体进行数据、声音、图像传输的通信技术。目前,美国Terabeam及Airfiber等公司已将WLC系统应用于商业服务网络。美国的战略导弹防御组织(BMDO)研制出激光通信终端设备,并进行了作用距离42 km、速率1 Gbit/s的全天候跟踪扫瞄试验[1]。本文设计了一种新型无线光通信机,该系统具有传输速率高、耗能小、人眼安全、使用灵活等特点,适用于多种场合进行数据传输。

1 系统硬件构成

1.1 系统描述

无线激光通信系统,由同时含有接收和发送功能的两套激光通信机组成,它们彼此向对方发射已调制的光信号(数据、图像、声音),并接收和解调接收到对方的光信号,实现双工通信[2]。无线光通信机的系统框图如图1所示。

图1 无线激光综合业务通信机系统框图

无线光通信机主要由FPGA主控单元、用户发送单元和用户接收单元三部分组成。用户发送部分包括DM9000驱动程序和FPGA处理单元,DM9000驱动程序将用户数据从网口接收进来,存储在FPGA的FIFO内,FPGA处理单元将FIFO里的用户数据进行编码,然后发送至激光驱动电路,驱动激光器进行传送数据;用户接收部分包括时钟恢复单元,FPGA处理单元和DM9000驱动程序,时钟恢复单元将激光接收电路的数字信号进行过采样,然后恢复出原始的数据,存储于FPGA的FIFO内,FPGA处理单元将FIFO里的用户数据进行解码,再通过DM9000驱动程序将用户数据从网口发送至用户设备。

1.2 驱动电路

本文所采用的调制方法为OOK直接调制[2]。将数字编码过的视频信号和语音信号作为调制信号,通过主控芯片FPGA送入半导体激光器驱动电路,产生调制的光信号。调制光信号耦合进光纤中[3],光学发射天线压缩光束发散角,使其达到系统要求的指标,然后将光束发射出去。调制电路分为控制偏置电流和调制电流两部分。

控制偏置电流电路设计主要采用LM358两路通用运算放大器。运算放大器是通过负反馈提高调制电流的稳定性。电路中三极管使用的是SS8050,该三极管是一种低电压、大电流、小信号的PNP型硅二极管。它构成了共射极放大电路,为驱动激光器提供足够大的偏置电流。通过可调精密电位器可以调节偏置电流的大小。

恒流源电路如图2所示,主要提供调制电流。Q4为恒流源,加入到晶体管Q1、Q2发射极的负载是晶体管Q4的恒流源。因此在负载变重的情况下,即使由输出端吸进大量电流(在电源的设定值以下),也不会出现输出波形负侧被切去的情况。用电流源代替发射极电阻,即使输出振幅变化,发射极电阻值也能保持一定,所以就能够吸进大到电流源设定值的电流。

图2 控制调制电流的电路

在图2的电路中,组成恒流电路的三极管Q4的基极电位是由R9进行限流来获得的。所以,基极电位与输入信号无关,而通过R6固定在一定的电压上。因此,加在Q4发射极电阻R14的电压也为一恒定值,发射极电流被固定在一恒定值。如认为发射极电流等于集电极电流,则Q4的集电极电流与输入信号没有关系。所以,由集电极一侧看,则可以认为Q4为恒流源。Q1用作开关激光调制电流,Q2在调制电流关断时作为假负载。假负载是为了加快恒流调制过程,减少开启瞬间的过冲。R1作为假负载阻值要和激光管的阻抗匹配,激光管的自身电容值也会影响波形。

1.3 网卡电路

网卡采用DM9000,该网卡是一款完全集成和符合成本效益的单芯片快速以太网MAC控制器,内部有一个10/100M自适应的PHY和4K DWORD值的SRAM。它是低功耗和高性能的一款芯片,支持3.3V或5V电压[4-6],支持8位,13位和32位接口访问内部存储器,以使支持不同的处理器。

1)DM9000工作方式

DM9000提供兼容ISA总线的LOCALBUS模式的主机接口,该主机接口有两个端口地址,分别是INDEX端口和DATA端口。引脚CMD输入“0”时进入INDEX端口,输入“1”时进入DATA端口。DATA端口的DM9000内部寄存器的地址由INDEX写入。要对DM9000寄存器进行读写,则必须先把寄存器的地址存入INDEX端口。

DM9000包含index Ⅰ和indexⅡ两个发送包,这两个包可以同时存储在DM9000内部的发送缓存里面。CRC的插入和打包由发送控制寄存器(TX Control Register)控制,发送状态寄存器TX Status RegisterⅠ和TX Status RegisterⅡ分别存储着两个发送包的状态[7]。

2)DM9000初始化

设计中通过两个步骤来完成对DM9000的初始化以及对其发送和接收数据的控制。

对DM9000器件里的寄存器写入初始值即为初始化,目的是用来设定DM9000的工作模式。DM9000初始化程序是固定不变的,且在正常工作之前必须进行初始化[8]。对DM9000的初始化步骤,如图3所示。

图3 DM9000初始化流程图

3)DM9000发送数据

将FPGA从光路接收来的音视频数据通过DM9000传送到PC端,即为发送数据,发送过程如下。

将硬件或软件复位之后即可开始发送,发送的起始地址为00h、起始发送包为indexⅠ。先通过DMA端口将发送的数据写入TX SRAM,再将数据包indexⅠ长度字节数写入字节数寄存器。DM9000对发送控制寄存器的第零位置“1”开始发送数据包indexⅠ。在发送结束之前,下一个数据即可移入TX SRAM,发送结束后,再写入数据包indexⅡ的长度字节数。发送过程以此规则依次进行。

对DM9000控制的程序流程如图4所示。

图4 数据发送流程图

4)接收数据包

在每一个封包中,会有4个Bytes存放一些封包的相关资料。第1个Byte是查看封包是否已正确存放在接收内存之中,如果值为“01h”表明封包已经正确存放于接收内存之中。如果为“00h”则表明接收内存尚未有正确封包存放。DM9000接收内存数据格式如图5所示。

图5 DM9000接收内存数据格式

要接收一个封包必须先检查MRCMDX寄存器值是否为01,若是则有封包进入内存,可以进行读取。然后读取MRCMD,将前4个Byte封包信息读入。

最后,由前4个Byte封包信息取得封包长度(以Byte为单位),连续读取MRCMD,将封包数据移到FPGA中。若读取位置超过3FFFh时,DM9000会自动移到0C00h。

2 系统软件

2.1 双FIFO缓冲

从网口传来的视频或音频数据一般速率较高,在实时视频监控或语音系统中,为了能够很好地保证数据的稳定和连续性,通常采用的方法是对两个FIFO进行乒乓操作[9]。乒乓操作是有效处理高速数据流的方式之一,其基本思想就是以面积换取速度。典型的乒乓操作方法如图6所示。数据缓冲模块可以为任何存储模块,在本文中使用的是FIFO。

图6 乒乓FIFO典型操作框图

采用图6所示进行乒乓操作,数据流会等时地进入两个数据缓冲模块中。等时处理带来的是每一路数据处理的频率相当于输入频率的一半,不仅降低了数据处理的速度,而且可以完整地进行数据采样。

2.2 时钟恢复

接收端提取出正确的数据信息需要进行时钟恢复。时钟恢复使用过采样法,该方法具有较大的频率捕捉范围和较快的捕捉速度。本系统中,通过采用本地晶振倍频得到80M的高速时钟,对信号作8倍过采样,通过对采样数据的分析判断出数据跳变沿的位置,实时寻找并切换到最佳采样时钟,从而恢复出数据。

最佳采样相位判断是通过检测采样数据中跳变沿的位置,判决当前数据最佳采样相位。在T-1到T+1采样周期所采样的所有比特,在滑动窗口中通过数据匹配,寻找采样周期T内发生的边沿跳变位置,然后生成跳变沿图样。在两个跳变沿的中间时刻,即是所要寻找的最佳采样相位,通过在最佳采样相位采样,就可判断出数据的高低电平,恢复出正确数据。8倍过采样的数据因为使用了滑动窗口进行滤波,所以就避免了数据毛刺对判决的干扰,而且窗口宽度越大,抑制毛刺的性能越好。但是对于一个8倍过采样系统而言,时钟周期与采样时钟要能够满足每个接收数据的周期最少应有7个采样点,所以最大窗口宽度只能为14。

3 系统实验

系统所用实验仪器有示波器(Tektronix TDS2024及Agilent ADS7062CA)、逻辑分析仪(Tektronix TLA5201)、激光功率计、万用表(VICTOR VC8900)和PC机等。

3.1 PC机实验

为了验证该系统能否工作正常,先去掉无线激光传输部分,把两块FPGA板直接相连。如果能实现两台计算机之间通信,就说明系统以太网模块工作正常。实验中用两台PC机分别作为信源和信宿,一台负责发送数据,通过两块以太网模块将信息传输到另一台上,对比检验数据的正确性。实验框图如图7所示。

图7 PC机实验

使用TCP/UDP Socket调试工具检验以太网接入系统功能的完整性和正确性。创建TCP服务器端和TCP客户端。TCP服务器端用来发送数据,TCP客户端用来接收数据。开始调试阶段发现接收到的数据包有严重的丢包现象,而且发送次数越多丢包越明显、一次发送数据量越大丢包率越高。经分析是由于接收缓冲区空间不够、接收数据的速率过慢或者主机处理数据过慢引起的。解决办法:①DM9000支持DMA模式,可以和I/O模式自动转换,DMA模式可使DM9000减少丢包; ②适当地调整数据存取速率,使下一个数据包到来之前数据缓冲区空间充足。

3.2 激光链路实验

激光链路组建以后,用视频编码器代替PC机进行数据的发送,用另一台PC机进行数据接收并验证数据的正确性,如图8所示。图9为无线激光通信机外观。

图8 激光链路实验框图

图9 无线激光综合业务通信机样机

4 结 论

本系统可以实现双工通信,可在10 Mb/s速率下传输2路标清视频信号和150路语音信号,协议数据透明传输,具有较好的稳定性和实时性,具备了基本的实用性。

参考文献:

[1] 易成林.自由空间光通信技术的发展现状与未来趋势[J].现代商贸工业,2007,19(9):263-264.

Yi Chenlin. The current situation of the development and future trends of free space optical communication technology[J].Modern Business Trade Industry, 2007,19(9):263-264.

[2] 柯熙政,殷致云.无线激光通信系统中的编码理论[M].北京:科学出版社,2008.

[3] 陈锦妮,柯熙政.弱湍流状态下空间光-多模光纤耦合效率分析[J].西安理工大学学报,2014,30(3):327-330.

Chen Jinni,Ke Xizheng.Analysis of space optical-multimode fiber coupling efficiency in weak turbulenc[J]. Journal of Xi’an University of Technology,2014,30(3):327-330.

[4] 柳玉仙.基于FPGA的设备状态信号采集传输系统研究[D].重庆:重庆大学,2008.

Liu Yuxian.Study on data acquisition and transmission system of equipment status based on FPGA[D].Chongqing: Chongqing University,2008.

[5] 郝云峰.基于FPGA的网络化数据采集系统[D].重庆:重庆大学,2008.

Hao Yunfeng.Networked data acquisition system based on FPGA [D].Chongqing: Chongqing University,2008.

[6] 胡应鹏.基于FPGA的振动信号采集和网络化传输关键技术的研究[D].重庆:重庆大学,2006.

Hu Yingpeng. Key technical study on FPGA-based mechanical vibration signals collection and network transmission[D].Chongqing: Chongqing University, 2006.

[7] Yang C K K, Tu S H L.A pipelined serial data receiver with over sampling techniques for high-speed data communications[C]//Hong Kong:IEEE Conference on Electron Devices and Solid-State Circuits,2003:167-170.

[8] 褚振勇,翁木云.FPGA设计及应用[M].西安:西安电子科技大学出版社,2002.

[9] 吴自信,张嗣忠.异步FIFO结构及FPGA设计[J].单片机与嵌入式系统应用,2003,8:25-26.

Wu Zixin,Zhang Sizhong. Asynchronous FIFO structure and FPGA design[J].Microcontrollers and Embedded System, 2003,8:25-26.

猜你喜欢

封包寄存器时钟
中药封包在急诊老年急性胃肠炎患者中的临床应用
STM32和51单片机寄存器映射原理异同分析
别样的“时钟”
古代的时钟
Lite寄存器模型的设计与实现
护肤 巧用保鲜膜
无冲突规则校园网络安全系统的设计
移位寄存器及算术运算应用
有趣的时钟
时钟会开“花”