CN110647489A - 一种监测串口的高速通信方法及通信系统 - Google Patents
一种监测串口的高速通信方法及通信系统 Download PDFInfo
- Publication number
- CN110647489A CN110647489A CN201910866281.1A CN201910866281A CN110647489A CN 110647489 A CN110647489 A CN 110647489A CN 201910866281 A CN201910866281 A CN 201910866281A CN 110647489 A CN110647489 A CN 110647489A
- Authority
- CN
- China
- Prior art keywords
- acquisition
- data
- pointer
- transmission
- buffer
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3041—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本发明实施例公开了一种监测串口的高速通信方法及通信系统,方法包括:采集指针从第一采集缓冲区开始采集数据;第一采集缓冲区的数据采集完毕时采集指针跳转至第二采集缓冲区,发送指针跳转至第一采集缓冲区;同时执行数据采集命令和数据发送命令;第二采集缓冲区的数据采集完毕时采集指针跳转至第一采集缓冲区,发送指针跳转至第二采集缓冲区;按序循环采集和发送步骤,直至所有数据发送完毕,双采集缓冲区和双发送缓冲区,采集缓冲区和发送缓冲区可相互切换,解决了数据发送和采集之间的等待问题,可让发送和采集同时进行,从而保证了高速数据传输的采集效率和发送效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种监测串口的高速通信方法及通信系统。
背景技术
Labview(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。Labview集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
现有的的监测串口的通信步骤为:数据采集、数据打包、数据发送依次循序进行,无法插队,必须要等上一个数据发送完毕,下一个数据才能继续发送,有时会造成数据采集量大于数据采集量的情况,从而使数据拥堵,而且没有很好地解决方法,导致串口通信速度缓慢。
发明内容
本发明的目的在于,提供一种监测串口的高速通信方法及通信系统,解决以上技术问题。
本发明所解决的技术问题可以采用以下技术方案来实现:
一种监测串口的高速通信方法,包括如下步骤:
S100、采集指针从第一采集缓冲区开始按采集命令循序采集数据;
S200、所述第一采集缓冲区的数据采集完毕时所述采集指针跳转至第二采集缓冲区准备执行数据采集命令,同时发送指针跳转至第一采集缓冲区准备执行数据发送命令;
S300、开始执行所述第二采集缓冲区的数据采集命令和所述第一采集缓冲区的数据发送命令;
S400、所述第二采集缓冲区的数据采集完毕时所述采集指针跳转至第一采集缓冲区准备执行数据采集命令,同时发送指针跳转至第二采集缓冲区准备执行数据发送命令;
S500、检测所有数据是否发送完毕,若未发送完毕,则重复步骤S200至S400;若发送完毕,则结束数据传输。
进一步地,所述发送指针跳转至所述第一采集缓冲区时,所述第一采集缓冲区转化为第一发送缓冲区;
所述发送指针跳转至所述第二采集缓冲区时,所述第二采集缓冲区转化为第二发送缓冲区。
进一步地,所述第一采集缓冲区和所述第二采集缓冲区的最大数据存储容量相同。
进一步地,所述采集指针执行数据采集命令时,所述采集指针从所述第一采集缓冲区或所述第二采集缓冲区的第一端运动至第二端;
所述发送指针执行数据发送命令时,所述发送指针从所述第一发送缓冲区或所述第二发送缓冲区的第一端运动至第二端。
进一步地,所述发送指针的运动速度比所述采集指针的运动速度快。
另外,本发明还提供了一种通信系统,用于上述所述的监测串口高速通信方法,包括
一控制系统,控制所述采集指针或所述发送指针运动;
一数据采集单元,与所述采集指针和所述控制系统连接;
一数据发送单元,与所述发送指针和所述控制系统连接;
一第一数据通道,产生所述第一采集缓冲区或所述第一发送缓冲区;
一第二数据通道,产生所述第二采集缓冲区或所述第二发送缓冲区;
一数据实时监测系统,用于检测所述第一采集缓冲区和所述第二采集缓冲区内的数据剩余量。
进一步地,所述控制系统产生数据采集信号、数据发送信号和指针跳转信号,所述数据采集信号控制所述采集指针的运动,所述数据发送信号控制所述发送指针的运动,所述指针跳转信号控制所述采集指针和所述发送指针跳转至相邻的缓冲区。
进一步地,所述数据实时监测系统检测到任一采集缓冲区内的数据剩余量与所述第一采集缓冲区或所述第二采集缓冲区的最大数据存储容量相等时,所述采集指针和所述发送指针跳转。
有益效果:本发明设计了双数据通道来传输数据,采集缓冲区和发送缓冲区可相互切换,解决了数据发送和采集之间的等待问题,可让发送和采集同时进行,从而保证了高速数据传输的采集效率和发送效率。
附图说明
图1为本发明的监测串口的高速通信方法的流程图;
图2为本发明的指针跳转过程示意图;
图3为本发明的通信系统的结构组成框图。
图中:1-控制系统;2-数据采集单元;3-数据发送单元;4-第一数据通道;5-第二数据通道;6-实时监测系统;7-采集指针;8-发送指针。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
如图1和图2所示,本发明提供了一种监测串口的高速通信方法,本发明的通信方法是基于Labview环境下的的监测串口的高速通信方法,包括如下步骤:
S100、采集指针从第一采集缓冲区开始循序采集数据;
S200、所述第一采集缓冲区的数据采集完毕时所述采集指针跳转至第二采集缓冲区,同时发送指针跳转至第一采集缓冲区;
S300、开始执行所述第二采集缓冲区的数据采集命令和所述第一采集缓冲区的数据发送命令;
S400、所述第二采集缓冲区的数据采集完毕时所述采集指针跳转至所述第一采集缓冲区,同时所述发送指针跳转至所述第二采集缓冲区;
S500、检测所有数据是否发送完毕,若未发送完毕,则重复步骤S200至S400;若发送完毕,则结束数据传输。
本发明的监测串口的高速通信方法优点在于:
本发明设计了双缓冲区来采集、存储和发送数据,采集缓冲区和发送缓冲区可相互切换,可让数据的发送和数据的采集同时进行,解决了数据发送和采集之间的等待问题,从而保证了高速数据传输的采集效率和发送效率。
注:图2中竖直的直线箭头表示指针的运动方向,也代表数据的传输方向,弧线箭头则表示采集指针和发送指针的跳转路径。作为本发明一种优选的实施方式,发送指针跳转至第一采集缓冲区时,第一采集缓冲区转化为第一发送缓冲区;
发送指针跳转至第二采集缓冲区时,第二采集缓冲区转化为第二发送缓冲区。即采集指针所在的缓冲区为采集缓冲区,发送指针所在的缓冲区为发送缓冲区,采集指针和发送指针必然分别在两个缓冲区内且不会在一个缓冲区内交集,避免数据和发送的干扰。即两个缓冲区在数据传输阶段,必有一个为采集缓冲区且另一个为发送缓冲区。
作为本发明一种优选的实施方式,第一采集缓冲区和第二采集缓冲区的最大数据存储容量相同。使两个缓冲区内的数据采集速度相等,数据发送速度也相等,即采集指针在两个缓冲区内的运动速度一致,发送指针在两个缓冲区内的运动速度一致,从而使数据的采集和发送更易规律。
作为本发明一种优选的实施方式,采集指针执行数据采集命令时,采集指针从第一采集缓冲区或第二采集缓冲区的第一端运动至第二端;
发送指针执行数据发送命令时,发送指针从第一发送缓冲区或第二发送缓冲区的第一端运动至第二端。
另外,两个指针跳转时,分为两种情况:
采集指针执行跳转命令时,采集指针从当前采集缓冲区的第二端跳转至当前发送缓冲区(另一个缓冲区)的第一端;
发送指针执行跳转命令时,发送指针从当前发送缓冲区的第二端跳转至当前采集缓冲区的第一端。
作为本发明一种优选的实施方式,发送指针的运动速度比采集指针的运动速度快,即发送缓冲区内的数据发送速度比采集缓冲区内的数据采集速度快,这样保证在每次采集缓冲区内数据存储满了时,发送缓冲区内的数据剩余量为0,即发送缓冲区内的数据已全部发送完毕,避免未发送的残余数据对数据传输效率的影响。发送缓冲区的数据发送完毕的时间点比采集缓冲区的数据采集完毕时间点早0.01-1s,保证发送数据速度总比采集数据速度快。
如图3所示,依据以上的监测串口高速通信方法,本发明还提供了一种通信系统,包括
一控制系统1,控制采集指针7或发送指针8运动;
一数据采集单元2,与采集指针7和控制系统1连接;
一数据发送单元3,与发送指针8和控制系统1连接;
一第一数据通道4,产生第一采集缓冲区或第一发送缓冲区;
一第二数据通道5,产生第二采集缓冲区或第二发送缓冲区;
一数据实时监测系统6,用于检测第一采集缓冲区和第二采集缓冲区内的数据剩余量。
本发明的通信系统具有以下优点:
(1)通过双数据通道传输数据,数据采集或发送效率更快,数据采集和数据发送几乎不用排队,可以同时进行数据的采集和发送;
(2)设立数据检测系统5,检测任意一个缓冲区内数据满了后立即使采集指针和发送指针跳转到相邻的缓冲区内,最大化减小数据采集与数据发送的间隔时间,大大提高数据传输效率。
作为本发明一种优选的实施方式,控制系统1产生数据采集信号、数据发送信号和指针跳转信号,数据采集信号控制采集指针7的运动,数据发送信号控制发送指针8的运动,指针跳转信号控制采集指针7和发送指针8跳转至相邻的缓冲区。即控制系统1可分别控制两个通道内采集数据、发送数据的进程,也能切换缓冲区内的数据采集或数据发送进程。
作为本发明一种优选的实施方式,数据实时监测系统6检测到任一采集缓冲区内的数据剩余量与第一采集缓冲区或第二采集缓冲区的最大数据存储容量相等时,采集指针7和发送指针8跳转。由于数据发送速度比数据采集速度略快,因此以任意一个缓冲区采集满数据时使两个指针跳转变换到相邻的缓冲区。
另外,数据实时监测系统6还用来检测所有数据是否发送完毕,若未发送完毕,则持续上述采集和发送的过程,若所有数据均发送完毕,则可通过关闭数据通道来结束数据的采集和发送。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (8)
1.一种监测串口的高速通信方法,其特征在于,包括如下步骤:
S100、采集指针从第一采集缓冲区开始循序采集数据;
S200、所述第一采集缓冲区的数据采集完毕时所述采集指针跳转至第二采集缓冲区,同时发送指针跳转至第一采集缓冲区;
S300、开始执行所述第二采集缓冲区的数据采集命令和所述第一采集缓冲区的数据发送命令;
S400、所述第二采集缓冲区的数据采集完毕时所述采集指针跳转至所述第一采集缓冲区,同时所述发送指针跳转至所述第二采集缓冲区;
S500、检测所有数据是否发送完毕,若未发送完毕,则重复步骤S200至S400;若发送完毕,则结束数据传输。
2.根据权利要求1所述的一种监测串口的高速通信方法,其特征在于,所述发送指针跳转至所述第一采集缓冲区时,所述第一采集缓冲区转化为第一发送缓冲区;
所述发送指针跳转至所述第二采集缓冲区时,所述第二采集缓冲区转化为第二发送缓冲区。
3.根据权利要求1所述的一种监测串口的高速通信方法,其特征在于,所述第一采集缓冲区和所述第二采集缓冲区的最大数据存储容量相同。
4.根据权利要求2所述的一种监测串口的高速通信方法,其特征在于,所述采集指针执行数据采集命令时,所述采集指针从所述第一采集缓冲区或所述第二采集缓冲区的第一端运动至第二端;
所述发送指针执行数据发送命令时,所述发送指针从所述第一发送缓冲区或所述第二发送缓冲区的第一端运动至第二端。
5.根据权利要求4所述的一种监测串口的高速通信方法,其特征在于,所述发送指针的运动速度比所述采集指针的运动速度快。
6.一种通信系统,其特征在于,用于执行权利要求1至5任意一项所述的监测串口高速通信方法,包括
一控制系统,控制所述采集指针或所述发送指针运动;
一数据采集单元,与所述采集指针和所述控制系统连接;
一数据发送单元,与所述发送指针和所述控制系统连接;
一第一数据通道,产生所述第一采集缓冲区或所述第一发送缓冲区;
一第二数据通道,产生所述第二采集缓冲区或所述第二发送缓冲区;
一数据实时监测系统,用于检测所述第一采集缓冲区和所述第二采集缓冲区内的数据剩余量。
7.根据权利要求6所述的一种通信系统,其特征在于,所述控制系统产生数据采集信号、数据发送信号和指针跳转信号,所述数据采集信号控制所述采集指针的运动,所述数据发送信号控制所述发送指针的运动,所述指针跳转信号控制所述采集指针和所述发送指针跳转至相邻的缓冲区。
8.根据权利要求6所述的一种通信系统,其特征在于,所述数据实时监测系统检测到任一采集缓冲区内的数据剩余量与所述第一采集缓冲区或所述第二采集缓冲区的最大数据存储容量相等时,所述采集指针和所述发送指针跳转。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866281.1A CN110647489A (zh) | 2019-09-12 | 2019-09-12 | 一种监测串口的高速通信方法及通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866281.1A CN110647489A (zh) | 2019-09-12 | 2019-09-12 | 一种监测串口的高速通信方法及通信系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110647489A true CN110647489A (zh) | 2020-01-03 |
Family
ID=68991262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910866281.1A Pending CN110647489A (zh) | 2019-09-12 | 2019-09-12 | 一种监测串口的高速通信方法及通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110647489A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113492685A (zh) * | 2020-04-07 | 2021-10-12 | 中国航天科工飞航技术研究院(中国航天海鹰机电技术研究院) | 超导磁悬浮列车电磁推进系统通信方法及电磁推进系统 |
CN114942900A (zh) * | 2021-09-29 | 2022-08-26 | 太初(无锡)电子科技有限公司 | 嵌入式系统双缓冲数据串行发送方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207851A (zh) * | 2013-03-15 | 2013-07-17 | 北京工业大学 | 串行数据实时采集标时方法 |
US9112766B2 (en) * | 2013-03-14 | 2015-08-18 | Fluke Corporation | Method and apparatus having improved line rate IP packet communication |
CN104915277A (zh) * | 2015-07-02 | 2015-09-16 | 天津航天机电设备研究所 | 一种基于LabVIEW主动接收型的通信调试系统及其通信调试方法 |
-
2019
- 2019-09-12 CN CN201910866281.1A patent/CN110647489A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9112766B2 (en) * | 2013-03-14 | 2015-08-18 | Fluke Corporation | Method and apparatus having improved line rate IP packet communication |
CN103207851A (zh) * | 2013-03-15 | 2013-07-17 | 北京工业大学 | 串行数据实时采集标时方法 |
CN104915277A (zh) * | 2015-07-02 | 2015-09-16 | 天津航天机电设备研究所 | 一种基于LabVIEW主动接收型的通信调试系统及其通信调试方法 |
Non-Patent Citations (2)
Title |
---|
吉布生(G.GIBSON),刘玉成: "《工程师和科学家用 微型计算机》", 30 November 1984 * |
张凤芝,宁禄乔等: "《操作系统原理教程》", 31 July 2002 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113492685A (zh) * | 2020-04-07 | 2021-10-12 | 中国航天科工飞航技术研究院(中国航天海鹰机电技术研究院) | 超导磁悬浮列车电磁推进系统通信方法及电磁推进系统 |
CN114942900A (zh) * | 2021-09-29 | 2022-08-26 | 太初(无锡)电子科技有限公司 | 嵌入式系统双缓冲数据串行发送方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104385787B (zh) | 一种激光打标机的控制方法及激光打标机 | |
US11135719B2 (en) | Real-time control system, real-time control device and system control method | |
CN101364097B (zh) | 一种高实时性的多通道数据采集系统 | |
CN110647489A (zh) | 一种监测串口的高速通信方法及通信系统 | |
CN102647504B (zh) | 一种对手机中应用程序进行控制的方法 | |
CN109934892B (zh) | 惯导运动轨迹绘制方法、装置和计算机设备 | |
KR101630599B1 (ko) | 시스템 성능 향상을 위한 제어 로직을 구비한 직렬 주변기기 인터페이스 및 그 구동 방법 | |
CN114490464B (zh) | 多传感器数据同步及传输方法及脑磁探测仪 | |
CN110519138B (zh) | 一种Profibus-DP主站协议的实现方法及系统 | |
CN109992205A (zh) | 数据存储的装置、方法及可读存储介质 | |
CN111489279B (zh) | Gpu加速优化方法、装置及计算机存储介质 | |
CN110035167A (zh) | 录音方法及相关装置 | |
CN109992539B (zh) | 双主机协同工作装置 | |
CN109753322B (zh) | 一种ios平台上对应用程序的加速方法和装置 | |
CN113341853B (zh) | 一种ip核、fpga芯片、交流伺服驱动器及通讯方法 | |
CN108647178B (zh) | 双通道通信的方法和设备 | |
CN109634230B (zh) | 一种信号采集与控制装置及其业务配置方法 | |
CN111767078B (zh) | 数据运行方法、装置和相关产品 | |
CN103199879A (zh) | 数字接收机信号的检测方法 | |
CN109814791A (zh) | 处理流程节点的方法、装置、存储介质及电子设备 | |
CN110287132A (zh) | 一种数据通讯处理板卡 | |
Chang et al. | CAN calibration system design and transfer mechanism optimization | |
CN115941465A (zh) | 网卡配置方法、装置、电子设备和计算机可读存储介质 | |
CN115817381B (zh) | 一种油门模式自适应识别方法、装置、存储介质及终端 | |
CN110336563A (zh) | 一种工作模式选择方法、装置、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200103 |