CN104601599A - 一种基于tcp/ip的嵌入式高速实时数据并发*** - Google Patents

一种基于tcp/ip的嵌入式高速实时数据并发*** Download PDF

Info

Publication number
CN104601599A
CN104601599A CN201510072383.8A CN201510072383A CN104601599A CN 104601599 A CN104601599 A CN 104601599A CN 201510072383 A CN201510072383 A CN 201510072383A CN 104601599 A CN104601599 A CN 104601599A
Authority
CN
China
Prior art keywords
data
client
tcp
module
order
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510072383.8A
Other languages
English (en)
Other versions
CN104601599B (zh
Inventor
毛耀
邓超
刘琼
甘勋
李志俊
谭毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Optics and Electronics of CAS
Original Assignee
Institute of Optics and Electronics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Optics and Electronics of CAS filed Critical Institute of Optics and Electronics of CAS
Priority to CN201510072383.8A priority Critical patent/CN104601599B/zh
Publication of CN104601599A publication Critical patent/CN104601599A/zh
Application granted granted Critical
Publication of CN104601599B publication Critical patent/CN104601599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于TCP/IP的嵌入式高速实时数据并发***,针对当前转发***存在的对多通道多帧频数据采集处理和多客户端同时操控的需求未有效实现的问题,提出并实现多数据源不同帧频数据的同步缓存、控制器统一并发,有效地解决当前转发***点对点模式无法实现多远程客户端同时操控的问题。除此之外,该发明通过硬件缓存和软件有限个数线程处理,降低了***资源消耗,并且提高***的实时性,更适用于工程化应用。

Description

一种基于TCP/IP的嵌入式高速实时数据并发***
技术领域
本发明涉及信息采集与传输领域,具体是一种基于TCP/IP的嵌入式高速实时数据并发***。
背景技术
随着越来越多的远程操控***的出现,数据转发***得到了广泛需求和应用。数据转发***在整个操控***中处于连接纽带的作用,负责把各传感器、执行机构各单元和远程控制客户端连接起来。在实际应用场景中,实时性要求较高的例如弹道控制***、航空航天设备、医疗***等,也包括实时性要求稍低的例如环境监测***、海洋水位监测***等。对于传统的实时操控要求偏低的转发***而言,是需要增强***的稳定性和可靠性,使对自然环境抵抗力更强,尽量减少人的维护工作。对于实时操控要求高的***而言,不仅需要增强***的稳定性和可靠性,同时还需要提高***的实时响应能力,并且随着***复杂度的提升,***需要处理的数据量不断增加,无疑是对转发***性能提出了更高的要求。
数据量增加体现在三个方面:单帧数据长度的增加、数据帧频的提高以及通道数量的增加。随着***对精度要求的提高,数据帧频的提高是必然,因此必定出现不同频率、不同数据包长度的单元被采集和转发的情况。传统的转发***一般采用DSP/FPGA先进行数据采集,然后直接发送到转发控制器中的缓存,这种处理方式的可靠性和有效性直接由转发控制器的硬件缓存决定,并且无法对数据采集出现故障时进行自动控制和处理。
除此之外,在近年来,由于***集成度的提升,以前只需要一个客户端就可完成的操控如今需要多个客户端同时操控才能完成任务。传统的点对点通信模式,即同时只能有一个客户端连接的工作模式已经不能满足这一需求。多客户端条件下的实时数据传输的主要难点还是在转发***上,在保证较高的实时性的前提下,实现多个客户端的同时操控,就需要转发完成数据包复制并发到多个客户端,同时接收多个客户端传出的命令并分发出去。因此,设计一种高速实时数据并发***势在必行。
发明内容
本发明提出一种基于TCP/IP的嵌入式高速实时数据并发***,其目的在于实现多数据源不同帧频数据的同步缓存,对数据采集出现故障时进行自动控制和处理,进一步优化***实时性和解决当前转发***的点对点模式无法实现多远程客户端同时操控的问题。
本发明解决技术问题所采用的技术方案如附图1所示,共有4个单元组成:FPGA数据采集模块、并发控制器模块、网络模块、远程客户端模块。
各单元连接关系:FPGA数据采集模块采集外部各通道数据,然后以指定频率的中断触发并发控制器模块进行数据读取,并发控制器完成对数据的采集处理后通过TCP/IP通信协议把数据并行分发到已经连接到并发控制器上的远程客户端模块;同时,并发控制器接收到远程客户端返回的命令时,则立刻读取处理,并把处理结果写入FPGA数据采集模块,FPGA数据采集模块通过总线的形式把命令广播出去,以实现实时操控。
1.具体结构如下:
FPGA数据采集模块:该模块负责完成多通道数据的实时采集,由于各通道数据的帧频不一样,该模块把各通道的数据通过硬件都缓存为同一帧频,通过中断触发以通知并发控制器进行读取。
并发控制器模块:该模块是整个***的核心,它协调、控制整个***的逻辑时序、工作方式。并发控制器模块通过中断以指定的频率从FPGA数据采集模块获取数据,然后提取出各单元最新的数据包按照一定的格式封装成一帧数据,最后依次发送给已经连接上的各远程客户端。同时获取远程客户端发回的命令写入FPGA数据采集模块。
网络模块:采用光纤把本地和远程客户端的两个局域网进行连接,替换了传统的网线传输,传输距离更远,更可靠。
远程客户端模块:接收并发控制器发送出来的数据,然后对数据包进行解码和分单元显示,并可通过网络发回控制命令。
2.本发明与现有***相比具有如下优点:
(1)同当前TCP/IP网络通信的处理方式相比,该发明方法处理更加简单,只需要几个特定线程分别完成指定的功能,降低了***资源消耗,并且提高***的实时性,更适用于工程化应用。
(2)相对传统的网站等多客户端应用模式,该发明更注重不同客户端间的实时性和同步性,两者可容忍阈值不在同一个量级,并且网站的工作模式不是指定频率的数据一直收发,网站服务器与远程客户端数据的发送和接收都是随机的,其通信模式也相差甚远。
(3)相对传统的点对点转发***,该发明提出并实现了多客户端的同时操控功能,保证了实际***需求,提高了***可操控和可观测性能。
(4)相对传统的网络构建模式,采用光纤连线和光纤交换机,进一步提高整个***的数据传输速度。
附图说明
图1是本发明的一种基于TCP/IP的嵌入式高速实时数据并发***的***结构图;
图2是本发明的一种基于TCP/IP的嵌入式高速实时数据并发***的处理流程图。
具体实施方式
以下结合附图对本发明的具体实施方式做详细说明。
由图1所示,一种基于TCP/IP的嵌入式高速实时数据并发***,包括FPGA数据采集模块、并发控制器模块、网络模块、远程客户端模块。FPGA数据采集模块采集外部各通道数据,可同时采集多通道的数据,最大可为128个通道。FPGA数据采集模块采用硬件FIFO把各通道数据缓存成50Hz帧频,然后以50Hz频率的中断触发并发控制器模块进行数据读取,对于原始帧频高于50Hz的通道在每次中断中会读取到多帧数据。并发控制器完成对数据的采集并处理后通过TCP/IP通信协议把数据并行分发到已经连接到并发控制器上的远程客户端模块;同时,并发控制器接收到远程客户端返回的命令时,立刻读取处理,并把处理结果写入FPGA数据采集模块,FPGA数据采集模块通过总线的形式把命令广播到各外部各通道,以实现实时操控。并发控制器设计为多线程工作,其中等待客户端连接、发送数据、接收命令都为单独的线程,并发控制器对数据和命令各自开放一个端口,不重用,保证其各自工作的独立性。当远程客户端连接上并发控制器后,并发控制器会为此连上的客户端进行注册,并且不再为该客户端创建连接线程,当数据准备好时,并发控制器依次往各注册上的客户端的发送缓存中填入数据即可,进一步提高***的实时性。数据发送线程一直处于工作状态,定时数据发送,而命令接收线程则处于等待状态,当有命令到达时被唤醒工作。在本地和远程客户端的内部局域网都采用光纤交换机,以提高整个局域网的数据传输速度。远程客户端对数据包进行解码和分单元显示,并可通过网络发回控制命令。
如图2所示,并发应用程序初始化分为四步:初始化缓存空间、初始化TCP、打开设备文件、创建线程并初始化定时器线程,通过以上四步可完成程序参数初始化和线程的创建。并发应用程序主要由三个任务子线程和一个定时器线程组成,实现点对多通信。三个任务子线程分别为:TCP连接线程、写内核线程、读内核线程,其中TCP连接线程负责接收客户端发起的连接,程序开启两个端口等待客户端连接,分别为数据和命令,当远程客户端的数据命令两个端口都连接上后,TCP连接线程向***连接参数表进行注册,并对该客户端的连接状态修改为连接成功状态;写内核线程负责接收远程客户端返回的命令,其根据远程客户端连接状态进行命令接收,只有该客户端的连接状态为连接成功状态时才会接收该客户端返回的命令,命令返回为随机状态,因此该线程一直处于轮询状态,当发现有命令数据到达时即触发工作,把该命令写入内核,内核接收到该命令数据后会直接写入指定的地址,实际上是完成命令数据传入FPGA数据采集模块,一旦数据被写入FPGA数据采集模块后,FPGA数据采集模块自动完成命令数据的分发操作;读内核线程主要负责读取在中断响应中从FPGA数据采集模块获取新到的数据,然后进行各通道数据的抽帧封包,准备好即将向各客户端发送的数据包,当准备完成时即置位准备完成标志量。定时器线程设置为50Hz触发频率,完成数据向远程客户端的发送操作,该线程中首先通过标志量检测数据包是否准备完成,若已准备完成则依次判断***连接参数表,对参数表中已经连接成功的客户端发送数据。

Claims (5)

1.一种基于TCP/IP的嵌入式高速实时数据并发***,包括FPGA数据采集模块(1)、并发控制器模块(2)、网络模块(3)、远程客户端模块(4),其特征在于:FPGA数据采集模块(1)采集外部各通道数据,外部多通道数据为不同帧频,通过硬件缓存为同一帧频,然后以该帧频的频率中断触发并发控制器模块(2)进行数据读取,并发控制器(2)完成对数据的采集处理后提取出各通道数据中最新的数据包按照一定的格式封装成一帧数据,并发控制器(2)设计为多线程工作,其中等待客户端连接、发送数据、接收命令都为单独的线程,并发控制器对数据和命令各自开放一个端口,不重用,保证其各自工作的独立性;最后通过网络模块(3)把数据并发到已经连接到并发控制器模块(2)上的远程客户端模块(4);同时,并发控制器模块(2)接收到远程客户端模块(4)返回的命令时,立刻读取处理,并把处理结果写入FPGA数据采集模块(1),FPGA数据采集模块(1)通过总线的形式把命令广播出去,以实现实时操控。
2.根据权利要求1所述的一种基于TCP/IP的嵌入式高速实时数据并发***,其特征在于:FPGA数据采集模块(1)也由DSP设计实现。
3.根据权利要求1所述的一种基于TCP/IP的嵌入式高速实时数据并发***,其特征在于:并发控制器模块(2)所实现硬件平台为单片机或者PowerPC。
4.根据权利要求1所述的一种基于TCP/IP的嵌入式高速实时数据并发***,其特征在于:并发控制器模块(2)中并发应用程序三个任务子线程分别为:TCP连接线程、写内核线程、读内核线程,其中TCP连接线程负责接收客户端发起的连接,程序开启两个端口等待客户端连接,分别为数据和命令,当远程客户端的数据命令两个端口都连接上后,TCP连接线程向***连接参数表进行注册,并对该客户端的连接状态修改为连接成功状态;写内核线程负责接收远程客户端返回的命令,其根据远程客户端连接状态进行命令接收,只有该客户端的连接状态为连接成功状态时才会接收该客户端返回的命令;读内核线程主要负责读取在中断响应中从FPGA数据采集模块获取新到的数据,然后进行各通道数据的抽帧封包,准备好即将向各客户端发送的数据包,当准备完成时即置位准备完成标志量。
5.根据权利要求1所述的一种基于TCP/IP的嵌入式高速实时数据并发***,其特征在于:并发控制器模块(2)所实现软件平台可为Linux或者VxWorks实时操作***。
CN201510072383.8A 2015-02-11 2015-02-11 一种基于tcp/ip的嵌入式高速实时数据并发*** Active CN104601599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510072383.8A CN104601599B (zh) 2015-02-11 2015-02-11 一种基于tcp/ip的嵌入式高速实时数据并发***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510072383.8A CN104601599B (zh) 2015-02-11 2015-02-11 一种基于tcp/ip的嵌入式高速实时数据并发***

Publications (2)

Publication Number Publication Date
CN104601599A true CN104601599A (zh) 2015-05-06
CN104601599B CN104601599B (zh) 2017-10-20

Family

ID=53127103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510072383.8A Active CN104601599B (zh) 2015-02-11 2015-02-11 一种基于tcp/ip的嵌入式高速实时数据并发***

Country Status (1)

Country Link
CN (1) CN104601599B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506541A (zh) * 2020-06-30 2020-08-07 翱捷科技(上海)有限公司 一种嵌入式网络设备中加速网络数据包处理的方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090112997A1 (en) * 2007-10-25 2009-04-30 Cisco Technology, Inc. Utilizing Presence Data Associated with Web Item
CN101995865A (zh) * 2010-10-22 2011-03-30 哈尔滨工业大学环保科技股份有限公司 基于无线传感器网络的水处理工程监控***
CN102053602A (zh) * 2010-11-10 2011-05-11 潍柴动力股份有限公司 发动机数据采集方法、数据采集服务器和测控***
CN202385301U (zh) * 2011-12-20 2012-08-15 北京时代凌宇科技有限公司 户外环境监测***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090112997A1 (en) * 2007-10-25 2009-04-30 Cisco Technology, Inc. Utilizing Presence Data Associated with Web Item
CN101995865A (zh) * 2010-10-22 2011-03-30 哈尔滨工业大学环保科技股份有限公司 基于无线传感器网络的水处理工程监控***
CN102053602A (zh) * 2010-11-10 2011-05-11 潍柴动力股份有限公司 发动机数据采集方法、数据采集服务器和测控***
CN202385301U (zh) * 2011-12-20 2012-08-15 北京时代凌宇科技有限公司 户外环境监测***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506541A (zh) * 2020-06-30 2020-08-07 翱捷科技(上海)有限公司 一种嵌入式网络设备中加速网络数据包处理的方法及***

Also Published As

Publication number Publication date
CN104601599B (zh) 2017-10-20

Similar Documents

Publication Publication Date Title
CN103248526B (zh) 实现带外监控管理的通信设备、方法
CN102339047B (zh) 自动化装置和用于加速处理所选择的过程数据的方法
CN101141451B (zh) 数控***通信接口、数控***及数据接收方法
CN105183690B (zh) 一种基于spi总线通信协议的双缓冲数据传输方法
CN106411740A (zh) 基于以太网控制器的网络端口扩展方法
CN105681131B (zh) 主备***及其并行输出方法
CN110166378B (zh) 一种用于配网终端调试维护的通信***及方法
CN107241382B (zh) 用于串口与以太网间的数据转换方法及其装置
CN106528486A (zh) 一种串口数据交换的方法
CN106850331B (zh) 一种交通领域的带同步时钟功能的以太网发帧装置
CN103595598A (zh) 一种基于光纤的远程透明传输串口服务器及其控制模式
CN107294827A (zh) 避免主从设备冲突的rs485通信***及方法
CN102811152B (zh) 一种多主总线网络通讯实时交易数据交换实现方法
CN105553795B (zh) 一种在工业以太网中传输标准以太网数据的方法
CN103067238A (zh) 一种兼容于modbus总线的数据采集方法
CN107579894B (zh) 一种基于fpga的ebr1553总线协议实现装置
CN105632385B (zh) 一种led显示屏盲点检测方法及其检测装置
CN103034206A (zh) 一种采用后绑定通信插件的工业数据采集***
CN203933689U (zh) 基于fpga的电力***高速数据通信设备
CN104601599A (zh) 一种基于tcp/ip的嵌入式高速实时数据并发***
CN103353750B (zh) 一种基于多总线的微波冶金控制方法
CN205377930U (zh) 一种将modbus规约从tcp/ip链路转换到串行链路的设备
CN207625600U (zh) 基于交换机芯片的以太网扩展电路
CN102420734A (zh) 一种can总线拓扑结构实现***
CN202817898U (zh) 一种基于EtherCAT工业以太网的配电终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant