CN110430025A - 一种数据发送方法、装置及光模块 - Google Patents
一种数据发送方法、装置及光模块 Download PDFInfo
- Publication number
- CN110430025A CN110430025A CN201910705971.9A CN201910705971A CN110430025A CN 110430025 A CN110430025 A CN 110430025A CN 201910705971 A CN201910705971 A CN 201910705971A CN 110430025 A CN110430025 A CN 110430025A
- Authority
- CN
- China
- Prior art keywords
- data
- preset
- optical module
- preset value
- transmission
- 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
Links
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C23/00—Non-electrical signal transmission systems, e.g. optical systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/50—Transmitters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1858—Transmission or retransmission of more than one copy of acknowledgement message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Optical Communication System (AREA)
Abstract
本申请提供了一种数据发送方法、装置及光模块,通过在光模块内部建立一个用于启动数据重传功能的数据重传标识位,其中,当该数据重传标识位置为第三预设值期间,如果将存储在预设数据存储空间中的数据通过低频信息通道发送出去之后,在预设时间间隔内未接收到接收端返回的数据已被接收的响应消息,则在该数据的被发送次数未超过预设次数阈值的前提下,将该数据再次通过低频信息通道发送出去。这样,利用低频消息通道向远端系统传递数据,实现对远端的光模块及其接入上位机的远程操控的同时,通过在模块层面采用数据重传功能向远端系统传递数据,不仅减轻由上位机实现该机制时的负担,还可以有效提高整体系统利用消息通道传输数据时的效率。
Description
技术领域
本申请涉及光通信技术领域,尤其涉及一种数据发送方法、装置及光模块。
背景技术
在接入网通信系统中,由光线路终端与光网络单元之间建立相互的光连接,以实现数据通信。具体地,光线路终端中具有第一光模块,光网络单元中具有第二光模块,第一光模块与第二光模块之间建立光连接;光线路终端通过第一光模块向第二光模块发送光信号,实现光线路终端向光网络单元发送数据;光线路终端通过第一光模块接收来自第二光模块的光信号,实现光线路终端接收来自光网络单元的数据。
在上述通信系统中,光线路终端及光网络单元是光模块的上位机。其中,上位机将数据电信号输入光模块中,由光模块将该数据电信号转换为光信号发出,以实现上位机发送数据;光模块将来自外部的光信号转换为数据电信号,将该数据电信号输入上位机,以实现上位机接收数据。
由于光模块在上位机中仅是数据传递者,光模块只能由其上位机进行操控,所以需要人工通过上位机来间接操控光模块。而在接入网物理网络中,光线路终端和/或光网络单元往往位于不便于人工操作的环境,比如高山、森林甚至水体中,在这些环境下操作上位机或使用上位机操控光模块都变得十分困难。
发明内容
本申请提供了一种数据发送方法、装置及光模块,以使得光模块可以实现远程操控,进而也可以通过对光模块的远程操控实现对上位机的远程操控。
根据本申请实施例的第一方面,提供了一种数据发送方法,所述方法包括:
查询发送状态标志位是否已被改为第一预设值;
如果为第一预设值,则将数据重传标志位由第四预设值改为第三预设值;
将存储在预设数据存储空间中的数据通过低频信息通道发送出去;
判断是否在预设时间内接收到所述数据已被接收的响应消息;
如果接收到所述数据已被接收的响应消息,则将所述数据重传标志位由第三预设值改为第四预设值;
如果未接收到所述数据已被接收的响应消息,则判断已发送所述数据的次数是否未超过预设次数阈值;
如果未超过预设次数阈值,则再次将所述存储在预设数据存储空间中的数据通过低频信息通道发送出去。
根据本申请实施例的第二方面,提供了一种数据发送装置,该装置主要包括处理器和存储器,其中:
所述存储器,用于存储程序代码;
所述处理器,用于读取所述存储器中存储的程序代码,并执行如本申请实施例第一方面所述的方法。
根据本申请实施例的第三方面,提供了一种光模块,该光模块包括光发送组件、印制电路板、以及设置在所述印制电路板上的MCU,其中:
所述MCU中设有本申请实施例第二方面所提供的的数据发送装置;
所述光发送组件通过印制电路板与MCU连接,所述MCU可以控制光发送组件发送加载有低频信息通道的光信号。
由以上实施例可见,本申请实施例提供的数据发送方法、装置及光模块,通过在光模块内部建立一个用于启动数据重传功能的数据重传标识位,其中,当该数据重传标识位置为第三预设值期间,如果将存储在预设数据存储空间中的数据通过低频信息通道发送出去之后,在预设时间间隔内未接收到接收端返回的数据已被接收的响应消息,则在该数据的被发送次数未超过预设次数阈值的前提下,将该数据再次通过低频信息通道发送出去。这样,利用低频消息通道向远端系统传递数据,实现对远端的光模块及其接入上位机的远程操控的同时,通过在模块层面采用数据重传功能向远端系统传递数据,不仅减轻由上位机实现该机制时的负担,还可以有效提高整体系统利用消息通道传输数据时的效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的光模块的上位机基本结构示意图;
图2为本申请实施例提供的上位机中的局部结构示意图;
图3为本申请实施例提供的一种光模块与光模块接口连接结构剖面图;
图4为本申请实施例提供的一种光模块接口中电连接器结构示意图;
图5为本申请实施例提供光模块金手指结构示意图;
图6为本申请实施例提供的光模块结构示意图;
图7为本申请实施例提供的光模块分解结构示意图;
图8为本实施例提供的一种数据发送方法的基本流程示意图;
图9为本实施例提供的另一种数据发送方法的基本流程示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
针对目前光模块只能由其上位机进行操控,即需要人工通过上位机来间接操控光模块,所带来的操作不方便的问题,可以采用一种新的通信方式,使得光模块不仅受控于其接入的上位机,也可以实现远程操控,进而也可以通过对光模块的远程操控实现对上位机的远程操控。
光模块被用在光纤通信技术领域中实现光电转换功能,其中,光信号与电信号的相互转换是光模块的核心功能。图1为本申请实施例提供的光模块30的上位机基本结构示意图。图2为本申请实施例提供的上位机中的局部结构示意图。如图1、图2所示,上位机包括上盖体10、下盖体20、电路板40及光模块30,上盖体10及下盖体20形成包裹电路板40及光模块30的腔体,电路板40上具有光模块接口401及网线接口402。
其中,光模块接口401用于接入光模块30,光模块接口401中设置有电连接器4011,用于接入金手指等光模块电口,从而与光模块30建立双向的电信号连接;网线接口402用于接入网线,与网线建立双向的电信号连接;光模块30与网线之间通过上位机建立连接,具体地,上位机将来自光模块30的信号传递给网线,将来自网线的信号传递给光模块30,上位机监控光模块30的工作。
光模块30的光口与光纤连接,与光纤建立双向的光信号连接;光模块30的电口接入上位机中,与光网络单元建立双向的电信号连接;光模块30实现光信号与电信号的相互转换,从而实现在光纤与上位机之间建立连接;具体地,来自光纤的光信号由光模块30转换为电信号后输入至上位机中,来自上位机的电信号由光模块30转换为光信号输入至光纤中。
图3为本申请实施例提供的一种光模块与光模块接口连接结构剖面图,图4为本申请实施例提供的一种光模块接口中电连接器结构示意图,图5为本申请实施例提供光模块金手指结构示意图。如图3、图4、图5所示,光模块的电路板301末端插入上位机的光模块接口401中,实现光模块与上位机之间的电连接。具体地,光模块接口401中具有电连接器4011,电连接器4011具有容纳光模块电路板40的间隙以及压合在光模块电路板40表面的弹片4012,光模块电路板301末端的表面具有呈金属引脚状的金手指3011,电连接器4011中的弹片与金手指接触从而实现电导通。
图6为本申请实施例提供的光模块结构示意图。图7为本申请实施例提供的光模块分解结构示意图。如图6、图7所示,本申请实施例提供的光模块30包括电路板301、上壳体302、下壳体303、光收发器件304以及解锁手柄307。
上壳体302与下壳体303形成具有两个开口的包裹腔体,具体可以是在同一方向的两端开口(305、306),也可以是在不同方向上的两处开口;其中一个开口为电口305,用于插入光网络单元等上位机中,另一个开口为光口306,用于外部光纤接入以连接内部光纤,电路板301、光收发器件304等光电器件位于包裹腔体中。
上壳体302及下壳体303一般采用金属材料,利于实现电磁屏蔽以及散热。解锁手柄307位于包裹腔体/下壳体303的外壁,拉动解锁手柄307的末端可以在使解锁手柄307在外壁表面相对移动;光模块插入上位机时由解锁手柄307将光模块固定在上位机的光模块接口401里,通过拉动解锁手柄307以解除光模块与上位机的卡合关系,从而可以将光模块从上位机的光模块接口401里抽出。
光模块电路板301表面的金手指3011具有I2C引脚,上位机与光模块之间可以采用I2C协议、通过I2C引脚进行信息传递。上位机可以向光模块写入信息,具体地,上位机可以将信息写入光模块的寄存器中;光模块无法向上位机写入信息,当光模块需要将信息提供给上位机时,光模块会将信息写入光模块中的预设寄存器中(如本实施例设置的发送状态寄存器、数据发送失败寄存器等),由上位机对该寄存器进行读取,光模块的寄存器一般集成在光模块的微处理器(MCU)3012中,也可以独立设置在光模块的电路板301上。
进一步的,该光模块在工作过程中,本实施例设置其可以根据来自光线路终端的数据电信号发出相对高频的数据光信号,以保持光线路终端原有的对外数据传输业务,同时,该光模块还根据非数据电信号(即不是用于正常传输业务的信号)发出相对低频的操控光信号,以向对端的光模块发出操控信息,实现在不打断正常业务的同时向远端系统传递操控数据,例如,利用低频消息通道传送系统升级包实现远端系统的在线升级、上报DDM(数字诊断监控,Digital Diagnostic Monitoring)信息等。
由于该光模块及对端的光模块均采用一根光纤对外连接,所以数据光信号及操控光信号混合在同一束光中,以采用同一根光纤传输,为了对不同信号进行区分,本实施例设置数据光信号与操控光信号具有不同的频率。在其实现方式上,可以通过对光模块中的微处理器3012和光收发器件304的设计,使微处理器3012控制光收发器件304,在其发出的高频信号(数据光信号)上叠加有低频调制信号(操控光信号),本实施例称低频调制信号为低频消息通道。例如,在10Gbps或25Gbps信号上叠加低频调制信号50Kbps,其中,10Gbps或25Gbps信号为正常的业务信号,增加的另一路50Kbps的低频信号执行其它操控功能。
然而,目前向远端系统传递的操控数据,通常需要传输的数据量较大,而现有的低频消息通道一次性传输数据字节数量有限。对此,本实施例提出了将需要传输的数据包采用先拆分发送后接收整合的方式进行,而采用这种方式时,发送端需要保证的一点就是只有在接收端上位机读取完每次发送端发送的数据后,发送端上位机才能进行下一次数据的使能发送。要想满足上述需求,需要两端系统(涉及发送端上位机、发送端光模块、接收端上位机、接收端光模块)建立一种交互体系,用于实现这种数据包的拆分发送、接收整合的数据传输方式。基于此,本实施例通过在发送端的光模块中建立发送状态标志位以实现以上发送功能。
基于上述实现原理,下面将结合附图,对本实施例提供的数据传输方法进行详细介绍。图8为本实施例提供的一种数据发送方法的基本流程示意图。如图8所示,该方法具体包括如下步骤:
S101:查询发送状态标志位是否已被改为第一预设值。
本实施例在光模块的寄存器中设置发送状态标志位g_MessageSendEnble,并且,对于该标志位的使能方式,光模块可以将其由第一预设值改为第二预设值、如由1改为0,光模块所连接上位机可以将其由第二预设值改为第一预设值、如由0改为1,当然,如果实际需要光模块也可以将其由第二预设值改为第一预设值。另外,光模块初始上电时,发送状态标志位g_MessageSendEnble默认值为第二预设值。
光模块所接入的上位机(可以简称为发送端上位机)可以将需要发送的数据包分割为N个小型数据包,利用光模块的低频消息通道将这N个小型数据包依次发送出去。并且,上位机每次使能光模块进行数据发送前,首先查询该发送状态标志位g_MessageSendEnble,其中,可以利用光模块电路板表面的金手指上的I2C引脚,通过I2C通讯方式查询发送光模块内的寄存器。当该标志位为第二预设值时、如为0时,表明光模块处于空闲状态,可以使能光模块进行数据发送,此时上位机需将该标志位设为第一预设值、如置为1,用于使能光模块进行数据发送;而当该标志位为第一预设值时,上位机不能进行新的数据发送,直到模块内部将该标志位改为第二预设值,才表明上位机可以使能进行下一次数据的发送
进一步的,光模块中的MCU可以通过检测上位机是否有更改发送状态标志的动作;如果检测上位机有更改发送状态标志的动作,则查询该上位机写入至发送状态标志位寄存器的数值是否为第一预设值。如果发送状态标志位已被上位机改为第一预设值,则执行步骤S02;否则,则可以在预设时间间隔后继续查询该发送状态标志位。
其中,对于该发送状态标志位g_MessageSendEnble的查询方式,光模块和上位机均可以采用轮询的方式查询发送状态标志位,例如上位机查询到该标志位为第一预设值时,则在预设时间间隔后、如1ms,再查询该标志位。
S102:如果为第一预设值,则将数据重传标志位由第四预设值改为第三预设值。
其中,在光模块的寄存器中设置数据重传标志位g_SendMessageAble,当发送状态标志位g_MessageSendEnble被上位机改为第一预设值时,则光模块会将该数据重传标志位由第四预设值改为第三预设值、如置1,以启动数据重传机制。
S103:将存储在预设数据存储空间中的数据通过低频信息通道发送出去。
当上位机检测到发送状态标志位g_MessageSendEnble为第二预设值时,则将需要发送的数据写入光模块内的预设数据存储空间中,并且将该标志位设为第一预设值,以使能光模块进行数据发送,并在之后不断轮询该发送状态标志位用于确定数据是否被正确发送。其中,光模块中多个用于存储数据的寄存器组成上述预设数据存储空间,当然,上述预设数据存储空间还可以为某一个寄存器中开辟的用于存储数据的区域。
进一步的,因为数据并不是每次都填充满寄存器中所有的位置,本实施例还在光模块内还设有发送数据长度寄存器g_SendLength,上位机将本次需要发送的数据长度写入该寄存器。同时,由于数据有默认的起始位置,因此,利用默认起始位置及数据长度一起表征数据在寄存器中的存储位置,可以有效保证数据传输的正确性。
然后,光模块则将存储在该预设数据存储空间中所存储数据通过低频信息通道发送给接收端光模块,在光模块发送数据期间,发送状态标志位g_MessageSendEnble保持为第一预设值。需要说明的是,在实际应用中,光模块所发送的数据还可以是,根据上位机写入的初始数据,光模块进行相应处理后,所得到的数据。另外,当光模块内设有数据长度寄存器g_SendLength时,则根据发送数据长度以及数据默认起始位置,将预设数据存储空间中的数据通过低频消息通道发送出去。
另外,所发送数据的编码格式可以包括数据帧头、数据长度、命令代号、有效数据、校验和以及数据帧尾。接收端根据数据长度可以指示接收端上位机按照该长度值读取光模块寄存器中所存储的数据;利用命令代号可以指示本次发送数据的用途;接收端根据校验和可以校验所接收的数据包中的有效数据的正确性。
S104:判断是否在预设时间内接收到所述数据已被接收的响应消息。
本实施例以发送的数据被接收端光模块所接入的上位机(可以简称为接收端上位机)读取,以实现接收端系统升级或上报数字诊断信息等功能为例进行介绍。其中,为使接收端光模块可以通知其所接入的上位机读取光模块通过低频消息通道所接收的数据,在接收端光模块中设置接收状态标志位g_MessageReceState。当接收端光模块通过低频信息通道接收到数据,并且对数据校验正确后,则将接收状态标志位设为第一预设值、如置1接收状态标志位g_MessageReceState,用于告知接收端上位机已经接收到了新的数据,同时还可以向发送端光模块回传数据已被正确接收的响应消息。
其中,上述预设时间可以利用光模块MCU中的定时器进行计时,当数据发送出去之后,则其开始计时并对应设定一个时间阈值,其中,如果到达设定的时间阈值时还未接收到数据已被接收的响应消息,则先查看查看数据重传标志位是否为第三预设值,如果是,则执行步骤S105。否则,如果在其计时还未达到设定的时间阈值时,就接收到所述数据已被接收的响应消息则执行步骤S107。
S105:判断已发送所述数据的次数是否未超过预设次数阈值。
如果两者均是,则返回执行步骤S103,即再次将所述存储在预设数据存储空间中的数据通过低频信息通道发送出去。否则,如果已发送所述数据的次数超过预设次数阈值,则执行步骤S106。
S106:如果已发送所述数据的次数超过预设次数阈值,则将所述数据重传标志位由第三预设值改为第四预设值、将所述发送状态标志位由第一预设值改为第二预设值。
表明在发送端光模块重复发送数据多次后,接收端光模块依然没有接收到正确数据,表明该次光模块之间的数据传输(又称模块底层数据传输)彻底失败,进而将数据重传标志位g_SendMessageAble由第三预设值改为第四预设值、将发送状态标志位g_MessageSendEnble由第一预设值改为第二预设值,用于结束光模块的数据重传机制并使其内部各寄存器处于初始化状态。
进一步的,本实施例还在寄存器中设置数据发送失败标志位g_ReSendFail,当发送端重复发送数据消息多次后,接收端光模块依然没有接收到正确数据时,即未接收到接收端返回的数据被正确接收的消息,还则将该数据发送失败标志位g_ReSendFail设为第一预设值,用于告知发送端上位机数据发送失败。同时,发送端上位机会轮询查询该标志位的数值,当检测到该标志位第一预设值时,可以将该标志位第一预设值改为第二预设值、如由1置0,并重新返回步骤S101,由发送端上位机发起数据重传。
S107:如果接收到所述数据已被接收的响应消息,则将所述数据重传标志位由第三预设值改为第四预设值。
当收到接收端光模块回传的数据已被接收的响应消息后无需校验消息内容,就可以判断出接收端模块已经接收到了正确数据,进而将数据重传标志位由第三预设值改为第四预设值,以结束数据重传。
本实施例通过设置光模块设置发送状态标志位的方式,具体的,在本步骤之后执行步骤S108,等待接收端光模块回传数据已被读取的响应消息。
S108:判断是否接收到所述数据已被读取的响应消息。
接收端上位机可以通过轮询的方式查询到接收端光模块中的接收状态标志位g_MessageReceState设为第一预设值后,会立马读取该次数据,并在读取完成后将该接收状态标志位由第一预设值改为第二预设值。该接收状态标志位由第一预设值改为第二预设值的操作,会激发接收端光模块向发送端光模块回送本次数据已被读取的响应消息。
如果接收到接收端光模块发送的数据已被接收端读取的响应消息,则执行步骤S109。否则,则可以执行步骤S110。
S109:如果接收到所述数据已被读取的响应消息,则将所述发送状态标志位由第一预设值改为第二预设值。
光模块将发送状态标志位由第一预设值改为第二预设值,用于告知其所接入的上位机本次数据发送完成,可以进行下一次的数据发送。
进一步的,为了防止长时间的等待接收端光模块回传消息,本实施例还设置光模块内部主动清零机制当然,还可以设置其它清零机制、如由上位机清零。其中,模块内部主动清零可以包括如下步骤:
S110:如果未接收到所述数据已被读取的响应消息,则判断所述数据的已发送时长是否超过预设时长阈值。
其中,该预设时长阈值可以在接收到接收端光模块回传的数据已被接收端光模块正确接收的响应消息之后开始计时,并设定一定的时长阈值作为该预设时长阈值。也可以在启动数据发送之后、或者第一次将数据发送出去之后则开始计时,本实施例在此不做具体限定。如果超过预设时长阈值,则执行步骤S111,否则,则继续等待接收端光模块回传消息。
S111:如果超过预设时长阈值,将所述发送状态标志位由第一预设值改为第二预设值。
另外,还可以生成生成接收端上位机故障的标识信息,发送端光模块所接入的上位机接收到该标识信息后,可以使能数据的再次发送或者生成远端上位机故障的通知等。
本实施例利用在光模块内所设置的发送状态标志位,可以避免发送的数据未被接收端的上位机读取之前就被新数据覆盖的问题,从而使得系统升级包、上报诊断信息等操控信息数据,可以利用拆分发送、接收整合的方式完成数据的正确传递,进而使得远端的光模块不仅受控于其接入的上位机还可以实现对其远程操控,同时还可以通过对该光模块的远程操控实现对其接入的上位机的远程操控。其次,本实施例还在光模块内部设置数据重传机制,利用发送状态标志位和数据重传标志位的相互配合,实现在模块层面进行数据错误重传能,不仅减轻由上位机实现该机制时的负担,还可以有效提高整体系统利用消息通道传输数据时的效率。
进一步的,在数据重传过程中,为方便对数据传输过程监控,本实施例还在光模块内部设置发送次数寄存器sendcounter以及发送间隔周期寄存器Runcounter等。图9为本实施例提供的另一种数据发送方法的基本流程示意图。如图9所示,该方法具体包括如下步骤:
S201:查询发送状态标志位是否已被改为第一预设值。
其中,在光模块的寄存器中设置发送状态标志位g_MessageSendEnble。如果查询到发送状态标志位已被上位机改为第一预设值,则执行步骤S202,以启动数据重传机制;否则,则可以在预设时间间隔后继续查询该发送状态标志位。
S202:如果为第一预设值,将数据重传标志位由第四预设值改为第三预设值。
其中,在光模块的寄存器中设置数据重传标志位g_SendMessageAble,当发送状态标志位g_MessageSendEnble被上位机改为第一预设值时,则光模块会将该数据重传标志位由第四预设值改为第三预设值、如置1,以启动数据重传机制。
S203:判断发送次数寄存器的计数值是否小于第一预设阈值。
本实施例在光模块内部设置发送次数寄存器sendcounter和发送间隔周期寄存器Runcounter,其中,光模块初始上电时,这两个寄存器均为默认值0。当光模块每一次将数据通过低频消息通道发送后,发送次数寄存器的计数值都会累加1,另外,第一预设阈值可以根据经验值设定,如3次、5次等。
同时,Runcounter寄存器相当于计时器开始计时,以对所述数据的已发送时长进行计时其中,在数据重传标志位为第三预设值期间,每经过一个软件周期,该寄存器就加1,即本实施例设置在该寄存器的计数值加1之前会先查看数据重传标志位是否为第三预设值,如果是,才会将计数值加1,否则,则可以将该寄存器的计数值归零。当然,也可以在其计数值将要达到预设阈值时,先查看数据重传标志位是否为第三预设值,只是上述在每个软件周期查看数据重传标志位方式与该方式相比,每个软件周期查看数据重传标志位方式,可以更早的使其可以在下次使用时处于初始化状态,并更早的结束数据重传。并且,本实施例利用发送间隔周期寄存器进行计时,与上述利用光模块MCU中的定时器进行计时的方式相比,需要MCU的数据处理量更小。
当发送次数寄存器的计数值大于或等于第一预设阈值时,则执行步骤S204;否则,则执行步骤S205。需要说明的是,如果是光模块首次发送数据,可以跳过该步骤S203,而直接执行步骤S205。
S204:如果不小于第一预设阈值,则将数据重传标志位由第三预设值改为第四预设值、将发送状态标志位由第一预设值改为第二预设值、将发送次数寄存器和发送间隔周期寄存器的计数值归零。
如果大于或等于第一预设阈值,则说明则表明在发送端光模块重复发送数据消息多次后,接收端光模块依然没有接收到正确数据,表明该次光模块之间的数据传输彻底失败,进而将数据重传标志位g_SendMessageAble由第三预设值改为第四预设值、将发送状态标志位g_MessageSendEnble由第一预设值改为第二预设值以及将发送次数寄存器sendcounter和Runcounter寄存器的计数值归零,用于结束光模块的重传机制并使其内部各寄存器处于初始化状态。
另外,还可以本实施例还在光模块寄存器中设置数据发送失败标志位g_ReSendFail,当发送端重复发送数据消息多次后,接收端依然没有接收到正确数据时,还则将该数据发送失败标志位g_ReSendFail设为第一预设值,用于告知上位机数据发送失败。
S205:如果小于第一预设阈值,则将存储在预设数据存储空间中的数据通过低频信息通道发送出去,并将发送次数寄存器的计数值累加1。
上位机可以将需要发送的数据写入光模块内的预设数据存储空间,还可以将发送数据长度写入光模块内的发送数据长度寄存器g_SendLength中。其中,当光模块内设有数据长度寄存器g_SendLength时,则根据发送数据长度以及数据默认起始位置,将预设数据存储空间中的数据通过低频消息通道发送出去。
S206:判断是否接收到所述数据已被接收的响应消息。
如果未接收到接收端光模块回传的数据已被接收的消息,则执行步骤S207;否则,则执行步骤S208。
S207:如果未接收到所述数据已被接收的消息,则判断发送间隔周期寄存器的计数值是否大于第二预设阈值。
其中,该第二预设阈值可以根据需求设置,但是要大于接收端光模块用于数据接收校验和回传消息所用的时间。如果大于第二预设阈值,则返回步骤S203,即进行数据重新发送,并将Runcounter寄存器清0;否则,则该发送间隔周期寄存器Runcounter继续计数并继续等待接收端光模块回传数据已被接收的消息。
本实施例通过设置Runcounter寄存器对上述数据的已发送时长进行计时,与利用MCU中的定时器的方式相比,所需要MCU的数据处理量更小。
S208:如果接收到所述数据已被接收的消息,则将所述数据重传标志位由第三预设值改为第四预设值。
当收到接收端光模块回传的数据已被接收的消息后无需校验消息内容,就可以判断出接收端模块已经接收到了正确数据,此时便可以将数据重传标志位g_SendMessageAble由第三预设值改为第四预设值,用于结束光模块间的数据重传机制,同时还可以将Runcounter、sendcounter寄存器进行清,使其可以在下次使用时处于初始化状态。然后,执行步骤S209,等待接收端光模块回传数据已被读取的响应消息。
S209:判断是否接收到所述数据已被读取的响应消息。
其中,如果是,则执行步骤S210,否则,如果超过预设时间未接收到所述数据已被读取的响应消息,则执行步骤S211。当然,还可以按照上述实施例一的方式执行。
S210:如果接收到所述数据已被读取的响应消息,则将所述发送状态标志位由第一预设值改为第二预设值。
S211:如果超过预设时间未接收到所述数据已被读取的响应消息,将发送状态标志位由第一预设值改为第二预设值,并生成接收端上位机故障的信息。
同时,还可以将发送次数寄存器sendcounter以及发送间隔周期寄存器Runcounter清理,以待下一次的数据发送。
基于与上述方法同样的发明构思,本实施例还提供了一种数据发送装置,该装置主要包括处理器和存储器,其中:
存储器,用于存储程序代码;处理器,用于读取所述存储器中存储的程序代码,并执行:查询发送状态标志位是否已被改为第一预设值;如果为第一预设值,则将数据重传标志位由第四预设值改为第三预设值;将存储在预设数据存储空间中的数据通过低频信息通道发送出去;判断是否在预设时间内接收到所述数据已被接收的响应消息;如果接收到所述数据已被接收的响应消息,则将所述数据重传标志位由第三预设值改为第四预设值;如果未接收到所述数据已被接收的响应消息,则判断所述数据重传标志位是否为第一预设值、已发送所述数据的次数是否未超过预设次数阈值;如果均为是,则再次将所述存储在预设数据存储空间中的数据通过低频信息通道发送出去的方法;如果已发送所述数据的次数超过预设次数阈值,则将所述数据重传标志位由第三预设值改为第四预设值、将所述发送状态标志位由第一预设值改为第二预设值的数据发送方法。
本实施例还提供了一种光模块,其具体结构可以参考图3至图7中的结构以及对应的文字描述,同时,该其MCU中设有上述实施例提供的数据发送装置。
需要说明的是,本实施例提高的发送端光模块、接收端光模块以及其对应的上位机,只是从使能数据发送的角度所提出的,在实际使用中,一个光模块既可以作为发送端光模块、也可以作为接收端光模块使用,另外,不同的标志位的第一预设值和第二预设值其具体表示方式可以相同也可以不同。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据发送方法,其特征在于,所述方法包括:
查询发送状态标志位是否已被改为第一预设值;
如果为第一预设值,则将数据重传标志位由第四预设值改为第三预设值;
将存储在预设数据存储空间中的数据通过低频信息通道发送出去;
判断是否在预设时间内接收到所述数据已被接收的响应消息;
如果接收到所述数据已被接收的响应消息,则将所述数据重传标志位由第三预设值改为第四预设值;
如果未接收到所述数据已被接收的响应消息,则判断已发送所述数据的次数是否未超过预设次数阈值;
如果未超过预设次数阈值,则再次将所述存储在预设数据存储空间中的数据通过低频信息通道发送出去。
2.根据权利要求1所述的方法,其特征在于,判断已发送所述数据的次数是否未超过预设次数阈值之后,所述方法还包括:
如果超过预设次数阈值,则将所述数据重传标志位由第三预设值改为第四预设值、将所述发送状态标志位由第一预设值改为第二预设值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果已发送所述数据的次数超过预设次数阈值,则生成光模块之间数据发送失败的标识信息。
4.根据权利要求1至3任一所述的方法,其特征在于,如果接收到所述数据已被接收的响应消息,则将所述数据重传标志位由第三预设值改为第四预设值之后,所述方法还包括:
判断是否接收到所述数据已被读取的响应消息;
如果接收到所述数据已被读取的响应消息,则将所述发送状态标志位由第一预设值改为第二预设值。
5.根据权利要求4所述的方法,其特征在于,判断是否接收到所述数据已被读取的响应消息之后,所述方法还包括:
如果未接收到所述数据已被读取的响应消息,则判断所述数据的已发送时长是否超过预设时长阈值;
如果超过预设时长阈值,将所述发送状态标志位由第一预设值改为第二预设值。
6.根据权利要求1所述的方法,其特征在于,在光模块内部设置有用于对所述数据的发送次数进行计数的发送次数寄存器,其中:
每次将存储在预设数据存储空间中的数据通过低频信息通道发送出去之后,则将所述发送次数寄存器的计数值累加1;以及,
将所述数据重传标志位由第三预设值改为第四预设值之后,则将所述发送次数寄存器的计数值进行清零。
7.根据权利要求1或6所述的方法,其特征在于,在光模块内部设置有用于对所述数据的已发送时长进行计时的发送间隔周期寄存器,其中:
每次将所述存储在预设数据存储空间中的数据通过低频信息通道发送出去之后,则所述发送间隔周期寄存器开始计数,其中,当所述数据重传标志位为第三预设值时,所述发送间隔周期寄存器的计数值每经过一个软件周期就会累加1;以及,
判断是否在预设时间内接收到所述数据已被接收的响应消息,包括:
判断是否在所述发送间隔周期寄存器的计数值达到预设阈值之前,接收到所述数据已被接收的响应消息。
8.根据权利要求1所述的方法,其特征在于,将存储在预设数据存储空间中的数据通过低频信息通道发送出去,包括:
根据数据长度寄存器中的发送数据长度,将存储在预设数据存储空间中的数据通过低频信息通道发送出去。
9.一种数据发送装置,其特征在于,所述装置包括处理器和存储器,其中:
所述存储器,用于存储程序代码;
所述处理器,用于读取所述存储器中存储的程序代码,并执行如权利要求1至8中任一项所述的方法。
10.一种光模块,其特征在于,所述光模块包括光发送组件、印制电路板、以及设置在所述印制电路板上的MCU,其中:
所述MCU中设有权利要求9所述的数据发送装置;
所述光发送组件通过印制电路板与MCU连接,所述MCU可以控制光发送组件发送加载有低频信息通道的光信号。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910705971.9A CN110430025B (zh) | 2019-08-01 | 2019-08-01 | 一种数据发送方法、装置及光模块 |
PCT/CN2020/085066 WO2021017527A1 (zh) | 2019-08-01 | 2020-04-16 | 一种光模块数据发送与接收方法、装置及光模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910705971.9A CN110430025B (zh) | 2019-08-01 | 2019-08-01 | 一种数据发送方法、装置及光模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110430025A true CN110430025A (zh) | 2019-11-08 |
CN110430025B CN110430025B (zh) | 2021-12-14 |
Family
ID=68413659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910705971.9A Active CN110430025B (zh) | 2019-08-01 | 2019-08-01 | 一种数据发送方法、装置及光模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110430025B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035259A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 一种数据处理系统、方法及服务器群 |
WO2021017527A1 (zh) * | 2019-08-01 | 2021-02-04 | 青岛海信宽带多媒体技术有限公司 | 一种光模块数据发送与接收方法、装置及光模块 |
CN113364523A (zh) * | 2020-03-06 | 2021-09-07 | 青岛海信宽带多媒体技术有限公司 | 一种数据发送方法及光模块 |
CN113364524A (zh) * | 2020-03-06 | 2021-09-07 | 青岛海信宽带多媒体技术有限公司 | 一种数据接收方法及光模块 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621368A (zh) * | 2009-08-13 | 2010-01-06 | 北京必创科技有限公司 | 一种重传数据包的方法、装置及系统 |
CN101753277A (zh) * | 2008-12-16 | 2010-06-23 | 中兴通讯股份有限公司 | 无线链路控制层报文状态报告的发送方法 |
CN102137027A (zh) * | 2011-05-03 | 2011-07-27 | 厦门市美亚柏科信息股份有限公司 | 数据的可靠传输方法和装置 |
US20120251100A1 (en) * | 2011-03-29 | 2012-10-04 | Todd Rope | Operational Status Flag Generation in an Optical Transceiver |
US20130177308A1 (en) * | 2012-01-11 | 2013-07-11 | Todd Rope | Operational State Information Generation in an Optical Transceiver |
CN106533976A (zh) * | 2016-11-07 | 2017-03-22 | 深圳怡化电脑股份有限公司 | 一种数据包处理方法及装置 |
CN107707640A (zh) * | 2017-09-25 | 2018-02-16 | 深圳市盛路物联通讯技术有限公司 | 一种点对点数据传输方法和装置 |
CN109743105A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 智能网卡光模块管理方法、装置、系统及智能网卡和介质 |
-
2019
- 2019-08-01 CN CN201910705971.9A patent/CN110430025B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753277A (zh) * | 2008-12-16 | 2010-06-23 | 中兴通讯股份有限公司 | 无线链路控制层报文状态报告的发送方法 |
CN101621368A (zh) * | 2009-08-13 | 2010-01-06 | 北京必创科技有限公司 | 一种重传数据包的方法、装置及系统 |
US20120251100A1 (en) * | 2011-03-29 | 2012-10-04 | Todd Rope | Operational Status Flag Generation in an Optical Transceiver |
CN102137027A (zh) * | 2011-05-03 | 2011-07-27 | 厦门市美亚柏科信息股份有限公司 | 数据的可靠传输方法和装置 |
US20130177308A1 (en) * | 2012-01-11 | 2013-07-11 | Todd Rope | Operational State Information Generation in an Optical Transceiver |
CN106533976A (zh) * | 2016-11-07 | 2017-03-22 | 深圳怡化电脑股份有限公司 | 一种数据包处理方法及装置 |
CN107707640A (zh) * | 2017-09-25 | 2018-02-16 | 深圳市盛路物联通讯技术有限公司 | 一种点对点数据传输方法和装置 |
CN109743105A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 智能网卡光模块管理方法、装置、系统及智能网卡和介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021017527A1 (zh) * | 2019-08-01 | 2021-02-04 | 青岛海信宽带多媒体技术有限公司 | 一种光模块数据发送与接收方法、装置及光模块 |
CN113364523A (zh) * | 2020-03-06 | 2021-09-07 | 青岛海信宽带多媒体技术有限公司 | 一种数据发送方法及光模块 |
CN113364524A (zh) * | 2020-03-06 | 2021-09-07 | 青岛海信宽带多媒体技术有限公司 | 一种数据接收方法及光模块 |
CN113364524B (zh) * | 2020-03-06 | 2022-06-28 | 青岛海信宽带多媒体技术有限公司 | 一种数据接收方法及光模块 |
CN113364523B (zh) * | 2020-03-06 | 2022-06-28 | 青岛海信宽带多媒体技术有限公司 | 一种数据发送方法及光模块 |
CN112035259A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 一种数据处理系统、方法及服务器群 |
Also Published As
Publication number | Publication date |
---|---|
CN110430025B (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110430017A (zh) | 一种数据发送方法、装置及光模块 | |
CN110430025A (zh) | 一种数据发送方法、装置及光模块 | |
CN110430016A (zh) | 一种数据接收方法、装置及光模块 | |
CN110380785A (zh) | 一种数字诊断信息获取方法、装置及光模块 | |
US7042903B2 (en) | Conveying protocol units for portable electronic objects via a protocol for microcomputer peripherals | |
CN100366029C (zh) | 通信控制器、主机端控制器、通信设备、通信系统和方法 | |
US20200265004A1 (en) | Serial connection between management controller and microcontroller | |
CN107360177B (zh) | 一种基于udp的报文传输方法及装置 | |
CN100437456C (zh) | 电子装置及其控制方法、主机装置及其控制方法 | |
EP0130628A2 (en) | Real time transparent serial/echoplex interface apparatus | |
US20130282807A1 (en) | Protocol for communication | |
CN110213020A (zh) | 基于蓝牙外设的数据传输方法、终端、系统以及装置 | |
WO2021169463A1 (zh) | 一种数据发送方法、接收方法及光模块 | |
CN108563595A (zh) | 一种远距离传输usb数据的系统及方法 | |
CN102355378A (zh) | 一种载波通道测试系统 | |
CN101902394B (zh) | 基于串行通信的信号深海长距离传输方法 | |
KR20090089535A (ko) | 유비쿼터스 홈 헬스케어 서비스를 위한 통신 방법 | |
WO2021017527A1 (zh) | 一种光模块数据发送与接收方法、装置及光模块 | |
CN109726604B (zh) | 一种接触卡与终端之间的数据交换通信方法 | |
SE9900304L (sv) | Ett förfarande som möjliggör kommunikation mellan en elektronisk anordning och ett batteri, en apparat som innefattar en elektronisk anordning och ett batteri, samt ett batteri som möjliggör kommunikation | |
CN113760808A (zh) | 一种电源初次级串口通讯方法、系统、存储介质 | |
CN107393282A (zh) | 一种多功能数据采集器 | |
CN107707599A (zh) | 一种物联网通信设备传输文件的方法及装置 | |
CN108509365B (zh) | 一种dbi的数据传输方法及系统 | |
AMK Berlin et al. | ACR/NEMA digital image interface standard (an illustrated protocol overview) |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |