可编程逻辑
数据传输就是依照适当的规程,经过一条或多条链路,在数据源和数据宿之间传送数据的过程。也表示借助信道上的信号将数据从一处送往另一处的操作。基于labviewFPGA数据传输技术是基于网络传输的一种,它具有TCP传输和UDP传输两种方式,为了保证传输过程中不产生数据丢失,本文通过重新构造数据类型并通过打包与接包的方式进行数据交换,保证了数据在高速采样条件下的连续性与稳定性,为底层FPGA硬件向上位机数据交换提供了一种崭新的模式。
西安某汽车电子有限公司生产的XLM油泵支架产品功能测试台设计中,有一项针对高度阻值(TSG)的功能测试。该测试内容要求阻值电压采样与液位高度进行一一对应。使用传统的采集方式难以保证采集的可靠性。基予该设计要求,本文提出了一种采用LabviewFPGA的数据传输技术,该技术能够在高速采样的前提下确保数据传输的稳定性与可靠性。
2.数据传输
数据传输技术主要用于多机通信领域,一般在数据交换过程中,为保证数据的稳定可靠传输而制定的特殊传送规则。其传输过程也根据传输的物理介质而不同。具体而言可分为以下几种:
1.1 基带、频带和数字数据传输
①基带传输是指由数据终端设备(DTE)送出的二进制“1”数据传输或“0”的电信号直接送到电路的传输方式。基带信号未经调制,可以经过码形变换(或波形变换)进行驱动后直接传输。
②大多数传输信道是带通型特性,基带信号通不过。采用调制方法把基带信号调制到信道带宽范围内进行传输,接收端通过解调方法再还原出基带信号的方式,称为频带传输。
③数字数据传输是利用数字话路传输数据信号的一种方式。
1.2 并行传输与串行传输
①并行传输是构成字符的二进制代码在并行信道上同时传输的方式。
②串行传输是构成字符的二进制代码在一条信道上以位(码元)为单位,按时间顺序逐位传输的方式。速度虽慢,但只需一条传输信道,投资小,易于实现,是数据传输采用的主要传输方式。也是目前计算机通信采取的一种主要方式。
1.3 异步传输和同步传输
①异步传输是字符同步传输的方式。当发送一个字符代码时,字符前面要加一个“起”信号,长度为1个码元宽,极性为“0”,即空号极性;而在发完一个字符后面加一个“止”信号,长度为1,1.5或2个码元宽,极性为“1”,即传号极性。接收端通过检测起、止信号,即可区分出所传输的字符。字符可以连续发送,也可单独发送,不发送字符时,连续发送停止信号。
②同步传输是位(码元)同步传输方式。该方式必须在收、发双方建立精确的位定时信号,以便正确区分每位数据信号。在传输中,数据要分成组(或称帧),一帧含多个字符代码或多个独立码元。在发送数据前,在每帧开始必须加上规定的帧同步码元序列,接收端检测出该序列标志后,确定帧的开始,建立双方同步。接收端DCE从接收序列中提取位定时信号,从而达到位(码元)同步。
1.4 单工、半双工和全双工传输
单工传输指数据只能按单一方向发送和接收;半双工传输指数据可以在两个方向传输但不能同时进行,即交替收、发;全双工传输指数据可以在两个方向同时传输,即同时收和发。一般四线线路为全双工数据传输,二线线路可实现全双工数据传输。
3.复用技术
复用技术是指一种在传输路径上综合多路信道,然后恢复原机制或解除终端各信道复用技术的过程,主要包括以下几种:
频分复用(FDM) ― 载波带宽被划分为多种不同频带的子信道,每个子信道可以并行传送一路信号。FDM 用于模拟传输过程。
时分复用(TDM) ― 在交互时间间隔内在同一信道上传送多路信号。TDM 广泛用于数字传输过程。
码分复用(CDM) ― 每个信道作为编码信道实现位传输(特定脉冲序列)。这种编码传输方式通过传输唯一的时间系列短脉冲完成,但在较长的位时间中则采用时间片断替代。每个信道,都有各自的代码,并可以在同一光纤上进行传输以及异步解除复用。
波分复用(WDM) ― 在一根光纤上使用不同的波长同时传送多路光波信号。WDM 用于光纤信道。WDM 与 FDM 基于相同原理但是它应用于光纤信道上的光波传输过程。
粗波分复用(CWDM) - WDM 的扩张。每根光纤传送4到8种波长,甚至更多。应用于中型网络系统(区域或城域网)。
密集型波分复用(DWDM) - WDM 的扩展。典型的 DWDM 系统支持8种或以上波长。显现系统支持上百种波长。
在数据通信中,复用技术的使用极大地提高了信道的传输效率,取得了广泛地应用。多路复用技术就是在发送端将多路信号进行组合,然后在一条专用的物理信道上实现传输,接收端再将复合信号分离出来。多路复用技术主要分为两大类:频分多路复用(简称频分复用)和时分多路复用(简称时分复用),波分复用和统计复用本质上也属于这两种复用技术。另外还有一些其他的复用技术,如码分复用、极化波复用和空分复用等。
4. 基于网络的传输
基于网络的传输一般分为TCP/IP传输与UDP传输两种。
UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。UDP数据报封装成一份IP数据报的格式如图1所示:
图1 UDP数据格式
UDP不提供可靠性连接:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。
TCP和UDP都使用相同的网络层(IP)。TCP提供了一种可靠的面向连接的字节流运输层服务。如图2所示:
图2 TCP数据格式
TCP向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。TCP将用户数据打包构成报文段;它发送数据后启动一个定时器,等待对端数据确认;另一端对收到的数据进行确认,对失序的数据重新排序,丢弃重复数据;TCP提供端到端的流量控制,并加以计算和验证。
面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。TCP传输协议连接过程:
首先建立连接,TCP用三个报文段完成连接的建立。这个过程也称为三次握手(three-way handshake)。如图所示:
图3 TCP连接握手过程
终止一个连接要经过4次握手。如图4所示:
图4 TCP终止连接握手过程
数据发送必须经过接收方确认,并且有超时重传等保障机制,这是TCP传输有一定保障的根本原因,如图5所示:
图5 TCP传输确认机制
可以看到,完成一次数据传送,除了完成连接、终止连接外,至少还需要一个数据分组与一个ACK分组。
UDP与TCP提供不同的传输方式与不同的传输质量,TCP以增加网络开销的方式提供传输保障。在GPRS网络实际测试,当网络正常情况下,从GPRS DTU->GPRS网络->互联网->用户数据中心这个通路上,UDP传输有效性>99%,TCP传输有效性≈100%
5. 基于LabvewFPGA的数据传输
基于LabviewFPGA的数据传输,是基于TCP/IP的一种改进方式。如图6所示:
图6 LabviewFPGA数据传输
这种方式主要用于FPGA架构的C-RIO系统与上位机通信时为保证底层数据能够可靠传输的独特数据流传输方式。其技术特点在于从FPGA底层进行数据构造,即将一般数据类型(如定点型,浮点型)转换成计算机底层可识别的布尔数据类型进行数据构造,如图7所示:
图7 数据构造过程
当数据传输至RT层,通过数据解析的过程将FPGA的高速数据流进行数据识别并转换至上位机可传输的数据格式,如图8所示:
图8 高速数据留转换
为保证数据的不丢失,RT打包过程采用了重联与数据残留清空方式,以确保每次重联的过程能够进行可靠的数据传输。上位机的接收过程如图9所示:
图9 数据接收过程
当数据传送至上位机后,将不同数据类型按照包头加以解析,并按照构造数据类型进行数据重建。过程如图10所示:
图10 数据解析及重建
6. 结论
基于LabviewFPGA数据传输方式主要用于高速数据流传输的情况,这种方式是在TCP/IP基础上的一种改进传输方式。目前已成功应用在西安某汽车电子有限公司所生产的XLM生产线功能测试台改造项目中。该项目要求在电机运行的过程中对电阻电压进行高速可靠采样并传输,采用基于Labview FPGA数据传输方式很好的解决了该问题,目前设备运行良好。
参考文献
[1] He Yun Signal acquisition sysstem of engine base on labview [J]. Manufacturing & Automation, 2010, 9(s):192-194.
[2] 施伟年 凌海宏, GPRS网络上数据传输协议, 电力系统通信2004,8:61-65
[3] 张银鸿,李双语,数据传输, 计算机技术学报 2011, 5:78-79
[4] 张峰,李平 等. 降采样数据传输过程详解, 航空计算技术2009, 18(2):65-68.
作者:代华斌,1980.10月生,自动控制理论专业硕士,长期从事测控领域项目开发工作。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !