以太网数据采集

2024-05-12

以太网数据采集(共8篇)

以太网数据采集 篇1

0 引言

随着航天技术的发展, 传统的航天器静力试验的测量方式无法满足试验技术的发展和客户需求的提高。近年来, 网络技术不断成熟, 在各类测试系统中, 网络技术特别是以太网技术得到了广泛的应用。以太网 (Ethernet) 是现有局域网采用的最通用的通信协议标准, 采用载波监听多路访问及冲突检测 (CSMA/CD) 技术, 与IEEE802.3系列标准相类似。以太网最主要的特点有:允许网内多台设备存取网络而不会引起控制器冲突;有效传输距离长;数据传输速率高, 可达100Mb/s~10Gb/s。以上特点使得以太网成为组建各类测试系统尤其是分布式系统的有力工具[1,2,3]。

为了解决传统的航天器静力试验测量系统测量信号单一、数据分析功能简单、系统兼容性差、各子系统相对独立的问题, 课题组针对目前航天器静力试验数据采集的特点, 自主设计研发了一种基于以太网的数据采集系统, 本文主要论述了该系统的设计思想与关键技术的实现。

1 系统设计

本系统采用C/S架构 (如图1所示) , 以现有高速以太网为基础连接数据采集服务器与各个分系统设备, 采用以TCP/IP协议为基础的自定义通讯协议传输数据与命令, 各个分系统设备 (测量设备) 负责完成自己的专有功能。

系统的硬件部分包括高速以太网、路由集线器、数据采集服务器及各分系统设备硬件 (测量设备) 。软件部分包括服务器端用户界面, 分析计算模块, 服务器与设备的通讯接口程序, 通VB讯协议, 其中服务器C端++用户界面采[4]用VB语言编写, 通讯接口程序采用C++语言编写[4]。

2 系统性能

课题组自主设计研发的基于以太网的数据采集系统具有网络并行化、数据传输高速化、试验自动化等特点。此外, 通过制订标准的通讯协议和各种分系统设备互联, 系统具有很强的兼容性和扩展性。

参考文献

[1]岑贤道, 安常青.网络管理协议及应用开发[M].北京:清华大学出版社, 1998, 7.

[2]谢希仁.计算机网络[M].大连:大连理工大学出版社, 2000, 1.

[3]W Richard Stevens.TCP/IP Illustrated volume II[M], 1999.

[4]Fred Barwell著.VB.NET高级编程[M].张加荣, 译.北京:清华大学出版社, 2002, 9.

以太网数据采集 篇2

CAN(ControllerAreaNetwork——控制器局域网)是一种由带CAN控制器组成高性能串行数据局域通信网络,是国际上应用最广泛的现场总线之一,它最早由德国Bosch公司推出,用于汽车内部测量与执行部件之间的数据通信。其总线规范已被ISO估计标准组织制定为国际标准。由于其具有多主机、传输距离远(最远为10km)、传输速度快(最快为1Mbps)、抗干扰能力强等诸多优点,所以被认为是最有发展前途的现场总线之一。

CAN协议是建立在国际标准组织的开放系统互连模型基础上的。1991年9月,PhilipsSemiconductors制定并发布的CAN技术规范Version2.0为现行最高版本。其中规定了两种模式:标准模式和扩展模式。本文主要对标准模式进行介绍。

TCP/IP(TransmissionControlProtocol/InternetProtocol——传输控制协议/网络协议)是一个工业标准的协议集,包括IP、TCP、UDP等子协议,保证数据在网络上的正确传输。TCP/IP协议是现代因特网的基础。

TCP/IP协议为四层模型:应用层、传输层、网络层和数据链路层。每层都有不同的功能,而且层和层之间在逻辑上是相互独立的。每层都对应一些子协议,如图1所示。本文用到的协议包括ARP、IP和TCP等。

2、应用背景

CAN总线在很多行业被广泛应用。由其组成的局域网可以将很多底层测控设备连接起来,最远距离可达10km(在不接中继器的条件下)。相对其它现场总线,该距离已经是很远了。但随着以太网的发展,人们希望对底层设备也能进行真正意义上的远程控制。工控机加接口卡已经被用来实现这一目的,但价格和接口卡带来的瓶颈等问题也随之暴露出来。本文是以单片机、CAN器件和网络芯片为核心的模块来完成该功能进行叙述的。这种方案降低了成本,避免了瓶颈。

3、硬件部分

硬件的实现方案有多种,可以采用集成TCP/IP协议的单片机外加CAN收发器和控制器;也可采用集成CAN控制器的单片机外加CAN收发器和网络芯片。本文的实例采用不带任何集成的单片机PhilipsP89C668,外加CAN控制器SJA1000、CAN收发器TJA1050以及网络芯片RTL8019AS,组成一个转换模块,功能模块如图2所示。

P89C668:微控制器,主要的控制部分,实现对网络芯片以及CAN器件的控制,并进行两者之间的协议转换。

SJA1000:CAN控制器,两种工作模式(BasicCAN和PeliCAN)。BasicCAN仅支持标准模式,PeliCAN支持CAN2.0B的标准模式和扩展模式(本文仅介绍BasicCAN模式)。支持错误分析功能,对CAN收发器进行控制,为微控制器提供了控制CAN总线的简单接口。

TJA1050:CAN收发器,微控制器对CAN控制器进行相应配置后,收发器自动过完成相应的CAN总线动作。

RTL8019:网络芯片,提供给微控制器控制以太网的简单接口,使微控制器只需要对其进行相应读写即可完成对以太网的操作。

实验中另外用到一个CAN模块作为一个CAN节点,和转换模块一起组成一个简单的CAN网。

4、软件部分

CAN编程

BasicCAN模式中的CAN编程相对简单,只需要对SJA1000相应的寄存器进行读写操作即可。在该模式下,报文识别码为11位,在经过验收滤波器的筛选后,符合条件的报文才能被接收,并存入SJA1000接收缓冲区。识别码值越小,优先级越高,

如果总线上出现报文冲突,优先级高的报文选占据总线。CAN节点间每次最多传送的数据为10个字节。发送缓冲区寄存器的描述如表1所列,它与接收缓冲区寄存器结构大体相同,只是地址不同。

表1 发送缓冲区寄存器

本实验中用到P89C668的外部中断1。该中断由SJA1000引发,设置为当SJA1000收到来自另一节点的数据时,向P89C668发出中断信号。在中断处理程序中,P89C668读取并保存SJA1000中断寄存器的值,作为在相应程序中进行处理的依据。

TCP/IP协议

由于TCP/IP协议很复杂,涉及的内容很多。下面仅就几点作简要介绍。

(1)封装和分层的概念

发送数据时要对数据进行逐层封装,既加上相应的首部,作为所经过每层的标识。具体原理如图3所示。接收到的数据是按一定结构封装好的,我们要根据前面的首部信息,判断数据应交付给下面哪一层,并将相应首部信息去除,这样依次向下传,到最后可以得到所传送的真正数据。具体原理如图4所示。

(2)以太网驱动程序

以太网驱动程序是提供链路层物理接口与网络层交互的软件接口。网络层数据必须先交付给以太网驱动程序,由它将网络层数据打包交付给物理接口,完成数据发送。反之,以太网驱动程序在接收到数据时,要按照应用层可以接收的形式进行处理并交付给网络层。

(3)ARP协议

即地址解析协议,提供逻辑地址到物理地址的动态映射。发送站必须知道接收站的物理地址才能对数据进行封装,才能在以太网中进行传输,因此只知道接收站的逻辑地址是不够的,必须事先通过ARP协议得到接收站的物理地址。

(4)IP协议

即网络协议,提供一种不可靠的、无连接的服务,完成的功能有将运输层待发送数据封装成IP数据报,调用以太网驱动程序发送数据,从数据链路层接收数据,以及数据校验等。

(5)TCP协议

即传输控制协议,是一种面向连接的、可靠的运输协议。UDP协议实现相同功能,但它只把数据报分组从一台主机发送到另一台主机,不保证可靠性。本文主要使用TCP协议进行数据交换,而没有采用UDP协议。实验中用到P89C668的定时器0中断,10ms中断一次,主要为了进行ARP老化处理,设置TCP超时标志。

CAN与以太网的数据交换

数据交换原理简单说就是对从以太网中收到的数据进行分层。如果是TCP数据报,取出真正的数据,并将其存入一个开辟的数据区,对数据进行相应分析后,按照BasicCAN模式进行发送。反过来,将接收到的CAN数据存入另一数据区,除去地址和个数信息,将其余数据按照TCP/IP协议进行封装发送。具体流程图如图5所示。

由CAN接收引起外部中断后,保存SJA1000中断寄存器和状态寄存器的值,在CAN处理子程序中根据其值进行处理。当上到来自另一节点的数据,则将该数据存入相应缓冲区,并置位一标志位,在主程序中的TCP超时处理子程序中判断该标志位,如果为高则将该缓冲区中的数据拷贝到以太网发送缓部眍中,并将数据封装发送。当P89C668接收到来自以太网的TCP数据报,同样将一标志位置1,在CAN处理子程序(见图6)中,根据该标志位判断是否有数据要发送给另一节点。

在具体调试时,使一个CAN节点每隔一段时间向转换模块发送一些数据。该节点接收后,通过以太网转发给上位机,上位机通过超级终端显示接收的数据。同样,可以通过超级终端发送一些键入的数据,经过转换模块传给另一个CAN节点,从而改变它的一些内部数据。

5、小结

以太网数据采集 篇3

关键词:以太网技术,数据采集技术,3G通信,智能报警系统

数据通信是通信技术和计算机技术相结合而产生的一种通信方式, 其通过传输信道将数据终端与计算机联结起来, 而使不同地点的数据终端实现软、硬件和信息资源的共享。以太网方案进行3G现场数据采集具有高速、高抗扰度、传输距离较长、无须编写设备驱动程序等优点。利用这些以太网方案对实时通信报警信息进行处理, 并在此基础上再进行知识推理, 形成智能报警分析处理系统, 具有重要的现实意义

1 以太网技术在3G通信中的应用

1.1 以太网技术

以太网 (Ethernet) 指的是由Xerox公司创建并由Xerox, Intel和DEC公司联合开发的基带局域网规范, 是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD (载波监听多路访问及冲突检测技术) 技术, 并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802·3系列标准相类似。在3G环境下, 以太网扩展了IEEE 802.3协议和MAC规范使其支持10Gb/s的传输速率。除此之外, 通过WAN界面子层 (WIS:WAN interface sublayer) , 10Gb位以太网也能被调整为较低的传输速率, 如9.584640 Gb/s (OC-192) , 这就允许10Gb位以太网设备与同步光纤网络 (SONET) STS-192c传输格式相兼容。

1.2 以太网技术在3G通信中的应用

对于3G通信这样一个典型的大系统, 随着各类无线与计算机监控设备、地理信息系统和管理信息系统的日益发展, 3G通信数据库中的数据呈爆炸性增长。数据采集在3G通信中的主要应用有3G通信故障分析、3G通信负荷预测、3G通信稳定分析, 决策支持系统、通信设备, 通信企业的客户管理与营销决策等。

2 3G通信的数据采集策略

众所周知, 3G通信具有高维性、离散数据和连续数据混合、数据的时间特性和统计特性、存在不确定性如噪声、缺损数据等问题, 因此必须对这些数据进行一系列的处理, 建立良好的数据环境如数据仓库等, 为数据采集奠定坚实的基础。数据采集必须采用一套即时、灵活和高效的采集策略。

2.1 数据前期处理

工作的主要内容有:熟悉应用领域、背景知识;确定与采集相关的数据模式;数据清理和预处理, 包括剔除无效数据和冗余数据, 异常数据挑选;统一表达范式和数据格式化等。

2.2 数据中期处理

数据中期处理主要是对数据进行衍生处理。例如, 对3G通信中大量的时间序列数据, 为了研究不同数据之间的关系, 经常通过差分法揭示数据的变化趋势。这种新差分的数据就是一类典型的衍生数据。常用的衍生数据包括数据差分、数据定性描述、模糊化等等, 采用的技术主要有概念树、数据立方等。

2.3 数据后期处理

数据后期处理主要任务是评价、解释和测试新生成的数据模式, 同时, 从数据采集的结果调整系统的数据采集策略。

3 基于数据采集技术的3G通信智能报警系统的设计

本文所设计的基于数据采集技术的3G通信智能报警系统的包括3G数据库平台建设, 报警信息噪声处理, 报警信息推理分析和分析结果显示等。

3.1 3G数据库平台建设

数据库平台是整个系统的基础, 由于通信智能调度系统既要处理大流量的数据, 同时其数据又有很严格的时效性要求, 所以采用了快速高效的实时数据库作为一级存储, 我们采用大型商用数据库Oracle作为二级存储。

3.2 报警信息噪声处理

该部分是对实时采集上的信息进行过滤处理, 滤除由遥信误动产生的噪声信息。通过数据采集的分类方法, 采用了基于决策树的算法构建了一个针对3G通信报警信息辨识的分类器, 经过对历史事项表中的历史数据的采集分析, 提炼出决策规则对实时数据进行处理, 以去除噪声信息, 得到一个较纯净的报警信息分析的数据源。

3.3 报警信息推理分析

对进行过噪声处理后的报警信息, 分类后经相应的推理规则匹配分析, 判断是否发布该报警信息或该组报警信息。该部分的知识库由产生式规则及组成, 推理方法采用精确推理与不精确推理相结合的推理方法, 同时在进行综合推理的过程中还有一个循环检测机制, 从库中删除已超过生命周期的报警信息。这一部分是整个智能报警系统的核心部分, 如图1所示。

3.4 分析结果的显示

本系统通过人机交互界面, 把推理结果用文字等形式提交给调度员, 使报警信息能尽快得到有效处理。同时, 该智能报警系统也可协助决策支持系统的指挥系统, 以其推理分析的结果作为启动决策支持系统的条件, 提高决策支持系统的智能性。

随着我国3G通信向着规模化、现代化发展, 3G通信规模不断扩大。本系统能够及时处理3G通信通信数据中的报警信息, 使得3G能够得到进一布发展。

参考文献

[1]吕西臣, 孙俊杰, 等.基于嵌入式技术的新型高速多通道数据采集系统的研制[J].现代制造技术与装备, 2006 (5) :15-18.

[2]代勇, 李昌禧.基于嵌入式以太网接口的数据采集处理系统[J].微机发展, 2005, 15 (5) :125-127.

[3]盖国强.循序渐进Oracle数据库管理、优化与备份恢复[J].人民邮电出版社, 2007 (9) :54-56.

[4]萨师煊, 王珊.数据库系统概论[M].3版.北京:高等教育出版社, 200O:53.

以太网数据采集 篇4

关键词:TCP/IP协议,DSP,网卡,LABVIEW

1 引言

在一些专用控制及数据采集处理的小型系统中,为了节约系统的成本及简化设计一般不使用工业数据采集卡,而直接采用微控制器或数字信号处理器结合嵌入式操作系统来完成数据采集,通过网络接口与计算机进行数据通讯,从而达到高速的数据通迅处理。在因特网上TCP/IP协议保证了数据的准确传输,在嵌入式系统中如何应用TCP/IP协议进行数据传输是非常关键的问题,本文设计的系统采用简化的TCP/IP协议成功地实现了DSP与网络互连,既提高了数据传输的速度,又保证了数据传输的正确性,同时也扩展了数据传输的有效距离。

2 TCP/IP协议简介

TCP/IP协议是一套把因特网上的各种系统互连起来的协议组,保证因特网上数据的准确快速传输。参考开放系统互连(OSI)模型,TCP/IP通常采用一种简化的四层模型,分别为:应用层、传输层、网络层、链路层[1]。

(1)应用层

网络应用层要有一个定义清晰的会话过程,如通常所说的http、ftp、telnet等。在本系统中,DSP系统传递来自Ethernet和数据终端的数据,应用层只对大的数据报作打包处理。

(2)传输层

传输层让网络程序通过明确定义的通道及某些特性获取数据,如定义网络连接的端口号等,实现该层协议的传输控制协议(TCP)和用户数据报协议(UDP)。在本系统中使用(UDP)数据报协议。

(3)网络层

网络层让信息可以发送到相邻的TCP/IP网络上的任一主机上,IP协议就是该层中传送数据的机制。同时为建立网络间的互连,应提供(ARP)地址解析协议,实现从IP地址到数据链路物理地址的映像。

(4)链路层

由控制同一物理网络上的不同机器间数据传送的底层协议组成,实现这一层协议的协议并不属于TCP/IP协议组。在本系统中这部分功能由DSP控制网卡芯片RTL8019AS实现[2]。

3 DSP与网络接口的硬件设计

在本系统的硬件设计中,采用了T I公司的TMS320LF2407作为主控制器[2],和其下外围设备进行数据通信,进行数据采集处理。网络接口控制芯片用REALTEK R公司的RTL8019AS。兼容Ethernet和IEEE802.3协议;10M收发的传输速度。为了简化DSP网络接口的软、硬件设计,选用跳线接口模式。用TMS320LF2407的地址总线和数据总线对RTL8019AS的寄存器进行初始化配置,这样既省去了93C46,又避免了跳线器更改资源配置的麻烦。使用24L256,将IP地址、网卡MAC地址和其他参数保存在里面。RTL8019AS的总线接口是与ISA总线兼容的,虽然不能与TMS320LF2407的外部总线直接接口,但是只要进行一些简单的逻辑变换就可以了。另外,TMS320LF2407的总线电平是3.3 V的,RTL8019AS的接口电路是5V的,二者接口时要使用三态电平转换器74LS245。系统的硬件接口电路图如图1所示。

4 工作原理

RTL8019AS工作流程非常简单,驱动程序将要发送的数据包按指定格式写入芯片并启动发送命令,8019会自动把数据包转换成物理帧格式在物理信道上传输。反之,8019收到物理信号后将其还原成数据,按指定格式存放在芯片RAM中以便主机程序取用。简言之就是8019完成数据包和电信号之间的相互转换:数据包<===>电信号。以太网协议由芯片硬件自动完成,对程序员透明。驱动程序有3种功能:芯片初始化、收包、发包。而TCP/IP协议栈的嵌入,有很多已经写好的程序,把它移植过来就可以了。由于DSP存储空间有限,利用TCP/IP协议中的(UDP)用户数据报协议(IP)网络报文协议(ARP)地址解析协议及简单的应用层协议,并不需要把所有以太网协议都加入进来,只要加入需要的几部分就可以了。以必免存储空间浪费。

可以用查询方式或中断方式对RTL8019AS进行操作。RTL8019AS复位初始化后,应对RTL8019AS中的部分寄存器进一步初始化,然后才能发送数据或接收数据。RTL8019AS内置16KSARAM可作为接收缓冲区和发送缓冲区。16位的RAM的地址的高8位又叫页码,缓冲区分为48页,页范围为0x40~0x80每页256个字节。由PSTART和PSTOP寄存器来设定接收缓冲器的页范围,一般设置0x40~0x4c为接收缓冲区,0x4d~0x7f为发送缓冲区。

(1)数据包发送

先将待发送的数据包按以太网协议指定格式存入RTL8019AS芯片RAM,给出发送缓冲区首地址和数据包长度,启动发送命令即可实现RTL8019AS发送功能。RTL8019AS会自动按以太网协议完成发送并将结果写入状态寄存器。

(2)数据包接收

DSP可以用查询方式或中断方式对RTL8019AS接收到的数据包进行处理,接收缓冲区构成一个循环FIFO队列,PSTART、PSTOP两个寄存器限定了循环队列的开始和结束页,CURR为写入指针,受芯片控制,当接收到数据时,CURR自动加一。BNRY为读出指针,由DSP程序控制。根据CURR==BNRY+1?可以判断是否收到新的数据包,新收到的数据包按图2格式存于以CURR指出的地址为首址的RAM中。当CURR==BNRY时芯片停止接收数据包。

在查询方式下,通过CURR和BNRY两个寄存器的值来判断是否收到一帧数据。在实际应用中,一般数据接收都采用中断方式。本系统中采用中断方式。

5 基于LABVIEW上位机的数据处理程序

LABVIEW主要用于仪器控制、数据采集、数据分析等领域。LabVIEW是一种基于图形编程语言的开发环境,利用LabVIEW内部集成的TCP/IP协议模块,可以快速的编写出采集网卡数据的软件,然后可以对这些数据进行各种操作[4]。

在程序框图中,首先打开TCP连接,然后进行接收扫描和发送扫描,如果有数据放入待发送区,按下enter键后,进行发送数据,并把数据写入发送的数据缓冲区。同进如果有扫描到有要接收,进行数据接收,并把数据放入接收数据缓冲区,这样,就可以对下位机系统进行控制,并对下位机发来的数据存入接收区,进行数据处理,图3为采集网络接口的面板设计图。

6 测试结果

应用DSP的SCI与外设进行数据通信,并通过网络接口与计算机通信,设置波特率为115200,串口接收数据,并通过网络接口发送,串口数据发送无需延时,从网络接口接收数据,通过串口发送,连续发送512个字节需要延时约为50ms,因为无论如何网络的传输速度都比COM口快。选用同轴电缆作为传输媒介,可以达到3.10M速度,粗缆传输距离可达1000m,经测试,误码率小于1%。如果采用光缆,可达到更高的速度和传输距离。

7 结束语

RTL8019AS性价比高,与DSP连接方便,带有以太网接口的DSP应用系统可以通过双绞线或同轴电缆与PC机构成一个高速局域网,快速的进行数据传输,LABVIEW具有方便稳定的网络接口模块,本系统主要利用LABVIEWB编写的上位机软件通过网络接口接受数据并进行数据处理,存储,然后再把数据送给DSP进行控制,在实际应用中具有很高的应用价值。

参考文献

[1]JAMES F.KUROSE,KEITH W.ROSS.computer networking.Higher Education Press[M].2001.

[2]DOUGLAS E.COMER,DAVID L.STEVENS著.张娟,王海译.用TCP/IP进行网际互连[M].北京:电子工业出版社.1998.

[3]刘和平,王维俊,江渝,邓力.TMS320LF240xDSP C语言开发应用[M]北京:北京航空航天大学出版社.2002.

以太网数据采集 篇5

针对数据通信的分散独立性,本文所采用的传输网络是基于以太网技术。鉴于以太网的诸多优点,我们的系统具有可靠性高、成本低、结构简单、兼容性好等优点。

针对传统系统中的复杂电源系统,本文采用IEEE 802.3af标准提出的POE供电方案,在传输数据的信号线上,同时提供各个节点所需要的电源,同时还简化了对于供电系统的管理。

1 架构研究

1.1 背景和需求

在一个复杂的环境中,存在各种不同的传感器,每两个传感器有几米到十几米的间距,这些传感器实时测量各种不同的参数,比如压力,温度等,然后将测量的结果传输到远在几百米之外终端处理机上。每个传感器的有着严格的时间同步性要求,也即是说,所有传感器上的A/D转换器上的时钟必须同步。每个传感器根据同步时钟频率的不同,典型的数据量大约为3Mbits/s到30Mbits/s。

1.2 系统组成

系统主要有下面6种主要部分

(1)数据采集:每个数据采集节点可以接不同的A/D转换器,将各种不同的模拟信号转换为数字信号,然后封装为百兆以太网信号,和交换机相连。

(2)时钟发布:时钟发布节点为所有的数据采集节点提供精确同步时钟,而且可以接收到PC机的指令,改变数据采样频率。

(3)交换机:将数据采集节点和时钟发布节点通过千兆以太网信号传输到PC机,并且作为PSE网络供电端为它们供电。

(4)光电转换:将铜介质的千兆以太网信号转换为光纤介质的以太网信号,实现远距离的传输。

(5)PC机:运行显控软件,是人机交互的终端。

(6)电源:提供稳定的直流48V和3.3V,为PSE网络端供电提供所需要的输入,也为交换机正常工作提供电流。

总体的结构如图1所示

1.3 工作过程

首先系统打开电源后,交换机正常工作。交换机作为PSE网络供电端,发现数据采集,时钟发布等合法的PD网络受电端后,为其提供48V的直流电压,完成系统其他部分的上电,到这个时候,PC机可以访问到每一个数据采集和时钟发布端点。紧接着,PC机会根据MAC地址,检测每个端点的工作状态。当确定每个端点正常工作后,系统向时钟发布节点发送开始输出时钟的命令。数据采集节点以接收到的时钟为节拍来采集数据,然后封装为一个以太网帧,发往PC机。可以看出,系统有两条主线,一条是电源通路,负责系统所有的部分电源供给;一条是以太网络,负责系统中数据传输。

2 整体结构设计

2.1 电源系统

2.1.1 POE技术简介

POE(PowerOverEthernet)指的是在现有的以太网Cat 5布线基础架构不作任何改动的情况下,在为一些基于IP的终端(如IP电话机、无线局域网接入点AP、网络摄像机)传输数据信号的同时,还能为此设备提供直流电的技术。

一个完整的POE系统包括供电端设备(PSE,PowerSourcingEquipment)和受电端设备(PD,PowerDevice)两部分。PSE设备是为以太网客户端设备供电的设备,同时是整个POE以太网供电过程的管理者。而PD设备是接受供电的PSE负载,即POE系统客户端设备。两者基于IEEE 802.3af标准建立有关受电端设备PD的连接情况,设备类型,功耗级别等方面的信息联系,并以此为根据PSE通过以太网向PD供电。

IEEE 802.3af标准供电系统的主要供电特性参数为:

(1)电压在44~57V之间,典型值为48V。

(2)允许最大电流为550mA,最大启动电流为500mA。

(3)典型工作电流为10~350mA,超载检测电流为350~500mA。

(4)在空载条件下,最大需要电流为5mA。

(5)为PD设备提供3.84~12.95W五个等级的电功率请求,最大不超过13W。

2.1.2 系统电源系统设计

电源系统设计整体设计如下图2所示

交换机上的PSE供电芯片选用的是Maxim公司的Max5945芯片,这是一款四路PSE电源控制器。这款芯片有两种电源输入,一种是3.3V,用于芯片数字部分正常工作;一种是48V,在芯片的控制下输出到网线上。

在PD端,首先需要有一个符合POE协议的接口芯片,为其提供检测特征信号、分级特征信号和程控浪涌电流的集成隔离开关。PSE在检测到符合POE协议标准的PD端后,为其提供48V的电流,PD端根据自己的需要转换为不同的电压。在我们的设计中,采用了欣合信(上海)贸易有限公司生产的MS-PD 0805-DC模块,它集成了POE接口芯片和DC-DC电压转换的功能,其输出直接为电路板上的芯片提供工作电压。

2.2 以太网网络

2.2.1 以太网通路

每个交换机有两个千兆以太网口和6个百兆网口。交换机的千兆以太网口相互连接,组成数据传输的主要通道。最前一个交换机的千兆口接千兆的光电转换器,将Cat 5信号转换为光纤信号进行远距离传输。

时钟发布节点和数据采集节点连接在交换机的百兆口上。时钟发布节点接收到上位机给出的信息,会相应的停止、启动时钟发布,或者动态的改变时钟频率。数据采集节点将时钟发布节点发送过来的时钟作为A/D的采样频率,并将采集的数据封装为发往上位机的以太网帧,发往交换机。

在千兆网主干道上,后一级的交换机把数据汇聚后发往前一级的交换机,从而,所有的数据都会汇集到最前一级的交换机,然后发往光电转换模块。

2.2.2 传输协议分析

为了最大限度的减小帧协议上的开销,提高带宽利用率,系统数据传输工作在以太网的链路层。按照RFC 894的协议规范,链路层帧格式采用48bits(6字节)的目的地址和源地址,接下来的2个字节定义了帧的类型,然后是46到1500字节长度可变的数据,帧最后是4个字节的CRC校验码。系统中的数据采集节点和时钟发布节点都有唯一的48bits硬件地址,即MAC通常所说的(MediaAccessControl,介质访问控制)地址。当交换机收到一个帧,这个帧的源MAC地址就会进入MAC地址查找表,即将MAC地址和交换机的端口号对应起来。然后查找这个帧的目的地址,如果在MAC地址查找表中有这个条目,那么就将这个帧转发到对应的端口上;如果没有,则将帧广播到每一个端口上。

我们在RFC 894协议中的数据段定义上位机和节点之间的通信协议。上位机发送到节点的数据段被分为两段,前一段为控制命令,后一段为控制命令所对应的参数。节点发送到上位机的数据段为对控制命令的回应。上位机的命令如表1所示

2.3 显控软件

显控软件即上位机软件,是操作人员监视和管理整个系统的工具,功能包括查看各节点状态、控制各节点工作状态、以图形和数字的方式实时显示当前各通道采集的数据等。

显控软件作为主设备,需要对各节点的任务运行进行统一的调度和分配,显控软件工作状态图如下。

4 测试结果

测试结果包括功能和性能两方面。功能性的测试为整个系统的任何一个组件是否正常工作,并完成相应的功能。性能测试为按照RFC2544/1242测试交换机和光电模块的的吞吐量、延迟、丢包和背对背四项指标。

我们采用Spirent公司的SmartBits 600B,安装了LAN 3100和LAN 3200两块板卡,使用随机配置软件SmartApplication测试。LAN 3100有8个独立的10/100兆网口,LAN 3200上有两个光电复用10/100/1000兆口。

独立的测试交换机和光电转换模块,结果显示,交换机和光电模块的吞吐量在RFC 2544/1242规定的帧长度下,均达到100%,丢包率为0%。并且延时非常小。

进行系统整体测试,将LAN 3200的一个端口设置为100兆,加上LAN 3100的8个100兆端口,共9个端口加载到系统的任意9个百兆口上。LAN 3200的另外一个端口设置为1000兆,接最前一个光电模块。然后9个百兆口产生数据向千兆口汇聚。测试表明,包的丢失率为0%,说明我们的系统完全达满足设计要求。

正常打开电源,系统各部分正常工作。PC机检测到了每一个数据采集节点和时钟节点,然后发出开始采集的指令,时钟发布节点发出时钟,然后通过软件的显示界面可以看出PC机接收到了数据采集节点的数据,并显示出来。在长达一个月的连续开机测试中,未发现系统失效。

5 结束语

本文提出采用POE和以太网技术实现分布式的数据采集系统。采用POE供电后,系统的电源部分非常简洁,而且节点部分不需要靠近电源部分,所以终端节点的分布灵活多样。通讯协议采用以太网协议,大大降低了硬软件设计的难度和复杂度,并且增强了系统的可靠性和扩展性。通过最后的测试,我们实现了最初所有的设想。

在下一步的工作中,首先是通过实际现场的应用,来完善系统的功能,增强系统的鲁棒性。并且,随着10G以太网的不断成熟,我们的系统也会采用更高速率来满足更高需求的应用。另外,新的POE标准IEEE802.3at标准预计在2009年正式发布,可以为PD端提供至少30瓦电力,这样可以设计功能更强大,种类更多的节点。

参考文献

[1]W.Richard Stevens.TCP/IP详解卷1:协议.北京:机械工业出版社,2000.

[2]李健,吴华阳,张移山,华庆祥.一个分布式数据采集系统的设计与研制.测控技术,2007,26,(8):20~22.

[3]姚远,易本顺,杨波.基于10/100M网络的嵌入式数据采集和控制系统设计.计算机应用,2004,(24):287~288

浅谈以太网的数据包捕获技术 篇6

数据包捕获技术在数据安全方面做出了很大的贡献, 而且它的优劣直接影响到捕获的准确性和整个网络监控系统的性能。本文将对这项技术进行分析。

1 网络数据包捕获原理

以太网以其高度灵活, 相对简单, 易于实现的特点, 成为当今最重要的一种局域网组网技术。在以太网上, 数据是以被称为帧的数据结构为单位进行交换的, 而帧是用被称为带冲突检测的载波侦听多路检测技术即CSMA/CD (carrier sense multiple access with collision dete ction) 的方式发送的, 而CSMA/CD是使用广播机制的, 也就是说, 发送到指定地址的帧实际上是发送到所有计算机的, 只是如果网卡检测到经过的数据不是发给自身的, 采取忽略过去而已。正是这种基于CSMA/CD的广播机制, 这就给连接在网络上的计算机捕获来自于其他主机的数据带来了可能。

在一个实际的系统中, 数据的收发是由网卡来完成的, 网卡接收到传输来的数据时, 网卡内的单片程序接收数据帧的目的MAC地址, 根据计算机上的网卡驱动程序设置的接收模式判断是否接收数据包, 认为需要接收就产生中断信号通知CPU, 认为不用接收则直接将其丢弃, 这中间的过程高层应用程序根本不知道。CPU得到中断信号后产生中断, 操作系统就调用网卡中断程序接收数据, 并把它放入信号堆栈使之为应用程序所用。

对于网卡来说一般有4种接收模式:1) 广播方式:该模式下的网卡能够接收网络中的广播信息。2) 组播方式:该模式下的网卡能够接收组播数据。3) 直接方式:该模式下只有目的网卡才能接收数据。4) 混杂模式:该模式下的网卡能够接收一切通过它的数据。所以要实现对网络的数据进行分析, 首先把网卡设置成混杂模式。

2 数据包捕获常用技术

2.1 Unix类操作系统所提供的分组捕获机制主要有以下三种

2.1.1 SVR4的数据链路提供者接口 (DLPI)

数据链路提供者接口 (DLPI, Data LinkProviderInterface) 定义了数据链路层向网络层的服务, 网络层的高层协议, 如TCP/IP协议就可以使用这个标准接口服务。

2.1.2 Linux的SOCK_PACKET类型套接口

2.1.3 伯克利数据包过滤器BPF (Be rke le yPacke t Filte r)

要捕获数据包, 必须使用数据链路访问技术, 许多源自Berkeley的实现使用BPF作为数据链路层访问手段。对于Windows系统要实现数据链路层上的数据捕获需要使用驱动程序, 网络驱动程序接口规范函数库 (NDl S函数库) 为了方便用户对网络底层的操作, 提供了许多相关函数。

2.2 基于Windows系统中, 以编程方式实现数据包捕获的方式主要有两种

2.2.1 利用原始套接字的特性实现数据包捕获

原始套接字是Windows系统中Winsock2函数库中支持的一项特性, 在使用时只用对其进行简单的设置的就可以使得网卡可以接收流经的所有数据包。

它的优点是操作系统本身支持并不需要另外添加组件, 而且简单易用, 缺点是功能比较少, 并且不支持早期的Windows操作系统, 如Window s 9x/Window s NT等。

2.2.2 第三方的数据捕获开发包

实际的应用中, Libpcap即 (the Packet Capture Library) , 即数据包捕获函数库, 是Unix/Linux平台下的网络数据包捕获函数库。它是专门的跨平台的数据捕捉函数库, 其捕获机制就是BPF。而对于Window s系统有相应的可兼容的WinPcap函数库。如图1所示。

第1个模块NPF (netgrouppacketfilter) , 是一个虚拟设备驱动程序文件, 它的功能是过滤数据包, 并把这些数据包原封不动地传给用户态模块。第2个模块Packet.dll为win32平台提供了一个公共的接口, 不同版本的Windows系统都有自己的内核模块和用户层模块。Packe t.dll用于解决这些不同, 调用Packe t.dll的程序可以运行在不同版本的Windows平台上, 而无需重新编译。第3个模块Wpcap.dll是不依赖于操作系统的, 它提供了更加高层、抽象的函数。

使用WinPcap的优点体现在以下几个方面:

1) 提供了一套标准的抓包接口, 与Libpcap兼容, 可使得原来许多Unix平台下的网络分析工具快速移植过来便于开发各种网络分析工具。2) 充分考虑了各种性能和效率的优化。3) 支持内核态的统计模式。4) 提供了发送数据包的能力。

3 结语

本文在对系统下的数据包捕获技术进行研究的基础上, 提出了几种数据包捕获技术, 分析了它们的特点。作为网络工具开发的关键技术, 网络数据包捕获技术已成为热点。

摘要:首先简要介绍了目前网络安全存在的安全隐患, 讲述了网络数据包捕获的原理, 并研究了数据包捕获在Unix和Windows环境下的常用技术, 着重讲述了套接字技术和第三方捕获开发包技术。

关键词:网络安全,数据包捕获,套接字,协议分析

参考文献

[1]庄春兴, 杨晓伟, 黄向前.网络数据包的捕获—分析与应用[J], 计算机应用与软件, 2003.

以太网数据采集 篇7

同时,由于城市轨道交通乘客服务质量要求的提高,系统之前存在的大量数据交换的需求,例如列车控制系统(ATC)需要向乘客信息系统(PIS)和机电设备监控系统(EMCS) 及时发送时刻表信息,那么,如何既保证工业控制网络与其他网络的互相独立,又能实现网络间部分特殊信息的传输交换?

安全传输系统概述

这里,我们需要一个类似于防火墙性能的连接件来过滤通信文件,这个连接件称之为安全传输系统。

假定工业控制网络有许多部件要与一个或多个公共通信网络连接,为了保护这些与安全控制相关的部件,避免非法入侵,并尽可能使通信基础清晰,因此只计划一个连接点。负责安全控制的工业网络形成“封闭式”局域网,这里称之为WAN#1。与公共网络连接的部件,由于它们自身没有防火墙,成为开放式通信网络,这里称之为WAN#2。两个WAN网络之间我们就用安全传输系统连接。

两个WAN网络之间的通信连接均受安全传输系统监控。此系统只让规定的通信文件通过,对每一个连接,规定了通信双方的参数(IP地址,使用的通信端口,通信报文头,通信报文结构)。安全传输系统的过滤功能验证所有想WAN#1传输的通信,所以影响运行控制安全的指令不会从WAN#2流入WAN#1,反方向,对离开WAN#1的通信报文,只验证通信关系。

在WAN#2上,数据源可能已被非法侵入,对这种情况,仅仅通过确认发送者的身份不能保证闭路数据的安全,辅加的过滤功能分析通信类型,只有预先规定的通信类型才能通过。传至工业控制网络的与安全相关的指令,通常被堵绝,并把被堵绝的通信记录成出错信息,以备进一步分析。

安全传输系统的连接

安全传输系统包括两个串联连接的独立设备传输单元,它们之间相互监控。两个安全传输单元独立地检查WAN#1与WAN#2之间的通信。出故障时,即一个传输单元探出其自身或另外一装置出错,则立刻关闭应用及运行系统。利用双通道性能,如果一个传输单元过滤失败,两个独立的WAN可保持分开,这样传输单元就不会传输未经过滤的文件。

安全传输系统与WAN#1、WAN#2的连接只采用TCP/IP协议。由于安全传输系统是串联连接的,二个传输单元之间内部连接会发生协议交换,即不用TCP/IP作为传输协议。因此,即使核心部分出错,也不可能在两个系统间交换报文,因为TCP/IP协议在传输单元内部连接中不起作用。

另外,向WAN#1传输的已过滤的报文在传输之间会被编码,这样接受方的传输单元利用编码就可确定该文件是否是通过WAN#2方的传输装置发送过来的(参见图1,采用了RC4作为编码程序)。

两个传输单元间的编码

关键技术研究

地址映射

安全传输系统的地址映射功能使得只有WAN#2中已授权的计算机才能进入WAN#1区域中的指定的计算机。地址是由计算机地址和端口地址构成的,端口地址表示该计算机的需要通过安全传输系统的应用程序的地址。

地址: 计算机地址+端口地址

地址映射是根据一张地址表执行的。如WAN#2需要WAN#1中某个机器的应用程序,则需要通过适当的地址映射过程(即IP转换、多以态网地址),将WAN#1中这个指定计算机的应用到映射WAN#2的安全传输系统接口上,这样,看起来它们好像在同一个网络区域。WAN#1中其他无关的计算机没有映射关系,就不能访问它们。所有计算机的应用都是通过被映射计算机地址(例如,通过IP端口)被映射的。

地址映射也把WAN#2上相应的应用程序端口上的报文送到WAN#1中的计算机地址及应用端口。

过滤

过滤程序接收报文后,为所有支持的应用程序进行内容的过滤。过滤功能只对向受保护的WAN#1网络发送的报文进行过滤,反向传输的报文(即从WAN#2到WAN#1)不过滤。

报文是由报头及报文数据组成。报头包括指定应用程序的基本身份证明以及描述报文结构的报文类型。安全传输系统不支持没有报头的通信文件,因为没有文头,就不可能进行识别及对协议的验证。

过滤是采用正/负列表来执行。正项列表包含所有的基本过程身份证明以及为过滤程序接受的报文类型,这保证了只有可以识别的报文才能通过过滤器。所以也叫“wildcards”。即:因为大部分报文仅用几个字节便可识别,而且列表也可能会出现条目太多,所以需要给出一块地方来存放所有报文的内容特征。

若用正项列表很难描述报文的类型,例如:一个应用程序包含许多允许通过过滤器的类型,只有几个类型被拒绝,就可以用负项列表来描述报文类型。在负项列表中,只过滤那些“wildcards”上有的报文或报文类型。

错误记录

安全传输系统对所有显示出错的报文在将它们记录进一个文件之前,都加一个报头。这个报头包括出错时间及错误类型。

错误记录文件最大为2M B,如果超过2MB,则系统生成一个新的记录文件。记录文件最多为100个,如果满100个,系统删除或覆盖旧的记录文件。

安全传输系统记录下列错误:

●过滤掉的报文

所有被安全传输系统的过滤器拒绝的报文,这里报头用来修改报文。例如:发送可能含有“Trojan Horse”程序代码的报文,这种类型的错误中,报头也含有发送方地址和目标地址以及需要的应用程序端口。

过滤掉的报文被删减掉后最大为1KB,并以用户可以读取的格式存储。

●建立连接及取消连接时的错误

例如:报文上的地址不能连接到。

●量控制的启动

如果从非安全的WAN#2网络向WAN#1发送过多的通信文件,也会有一条信息记录在错误记录文件中。

●过滤器功能性故障

所有与故障探测相关的错误,故障探测的功能详见下一节。

另外,也记录WAN#1和WAN#2之间连接的建立及取消。

故障探测

过滤功能是安全传输系统的关键部分。因此必须通过周期性比较过程来监控过滤器功能是否正常。错误必须在一定的故障探测时间(FDT)内查出。

这个比较过程包括下列系统元素的验证:

●所有安全传输系统过程程序代码

●启始参数

●所有过滤列表

●地址映射参数化

●系统过程列表

由于安全传输系统故障能影响比较器及过滤器,所以必须由独立于此系统的部件来评估比较值,即:使用预期理论值来验证它们。这是由独立于传输单元1的传输单元2来完成的,传输单元2执行所有过滤器的功能,证明传输单元1并验证比较值。

两个传输单元以串联连接,这样通信文件被两个过滤器一个接一个的分析。要开始验证过程,一台传输单元发送给另一单元验证指令及激活交易码(TAN),这个TAN是从RC4中由发送传输单元产生的一个随机数,RC4是在启动后通过释放键激活的。TAN只对当前验证有效,所以它是一个逻辑时间戳。

第二台传输单元确定从其自身RC4产生的TAN(也由释放键激活),并将之与收到的TAN比较,所以可以保证TAN肯定是不可预计的,只能通过两台同步计算计程序确定。如果第二台传输单元验证TAN有效,而FDT时间还未结束,系统执行分析。产生一4字节的CRC值作为分析结果:

●所有程序项值

●所有列表项值

●过程列表值

●地址映射参数化值

这些值以及其当前的验证指令TAN值一起录入验证结果通信文件中,验证结果返回验证发令者。

同时,验证发令者执行其自身值的验证,并计算出相应的检查总数,检查总数及另一传输单元的验证结果与以前储存的参考值比较。因为两个传输单元与不同的通信系统连接,有不同的参数值及启始列表项,所以必须与参考值进行比较,同时也验证了返回的TAN值。

要复位自身的FDT定时器,下列条件必须满足:

●程序码验证结果必须为正

●启动列表验证结果必须为正;

●过程列表验证结果必须为正;

●地址映射参数化验证结果为正;

●在上一验证周期时,至少从另一个传输单元收到一个验证信号

如果有一个条件不满足,相应计算机中的FDT定时器便不会复位。为了能重复验证,在FDT时间结束前一段时间便启动复位程序。在FDT时间里,如果不能取得正确的结果,那么就说明传输单元本身出错或另一个传输单元出错。定时器时间到后,不能释放,系统(应用及运行系统)就关闭,因此,另一传输单元也不能在当前执行的验证过程中得到正值,也不能释放,同样系统也关闭。

由于传输单元之间是串联连接的,因此其它报文不能进入受保护区域WAN#1。在关闭系统之前,探出故障的传输单元在它所在区域(WAN#1或WAN#2)产生一个故障信息。维修人员可根据这个故障信息进行维修工作。

报文量的控制

可以想象,大量的报文从WAN#2发送至WAN#1,这样WAN#1中的应用程序便“人满为患”了,它的功能就受到限制。这些报文可能是由WAN#2中带病毒的程序或计算机生成的,也可能入侵者为了阻碍运行或准备进一步入侵做的破坏。

因此,安全传输系统让每个传输单元都具有量控制的功能,在一定时间内,只让有限的报文通过,如果超出允许数,系统就会丢弃超过的报文,并把相应的信息存入错误记录文件中。

通过上面的这些功能措施,基本就能实现WAN#1(工业以太网)和WAN#2(公共网络)两个网络间指定计算机间的数据安全交换,这个实现数据交换的方法也可以在其它“独立“网络需要传输一定的数据时使用。

应用实例

在上海磁浮示范运营线中,有一个用于运行控制的工业网络,还有用于办公、楼宇控制系统、消防系统、维护管理系统等公共通信的网络。由于实际情况的需要,譬如维护管理系统要从运行控制网络中获得诊断信息,乘客信息系统要从运行控制网络中获得运行班次信息等,因此这两个网络要进行信息的传输。

在这里,把工业控制网络看作WAN#1,其他用于公共通信的网络及办公网络看作WAN#2,从工业控制网络的角度来讲,这些公共通信系统都属于外部系统,可能受未经授权人员的侵扰。为了保护WAN#1网络的安全,避免非法侵入,并尽可能使WAN#1内的控制信息的通信清晰,因此就使用上文介绍的安全传输系统,用来连接WAN#1和WAN#2网络(见图2)。

应用安全传输系统后,外部公共通信网络即使存在不安全因素,也不能影响控制运行的工业控制网络,从而保证了磁浮运行的安全性。

随着计算机网络的发展,其开放性、共享性、互连程度扩大,网络的安全性和对社会的影响也越来越大。尤其是工业以太网,由于其应用对象比较特殊,比传统的商业以太网有更高的确定性、实时性、安全性等要求。两种网络如何同步发展,实现信息的安全无缝的交换,必将是提高企业的整体技术水平的关键。

以太网数据采集 篇8

千兆以太网兼容目前所有以太网,遵循以太网原有的标准和规则,其中包括CSMA/CD协议、以太网帧、全双工、流量控制以及IEEE802. 3 标准中所定义的管理对象。

TCP / IP协议是一种网络通信协议,其规范了网络上的所有通信设备,尤其是两台主机之间的数据传输格式及方式。

在电子设备网络化的各类实现方案中,共同之处在于如何通过网络技术将设备接入到网络中从而实现远程控制与管理。FPGA作为专用集成电路( ASIC) 领域中一种半定制电路的出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,在嵌入式系统开发中得到越来越多的应用。因此,如何在FPGA中实现TCP/IP协议与千兆以太网的高速接入具有较大的现实意义。

1 OSI参考模型

开放式系统互联( Open System Interconnection,OSI) 是国际标准化组织( ISO) 制定的网络通信7 层参考模型。这些层本质上是相互独立的。上面3 层与应用相关,而下面4 层则与网络层通过物理媒质进行数据通信。数据链路层控制物理媒质的接入,而物理层建立链路所需的机械、电气、功能和规模特性。千兆以太网接口则在这两层中实现。

并不是所有网络配置均具有OSI 7 层模型,这是因为众多网络不提供为其上层所定义的服务。例如,单独的以太网仅实现最低的数据链路层和物理层。从一个以太网LAN访问因特网需要增加网络层和传输层,以实现因特网协议集的TCP/IP协议。

2 数据传输方案

2. 1 硬件设计

千兆以太网传输电路中最关键的是数据链路层( MAC) 和物理层( PHY) 芯片以及这两者的连接接口。本文使用Altera公司提供的三速以太网IP核作为MAC层控制器,从而减少系统成本和芯片的数量,而PHY芯片使用88E1111 以太网芯片。图2 给出了千兆以太网的基本设计框图。

本文将三速以太网接口配置成1 000 Mbit·s- 1模式,通过GMII或RGMII接口与PHY芯片88E1111 连接,使用MDIO/MDC配置接口对88E1111 进行配置。三速以太网IP核内有32 个寄存器,而PHY芯片内部同样拥有32 个寄存器,两者相互匹配,只需通过配置IP核内部的寄存器便可完成对PHY的配置工作,减少了工作流程,简化了工作方式。PHY芯片连接以太网接头RJ45,完成了底层硬件环境的搭建。

如图2 所示,三速以太网IP核通过Avalon总线与Nios II软核处理器相连接,实现了对传输数据的收发控制。本文使用SOPC Builder构建一个基于Nios II的可编程片上系统,具有灵活的设计方式,可裁剪、扩充、升级。Nios软核处理器主要工作分为3 个部分: 应用程序、TCP/IP协议和驱动程序。应用程序由用户调用协议栈接口程序来实现以太网数据传输,而以太网驱动程序为上层协议与三速以太网IP核架起了桥梁。

2. 2 软件设计

千兆以太网传输系统的软件部分由C /C ++ 语言编程实现。在Nios II软件开发环境下,实现Nios II软核处理器的相关操作。

2. 2. 1 软件设计流程

如图3 所示具体工作如下: ( 1) 启动Nios II软核处理器; ( 2) 服务器建立等待连接; ( 3) 若连接失败继续等待; 若成功连接,则发送指令; ( 4) 若未接收到发送指令,则继续等待; 若接收到发送指令,则开始发送数据; ( 5) 在发送数据过程中,若未收到停止发送指令,继续发送数据; 若收到停止发送指令,则暂停发送数据; ( 6) 暂停后,若收到断开连接指令,则Nios II停止工作,网络断开; 若未收到断开指令,则返回步骤( 4) 。

2. 2. 2 UDP协议

UDP协议数据报的封装在运输层进行,打包好的UDP数据将送往网络层进行IP协议的打包。UDP要完成进程到进程的通信,将报文交付给正确的进程。当进程有报文要通过UDP发送时,其就将这一报文连同一对套接字地址以及数据的长度传递给UDP。UDP收到数据后加上UDP首部,然后UDP就将这用户数据报传递给IP。图4 给出了UDP封装格式[2]。

本文主要使用UDP通信,实现ARP协议和IP协议。UDP与TCP一样均属于传输层协议,位于应用层与网络层之间。UDP相对于TCP来说较为简单,编写代码量较少,正因如此其所占程序和内存空间更少,运行速度更快。ARP为IP地址与对应的硬件地址之间提供动态映射,发送以太网数据到主机上时,根据48 bit以太网硬件地址来确定目的接口。 IP协议是TCP / IP协议族中最为核心的协议,所有TCP、UDP、ICMP及IGMP数据均以IP数据报格式传输。

3 千兆以太网传输测试

测试所需的实验条件和开发工具: 高性能PC机一台,Quartus软件开发环境,Cyclone IV FPGA系列开发套件和cat - 5 网线一根。

FPGA与PC进行以太网数据传输,采用UDP协议,用cat - 5 网线将开发版与PC相连接。FPGA内部产生递增数据,足够一个数据包后,通过网络将数据传输到PC,PC也可通过网络给FPGA发送数据,而FPGA则通过中断接收数据在Nios II IDE中显示。

3. 1 发送数据检测

使用Wireshark抓包工具采集包内数据进行分析。如图5 所示,该以太网帧结构中物理目的地址为( 00: 0f: ea: fd: 9f: 96) ,物理源地址为( 01: 60: 6e: 11:02: 0f) ,类型( 0x0080) 为IP。

如图6 所示,该以太网帧结构中总长度为1 480 Byte( 图中05c8) ,生存时间( 128) 即0x80,协议类型UDP( 17)即0x11。

如图7 所示,有效载荷长度为1 438 Byte,从0x00开始递增,达到一个数据包长度后发出。

3. 2 接收数据检测

一次完整的网络连接和断开,可从Nios II IDE窗口中得到接收信息,如图8 所示。

接收包的长度为1 480 Byte,由目的地址、源地址、数据类型和有效载荷等组成。

将Nios II IDE窗口接收到的数据与抓包采集的数据进行对比发现,收发数据一致,实现了千兆以太网数据的正确传输。

4 结束语

使用FPGA开发平台实现千兆以太网数据传输设计,满足了系统间的数据高速传输,提高系统集成度和网络处理能力,有效减少成本投入。对所设计千兆以太网传输方案进行测试,结果表明所传输数据能正确收发,但由于采用了Nios II软核处理器实现TCP/IP协议,其传输速度相对于硬件较慢,因此如何使用硬件实现TCP/IP协议来提高传输速率需要进一步研究。

摘要:为解决现代化设备如何使用千兆以太网高速接入的问题,使用Altera公司cyclone Ⅳ系列FPGA作为嵌入式开发平台,采用Nios Ⅱ软核处理器实现TCP/IP协议。对所设计传输方案进行测试,结果表明所传输数据能正确收发,并具有较高的传输效率。

关键词:千兆以太网,现场可编程门阵列,传输控制协议/网际协议,嵌入式开发

参考文献

[1]李航.基于FPGA和千兆以太网(Gig E)的图像处理系统设计[D].南京:南京理工大学,2014.

[2]郭晓宇.基于IEEE802.3标准的以太网数据帧格式的封装实现[D].北京:北京交通大学,2008.

[3]韦宏,付友涛,孔凡鹏,等.基于FPGA的千兆以太网设计[J].现代电子技术,2012,35(18):56-59.

[4]杨威.基于FPGA的以太网和串口数据传输系统设计与实现[D].哈尔滨:哈尔滨工程大学,2013.

[5]詹俊鹏,李鹏.基于Altera FPGA的千兆以太网实现方案[J].电子设计工程,2009,17(2):50-52.

[6]李文芝,刘天华.基于FPGA的10/100/1 000 Mbit·s-1三态以太网卡设计[J].沈阳师范大学学报:自然科学版,2010,28(1):52-55.

[7]赵国峰,邱作雨,张毅.基于单片机的嵌入式TCP/IP协议栈的设计与实现[J].计算机技术与发展,2009,19(3):137-140.

[8]马俊,尉广军.基于SOPC的以太网远程数据采集系统设计[J].电子设计工程,2012,20(4):69-72.

[9]张博,张棍基于FPGA的以太网MAC控制器的设计[J].科技情报开发与经济,2009,19(27):97-99.

上一篇:大屏幕设计下一篇:中国农村金融问题

本站热搜