CN114826542B - 基于异步串行通信的数据传输方法、装置、设备及介质 - Google Patents
基于异步串行通信的数据传输方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114826542B CN114826542B CN202210536902.1A CN202210536902A CN114826542B CN 114826542 B CN114826542 B CN 114826542B CN 202210536902 A CN202210536902 A CN 202210536902A CN 114826542 B CN114826542 B CN 114826542B
- Authority
- CN
- China
- Prior art keywords
- data
- serial data
- target
- serial
- processing instruction
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0079—Receiver details
-
- 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/0036—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Information Transfer Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本申请提供一种基于异步串行通信的数据传输方法、装置、设备及介质,该方法包括:数据接收设备通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据,并根据每个第一串行数据的帧头以及预设帧头,从多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据,之后对目标串行数据进行解析,获取目标串行数据携带的数据处理指令,最后执行数据处理指令,对目标数据进行处理。该技术方案中,通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,以使能够在一次采集过程中完成与数据发送设备建立同步的过程,从而提高传输过程的稳定性和传输速率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种基于异步串行通信的数据传输方法、装置、设备及介质。
背景技术
串行异步通信是主机与外部硬件设备的常用通讯方式,其具有硬件成本低、实现简单以及灵活性高等特征,能够满足用户的数据传输需求。
目前,异步串行通信中传送的数据以字符为单位,每个字符包括1位起始位,5~8位数据位,1位校验位和1位停止位,在传输一个字符时,需要以“起始位”开始,以“停止位”结束。数据接收设备在收到起始信号之后,需要在一个字符的传输时间内与数据发送设备保持同步,以接收数据发送设备发送的数据。也就是说,异步串行通信中字符与字符之间的传送是完全异步的,位与位之间的传送基本上是同步的。
然而,由于现有技术中数据接收设备每接收一个字符都要建立一次同步,建立同步过程需要耗费大量时间,导致数据的传输速率较低。
发明内容
本申请提供一种基于异步串行通信的数据传输方法、装置、设备及介质,以解决现有技术中数据接收设备每接收一个字符都要建立一次同步,建立同步过程需要耗费大量时间,导致数据的传输速率较低的问题。
第一方面,本申请实施例提供一种基于异步串行通信的数据传输方法,应用于数据接收设备,所述方法包括:
通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据;
根据每个第一串行数据的帧头以及预设帧头,从所述多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据,所述数据处理指令用于指示接收目标数据或用于指示向所述数据发送设备返回所述目标数据;
对所述目标串行数据进行解析,获取所述目标串行数据携带的所述数据处理指令;
执行所述数据处理指令,对所述目标数据进行处理。
在第一方面的一种可能设计中,所述根据每个第一串行数据的帧头以及预设帧头,从所述多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据,包括:
将所述多个第一串行数据中帧头为所述预设帧头的第一串行数据确定为第二串行数据;
根据所述第二串行数据的数量以及所述第二串行数据对应的时钟,从所述第二串行数据中确定出所述一个目标串行数据。
可选的,所述通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据,包括:
通过多个与数据接收设备发送方向同频的相位不同的时钟对所述数据发送设备发送的一个串行数据进行采集,得到多个初始串行数据,所述多个相位不同的时钟包括0度时钟、90度时钟、180度时钟和270度时钟;
将多个初始串行数据同步到0度时钟上,得到所述多个第一串行数据。
可选的,所述根据所述第二串行数据的数量以及所述第二串行数据对应的时钟,从所述第二串行数据中确定出所述一个目标串行数据,包括:
若所述第二串行数据的数量为1个,则将所述第二串行数据确定为所述目标串行数据;
若所述第二串行数据的数量为2个,则将时钟相位最大的第二串行数据确定为所述目标串行数据;
若所述第二串行数据的数量为3个,则将时钟相位居中的第二串行数据确定为所述目标串行数据;
若所述第二串行数据的数量为4个,则将90度时钟对应的第二串行数据确定为所述目标串行数据。
在第一方面的另一种可能设计中,所述对所述目标串行数据进行解析,获取所述目标串行数据携带的所述数据处理指令,包括:
对所述目标串行数据进行串并转换,获取转换后的目标并行数据;
对所述目标并行数据进行奇偶校验;
若所述目标并行数据通过奇偶校验,则获取所述目标并行数据携带的所述数据处理指令。
在第一方面的再一种可能设计中,所述串行数据携带有所述数据处理指令,在所述数据处理指令用于指示接收所述目标数据时,所述串行数据包括所述帧头、所述数据处理指令、所述目标数据以及所述奇偶校验;在所述数据处理指令用于指示向所述数据发送设备返回所述目标数据时,所述串行数据包括所述帧头、所述数据处理指令以及所述奇偶校验。
第二方面,本申请实施例提供一种基于异步串行通信的数据传输装置,应用于数据接收设备,所述装置包括:
采集模块,用于通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据;
处理模块,用于根据每个第一串行数据的帧头以及预设帧头,从所述多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据,所述数据处理指令用于指示接收目标数据或用于指示向所述数据发送设备返回所述目标数据;
所述处理模块,还用于对所述目标串行数据进行解析,获取所述目标串行数据携带的所述数据处理指令;
所述处理模块,还用于执行所述数据处理指令,对所述目标数据进行处理。
在第二方面的一种可能设计中,所述处理模块,具体用于:
将所述多个第一串行数据中帧头为所述预设帧头的第一串行数据确定为第二串行数据;
根据所述第二串行数据的数量以及所述第二串行数据对应的时钟,从所述第二串行数据中确定出所述一个目标串行数据。
可选的,所述采集模块,具体用于:
通过多个与数据接收设备发送方向同频的相位不同的时钟对所述数据发送设备发送的一个串行数据进行采集,得到多个初始串行数据,所述多个相位不同的时钟包括0度时钟、90度时钟、180度时钟和270度时钟;
将多个初始串行数据同步到0度时钟上,得到所述多个第一串行数据。
可选的,所述处理模块,具体用于:
若所述第二串行数据的数量为1个,则将所述第二串行数据确定为所述目标串行数据;
若所述第二串行数据的数量为2个,则将时钟相位最大的第二串行数据确定为所述目标串行数据;
若所述第二串行数据的数量为3个,则将时钟相位居中的第二串行数据确定为所述目标串行数据;
若所述第二串行数据的数量为4个,则将90度时钟对应的第二串行数据确定为所述目标串行数据。
在第二方面的另一种可能设计中,所述处理模块,具体用于:
对所述目标串行数据进行串并转换,获取转换后的目标并行数据;
对所述目标并行数据进行奇偶校验;
若所述目标并行数据通过奇偶校验,则获取所述目标并行数据携带的所述数据处理指令。
在第二方面的再一种可能设计中,所述串行数据携带有所述数据处理指令,在所述数据处理指令用于指示接收所述目标数据时,所述串行数据包括所述帧头、所述数据处理指令、所述目标数据以及所述奇偶校验;在所述数据处理指令用于指示向所述数据发送设备返回所述目标数据时,所述串行数据包括所述帧头、所述数据处理指令以及所述奇偶校验。
第三方面,本申请实施例提供一种数据接收设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时用于实现第一方面以及各可能设计提供的方法。
第四方面,本申请实施例可提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面以及各可能设计提供的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现第一方面以及各可能设计提供的方法。
本申请实施例提供的基于异步串行通信的数据传输方法、装置、设备及介质,在该方法中:数据接收设备通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据,并根据每个第一串行数据的帧头以及预设帧头,从多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据,之后对目标串行数据进行解析,获取目标串行数据携带的数据处理指令,最后执行数据处理指令,对目标数据进行处理。通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,以使能够在一次采集过程中完成与数据发送设备建立同步的过程,从而提高传输过程的稳定性和传输速率。同时,本方案只需要一根数据线就能够实现数据发送设备和数据接收设备之间的高速双向通信,节省了物理管脚资源。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的基于异步串行通信的数据传输方法的一种应用场景示意图;
图2为本申请实施例提供的异步串行通信的数据传输方法实施例一的流程示意图;
图3为本申请实施例提供的异步串行通信的数据传输方法实施例二的流程示意图;
图4为本申请实施例提供的基于异步串行通信的数据传输装置的结构示意图;
图5为本申请实施例提供的数据接收设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在介绍本申请的实施例之前,首先对本申请实施例的应用背景进行解释:
串行通信是指通信双方按位进行,遵守时序的一种通信方式,由于其具有通信线路少,布线简单,使用灵活等特点,因此在电路设计中应用越来越广泛。
串行通信分为同步串行通信和异步串行通信,同步串行通信需要随路时钟,数据和时钟必须保持严格的相位同步,而异步串行通信则需要双方使用同一频率时钟,对相位没有要求。由于同步串行通信要求在通信中保持精确的同步时钟,所以其发送器和接收器比较复杂,成本也较高,因此异步串行通信受到研发者的青睐。
目前,异步串行通信中传送的数据以字符为单位,数据接收设备在收到起始信号之后,需要在一个字符的传输时间内与数据发送设备保持同步,以接收数据发送设备发送的数据。也就是说数据接收设备每接收一个字符都要建立一次同步,而建立同步过程需要耗费大量时间,导致数据的传输速率较低。示例性的,通用异步收发器(UniversalAsynchronous Receiver/Transmitter,UART)是一种常见的双向异步通信总线,最高速率一般只能到230千比特每秒(Kbit/s)。
所以,本申请提供的一种基于异步串行通信的数据传输方法、装置、设备及介质,在数据发送设备向数据接收设备发送一个串行数据后,数据接收设备可以通过多个时钟分别对该串行数据进行采集和处理,并根据预设帧头对处理得到的多个第一串行数据进行进一步筛选,从而从多个第一串行数据中筛选出一个有效的目标串行数据,本方案通过多个时钟分别对该串行数据进行采集和处理,将与发送时钟接近的时钟获取的第一串行数据确定为目标串行数据,避免了现有技术中需要多次使用不同时钟尝试与数据接收设备建立同步的过程,从而提高了数据传输的稳定性和速率。
示例性的,本申请实施例提供的基于异步串行通信的数据传输方法可以应用于图1所示的一种应用场景示意图中。图1为本申请实施例提供的基于异步串行通信的数据传输方法的一种应用场景示意图,用以解决上述技术问题。如图1所示,该应用场景可以包括:数据发送设备101和数据接收设备102。
在本申请中,数据发送设备101与数据接收设备102通过异步串行通信进行数据传输,数据发送设备101可以向数据接收设备102发送一个串行数据,该串行数据中携带有用于指示数据接收设备102接收目标数据,或,用于指示数据接收设备102向数据发送设备101返回目标数据的数据处理指令。数据接收设备102通过多个时钟分别对该串行数据进行采集并处理,获取多个第一串行数据,之后对多个第一串行数据进行进一步处理,从多个第一串行数据中确定出一个携带有数据处理指令的目标串行数据,并执行该数据处理指令对目标数据进行处理。
在实际应用中,数据发送设备101和数据接收设备102可以为独立的不同的通信设备,也可以将数据发送设备101的功能和数据接收设备102的功能集成在同一通信设备上,示例性的,可以通过同一通信设备的不同芯片实现数据发送设备101的功能和数据接收设备102的功能,该芯片可以为现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)。
可以理解的是,数据发送设备和数据接收设备可以是终端设备,如台式电脑、笔记本电脑等,还可以是服务器,例如后台的处理平台等,关于数据发送设备和数据接收设备具体为终端设备,还是服务器,其可以实际情况确定。
下面,通过具体实施例对本申请的技术方案进行详细说明。
需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的异步串行通信的数据传输方法实施例一的流程示意图。如图2所示,该异步串行通信的数据传输方法应用于数据接收设备,该方法可以包括如下步骤:
S201、通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据。
其中,数据发送设备发送的串行数据携带有数据处理指令,该数据处理指令用于指示数据接收设备接收目标数据,或,用于指示向数据发送设备返回目标数据。
其中,在数据处理指令用于指示接收目标数据时,串行数据包括帧头、数据处理指令、目标数据以及奇偶校验;在数据处理指令用于指示向数据发送设备返回目标数据时,串行数据包括帧头、数据处理指令以及奇偶校验。
示例性的,在数据处理指令用于指示接收目标数据(即数据处理指令为数据传输指令)时,串行数据的帧格式可以通过表1进行表示。
表1
帧头 | 数据处理指令 | 目标数据 | 奇偶校验 |
2’b01 | 1’b0 | M*bit数据 | 1bit |
应理解,表1中的M为正整数,数据发送设备和数据接收设备可以自由配置M的数值。在实际应用中,串行数据的帧格式还可以包括其他形式和内容,本申请实施例不对串行数据的长度和格式进行限定,可以根据实际使用情况以及数据传输需求进行设定。
示例性的,在数据处理指令用于指示数据接收设备向数据发送设备返回目标数据时(即数据处理指令为数据请求指令)时,串行数据的帧格式可以通过表2进行表示。
表2
帧头 | 数据处理指令 | 奇偶校验 | 帧头 | 目标数据 | 奇偶校验 |
2’b01 | 1’b1 | 1bit | 2’b01 | N*bit数据 | 1bit |
应理解,表2中的N为正整数,数据发送设备和数据接收设备可以自由配置N的数值。在实际应用中,串行数据的帧格式还可以包括其他形式和内容,本申请实施例不对串行数据的长度和格式进行限定,可以根据实际使用情况以及数据传输需求进行设定。
在一种可能的实现方式中,通过多个与数据接收设备发送方向同频的相位不同的时钟对数据发送设备发送的一个串行数据进行采集,得到多个初始串行数据,并将多个初始串行数据同步到0度时钟上,得到多个第一串行数据。在该方式中,通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,以使后续能够根据处理得到的多个第一串行数据进行进一步处理,从而与数据发送设备建立连接,避免了通过不同时钟多次尝试与数据发送设备建立连接的过程,减少了数据传输时间,提高了数据传输速率。
其中,多个相位不同的时钟包括0度时钟、90度时钟、180度时钟和270度时钟,还可以包括其他相位的时钟,本申请实施例不对时钟的相位以及时钟的具体个数进行限制。
可选的,在S201之前,数据接收设备处于高阻态,等待接收数据发送设备发送的串行数据。
S202、根据每个第一串行数据的帧头以及预设帧头,从多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据。
其中,数据处理指令用于指示接收目标数据或用于指示向数据发送设备返回目标数据。
在一种可能的实现方式中,将多个第一串行数据中帧头为预设帧头的第一串行数据确定为第二串行数据。根据第二串行数据的数量以及第二串行数据对应的时钟,从第二串行数据中确定出一个目标串行数据。在本方式中,由于使用与发送时钟接近的接收时钟采集并处理得到的第一串行数据的帧头为预设帧头,也就是说帧头不为预设帧头的第一串行数据为无效数据,帧头为预设帧头的第一串行数据为有效数据。因此可以根据第一串行数据的帧头以及预设帧头对第一串行数据进行帧头有效性检测,将通过检测的第一串行数据确定为第二串行数据,并从第二串行数据进一步确定出与发送时钟最接近的时钟采集并处理得到的目标串行数据,进而提高数据传输过程的稳定性,从而提高数据传输的速率。
其中,根据第二串行数据的数量以及第二串行数据对应的时钟,从第二串行数据中确定出一个目标串行数据可以通过以下方式实现:
(1)、若第二串行数据的数量为1个,则将第二串行数据确定为目标串行数据。
(2)、若第二串行数据的数量为2个,则将时钟相位最大的第二串行数据确定为目标串行数据。示例性的,假设两个串行数据分别是通过90度时钟和180度时钟采集并处理得到的,则将180度时钟采集并处理的第二串行数据确定为目标串行数据。
(3)、若第二串行数据的数量为3个,则将时钟相位居中的第二串行数据确定为目标串行数据。示例性的,假设两个串行数据分别是通过90度时钟、180度时钟和270度时钟采集并处理得到的,则将180度时钟采集并处理的第二串行数据确定为目标串行数据。
(4)、若第二串行数据的数量为4个,则将90度时钟对应的第二串行数据确定为目标串行数据。
本实施例通过第二串行数据的数量以及采集并处理该第二串行数据的时钟的相位对第二串行数据进行进一步处理,从而从第二串行数据中确定出目标串行数据,进一步提高了数据传输的稳定性和传输速率。
S203、对目标串行数据进行解析,获取目标串行数据携带的数据处理指令。
在一种可实现的方式中,对目标串行数据进行串并转换,获取转换后的目标并行数据,之后对目标并行数据进行奇偶校验,若目标并行数据通过奇偶校验,则获取目标并行数据携带的数据处理指令。
在上述方式中,通过对目标并行数据进行奇偶校验,对目标并行数据进行检错,进一步增加了数据传输的可靠性。
S204、执行数据处理指令,对目标数据进行处理。
在一种可能的实现方式中,在数据处理指令为数据传输指令时,可以执行数据处理指令,接收并存储目标数据。
在另一种可能的实现方式中,在数据处理指令为数据请求指令时,可以执行数据处理指令,获取目标数据,并根据表1所示的帧格式发送新的串行数据给数据发送设备,以使数据发送设备能够接受到数据接收设备返回的目标数据。
本申请实施例提供的基于异步串行通信的数据传输方法,数据接收设备通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据,并根据每个第一串行数据的帧头以及预设帧头,从多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据,之后对目标串行数据进行解析,获取目标串行数据携带的数据处理指令,最后执行数据处理指令,对目标数据进行处理。通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,以使能够在一次采集过程中完成与数据发送设备建立同步的过程,从而提高传输过程的稳定性和传输速率。同时,本方案只需要一根数据线就能够实现数据发送设备和数据接收设备之间的高速双向通信,节省了物理管脚资源。
在实际应用中,本方案的数据传输速率能达到几百兆每秒,远远大于现有技术。
图3为本申请实施例提供的异步串行通信的数据传输方法实施例二的流程示意图。如图3所示,该异步串行通信的数据传输方法可以包括如下步骤:
S301、数据发送设备根据数据处理指令的类型,生成串行数据,并将该串行数据发送给数据接收设备。
在数据处理指令为数据请求指令时,在S301之后进入高阻态并在预设时长内获取数据接收设备返回的新的串行数据。若在预设时长内都没有获取到数据接收设备返回的新的串行数据,则判定应答超时,生成相应的提醒信息。
可选的,预设时长可以为16个发送时钟周期,还可以为其他别的数值,本申请实施例对此不进行具体限制。
S302、数据接收设备通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据。
S303、数据接收设备根据每个第一串行数据的帧头以及预设帧头,从多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据。
S304、数据接收设备对目标串行数据进行解析,获取目标串行数据携带的数据处理指令。
S305、数据接收设备判断数据处理指令的类型,若该数据处理指令为数据传输指令,则执行S306;若该数据处理指令为数据请求指令,则执行S307。
S306、数据接收设备执行数据处理指令,接收并存储目标数据。
S307、数据接收设备执行数据处理指令,获取目标数据。
S308、数据接收设备根据串行数据的帧格式发送新的串行数据给数据发送设备。
S309、数据发送设备接收数据接收设备发送的新的串行数据。
其中,数据发送设备通过多个时钟分别对数据接收设备发送的一个新的串行数据进行采集并处理,得到多个新的第一串行数据,并根据每个新的第一串行数据的帧头以及预设帧头,从多个新的第一串行数据中确定出携带有数据处理指令的一个新的目标串行数据,之后对新的目标串行数据进行解析,获取目标数据。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图4为本申请实施例提供的基于异步串行通信的数据传输装置的结构示意图。如图4所示,该基于异步串行通信的数据传输装置应用于数据接收设备,该装置包括:
采集模块41,用于通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据;
处理模块42,用于根据每个第一串行数据的帧头以及预设帧头,从多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据,数据处理指令用于指示接收目标数据或用于指示向数据发送设备返回目标数据;
处理模块42,还用于对目标串行数据进行解析,获取目标串行数据携带的数据处理指令;
处理模块42,还用于执行数据处理指令,对目标数据进行处理。
在本申请实施例的一种可能设计中,处理模块42,具体用于:
将多个第一串行数据中帧头为预设帧头的第一串行数据确定为第二串行数据;
根据第二串行数据的数量以及第二串行数据对应的时钟,从第二串行数据中确定出一个目标串行数据。
可选的,采集模块41,具体用于:
通过多个与数据接收设备发送方向同频的相位不同的时钟对数据发送设备发送的一个串行数据进行采集,得到多个初始串行数据,多个相位不同的时钟包括0度时钟、90度时钟、180度时钟和270度时钟;
将多个初始串行数据同步到0度时钟上,得到多个第一串行数据。
可选的,处理模块42,具体用于:
若第二串行数据的数量为1个,则将第二串行数据确定为目标串行数据;
若第二串行数据的数量为2个,则将时钟相位最大的第二串行数据确定为目标串行数据;
若第二串行数据的数量为3个,则将时钟相位居中的第二串行数据确定为目标串行数据;
若第二串行数据的数量为4个,则将90度时钟对应的第二串行数据确定为目标串行数据。
在本申请实施例的另一种可能设计中,处理模块42,具体用于:
对目标串行数据进行串并转换,获取转换后的目标并行数据;
对目标并行数据进行奇偶校验;
若目标并行数据通过奇偶校验,则获取目标并行数据携带的数据处理指令。
在本申请实施例的再一种可能设计中,串行数据携带有数据处理指令,在数据处理指令用于指示接收目标数据时,串行数据包括帧头、数据处理指令、目标数据以及奇偶校验;在数据处理指令用于指示向数据发送设备返回目标数据时,串行数据包括帧头、数据处理指令以及奇偶校验。
本申请实施例提供的基于异步串行通信的数据传输装置,可用于执行上述任一实施例中的基于异步串行通信的数据传输方法,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外,这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图5为本申请实施例提供的数据接收设备的结构示意图。如图5所示,该数据接收设备102可以包括:处理器51、存储器52及存储在所述存储器52上并可在处理器51上运行的计算机程序指令,所述处理器51执行所述计算机程序指令时实现前述任一实施例提供的基于异步串行通信的数据传输方法。
可选的,该数据接收设备102的上述各个器件之间可以通过***总线连接。
存储器52可以是单独的存储单元,也可以是集成在处理器中的存储单元。处理器的数量为一个或者多个。
应理解,处理器51可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
***总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。***总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器可能包括随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(read-only memory,ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppy disk)、光盘(英文:optical disc)及其任意组合。
本申请实施例提供的数据接收设备,可用于执行上述任一方法实施例提供的基于异步串行通信的数据传输方法,其实现原理和技术效果类似,在此不再赘述。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述基于异步串行通信的数据传输方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器,电可擦除可编程只读存储器,可擦除可编程只读存储器,可编程只读存储器,只读存储器,磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
可选的,将可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,至少一个处理器可以从该计算机可读存储介质中读取该计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述基于异步串行通信的数据传输方法。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (9)
1.一种基于异步串行通信的数据传输方法,其特征在于,应用于数据接收设备,所述方法包括:
通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据;
根据每个第一串行数据的帧头以及预设帧头,从所述多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据,所述数据处理指令用于指示接收目标数据或用于指示向所述数据发送设备返回所述目标数据;
对所述目标串行数据进行解析,获取所述目标串行数据携带的所述数据处理指令;
执行所述数据处理指令,对所述目标数据进行处理;
其中,所述根据每个第一串行数据的帧头以及预设帧头,从所述多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据,包括:
将所述多个第一串行数据中帧头为所述预设帧头的第一串行数据确定为第二串行数据;
根据所述第二串行数据的数量以及所述第二串行数据对应的时钟,从所述第二串行数据中确定出所述一个目标串行数据。
2.根据权利要求1所述的方法,其特征在于,所述通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据,包括:
通过多个与数据接收设备发送方向同频的相位不同的时钟对所述数据发送设备发送的一个串行数据进行采集,得到多个初始串行数据,所述多个相位不同的时钟包括0度时钟、90度时钟、180度时钟和270度时钟;
将多个初始串行数据同步到0度时钟上,得到所述多个第一串行数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第二串行数据的数量以及所述第二串行数据对应的时钟,从所述第二串行数据中确定出所述一个目标串行数据,包括:
若所述第二串行数据的数量为1个,则将所述第二串行数据确定为所述目标串行数据;
若所述第二串行数据的数量为2个,则将时钟相位最大的第二串行数据确定为所述目标串行数据;
若所述第二串行数据的数量为3个,则将时钟相位居中的第二串行数据确定为所述目标串行数据;
若所述第二串行数据的数量为4个,则将90度时钟对应的第二串行数据确定为所述目标串行数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述对所述目标串行数据进行解析,获取所述目标串行数据携带的所述数据处理指令,包括:
对所述目标串行数据进行串并转换,获取转换后的目标并行数据;
对所述目标并行数据进行奇偶校验;
若所述目标并行数据通过奇偶校验,则获取所述目标并行数据携带的所述数据处理指令。
5.根据权利要求4所述的方法,其特征在于,所述串行数据携带有所述数据处理指令,在所述数据处理指令用于指示接收所述目标数据时,所述串行数据包括所述帧头、所述数据处理指令、所述目标数据以及所述奇偶校验;在所述数据处理指令用于指示向所述数据发送设备返回所述目标数据时,所述串行数据包括所述帧头、所述数据处理指令以及所述奇偶校验。
6.一种基于异步串行通信的数据传输装置,其特征在于,应用于数据接收设备,所述装置包括:
采集模块,用于通过多个时钟分别对数据发送设备发送的一个串行数据进行采集并处理,得到多个第一串行数据;
处理模块,用于根据每个第一串行数据的帧头以及预设帧头,从所述多个第一串行数据中确定出携带有数据处理指令的一个目标串行数据,所述数据处理指令用于指示接收目标数据或用于指示向所述数据发送设备返回所述目标数据;
所述处理模块,还用于对所述目标串行数据进行解析,获取所述目标串行数据携带的所述数据处理指令;
所述处理模块,还用于执行所述数据处理指令,对所述目标数据进行处理;
其中,所述处理模块,具体用于:
将所述多个第一串行数据中帧头为所述预设帧头的第一串行数据确定为第二串行数据;
根据所述第二串行数据的数量以及所述第二串行数据对应的时钟,从所述第二串行数据中确定出所述一个目标串行数据。
7.一种数据接收设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序指令,其特征在于,所述处理器执行所述计算机程序指令时用于实现如权利要求1至5任一项所述的基于异步串行通信的数据传输方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至5任一项所述的基于异步串行通信的数据传输方法。
9.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现如权利要求1至5任一项所述的基于异步串行通信的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210536902.1A CN114826542B (zh) | 2022-05-17 | 2022-05-17 | 基于异步串行通信的数据传输方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210536902.1A CN114826542B (zh) | 2022-05-17 | 2022-05-17 | 基于异步串行通信的数据传输方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114826542A CN114826542A (zh) | 2022-07-29 |
CN114826542B true CN114826542B (zh) | 2023-05-16 |
Family
ID=82514747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210536902.1A Active CN114826542B (zh) | 2022-05-17 | 2022-05-17 | 基于异步串行通信的数据传输方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114826542B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115664599B (zh) * | 2022-12-08 | 2023-03-28 | 杭州云酷智能科技有限公司 | 一种数据传输方法、装置、电子设备及存储介质 |
CN117931720B (zh) * | 2024-03-22 | 2024-07-19 | 南京大学 | 基于局部总线结构改进的串行总线及数据交互方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268243A (zh) * | 2013-06-06 | 2013-08-28 | 北京四方继保自动化股份有限公司 | 一种链式变流器的就地执行单元远程在线升级*** |
CN106301685A (zh) * | 2016-08-15 | 2017-01-04 | 中车株洲电力机车研究所有限公司 | 一种异步串行通讯方法及*** |
CN108628784A (zh) * | 2018-04-28 | 2018-10-09 | 湖南大学 | 串行通信器及串行通信*** |
CN113672030A (zh) * | 2021-07-06 | 2021-11-19 | 平头哥(杭州)半导体有限公司 | 数据传输速率发生器和相关装置及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5478950B2 (ja) * | 2009-06-15 | 2014-04-23 | ルネサスエレクトロニクス株式会社 | 半導体装置及びデータ処理システム |
CN101820324B (zh) * | 2010-04-30 | 2014-04-09 | 中兴通讯股份有限公司 | 一种异步数据的同步传输方法和*** |
US9021292B2 (en) * | 2011-05-20 | 2015-04-28 | Texas Instruments Incorporated | Method and system for asynchronous serial communication in a ring network by generating an oversampling clock using a fractional rate multiplier and sampling a received data bit sequence that includes voltage and temperature information in a battery management system |
US20220061008A1 (en) * | 2020-08-21 | 2022-02-24 | Advanced Energy Industries, Inc. | Uart transmissions with two start bits for automatic baud detection and reduced clock skew |
-
2022
- 2022-05-17 CN CN202210536902.1A patent/CN114826542B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268243A (zh) * | 2013-06-06 | 2013-08-28 | 北京四方继保自动化股份有限公司 | 一种链式变流器的就地执行单元远程在线升级*** |
CN106301685A (zh) * | 2016-08-15 | 2017-01-04 | 中车株洲电力机车研究所有限公司 | 一种异步串行通讯方法及*** |
CN108628784A (zh) * | 2018-04-28 | 2018-10-09 | 湖南大学 | 串行通信器及串行通信*** |
CN113672030A (zh) * | 2021-07-06 | 2021-11-19 | 平头哥(杭州)半导体有限公司 | 数据传输速率发生器和相关装置及方法 |
Non-Patent Citations (2)
Title |
---|
基于ARM协调控制的多路信号采集***;马锐军 等;武汉职业技术学院学报(第03期);全文 * |
异步串行通信协议的设计与实现;贾昊 等;电子制作(20);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114826542A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114826542B (zh) | 基于异步串行通信的数据传输方法、装置、设备及介质 | |
EP2856692A1 (en) | Data interface synchronization | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN113176966B (zh) | 一种检查spi接收数据有效性的***及方法 | |
CN113792003A (zh) | 单总线通信单元、***及方法 | |
US7822040B2 (en) | Method for increasing network transmission efficiency by increasing a data updating rate of a memory | |
CN110740085B (zh) | 一种基于并机***的通信方法、通信装置及终端 | |
CN116226008A (zh) | 端口地址配置器、配置方法及终端 | |
CN115941382A (zh) | 一种spi通信的流控方法、装置、终端设备及存储介质 | |
CN113535578B (zh) | 一种cts测试方法、装置及测试设备 | |
CN113282532B (zh) | 一种通信装置、通信装置的通信方法和电子设备 | |
CN114443537A (zh) | 一种pcie信号发送端参数配置方法、装置、设备及介质 | |
CN112416843A (zh) | 一种背板通讯设备及其控制方法、存储介质 | |
US7165127B2 (en) | Flow control for interfaces providing retransmission | |
CN114006851B (zh) | 测试方法、测试线卡及测试仪 | |
US10846085B2 (en) | Multi-lane data processing circuit and system | |
CN114817113B (zh) | 一种用于判断sda数据方向的方法、***、设备和存储介质 | |
CN114928377B (zh) | 降低usb数据透传带宽的输出传输方法、装置及设备 | |
CN116226027B (zh) | 数据传输***、方法、装置、通信设备及存储介质 | |
EP0405041A1 (en) | Terminal adapter having a multiple HDLC communication channels receiver for processing control network management frames | |
CN115297198B (zh) | 数据处理方法、电路、介质和计算设备 | |
CN111953384B (zh) | 通信地址发送方法及装置、电能表、存储介质 | |
CN114968860B (zh) | 高速***组件互连接口装置以及包括该接口装置的*** | |
CN117675954A (zh) | 一种将数据包协议转换为高速并行通讯协议的转换桥 | |
CN115904760A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |