CN111431631B - 一种双向通信方法、接收设备、发送设备及通讯*** - Google Patents
一种双向通信方法、接收设备、发送设备及通讯*** Download PDFInfo
- Publication number
- CN111431631B CN111431631B CN202010208586.6A CN202010208586A CN111431631B CN 111431631 B CN111431631 B CN 111431631B CN 202010208586 A CN202010208586 A CN 202010208586A CN 111431631 B CN111431631 B CN 111431631B
- Authority
- CN
- China
- Prior art keywords
- decoding
- minimum
- pulse
- receiving
- pulses
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B14/00—Transmission systems not characterised by the medium used for transmission
- H04B14/02—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
- H04B14/04—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using pulse code modulation
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本发明涉及通讯领域,公开一种双向通信方法、接收设备、发送设备及通讯***,方法包括:接收发送设备发送的头码,以根据头码进入唤醒状态;接收发送设备发送的学习码,以根据学习码提取最小解码脉冲;接收发送设备根据预定编码模式和最小编码脉冲对目标内容字节进行编码得到的数据帧;根据预定解码模式及最小解码脉冲,解码数据帧,以得到目标内容字节。从而接收设备根据头码进入唤醒状态,避免接收设备在睡眠唤醒,出现与发送设备在通信时发生异常;接收设备根据最小解码脉冲解码目标内容字节,避免接收设备与发送设备的编码脉冲不一致而造成的解码失效,改善设备间通讯的稳定性,提高解码的准确性。
Description
技术领域
本发明涉及通讯领域,特别是涉及一种双向通信方法、接收设备、发送设备及通讯***。
背景技术
目前,在各类芯片设计中,随着芯片功能的不断扩展,设备与设备之间的通讯也越来越多,这不可避免的使各芯片上进行各种信号指令的通讯方式也随之而增加。
一般的,传统设备之间通过标准通讯接口UART、SPI等进行通讯,此类通讯方式均在芯片中配备有对应标准接口的硬件资源才能实现,且该通讯方式均占用两个或两个以上的接口资源。
发明内容
本发明实施例的一个目的旨在提供一种双向通信方法、接收设备、发送设备及通讯***,其能够提高解码的准确性。
为了解决上述技术问题,本发明提供以下技术方案:
在第一方面,本发明实施例提供一种双向通信方法,应用于通讯***中的接收设备,所述通讯***还包括发送设备,所述接收设备基于单数据线与所述发送设备通信,所述方法包括:
接收所述发送设备发送的头码,以根据所述头码进入唤醒状态;
接收所述发送设备发送的学习码,以根据所述学习码提取最小解码脉冲,所述最小解码脉冲为所述发送设备的最小编码脉冲在所述接收设备的对应值;
接收所述发送设备根据预定编码模式和所述最小编码脉冲对目标内容字节进行编码得到的数据帧;
根据预定解码模式及所述最小解码脉冲,解码所述数据帧,以得到所述目标内容字节。
可选地,所述头码为固定时长的低电平,所述接收所述发送设备发送的头码,以根据所述头码进入唤醒状态包括:
在处于睡眠状态的情况下,当首次检测到下降沿时,确定接收到所述发送设备发送的头码,唤醒所述接收设备。
可选地,所述学***组成,所述接收所述发送设备发送的学习码,以根据所述学习码提取最小解码脉冲包括:
当首次检测到上升沿时,确定接收到所述发送设备发送的学习码,记录所述学习码的脉冲宽度,并将所述脉冲宽度与所述固定数量之商作为最小解码脉冲。
可选地,所述最小解码脉冲包括最小正解码脉冲或最小负解码脉冲,所述预定解码模式包括变长式解码模式或定长式解码模式;
在所述变长式解码模式下,相同两个所述最小正解码脉冲或相同的两个所述最小负解码脉冲皆可代表二进制1,一个所述最小正解码脉冲或一个所述最小负解码脉冲可代表二进制0;或者,
在所述定长式解码模式下,按照次序,相同两个所述最小正解码脉冲与一个所述最小负解码脉冲组成的解码脉冲集合可代表二进制1,一个所述最小正解码脉冲与相同两个所述最小负解码脉冲组成的解码脉冲集合可代表二进制0。
可选地,还包括:
当检测到发送任务时,在解码所述内容字节后,处理所述发送任务。
第二方面,本发明实施例提供一种双向通信方法,应用于通讯***中的发送设备,所述通讯***还包括接收设备,所述发送设备基于单线与所述接收设备通信,所述方法包括:
发送头码至所述接收设备,使得所述接收设备进入唤醒状态;
发送学习码至所述接收设备,使得所述接收设备根据所述学习码,提取最小解码脉冲,其中,所述最小解码脉冲为所述发送设备的最小编码脉冲在所述接收设备的对应值;
按照预定编码模式,将目标内容字节编码为由若干个所述最小编码脉冲组成的数据帧;
发送所述数据帧至所述接收设备,使得所述接收设备按照预定解码模式及所述最小解码脉冲,解码所述数据帧以得到所述目标内容字节。
可选地,所述最小编码脉冲包括最小正编码脉冲或最小负编码脉冲,所述预定编码模式包括变长式编码模式或定长式编码模式;
在所述变长式编码模式下,相同两个所述最小正编码脉冲或相同的两个所述最小负编码脉冲皆可代表二进制数1,一个所述最小正编码脉冲或一个所述最小负编码脉冲可代表二进制数0;或者,
在所述定长式编码模式下,按照次序,相同两个所述最小正编码脉冲与一个所述最小负编码脉冲组成的编码脉冲集合可代表二进制数1,一个所述最小正编码脉冲与相同两个所述最小负编码脉冲组成的编码脉冲集合可代表二进制数0。
第三方面,本发明实施例提供一种接收设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一项所述的双向通信方法。
第四方面,本发明实施例提供一种发送设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一项所述的双向通信方法。
在第五方面,本发明实施例提供一种通讯***,包括:
上述所述的接收设备;和
上述所述的发送设备,所述发送设备基于单线与所述接收设备通信。
相对于传统技术,在本发明各个实施例提供的双向通信方法、接收设备、发送设备及通讯***,接收发送设备发送的头码,以根据头码进入唤醒状态;接收发送设备发送的学习码,以根据学习码提取最小解码脉冲,最小解码脉冲为发送设备的最小编码脉冲在接收设备的对应值;接收发送设备根据预定编码模式和最小编码脉冲对目标内容字节进行编码得到的数据帧;根据预定解码模式及最小解码脉冲,解码数据帧,以得到目标内容字节。从而接收设备根据头码进入唤醒状态,避免接收设备在睡眠唤醒,出现与发送设备在通信时发生异常;接收设备根据该学习码提取最小解码脉冲,根据最小解码脉冲解码目标内容字节,避免接收设备与发送设备的编码脉冲不一致而造成的解码失效,改善设备间通讯的稳定性,提高解码的准确性,本方法有效地实现单线双向通讯的目的。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例提供的一种通讯***的结构框图;
图2为本发明实施例提供的又一种通讯***的结构框图;
图3为本发明实施例提供的一种单线通讯方法的流程示意图;
图4为本发明实施例提供的一种数据接收方法的流程示意图;
图5为本发明实施例提供的一种数据格式示意图;
图6为本发明实施例提供一种数据发送方法的流程示意图;
图7本发明实施例提供一种数据编码格式的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明实施例提供的一种通讯***的结构框图,该通讯***100包括第一设备10和第二设备20,其中,第一设备10基于单线与第二设备20通信。在通信过程中,第一设备10与第二设备20互为接收和/或发送设备,例如,若第一设备10配置为发送设备时,第二设备20则配置为接收设备;若第一设备10配置为接收设备时,第二设备20则配置为发送设备。
第一设备10包括至少一个处理器以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下方法实施例所述的数据接收和/或发送方法。
第二设备20包括至少一个处理器以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下方法实施例所述的数据接收和/或发送方法。
其中,上述处理器和存储器可以通过总线或者其他方式连接。所述存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的数据接收和/或发送方法对应的程序指令。所述处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行下述方法实施例所述的数据接收和/或发送方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据下述设备实施例所述的数据发送和/或接收时所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
第一设备10与第二设备20之间通过单线通讯,其中,单线通讯是指第一设备10与第二设备20之间通过一根信号线进行双向数据传输,例如,第一设备10作为发送设备,第二设备20作为接收设备,则数据由第一设备10传输至第二设备20。或者,第一设备10作为接收设备,第二设备20作为发送设备,则数据由第二设备20传输至第一设备10。由于通讯的设备之间只采用一根信号线进行数据交互,可以理解的,在同一时间只可以有一方接收或发送数据,亦即,在某一时刻,只允许数据在一个方向上传输。在本实施例中,信号线的两端分别连接第一设备10及第二设备20的任一I/O端口以进行数据发送或接收。
在一些实施例中,第一设备10与第二设备20还可以进行远程通讯,请参阅图2,图2为本发明实施例提供的一种通讯***的结构框图,所述通讯***100还包括第一中继器30及第二中继器40,其中,第一设备10与第一中继器30单线连接,第二设备20与第二中继器40单线连接,所述第一中继器30与第二中继器40通过网络连接以进行远程通讯,从而实现了两个网络节点之间的物理信号传输,扩展了网络传输的距离。
其中,可以理解的是,通讯设备初上电时,根据功能将设备进行初始化,具体的,将进行通讯连接的I/O端口的属性配置为接收状态,即设置所述I/O端口电平为高电平,并使能所述I/O端口外部中断功能。其中,外部中断是CPU实时地处理外部事件的一种处理机制,触发外部中断的方法包括电平触发和/或跳沿触发。电平触发是指I/O端口的初始化电平为高电平,当外部中断以低电平输入时,触发该I/O端口的外部中断功能,并且,外部中断程序能清除外部中断请求源,即执行完外部事件后,该I/O端口电平将再次被设置为高电平。跳沿触发则是指CPU采样I/O端口的输入线的负跳变触发外部中断,即,外部中断以负脉冲形式输入时触发中断以使CPU处理外部事件。在本实施例中,第一设备10及第二设备20的通讯I/O端口均可支持电平触发和/或跳沿触发方法以触发外部中断。
再有,可以理解的是,上述设备在完成初始化操作后,所述设备可直接进入睡眠状态,或者,在***中预设睡眠时间阈值,若在睡眠时间阈值内均未收到事件处理指令,则设备进入睡眠状态,以减小***的功耗,也可以根据***功能决定是否进入睡眠状态。
其中,所述事件处理指令包括数据发送指令及数据接收指令,可以理解的,当接收到事件处理指令时,设备将根据事件处理指令进入对应的通讯处理流程。具体的,请参阅图3,图3为本发明实施例提供的一种单线双向通讯方法的流程示意图,包括:
S31、第一设备10及第二设备20均上电初始化,将进行通讯连接的I/O端口的属性配置为接收状态,并使能其外部中断功能;
可以理解的,第一设备10和第二设备20在完成初始化设置后,可根据需求设置***进入睡眠,并循环检测是否有接收事件和/或发送需求进行触发。
S32、当第一设备10检测到发送需求时,将设置I/O端口的属性为发送状态,并关断其外部中断功能;
可以理解的,外部中断功能用于根据外部事件触发I/O端口进入中断处理程序,当设备检测到发送需求时,由于通讯的两个设备之间是基于单线通讯,因此,在同一时刻,数据只能在一个方向上进行传输,关断I/O端口的外部中断功能,以保证数据能够成功的进行单向通讯。
S33、第一设备10根据通讯协议,开启一个定时器,在定时中断中向第二设备20发送头码脉冲信号;
通讯协议是指进行通讯的双方共同约定且必须遵循的规则,通过通讯协议使通讯设备之间进行协同工作,实现数据的交互和资源共享。具体的,在本实施例中,通过开启定时器功能,根据头码脉冲信号的脉宽设置所述定时器,当定时中断触发时,头码脉冲信号发送完毕。
S34、第二设备20检测到接收事件的触发,进入接收状态,开始接收第一设备10发送的头码脉冲信号;
可以理解的,若第二设备20当前的***处于睡眠状态,则根据所述头码脉冲信号进入唤醒状态;若第二设备20当前的***处于唤醒状态,则根据所述头码脉冲信号准备接收紧接于头码后的其他脉冲信号。在本实施例中,头码脉冲信号为固定时长的低电平信号,其中,固定时长可根据实际接收设备的时钟进行设定,固定时长的低电平信号用于保证接收设备处在睡眠状态时,通过该低电平信号将接收设备从睡眠状态进入唤醒状态,以保证第一设备与第二设备能够正常通讯。
S35、第一设备10根据通讯协议,启动定时器,在定时中断中向第二设备20发送学习码脉冲信号;
具体的,第一设备10发送学习码的方法与发送头码的方法相同,均为通过定时中断产生脉冲信号并发送,具体请参看上述发送头码的实施例。
S36、第二设备20接收第一设备10发送的学习码,根据学习码提取出最小解码脉冲;
其中,学习码用于使第二设备20学习确认第一设备10发送的最小编码脉冲在第二设备20的接收值,即所述学习码用于提取下述实施例中的最小解码脉冲。举例说明,第一设备10发送的学习码的最小编码脉冲宽度为100us,而第二设备20的时钟受其他因素的影响,接收到的学习码的最小脉冲单元为60us,若第二设备20以100us作为最小解码脉冲进行解码,则会导致数据帧的解码不成功或解码出现错误;若第二设备20以60us作为最小解码脉冲进行解码,则能将接收到的数据帧进行准确解码,亦即,60us即为第二设备20根据学习码学习确认的最小解码脉冲。从而,通过学习码学习确认最小解码脉冲,提高了设备解码的准确性。
S37、第一设备10按照预定的编码模式,发送由编码所述内容字节得到数据帧;
其中,编码是指将内容字节用一个或多个的高低脉冲按照一定的方式组合形成的脉冲单元表示,比如,二进制数“1”用“两个高电平+一个低电平”顺序组成形成的脉冲单元表示,再比如,二进制数“0”则用“一个高电平+两个低电平”顺序组成形成的脉冲单元表示。在本实施例中,提供了两种编码方式编码内容字节,编码方式包括变长式编码和/或定长式编码,具体请参看下述数据编码格式的实施例,在此不再一一赘述。
S38、第二设备20接收第一设备10发送的数据帧,并根据预定的解码模式及最小解码脉冲,解码数据帧以得到目标内容字节;
其中,解码是指将一个或多个的高低脉冲按照一定的方式进行组合后得到一个新的脉冲单元,比如,将“两个高电平+一个低电平”顺序组成形成的脉冲单元标识为二进制数“1”,再比如,将“一个高电平+两个低电平”顺序组成形成的脉冲单元标识为二进制数“0”。可以理解的,第一设备10中预定编码模式与第二设备20中预定解码模式对应,具体的,若预定编码模式为定长式编码,则预定解码模式为定长式解码;若预定编码模式为变长式编码,则预定解码模式为变长式解码。
在一些实施例中,数据帧的末端设置有结束符,所述结束符用于指示数据帧已经全部接收,当第二设备20检测到该结束符时,将接收到的数据帧进行解码。当通讯出现异常情况时,第二设备20可能无法接收完整的数据帧,在又一些实施例中,第二设备20在接收到跳沿时,启动一定时器中断,若在该定时中断中均未收到再次跳沿变化时,则在定时中断触发时,结束接收数据帧,以使第二设备20结束接收状态,并进入循环检测是否有接收事件和/或发送需求进行触发。
可以理解的,若在该帧数据接收的过程中,第二设备20检测到发送的需求,则将该发送需求入栈等待,直到接收事件完成后,执行发送需求的相关处理流程。
S39、第一设备10发送完数据帧后,将进行通讯连接的I/O端口的属性重新配置为接收状态,并进入循环检测是否有接收事件和/或发送需求进行触发。
在本发明实施例中,处于通讯的第一设备和第二设备之间通过单线连接实现双向半双工数据通讯,从而减少了对芯片引脚的占用。
具体的,当第一设备或第二设备检测到接收事件时,所述第一设备或第二设备的I/O端口的外部中断被触发,所述设备被唤醒并根据所述接收事件进入数据接收的处理程序。请参阅图4,本发明实施例提供一种双向通讯方法,应用于通讯***中的接收设备,所述通讯***还包括发送设备,所述接收设备基于单数据线与所述发送设备通信,所述方法包括:
S41、接收所述发送设备发送的头码,以根据所述头码进入唤醒状态;
S42、接收所述发送设备发送的学习码,以根据所述学习码提取最小解码脉冲,所述最小解码脉冲为所述发送设备的最小编码脉冲在所述接收设备的对应值。
其中,通讯数据包括前导码和内容字节,具体的,请参阅图5,图5为本发明实施提供的一种通讯数据格式示意图,如图5所示,所述通讯数据包括前导码和内容字节,所述前导码位于所述通讯数据包的起始处的一组字节,用于提醒所述接收设备准备接收数据帧。
具体的,所述前导码包括头码和学***,用于唤醒所述接收设备,所述固定时长可根据功能需求,取三倍或四倍的所述最小解码脉冲作为所述头码的固定时长。在实际操作时,当所述接收设备检测到所述头码的下降沿时,触发所述I/O端口的外部中断,若所述接收设备处于睡眠状态,则根据所述头码脉冲信号进入唤醒状态,具体的,将所述接收设备的时钟由低时钟转换到高时钟的稳定状态;若所述接收设备处于唤醒状态,则根据所述头码脉冲信号准备接收紧接于头码后的其他脉冲信号。其中,睡眠状态是指设备不进行任何实质性工作,并降低时钟频率以减小功耗;唤醒状态则指设备工作在正常的时钟频率,能及时的处理各种事件或指令的触发。在本实施例中,设备可由I/O端口的外部中断唤醒,由睡眠状态切换至唤醒状态。
学***组成,其中,所述固定数量为二至四中任一整数值。当所述接收设备检测到所述学习码的上升沿时,记录所述学习码的脉冲宽度,并将所述脉冲宽度与所述固定数量之商作为最小解码脉冲。
在一些实施例中,所述接收设备通过启动定时器记录所述学习码的脉冲宽度。具体的,当所述接收设备检测到所述学习码的上升沿时,启动所述定时器,直至接收到完整的所述学习码后,记录所述定时器的时间值,所述时间值对应所述学习码的脉冲宽度。
S43、接收所述发送设备根据预定编码模式和所述最小编码脉冲对目标内容字节进行编码得到的数据帧;
S44、根据预定解码模式及所述最小解码脉冲,解码所述数据帧,以得到所述目标内容字节。
所述数据帧为所述发送设备根据预定编码模式和所述最小编码脉冲编码得到并发送至接收设备,其中,所述数据帧包括起始位、数据长度、数据内容及数据校验,可以理解的,起始位用于标记所述数据帧的起始位置,数据长度则用于指示将要进行接收的数据内容的长度,数据校验则用于验证数据的完整性。可以理解的,上述数据帧的组成仅用于作为示例性说明,在具体操作时,可根据功能需求进行相应的增加或减少。
所述目标内容字节则为根据预定解码模式及所述最小解码脉冲解码后得到的。其中,所述预定解码模式包括变长式解码模式或定长式解码模式,在所述变长式解码模式下,相同两个所述最小正解码脉冲或相同的两个所述最小负解码脉冲皆可代表二进制1,一个所述最小正解码脉冲或一个所述最小负解码脉冲可代表二进制0,并且,在一个字节内,相邻的两位电平在电平方向上是相反的。在所述定长式解码模式下,按照次序,相同两个所述最小正解码脉冲与一个所述最小负解码脉冲组成的解码脉冲集合可代表二进制1,一个所述最小正解码脉冲与相同两个所述最小负解码脉冲组成的解码脉冲集合可代表二进制0。
可以理解的,所述预定解码模式与发送设备编码时采用的预定编码模式是对应的,例如,若发送设备的预定编码模式为变长式编码时,所述接收设备的预定解码模式则为变长式解码模式;同理的,若发送设备的预定编码模式为定长式编码时,所述接收设备的预定解码模式则为定长式解码模式。具体的,请参阅下述发送设备中编码模式的实施例说明。
在本发明实施例中,接收发送设备发送的头码,以根据头码进入唤醒状态;接收发送设备发送的学习码,以根据学习码提取最小解码脉冲,最小解码脉冲为发送设备的最小编码脉冲在接收设备的对应值;接收发送设备根据预定编码模式和最小编码脉冲对目标内容字节进行编码得到的数据帧;根据预定解码模式及最小解码脉冲,解码数据帧,以得到目标内容字节。从而接收设备根据头码进入唤醒状态,避免接收设备在睡眠唤醒,出现与发送设备在通信时发生异常;接收设备根据该学习码提取最小解码脉冲,根据最小解码脉冲解码目标内容字节,避免接收设备与发送设备的编码脉冲不一致而造成的解码失效,改善设备间通讯的稳定性,提高解码的准确性,本方法有效地实现单线双向通讯的目的。
当第一设备或第二设备检测到发送需求时,将所述第一设备或第二设备的I/O端口的属性设置为发送状态,并关闭I/O端口的外部中断,所述第一设备或第二设备根据发送需求进入数据发送的处理程序。请参阅图6,本发明实施例提供一种双向通讯方法,应用于通讯***中的发送设备,所述通讯***还包括接收设备,所述发送设备基于单数据线与所述接收设备通信,所述方法包括:
S61、发送头码至所述接收设备,使得所述接收设备进入唤醒状态;
S62、发送学习码至所述接收设备,使得所述接收设备根据所述学习码,提取最小解码脉冲,其中,所述最小解码脉冲为所述发送设备的最小编码脉冲在所述接收设备的对应值;
S63、按照预定编码模式,将目标内容字节编码为由若干个所述最小编码脉冲组成的数据帧;
S64、发送所述数据帧至所述接收设备,使得所述接收设备按照预定解码模式及所述最小解码脉冲,解码所述数据帧以得到所述目标内容字节。
其中,所述通讯数据的格式及相关说明请参阅上述数据接收方法实施例中的说明,在此不再一一赘述。
应该说明的是,在本实施例中,所述发送设备通过定时器的中断功能发送所述通讯数据,具体的,将待发送的目标内容字节根据预设编码模式及最小编码脉冲编码得到数据帧,顺序将数据帧中相邻且相同方向的电平脉冲宽度写入所述定时器,以根据所述定时器产生所述宽度的电平脉冲。并且,相邻的启动的两个定时器产生的电平脉冲的方向是相反。
在本发明实施例中,所述发送设备发送头码至所述接收设备,使得所述接收设备进入唤醒状态,从而所述接收设备与所述发送设备能够进行稳定的通讯;所述发送设备发送学习码至所述接收设备,使得所述接收设备根据所述学习码,提取最小解码脉冲,其中,所述最小解码脉冲为所述发送设备的最小编码脉冲在所述接收设备的对应值;按照预定编码模式,将目标内容字节编码为由若干个所述最小编码脉冲组成的数据帧;发送所述数据帧至所述接收设备,使得所述接收设备按照预定解码模式及所述最小解码脉冲,解码所述数据帧以得到所述目标内容字节,从而避免了接收设备与发送设备的编码脉冲不一致而造成的解码失效,改善了设备间通讯的稳定性,提高了解码的准确性。
在一些实施例中,所述最小编码脉冲包括最小正编码脉冲或最小负编码脉冲,所述预定编码模式包括变长式编码模式或定长式编码模式;在所述变长式编码模式下,相同两个所述最小正编码脉冲或相同的两个所述最小负编码脉冲皆可代表二进制数1,一个所述最小正编码脉冲或一个所述最小负编码脉冲可代表二进制数0。在所述定长式编码模式下,按照次序,相同两个所述最小正编码脉冲与一个所述最小负编码脉冲组成的编码脉冲集合可代表二进制数1,一个所述最小正编码脉冲与相同两个所述最小负编码脉冲组成的编码脉冲集合可代表二进制数0。
具体的,请参阅图7,图7为本发明实施例提供的一种数据编码格式的示意图,如图7所示,以目标内容字节为0X90,其对应的二进制码为10010000为例,来说明当所述预定编码模式为变长式编码模式或定长式编码模式时,在所述发送设备根据所述预定编码模式编码所述内容字节。
当所述预定编码模式为变长式编码时,将相同两个所述最小正编码脉冲或相同的两个所述最小负编码脉冲皆可代表二进制数1,一个所述最小正编码脉冲或一个所述最小负编码脉冲可代表二进制数0,那么,目标内容字节0X90(10010000)根据所述变长式编码模式,编码后得到的数据帧为如图7所示的脉冲信号。可以理解的,在变长式编码模式下,用于表示二进制数“0”和“1”的脉冲宽度不一致,二进制数“0”用一个脉冲宽度的高电平或低电平来表示,而二进制数“1”则用连续的两个高电平或低电平的脉冲宽度来表示,从而使得所述发送设备发送不同目标内容字节时,所述不同目标内容字节根据所述变长式编码模式编码得到的数据帧的脉冲长度也不一致,亦即,相对于下述所述的定长式编码模式,采用变长式编码模式编码所述通讯数据能提高数据通讯的时效性。
当所述预定编码模式为定长式编码时,将相同两个所述最小正编码脉冲与一个所述最小负编码脉冲组成的编码脉冲集合可代表二进制数1,一个所述最小正编码脉冲与相同两个所述最小负编码脉冲组成的编码脉冲集合可代表二进制数0,那么,目标内容字节0X90(10010000)根据所述定长式编码模式,编码后得到的数据帧为如图7所示的脉冲信号。。可以理解的,字定长式编码模式下,固定用“两个高脉冲+一个低脉冲”表示二进制数“1”,“一个高脉冲+两个低脉冲”表示二进制数“0”,编码得到的数据帧的脉冲长度是固定的,亦即,在所述定长式编码模式时,编码不同目标内容字节得到相应的数据帧的长度是固定的,从而方便开发人员根据固定长度的数据帧进行调试和功能分析。
在本发明实施例中,提供了两种不同的编码模式,所述发送设备根据预定的编码模式编码得到所述数据帧,当所述预定编码模式为变长式编码时,不同目标内容字节根据所述变长式编码得到的数据帧的脉冲长度也不一致,亦即,采用变长式编码模式进行编码所述数据,能提高数据通讯的时效性;当所述预定编码模式为定长式编码时,编码得到的数据帧的长度是固定的,由于编码得到的数据帧的脉冲长度固定,从而方便开发人员进行调试和功能分析。从而,发送设备可以根据其功能需求选择合适的编码模式进行编码。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现随机编码装置,当然也可以通过硬件实现。并且,由于随机编码装置的构思与上述各个实施例所述的随机编码方法的构思一样,在内容不互相冲突下,随机编码装置的实施例可以引用上述各个实施例的内容,在此不赘述。
本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图3、图4及图6的方法步骤。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的随机编码方法,例如,执行以上描述的图3、图4及图6的方法步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种双向通信方法,其特征在于,应用于通讯***中的接收设备,所述通讯***还包括发送设备,所述接收设备基于单数据线与所述发送设备通信,通讯数据包括前导码和内容字节,所述前导码包括头码和学***;所述方法包括:
接收所述发送设备发送的头码,以根据所述头码进入唤醒状态;
接收所述发送设备发送的学习码,以根据所述学习码提取最小解码脉冲,所述最小解码脉冲为所述发送设备的最小编码脉冲在所述接收设备的对应值;
接收所述发送设备根据预定编码模式和所述最小编码脉冲对目标内容字节进行编码得到的数据帧;
根据预定解码模式及所述最小解码脉冲,解码所述数据帧,以得到所述目标内容字节。
2.根据权利要求1所述的方法,其特征在于,所述接收所述发送设备发送的头码,以根据所述头码进入唤醒状态包括:
在处于睡眠状态的情况下,当首次检测到下降沿时,确定接收到所述发送设备发送的头码,唤醒所述接收设备。
3.根据权利要求2所述的方法,其特征在于,所述学***组成,所述接收所述发送设备发送的学习码,以根据所述学习码提取最小解码脉冲包括:
当首次检测到上升沿时,确定接收到所述发送设备发送的学习码,记录所述学习码的脉冲宽度,并将所述脉冲宽度与所述固定数量之商作为最小解码脉冲。
4.根据权利要求1所述的方法,其特征在于,所述最小解码脉冲包括最小正解码脉冲或最小负解码脉冲,所述预定解码模式包括变长式解码模式或定长式解码模式;
在所述变长式解码模式下,相同两个所述最小正解码脉冲或相同的两个所述最小负解码脉冲皆可代表二进制1,一个所述最小正解码脉冲或一个所述最小负解码脉冲可代表二进制0;或者,
在所述定长式解码模式下,按照次序,相同两个所述最小正解码脉冲与一个所述最小负解码脉冲组成的解码脉冲集合可代表二进制1,一个所述最小正解码脉冲与相同两个所述最小负解码脉冲组成的解码脉冲集合可代表二进制0。
5.根据权利要求1至4任一项所述的方法,其特征在于,还包括:
当检测到发送任务时,在解码所述目标内容字节后,处理所述发送任务。
6.一种双向通信方法,其特征在于,应用于通讯***中的发送设备,所述通讯***还包括接收设备,所述发送设备基于单线与所述接收设备通信,通讯数据包括前导码和内容字节,所述前导码包括头码和学***;所述方法包括:
发送头码至所述接收设备,使得所述接收设备进入唤醒状态;
发送学习码至所述接收设备,使得所述接收设备根据所述学习码,提取最小解码脉冲,其中,所述最小解码脉冲为所述发送设备的最小编码脉冲在所述接收设备的对应值;
按照预定编码模式,将目标内容字节编码为由若干个所述最小编码脉冲组成的数据帧;
发送所述数据帧至所述接收设备,使得所述接收设备按照预定解码模式及所述最小解码脉冲,解码所述数据帧以得到所述目标内容字节。
7.根据权利要求6所述的方法,其特征在于,所述最小编码脉冲包括最小正编码脉冲或最小负编码脉冲,所述预定编码模式包括变长式编码模式或定长式编码模式;
在所述变长式编码模式下,相同两个所述最小正编码脉冲或相同的两个所述最小负编码脉冲皆可代表二进制数1,一个所述最小正编码脉冲或一个所述最小负编码脉冲可代表二进制数0;或者,
在所述定长式编码模式下,按照次序,相同两个所述最小正编码脉冲与一个所述最小负编码脉冲组成的编码脉冲集合可代表二进制数1,一个所述最小正编码脉冲与相同两个所述最小负编码脉冲组成的编码脉冲集合可代表二进制数0。
8.一种接收设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5任一项所述的双向通信方法。
9.一种发送设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求6或7任一项所述的双向通信方法。
10.一种通讯***,其特征在于,包括:
权利要求8所述的接收设备;和
权利要求9所述的发送设备,所述发送设备基于单数据线与所述接收设备通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010208586.6A CN111431631B (zh) | 2020-03-23 | 2020-03-23 | 一种双向通信方法、接收设备、发送设备及通讯*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010208586.6A CN111431631B (zh) | 2020-03-23 | 2020-03-23 | 一种双向通信方法、接收设备、发送设备及通讯*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111431631A CN111431631A (zh) | 2020-07-17 |
CN111431631B true CN111431631B (zh) | 2022-02-18 |
Family
ID=71549284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010208586.6A Active CN111431631B (zh) | 2020-03-23 | 2020-03-23 | 一种双向通信方法、接收设备、发送设备及通讯*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111431631B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112180828B (zh) * | 2020-10-10 | 2023-03-24 | 湖南天桥嘉成智能科技有限公司 | Plc与第三方设备通讯状态检测方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151149A (en) * | 1998-04-04 | 2000-11-21 | Sigmatel, Inc | Method and apparatus for pulse pattern modulation |
WO2005101773A1 (ja) * | 2004-04-16 | 2005-10-27 | Thine Electronics, Inc. | 送信回路、受信回路及びクロック抽出回路並びにデータ伝送方法及びデータ伝送システム |
EP1936801A1 (en) * | 2004-05-28 | 2008-06-25 | The TC Group A/S | Pulse width modulator system |
JP4512599B2 (ja) * | 2005-09-26 | 2010-07-28 | パナソニック株式会社 | 単線双方向通信装置及びシステム |
CN101340307A (zh) * | 2007-07-05 | 2009-01-07 | 厦门大学 | 一种短距离无线传感器网络节点节能的控制机制 |
KR100927600B1 (ko) * | 2007-10-22 | 2009-11-23 | 한국전자통신연구원 | 센서 노드의 오버히어링(overhearing) 감소를위한 센서 네트워크에서의 데이터 송수신 방법 |
CN101599214B (zh) * | 2009-07-13 | 2011-06-15 | 利尔达科技有限公司 | 网络化低功耗无线抄表方法 |
US8588119B2 (en) * | 2010-01-21 | 2013-11-19 | Robert Bosch Gmbh | Asynchronous low-power multi-channel media access control |
CN102685860B (zh) * | 2012-05-04 | 2015-04-08 | 华为终端有限公司 | 数据发送、接收的方法与装置 |
CN104780596B (zh) * | 2015-04-09 | 2018-06-19 | 深圳市科陆电子科技股份有限公司 | 实现超低功耗的通信方法、通信装置及通信*** |
US10057854B2 (en) * | 2015-06-11 | 2018-08-21 | Intel IP Corporation | Waking up internet of things devices in a high efficiency wireless local-area network |
DE102016103498A1 (de) * | 2016-02-26 | 2017-08-31 | Infineon Technologies Ag | Ein Verfahren zum Übermitteln von Daten von einem Sensorbauelement an eine elektronische Steuereinheit, ein Sensorbauelement und eine elektronische Steuereinheit |
CN105869238B (zh) * | 2016-03-24 | 2019-04-23 | 深圳市前海铂智科技有限公司 | 一种基于微信平台的门禁***及微信控制方法 |
CN106327828A (zh) * | 2016-08-27 | 2017-01-11 | 宁波三星医疗电气股份有限公司 | 一种对多个无线水气表同步唤醒并进行抄表的方法 |
CN107102101B (zh) * | 2017-04-17 | 2020-03-24 | 广州市弘宇科技有限公司 | 一种气体同步采集方法 |
CN107390090A (zh) * | 2017-07-28 | 2017-11-24 | 思源电气股份有限公司 | 一种线路故障检测方法及*** |
EP3447187A1 (en) * | 2017-08-25 | 2019-02-27 | Koninklijke Philips N.V. | Garment care device with movement sensor |
CN108829002B (zh) * | 2018-06-26 | 2021-05-11 | 南京航空航天大学 | 一种基于can总线协议的mmc控制***状态机的控制方法 |
-
2020
- 2020-03-23 CN CN202010208586.6A patent/CN111431631B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111431631A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4322793A (en) | Communication controller transparently integrated into a host CPU | |
US20050185720A1 (en) | Pseudo-synchronous one wire bidirectional bus interface | |
EP3675398A1 (en) | Check code processing method, electronic device, and storage medium | |
JPS63296540A (ja) | 単一集積回路マイクロ制御器におけるマルチプロトコル通信制御器 | |
US9578612B2 (en) | Node device and method for communication | |
CN108701112B (zh) | 一种基于查询方式模拟串口通信的方法和装置 | |
CN111431631B (zh) | 一种双向通信方法、接收设备、发送设备及通讯*** | |
CN110213020A (zh) | 基于蓝牙外设的数据传输方法、终端、***以及装置 | |
US5077552A (en) | Interface for coupling audio and video equipment to computer | |
CN108197062B (zh) | 实现单片机与终端设备通信的方法、***、设备及介质 | |
CN114253879B (zh) | 一种基于软件模拟的多通道串口通信方法及*** | |
US5812878A (en) | System for DMA transfer wherein controller waits before execution of next instruction until a counter counts down from a value loaded by said controller | |
CN112558750A (zh) | 唤醒芯片的方法及装置 | |
CN113760808A (zh) | 一种电源初次级串口通讯方法、***、存储介质 | |
CN210201839U (zh) | 一种传输协议自适应解码*** | |
JPH03174643A (ja) | 直列データ母線用アプリケーシヨン特有集積回路 | |
CN115599722B (zh) | 基于操作***内核实现串口数据精准传输的方法和装置 | |
JPH0720279B2 (ja) | 無線選択呼出受信機の受信情報外部出力方式 | |
US11876629B1 (en) | Data transmission method, device, electronic equipment, and storage medium | |
CN221175787U (zh) | 存储器信号检错纠错装置 | |
SU379923A1 (ru) | в^-?О;>&ЮЗНД?? ] ЙАТЬЯТш-ГЕХШ^ИЕ^ЖЖ БИГ^ПИОТ^НА ; | |
CN118069556A (zh) | 软件模拟实现uart通信的方法 | |
JPS6225798Y2 (zh) | ||
JPH0828707B2 (ja) | ポ−リング制御方式 | |
CN103106162B (zh) | 逻辑器件及其mdio接口通信方法 |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 518000 Guangdong science and technology innovation and Research Institute, Shenzhen, Shenzhen, Nanshan District No. 6, science and technology innovation and Research Institute, Shenzhen, D 10, 1004, 10 Patentee after: Shenzhen Hetai intelligent home appliance controller Co.,Ltd. Address before: 518000 Guangdong science and technology innovation and Research Institute, Shenzhen, Shenzhen, Nanshan District No. 6, science and technology innovation and Research Institute, Shenzhen, D 10, 1004, 10 Patentee before: SHENZHEN H&T DATA RESOURCES AND CLOUD TECHNOLOGY Ltd. |