CN115361345B - 一种基于单总线信息传输的数据流控方法、装置及通信系统 - Google Patents
一种基于单总线信息传输的数据流控方法、装置及通信系统 Download PDFInfo
- Publication number
- CN115361345B CN115361345B CN202211302058.2A CN202211302058A CN115361345B CN 115361345 B CN115361345 B CN 115361345B CN 202211302058 A CN202211302058 A CN 202211302058A CN 115361345 B CN115361345 B CN 115361345B
- Authority
- CN
- China
- Prior art keywords
- data
- flow control
- state
- signal
- buffer area
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明实施例提供一种基于单总线信息传输的数据流控方法、装置及通信系统,属于通信技术领域。所述数据流控方法基于数据接收端,包括:检测数据接收端的数据缓冲区的状态,所述状态包括数据缓冲区空闲和数据缓冲区饱和;当所述数据缓冲区的状态发生改变时,向数据发送端发送初始化信号;当超过预设时间未接收到所述数据发送端的初始化应答信号时,重复发送所述初始化信号;响应于所述数据发送端的所述初始化应答信号,依次向所述数据发送端发送写数据准备信号和所述数据缓冲区的状态;其中,所述初始化信号、写数据准备信号和数据缓冲区的状态通过单根流控总线发送。通过本发明实施例,可以实现总线设备间的通信状态传输,可以有效防止通信数据丢失。
Description
技术领域
本发明涉及通信技术领域,具体地涉及一种基于单总线信息传输的数据流控方法、装置及通信系统。
背景技术
数据在两个串口之间进行高速通信的时候常常会出现丢失数据的现象,比如两台计算机或者是一台计算机和一个单片机之间进行通讯,当接收端的接收缓冲区已满,这时如果还有数据发送过来,因为接收端没有时间进行处理,就有可能出现数据丢失。
目前解决这种问题有硬件流控和软件流控两种处理方法。硬件流控即接收端在接收缓冲区将满时,通过预设引脚的电平变化提示发送端停止发送数据;软件流控则是接收端在接收缓冲区将满时,主动向发送端发送一个表示接收缓冲区将满的约定字符,发送端接收到该约定字符时停止发送数据。
然而,硬件流控在硬件资源上需要通过RTS(请求发送,Request To Send)和CTS(清除发送,Clear To Send)两根线来控制数据的接收及发送,在芯片硬件资源比较紧张的情况下,这种方式会浪费硬件资源。同时,通信双方的RTS和CTS线必须交叉连接,存在接线错误导致功能失效的风险。
软件流控在数据传输时存在一定的误码率,或是接收端发送的约定字符混入二进制数据流中,会造成约定字符在传输过程中丢失、无法到达发送端,或者在到达发送端后未能被识别或是被发送端误判而引起误操作的问题。
发明内容
本发明实施例的目的是提供一种基于单总线信息传输的数据流控方法、装置及通信系统,可以解决或部分解决数据传输过程中存在的问题。
为了实现上述目的,本发明实施例提供一种基于单总线信息传输的数据流控方法,基于数据接收端,所述方法包括:
检测数据接收端的数据缓冲区的状态,所述状态包括数据缓冲区空闲和数据缓冲区饱和;
当所述数据缓冲区的状态发生改变时,向数据发送端发送初始化信号;当超过预设时间未接收到所述数据发送端的初始化应答信号时,重复发送所述初始化信号;
响应于所述数据发送端的所述初始化应答信号,依次向所述数据发送端发送写数据准备信号和所述数据缓冲区的状态;
其中,所述初始化信号、写数据准备信号和数据缓冲区的状态通过单根流控总线发送。
可选的,所述数据缓冲区饱和包括所述数据缓冲区的存储空间占用比例大于第一限位值;所述数据缓冲区空闲包括所述数据缓冲区的存储空间占用比例不大于第二限位值。
可选的,在当所述数据缓冲区的状态发生改变时,向数据发送端发送初始化信号之前,所述方法还包括:检测流控总线的状态,所述流控总线的状态包括空闲状态和繁忙状态;当判定所述流控总线处于空闲状态时,向数据发送端发送所述初始化信号。
可选的,所述检测流控总线的状态包括:
当检测到流控总线的电平维持高电平超过第一时间时,判定所述流控总线处于空闲状态;
当检测到流控总线处于高低电平切换状态时或流控总线处于低电平状态时,判定所述流控总线处于繁忙状态。
可选的,所述向数据发送端发送初始化信号包括:将流控总线的电平拉低并维持第二时间。
可选的,所述向所述数据发送端发送写数据准备信号包括:将流控总线的电平拉低并维持第五时间。
可选的,所述向所述数据发送端发送所述数据缓冲区的状态包括:当所述数据缓冲区的状态为所述数据缓冲区空闲时,在第六时间内完成写0的信号操作;当所述数据缓冲区的状态为所述数据缓冲区饱和时,在第六时间内完成写1的信号操作。
另一方面,本发明实施例还提供一种基于单总线信息传输的数据流控方法,基于数据发送端,所述方法包括:
响应于数据接收端发送的初始化信号,发送初始化应答信号;
接收所述数据接收端发送的写数据准备信号和数据缓冲区的状态;当所述数据缓冲区的状态为空闲时,开始数据传输;
当所述数据缓冲区的状态为饱和时,停止数据传输;
其中,所述初始化应答信号通过单根流控总线发送;所述数据传输通过数据总线进行。
可选的,所述发送初始化应答信号包括:将流控总线的电平拉低并维持第四时间。
可选的,在发送初始化应答信号之前,所述方法还包括:
检测流控总线的状态,当判定所述流控总线处于空闲状态时,发送所述初始化应答信号。
可选的,所述接收数据接收端发送的数据缓冲区的状态包括:在第六时间内,完成0或1信号的读取。
另一方面,本发明还提供一种基于单总线信息传输的数据流控装置,所述装置被配置为执行基于数据接收端的所述数据流控方法。
另一方面,本发明还提供一种基于单总线信息传输的数据流控装置,所述装置被配置为执行基于数据发送端的所述数据流控方法。
另一方面,本发明还提供一种通信系统,所述系统包括数据接收端、数据发送端、流控总线、数据总线、基于数据接收端的数据流控装置以及基于数据发送端的数据流控装置,所述数据总线用于所述数据发送端和数据接收端之间的数据传输;所述流控总线用于所述数据发送端和数据接收端之间初始化信号、初始化应答信号、写数据准备信号和数据缓冲区的状态的传输。
本发明实施例提出了一种单总线状态下的数据传输的流控方法,可以通过单根流控总线实现设备间的流控状态的传输,在不改变原硬件流控功能的基础上,硬件接口由原来的两根流控总线缩减为了一根,通过单总线通信方式节约了外围硬件资源,优化了接线方式。同时解决了原软件流控方案中,数据包和控制符(流控状态)共用总线,容易造成数据串包,通信可靠性低、误识别的问题,降低了拆、解包难度,提升了控制效率,可以有效防止数据丢失。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是现有技术中的串口流控硬件接口图;
图2是现有技术中的串口硬件流控接线图;
图3是现有技术中的串口软件流控接线图;
图4是本发明实施例提供的一种基于数据接收端的数据流控方法的流程图;
图5是本发明实施例提供的数据缓冲区的状态切换图;
图6是本发明实施例提供的流控总线空闲时序图;
图7是本发明实施例提供的初始化应答信号时序图;
图8是本发明实施例提供的读写数据信号时序图;
图9是本发明实施例提供的数据传输流控的流控总线状态示意图;
图10是本发明实施例提供的数据传输流控的流控总线时序图;
图11是本发明实施例提供的一种基于数据发送端的数据流控方法的流程图;
图12是本发明实施例提供的一种通信系统。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
本发明的发明人发现,在通信过程中,目前通常采用硬件流控和软件流控两种数据流控制方式以解决由于通信双方数据处理速率不匹配而导致的数据丢失问题。例如,在串口数据通信中,对于通用控制芯片的USART串口模块,如图1所示,一般包含接收数据RXD、发送数据TXD、请求发送RTS和清除发送CTS四个引脚。其中,RXD和TXD用于数据的接收与发送,而RTS和CTS则用于硬件数据流控。控制芯片通过检测接收端FIFO来判断处理器是否饱和,从而控制RTS和CTS引脚信号。
如图2硬件流控接线图所示,USART串口硬件流控包括:除TXD和RXD两根数据总线外,还包括RTS和CTS两根流控总线。当数据接收端处理能力饱和,即FIFO满时,就通过RTS引脚发出“清除接收/停止发送”的信号,数据发送端读取CTS引脚识别到此信号后就会停止数据发送,直到数据接收端的处理能力释放,通过RTS发出“可以接收/请求接收”的信号,数据发送端才继续发送数据。
考虑到线缆数量限制,除硬件流控外,USART串口模块还提供了一种软件流控的方式。如图3所示,当数据接收端处理饱和时,就通过TXD向数据发送端发出“XOFF”字符,数据发送端收到“XOFF”字符后当即中止发送数据;当数据接收端的处理能力释放时,就向数据发送端发出“XON”字符,数据发送端收到“XON”字符后当即开始发送数据。
对于硬件流控,硬件资源上需要通过RTS和CTS两根流控总线控制数据的接收及发送,比较浪费芯片的硬件资源。另外,通信双方的RTS和CTS线必须交叉连接,存在接线错误导致功能失效的风险。
其次是软件流控,虽然软件方式规避了RTS和CTS引脚的使用,但是将软件流控的控制字符穿插在正常通信数据包中,不仅增加了拆包、解包难度,而且很容易引起误识别,尤其传输的数据是二进制时,标志字符也有可能在数据流中出现。基于此,本发明的发明人提出了一种基于单总线的数据传输的流控方法,只需要一根流控总线就可以完成数据流控,不仅节约了硬件资源,优化接线方式,同时避免了现有软件流控存在的数据串包问题。
图4是本申请实施例提供的一种基于单总线信息传输的数据流控方法的流程图。
如图4所示,本发明实施例提供一种基于单总线信息传输的数据流控方法,基于数据接收端,所述方法包括:
步骤400:检测数据接收端的数据缓冲区的状态,所述状态包括数据缓冲区空闲和数据缓冲区饱和;
需要说明的是,本申请实施例中“数据发送端”指具有串口通信功能的设备作为发送端角色时的串口通信端,“数据接收端”指具有串口通信功能的设备作为接收端角色时的串口通信端,即同一设备既可以作为数据发送端又可以作为数据接收端。
所述“数据缓冲区空闲”指对端(数据接收端)的数据缓冲区存储空间未满,可以继续接收数据发送端发送数据的状态。优选的,所述数据缓冲区空闲包括所述数据缓冲区的总存储空间占用比例不大于第一限位值;例如,所述第一限位值可以为0%,即当数据接收端的数据缓冲区未存储数据时,认定为数据缓冲区空闲,可以接收数据发送端发送数据。更优选的,所述第一限位值可以为75%,即将数据缓冲区未完全清空的状态设置为数据缓冲区空闲。相比于数据缓冲区清空(第一限位值为0%)之后数据发送端再发送数据,数据缓冲区未清空(如第一限位值为75%)时,数据发送端即可继续发送数据的方式可以提高数据传输的效率,节省数据传输的时间。可选的,芯片上电可以默认为数据缓冲区空闲,即设备上电可以直接接收数据发送端发送的数据,无需检测数据缓冲区的状态。
所述“数据缓冲区饱和”指对端(数据接收端)的数据缓冲区存储空间已满或接近已满,无法继续接收数据发送端发送数据的状态。优选的,所述数据缓冲区饱和包括所述数据缓冲区的存储空间占用比例大于或等于第二限位值;例如,可以设置所述第二限位值为100%,当数据缓冲区的数据占总存储空间的100%时,即达到第二限位值时,认定为数据缓冲区饱和,无法接收数据发送端发送数据的状态。更优选的,所述第二限位值为75%,相比于将数据缓冲区存储空间完全占用时定义为数据缓冲区饱和状态,数据缓冲区未完全占用时不允许数据发送端发送数据的方式,可以有效预防由于信号的时间延迟造成的数据丢失。例如,当检测到数据缓冲区存储空间完全被占用后,数据接收端发送数据缓冲区饱和状态给数据发送端,阻止其继续发送数据,在数据发送端接收到数据缓冲区饱和状态之前,数据发送端可能会继续发送数据,而此时数据接收端数据缓冲区已满,无法继续接收数据发送端的数据,此时传输的数据无法存储在数据缓冲区,造成数据丢失。当数据缓冲区未完全占用时,数据接收端发送数据缓冲区饱和状态给数据发送端,阻止其继续发送数据,数据发送端接收到数据缓冲区饱和状态之前,数据发送端会继续发送数据,而此时数据接收端数据缓冲区未满,可以继续存储数据,因此不会造成数据的丢失,提高了数据传输的可靠性。
需要说明的,所述第一限位值和第二限位值可以是现有数据占数据缓冲区存储空间的百分比的形式,也可以是其他形式,如数据缓冲区的大小是100BYTE,第一限位值是95BYTE,第二限位值是80BYTE,此处对第一限位值和第二限位值的大小不加以限制,在具体实施中,设备可以预先根据自身接收缓冲区的总存储空间大小确定数据缓冲区的第一限位值和第二限位值,并将所述限位值存于一个预定的寄存器中。
步骤410:当所述数据缓冲区的状态发生改变时,向数据发送端发送初始化信号;当超过预设时间未接收到所述数据发送端的初始化应答信号时,重复发送所述初始化信号;
图5是数据缓冲区的状态切换图,数据接收端可以随时检测自身数据缓冲区的状态变化,无论数据缓冲区由数据缓冲区空闲转为数据缓冲区饱和还是由数据缓冲区饱和转为数据缓冲区空闲,都会触发数据接收端向数据发送端发送初始化信号。所述数据接收端发送的初始化信号用于确认数据发送端现在是否可以通信。当确认所述数据发送端可以通信时,数据接收端能够将数据缓冲区的状态发送给数据发送端,以此控制发送端发送数据还是暂停发送数据,实现数据的流控。具体的,数据接收端和发送端在传输数据的过程中,数据接收端检测到数据缓冲区的状态由数据缓冲区空闲转为数据缓冲区饱和,数据接收端向数据发送端发送初始化信号确认是否可以通信后,发送数据缓冲区饱和信号,告知数据发送端不能继续发送数据;当数据缓冲区由数据缓冲区饱和转为数据缓冲区空闲时,数据接收端向数据发送端发送初始化信号确认是否可以通信后,发送数据缓冲区空闲的信号,告知数据发送端可以继续发送数据,以此实现数据的安全可靠的传输。
优选的,可以通过任意时刻将流控总线的电平拉低并维持超过第二时间,表示数据接收端向数据发送端发送初始化信号。需要说明的是,在发送所述初始换信号之前,数据接收端可以检测流控总线是否处于空闲状态,流控总线处于空闲状态时,数据接收端和数据发送端才可以相互发送信号。相对的,流控总线处于繁忙状态时,数据接收端和数据发送端不可以相互发送信号。具体的,可以通过检测流控总线的电平维持高电平的时间是否超过第一时间,当检测到流控总线的电平维持高电平的时间超过第一时间时,可以判定流控总线处于空闲状态,可以利用流控总线收发信号;当检测到流控总线处于高低电平切换状态时或流控总线处于低电平状态时,可以将流控总线示为繁忙状态,不可以相互发送信号。图6是流控总线空闲信号时序图,图中为了方便描述用T1表示第一时间。
步骤420:响应于所述数据发送端的所述初始化应答信号,依次向所述数据发送端发送写数据准备信号和所述数据缓冲区的状态;其中,所述初始化信号、写数据准备信号和数据缓冲区的状态通过单根流控总线发送。
数据发送端检测到流控总线被拉低第二时间时,表示收到数据接收端发送的初始化信号,当数据发送端可以和数据接收端进行通信时,可以向数据发送端发送初始化应答信号,当数据发送端此时不可以和数据接收端通信时,拒绝向接收端发送初始化应答信号。优选的,可以通过将流控总线的电平拉低并维持超过第四时间,表示数据发送端向数据接收端发送初始化应答信号。需要说明的是,数据接收端向数据发送端发送初始化信号后,会释放流控总线并维持第三时间,在数据发送端发送初始化应答信号之前,数据发送端会检测流控总线是否处于空闲状态,当检测到流控总线处于空闲状态时,发送初始化应答信号,表示可以通信,图7是初始化应答信号时序图,图中为了方便描述用T2表示第二时间,用T3表示第三时间,T4表示第四时间。
本发明提供的一个实施例中,数据接收端发送初始化信号后,在当超过预设时间未接收到所述初始化应答信号时,数据接收端可以重复发送所述初始化信号,以此实现数据流控的可持续性和数据传输的可靠性。
优选的,为了保证数据传输的可靠性,数据接收端在收到数据发送端的初始化应答信号之后,可以发送所述数据缓冲区的状态之前可以发送写数据准备信号。具体的,可以将流控总线的电平拉低并维持第五时间表示写数据准备信号,所述写数据准备信号用于提示数据发送端接收数据。
当数据接收端发送写数据准备信号之后,在第六时间内完成写0或写1的信号操作,图8是本发明实施例提供的读写数据信号时序图,图中为了方便描述用T5表示第五时间,用T6 表示第六时间。当所述数据缓冲区空闲时,在第六时间内完成写0的信号操作;当所述数据缓冲区饱和时,在第六时间内完成写1的信号操作。图9是本发明实施例提供的数据传输流控的流控总线的状态示意图,在第六时间内,当收到总线数据1时,禁止数据发送端发送数据;收到总线数据0时,表示允许数据发送端发送数据,当数据接收端数据缓冲区存满(饱和)时,向流控总线发送数据1,当数据接收端数据缓冲区空闲时,向流控总线发送数据0。
需要说明的是,所述第一时间、第二时间、第三时间、第四时间、第五时间以及第六时间可以设置为不同数值,从而进行区分。例如,第一时间可以为1000至1200us,第二时间可以为480 至 960 us,第三时间可以为100至400us,第四时间可以为480至960us,第五时间可以为100至400us,第六时间可以为600至960us。
图10是本发明实施例提供的数据传输流控的流控总线时序图。本发明提供的一个实施例中,为了使单总线通信协议适用于数据流控,取消了原有的单总线通信协议的主从机模式,即不指定主从机,也就是说流控总线上任意设备都可以作为通信主机,以此实现数据的双向传输。具体的,当监测到流控总线空闲时,数据接收端发送一个初始化信号,随后等待数据发送端设备应答,应答成功后,主从机状态确认(通信发起方作为主机,应答方作为从机),之后,主机(数据接收端)等待从机(数据发送端)将流控总线释放后,开始写数据,以此实现数据流控。
图11是本发明实施例提供的一种基于单总线信息传输的数据流控方法,基于数据发送端,所述方法包括:
步骤S1100:响应于数据接收端发送的初始化信号,发送初始化应答信号;
步骤S1110:接收所述数据接收端发送的写数据准备信号和数据缓冲区的状态;当所述数据缓冲区的状态为数据缓冲区空闲时,开始数据传输;
步骤S1120:当所述数据缓冲区的状态为数据缓冲区饱和时,停止数据传输;其中,所述初始化应答信号通过单根流控总线发送;所述数据传输通过数据总线进行。
需要说明的是,本发明实施例提供的数据流控方法不仅可以用于串口通信,还可以应用于其它通信方式中,如SPI通信以及I2C通信等任何需要进行数据流控或者状态传输的通信接口中,此处不加以限制。
本发明实施例提出了一种单总线状态下的数据传输的流控方法,其中所述初始化信号、写数据准备信号、初始化应答信号和数据缓冲区的状态都是通过单跟流控总线发送,在不改变原硬件流控功能的基础上,硬件接口由原来的两根流控总线线缩减为了一根,节约了外围硬件资源,优化了接线方式。同时解决了原软件流控方案中,数据包和控制符共用总线,容易造成数据串包,通信可靠性低、误识别的问题,降低了拆、解包难度,提升了控制效率,可以有效防止数据丢失。相应的,本发明还提供一种数据传输的流控装置,所述装置被配置为执行基于数据接收端的所述数据传输的流控方法。
相应的,本发明还提供一种基于单总线信息传输的数据流控装置,所述装置被配置为执行基于数据发送端的所述数据流控方法。
相应的,本发明还提供一种基于单总线信息传输的数据流控装置,所述装置被配置为执行基于数据接收端的所述数据流控方法。
图12是本发明实施例提供的一种通信系统,所述系统包括数据接收端、数据发送端、流控总线、数据总线、基于数据接收端的数据流控装置以及基于数据发送端的的数据流控装置,所述数据总线用于所述数据发送端和数据接收端之间的数据传输;所述流控总线用于所述数据发送端和数据接收端之间初始化信号、初始化应答信号、写数据准备信号和数据缓冲区的状态的传输。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种基于单总线信息传输的数据流控方法,其特征在于,基于数据接收端,所述方法包括:
检测数据接收端的数据缓冲区的状态,所述状态包括数据缓冲区空闲和数据缓冲区饱和;
当所述数据缓冲区的状态发生改变时,向数据发送端发送初始化信号;当超过预设时间未接收到所述数据发送端的初始化应答信号时,重复发送所述初始化信号;
响应于所述数据发送端的所述初始化应答信号,依次向所述数据发送端发送写数据准备信号和所述数据缓冲区的状态;
其中,所述初始化信号、写数据准备信号和数据缓冲区的状态通过单根流控总线发送。
2.根据权利要求1所述的数据流控方法,其特征在于,所述数据缓冲区饱和包括所述数据缓冲区的存储空间占用比例大于第一限位值;所述数据缓冲区空闲包括所述数据缓冲区的存储空间占用比例不大于第二限位值。
3.根据权利要求1所述的数据流控方法,其特征在于,在当所述数据缓冲区的状态发生改变时,向数据发送端发送初始化信号之前,所述方法还包括:检测流控总线的状态,所述流控总线的状态包括空闲状态和繁忙状态;当判定所述流控总线处于所述空闲状态时,向数据发送端发送所述初始化信号。
4.根据权利要求3所述的数据流控方法,其特征在于,所述检测流控总线的状态包括:
当检测到流控总线的电平维持高电平超过第一时间时,判定所述流控总线处于空闲状态;
当检测到所述流控总线处于高低电平切换状态时或所述流控总线处于低电平状态时,判定所述流控总线处于繁忙状态。
5.根据权利要求1所述的数据流控方法,其特征在于,所述向数据发送端发送初始化信号包括:将流控总线的电平拉低并维持第二时间。
6.根据权利要求1所述的数据流控方法,其特征在于,所述向所述数据发送端发送写数据准备信号包括:将流控总线的电平拉低并维持第五时间。
7.根据权利要求1所述的数据流控方法,其特征在于,所述向所述数据发送端发送所述数据缓冲区的状态包括:当所述数据缓冲区的状态为所述数据缓冲区空闲时,在第六时间内完成写0的信号操作;当所述数据缓冲区的状态为所述数据缓冲区饱和时,在第六时间内完成写1的信号操作。
8.一种基于单总线信息传输的数据流控方法,基于数据发送端,其特征在于,所述方法包括:
响应于数据接收端发送的初始化信号,发送初始化应答信号;
接收所述数据接收端发送的写数据准备信号和数据缓冲区的状态;当所述数据缓冲区的状态为数据缓冲区空闲时,开始数据传输;
当所述数据缓冲区的状态为数据缓冲区饱和时,停止数据传输;
其中,所述初始化应答信号通过单根流控总线发送;所述数据传输通过数据总线进行。
9.根据权利要求8所述的数据流控方法,其特征在于,所述发送初始化应答信号包括:将流控总线的电平拉低并维持第四时间。
10.根据权利要求8或9所述的数据流控方法,其特征在于,在发送初始化应答信号之前,所述方法还包括:
检测流控总线的状态,当判定所述流控总线处于空闲状态时,发送初始化应答信号。
11.根据权利要求8所述的数据流控方法,其特征在于,所述接收所述数据接收端发送的数据缓冲区的状态包括:在第六时间内,完成0或1信号的读取。
12.一种基于单总线信息传输的数据流控装置,其特征在于,基于数据接收端,所述装置被配置为执行权利要求 1-7 任一项所述的基于单总线信息传输的数据流控方法。
13.一种基于单总线信息传输的数据流控装置,其特征在于,基于数据发送端,所述装置被配置为执行权利要求8-11任一项所述的基于单总线信息传输的数据流控方法。
14.一种通信系统,其特征在于,所述系统包括数据接收端、数据发送端、流控总线、数据总线、权利要求12所述的数据流控装置以及权利要求13所述的数据流控装置,所述数据总线用于所述数据发送端和所述数据接收端之间的数据传输;所述流控总线用于所述数据发送端和所述数据接收端之间初始化信号、初始化应答信号、写数据准备信号和数据缓冲区的状态的传输。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211302058.2A CN115361345B (zh) | 2022-10-24 | 2022-10-24 | 一种基于单总线信息传输的数据流控方法、装置及通信系统 |
PCT/CN2023/124378 WO2024088076A1 (zh) | 2022-10-24 | 2023-10-13 | 一种基于单总线信息传输的数据流控方法、装置及通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211302058.2A CN115361345B (zh) | 2022-10-24 | 2022-10-24 | 一种基于单总线信息传输的数据流控方法、装置及通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115361345A CN115361345A (zh) | 2022-11-18 |
CN115361345B true CN115361345B (zh) | 2023-01-24 |
Family
ID=84008883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211302058.2A Active CN115361345B (zh) | 2022-10-24 | 2022-10-24 | 一种基于单总线信息传输的数据流控方法、装置及通信系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115361345B (zh) |
WO (1) | WO2024088076A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361345B (zh) * | 2022-10-24 | 2023-01-24 | 北京智芯微电子科技有限公司 | 一种基于单总线信息传输的数据流控方法、装置及通信系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7260660B1 (en) * | 2004-05-21 | 2007-08-21 | Zilog, Inc. | Flow control by supplying a remote start bit onto a single-wire bus |
CN101460912A (zh) * | 2006-06-05 | 2009-06-17 | 飞思卡尔半导体公司 | 数据通信流控制装置及其方法 |
CN108287800A (zh) * | 2017-12-26 | 2018-07-17 | 北京七芯中创科技有限公司 | 一种基于单总线通信协议的总线仲裁系统及方法 |
WO2022021869A1 (zh) * | 2020-07-27 | 2022-02-03 | 苏州浪潮智能科技有限公司 | 一种单电平单线全双工总线通信方法和系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1696621A1 (en) * | 2005-02-28 | 2006-08-30 | STMicroelectronics (Research & Development) Limited | Flow controlled pulsed serial link |
US7856520B2 (en) * | 2008-01-04 | 2010-12-21 | Silicon Image, Inc. | Control bus for connection of electronic devices |
US9563398B2 (en) * | 2015-03-06 | 2017-02-07 | Qualcomm Incorporated | Impedance-based flow control for a two-wire interface system with variable frame length |
US20170329738A1 (en) * | 2016-05-10 | 2017-11-16 | Qualcomm Incorporated | Digital signaling schemes for line multiplexed uart flow control |
US20170329737A1 (en) * | 2016-05-11 | 2017-11-16 | Qualcomm Incorporated | Two-wire line-multiplexed uart to four-wire high-speed uart bridging with integrated flow control |
CN108228405A (zh) * | 2016-12-15 | 2018-06-29 | 北京兆易创新科技股份有限公司 | 一种数据传输方法及装置 |
CN112134772B (zh) * | 2020-09-09 | 2021-07-09 | 中国科学院地质与地球物理研究所 | 一种基于单线的传输数据方法及设备 |
CN114138700B (zh) * | 2021-12-03 | 2023-11-24 | 西安广和通无线软件有限公司 | 一种串口数据传输的流控方法、装置、设备及存储介质 |
CN115361345B (zh) * | 2022-10-24 | 2023-01-24 | 北京智芯微电子科技有限公司 | 一种基于单总线信息传输的数据流控方法、装置及通信系统 |
-
2022
- 2022-10-24 CN CN202211302058.2A patent/CN115361345B/zh active Active
-
2023
- 2023-10-13 WO PCT/CN2023/124378 patent/WO2024088076A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7260660B1 (en) * | 2004-05-21 | 2007-08-21 | Zilog, Inc. | Flow control by supplying a remote start bit onto a single-wire bus |
CN101460912A (zh) * | 2006-06-05 | 2009-06-17 | 飞思卡尔半导体公司 | 数据通信流控制装置及其方法 |
CN108287800A (zh) * | 2017-12-26 | 2018-07-17 | 北京七芯中创科技有限公司 | 一种基于单总线通信协议的总线仲裁系统及方法 |
WO2022021869A1 (zh) * | 2020-07-27 | 2022-02-03 | 苏州浪潮智能科技有限公司 | 一种单电平单线全双工总线通信方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2024088076A1 (zh) | 2024-05-02 |
CN115361345A (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6434643B1 (en) | Transmission of status information by a selected one of multiple transfer modes based on the cause for sending the status information | |
CN109062847B (zh) | 片上系统、用于rs485串口通讯的ip核及其控制方法 | |
CN111427828B (zh) | 一种spi流控方法、系统、主设备、从设备及存储介质 | |
US20150067148A1 (en) | Automotive open system architecture (autosar)-based communication method and communication apparatus thereof | |
CN115361345B (zh) | 一种基于单总线信息传输的数据流控方法、装置及通信系统 | |
EP0130206A1 (en) | METHOD AND DEVICE FOR COMPETITIVE BUS COMPETITION DECISION. | |
JPH0581101B2 (zh) | ||
KR100480605B1 (ko) | 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기 | |
US5311510A (en) | Data storing system for a communication control circuit | |
US10572436B2 (en) | Apparatus and method for multi-master solution on MDIO communication bus | |
US6058440A (en) | Programmable and adaptive resource allocation device and resource use recorder | |
EP0336547A2 (en) | Computer network and method for operating it | |
US20230153262A1 (en) | Command transforming system and command transforming method | |
CN113268358B (zh) | 数据通信方法、装置和系统及多设备级联系统 | |
CN106649187A (zh) | 一种芯片自动化外设协议选择的方法 | |
US7506079B2 (en) | Data processor and data communication method | |
JPS5986940A (ja) | マルチドロツプ方式の情報伝送方式 | |
CN114884768B (zh) | 一种总线空闲状态的检测装置、系统及检测方法 | |
CN111124987B (zh) | 一种基于pcie的数据传输控制系统和方法 | |
JP6631370B2 (ja) | マイクロコンピュータ及び電子制御装置 | |
JP2639248B2 (ja) | 通信インターフェイス装置 | |
JP2573790B2 (ja) | 転送制御装置 | |
US20020156961A1 (en) | 40/80-Core cable discriminating method and system performing exact discrimination although master and slave storage apparatuses are connected to host | |
JPH08171464A (ja) | 双方向通信切替装置 | |
CN117041373A (zh) | 基于usb的单通道多业务并行处理方法及装置 |
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 |