CN104601599B - 一种基于tcp/ip的嵌入式高速实时数据并发*** - Google Patents
一种基于tcp/ip的嵌入式高速实时数据并发*** Download PDFInfo
- Publication number
- CN104601599B CN104601599B CN201510072383.8A CN201510072383A CN104601599B CN 104601599 B CN104601599 B CN 104601599B CN 201510072383 A CN201510072383 A CN 201510072383A CN 104601599 B CN104601599 B CN 104601599B
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 238000012545 processing Methods 0.000 abstract description 5
- 230000001360 synchronised effect Effects 0.000 abstract 1
- 239000013307 optical fiber Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005728 strengthening Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于TCP/IP的嵌入式高速实时数据并发***,针对当前转发***存在的对多通道多帧频数据采集处理和多客户端同时操控的需求未有效实现的问题,提出并实现多数据源不同帧频数据的同步缓存、控制器统一并发,有效地解决当前转发***点对点模式无法实现多远程客户端同时操控的问题。除此之外,该发明通过硬件缓存和软件有限个数线程处理,降低了***资源消耗,并且提高***的实时性,更适用于工程化应用。
Description
技术领域
本发明涉及信息采集与传输领域,具体是一种基于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 (4)
1.一种基于TCP/IP的嵌入式高速实时数据并发***,包括FPGA数据采集模块(1)、并发控制器模块(2)、网络模块(3)、远程客户端模块(4),其特征在于:FPGA数据采集模块(1)采集外部各通道数据,外部多通道数据为不同帧频,通过硬件缓存为同一帧频,然后以该帧频的频率中断触发并发控制器模块(2)进行数据读取,并发控制器(2)完成对数据的采集处理后提取出各通道数据中最新的数据包按照一定的格式封装成一帧数据,并发控制器(2)设计为多线程工作,其中等待客户端连接、发送数据、接收命令都为单独的线程,并发控制器对数据和命令各自开放一个端口,不重用,保证其各自工作的独立性;最后通过网络模块(3)把数据并发到已经连接到并发控制器模块(2)上的远程客户端模块(4);同时,并发控制器模块(2)接收到远程客户端模块(4)返回的命令时,立刻读取处理,并把处理结果写入FPGA数据采集模块(1),FPGA数据采集模块(1)通过总线的形式把命令广播出去,以实现实时操控;
并发控制器模块(2)中并发应用程序三个任务子线程分别为:TCP连接线程、写内核线程、读内核线程,其中TCP连接线程负责接收客户端发起的连接,程序开启两个端口等待客户端连接,分别为数据和命令,当远程客户端的数据命令两个端口都连接上后,TCP连接线程向***连接参数表进行注册,并对该客户端的连接状态修改为连接成功状态;写内核线程负责接收远程客户端返回的命令,其根据远程客户端连接状态进行命令接收,只有该客户端的连接状态为连接成功状态时才会接收该客户端返回的命令;读内核线程主要负责读取在中断响应中从FPGA数据采集模块获取新到的数据,然后进行各通道数据的抽帧封包,准备好即将向各客户端发送的数据包,当准备完成时即置位准备完成标志量。
2.根据权利要求1所述的一种基于TCP/IP的嵌入式高速实时数据并发***,其特征在于:FPGA数据采集模块(1)由DSP设计实现。
3.根据权利要求1所述的一种基于TCP/IP的嵌入式高速实时数据并发***,其特征在于:并发控制器模块(2)所实现硬件平台为单片机或者PowerPC。
4.根据权利要求1所述的一种基于TCP/IP的嵌入式高速实时数据并发***,其特征在于:并发控制器模块(2)所实现软件平台可为Linux或者VxWorks实时操作***。
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 CN104601599A (zh) | 2015-05-06 |
CN104601599B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506541B (zh) * | 2020-06-30 | 2020-09-22 | 翱捷科技(上海)有限公司 | 一种嵌入式网络设备中加速网络数据包处理的方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101995865A (zh) * | 2010-10-22 | 2011-03-30 | 哈尔滨工业大学环保科技股份有限公司 | 基于无线传感器网络的水处理工程监控*** |
CN102053602A (zh) * | 2010-11-10 | 2011-05-11 | 潍柴动力股份有限公司 | 发动机数据采集方法、数据采集服务器和测控*** |
CN202385301U (zh) * | 2011-12-20 | 2012-08-15 | 北京时代凌宇科技有限公司 | 户外环境监测*** |
Family Cites Families (1)
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 |
-
2015
- 2015-02-11 CN CN201510072383.8A patent/CN104601599B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101995865A (zh) * | 2010-10-22 | 2011-03-30 | 哈尔滨工业大学环保科技股份有限公司 | 基于无线传感器网络的水处理工程监控*** |
CN102053602A (zh) * | 2010-11-10 | 2011-05-11 | 潍柴动力股份有限公司 | 发动机数据采集方法、数据采集服务器和测控*** |
CN202385301U (zh) * | 2011-12-20 | 2012-08-15 | 北京时代凌宇科技有限公司 | 户外环境监测*** |
Also Published As
Publication number | Publication date |
---|---|
CN104601599A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106773928B (zh) | 一种基于fpga的千兆tte端***控制器 | |
CN104270355A (zh) | 一种基于网络总线跨安全区传输数据的方法 | |
CN103248526A (zh) | 实现带外监控管理的通信设备、方法及主从切换方法 | |
CN103683506B (zh) | 一种电力***变电站综合一体化联动安全*** | |
CN105553795B (zh) | 一种在工业以太网中传输标准以太网数据的方法 | |
CN104601599B (zh) | 一种基于tcp/ip的嵌入式高速实时数据并发*** | |
CN105515829A (zh) | 智能布线*** | |
CN105162630A (zh) | 一种用于诊断可编程控制器以太网通信故障的智能*** | |
CN103618656A (zh) | 网络化测井井下仪器主从节点及其数据处理方法 | |
CN103353750B (zh) | 一种基于多总线的微波冶金控制方法 | |
CN101695039A (zh) | 视频通信与信号处理的同步监测及实验***和实现方法 | |
CN104065689A (zh) | 宽带无线接入共享及广告方法 | |
CN107302482A (zh) | 一种板卡间数据传输*** | |
CN205377930U (zh) | 一种将modbus规约从tcp/ip链路转换到串行链路的设备 | |
CN207939552U (zh) | 一种实时多用户的设备数据采集与控制*** | |
CN207625600U (zh) | 基于交换机芯片的以太网扩展电路 | |
CN215494685U (zh) | 工业数据远程调试采集平台 | |
CN106657093B (zh) | 一种用于智能家居的网关协议 | |
CN205336303U (zh) | 一种网络中控*** | |
CN103618683A (zh) | Afdx交换机终端协议栈结构及其数据收发方法 | |
CN208424411U (zh) | 一种用于人防指挥所的无线设备信息集成装置 | |
CN106843013A (zh) | 物联网数据采集*** | |
CN210274135U (zh) | 一种远程连接*** | |
CN205721338U (zh) | 一种基于knx总线的网关***及智能家居*** | |
CN109587150A (zh) | 一种WiFi转以太网串口的集成接口电路 |
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 |