CN115794716A - 终端自同步单总线通信方法、装置、设备及存储介质 - Google Patents
终端自同步单总线通信方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115794716A CN115794716A CN202211559857.8A CN202211559857A CN115794716A CN 115794716 A CN115794716 A CN 115794716A CN 202211559857 A CN202211559857 A CN 202211559857A CN 115794716 A CN115794716 A CN 115794716A
- Authority
- CN
- China
- Prior art keywords
- frame
- slave
- master
- equipment
- slave device
- 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
Landscapes
- Communication Control (AREA)
Abstract
本发明实施例公开了一种终端自同步单总线通信方法、装置、设备及存储介质,方法包括:当准备发起数据传输时,主设备向从设备发送起始信号帧;当从设备接收到主设备发送的起始信号帧时,主设备立即向从设备发送时钟同步帧;从设备根据接收到的时钟同步帧计算得到信号传输的波特率;当执行发起数据传输时,主设备向从设备发送协商命令帧;从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧;通用数据帧传输完成后,主设备和从设备之间传输CRC校验帧;当终止数据传输时,主设备向从设备发送停止信号帧。本发明实现了在不需要借助时钟信号便可完成单总线的双向通信,降低了功耗的同时提升了通信效率。
Description
技术领域
本发明涉及通信技术领域,更具体地说是终端自同步单总线通信方法、装置、设备及存储介质。
背景技术
市面上终端之间多采用多总线的方式进行通信,采用多总线的通信方式需要占用大量的芯片管脚个数,导致芯片封装体积较大,而随着嵌入式系统小型化的发展趋势,市场对减少器件间通信所用的管脚数的需求与日俱增,因此,单总线通信的应用也越来越多,但目前市面上的单总线通信在数据编码时需要考虑同步问题,同步通信时需要借助时钟信号进行同步,功耗较大,通信效率低下。
发明内容
本发明的目的在于克服现有技术的不足,提供终端自同步单总线通信方法、装置、设备及存储介质,旨在不需要借助时钟信号便可实现单总线的双向通信,以降低功耗,提升通信效率。
为实现上述目的,本发明采用以下技术方案:
第一方面,终端自同步单总线通信方法,所述终端包括主设备和从设备,主设备和从设备之间采用单根信号线通信;所述方法包括:
当准备发起数据传输时,主设备向从设备发送起始信号帧;
当从设备接收到主设备发送的起始信号帧时,主设备立即向从设备发送时钟同步帧;
从设备根据接收到的时钟同步帧计算得到信号传输的波特率;
当执行发起数据传输时,主设备向从设备发送协商命令帧;
从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧;
通用数据帧传输完成后,主设备和从设备之间传输CRC校验帧;
当终止数据传输时,主设备向从设备发送停止信号帧。
其进一步技术方案为:所述时钟同步帧由8bit组成,且8bit中相邻两个bit分别为高电平和低电平。
其进一步技术方案为:所述从设备根据接收到的时钟同步帧计算得到信号传输的波特率,包括:
当从设备接收到第一个上升沿时,开始对8bit中的每个bit进行信号宽度测量;
当从设备接收到完整的8bit时,将8bit中的所有高电平和低电平求和后再进行平均值计算,以得到一个bit传输需要的平均时间,并将一个bit传输需要的平均时间作为信号传输的波特率。
其进一步技术方案为:所述协商命令帧包括信号标志位、主设备读写标志位、从设备内存地址、主设备读取或者写入通用数据个数以及ack标志位。
其进一步技术方案为:所述协商命令帧2个byte组成,共16bit。
其进一步技术方案为:所述从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧,包括:
根据协商命令帧确定协商命令参数为读还是为写;
若协商命令参数为读,则从设备根据协商命令参数发送通用数据帧至主设备;且主设备等待监听从设备发送过来的通用数据帧;
若协商命令参数为写,则从设备等待监听主设备发送过来的通用数据帧,且主设备向从设备发送通用数据帧。
其进一步技术方案为:所述CRC校验帧采用CRC-16,由2byte组成。
第二方面,终端自同步单总线通信装置,所述终端包括主设备和从设备,主设备和从设备之间采用单根信号线通信;所述装置包括第一发送单元、第二发送单元、计算单元、第三发送单元、第一传输单元、第二传输单元以及第四发送单元;
所述第一发送单元,用于当准备发起数据传输时,主设备向从设备发送起始信号帧;
所述第二发送单元,用于当从设备接收到主设备发送的起始信号帧时,主设备立即向从设备发送时钟同步帧;
所述计算单元,用于从设备根据接收到的时钟同步帧计算得到信号传输的波特率;
所述第三发送单元,用于当执行发起数据传输时,主设备向从设备发送协商命令帧;
所述第一传输单元,用于从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧;
所述第二传输单元,用于通用数据帧传输完成后,主设备和从设备之间传输CRC校验帧;
所述第四发送单元,用于当终止数据传输时,主设备向从设备发送停止信号帧。
第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的终端自同步单总线通信方法。
第四方面,一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如上述的终端自同步单总线通信方法。
本发明与现有技术相比的有益效果是:本发明通过当准备发起数据传输时,主设备向从设备发送起始信号帧;当从设备接收到主设备发送的起始信号帧时,主设备立即向从设备发送时钟同步帧;从设备根据接收到的时钟同步帧计算得到信号传输的波特率;当执行发起数据传输时,主设备向从设备发送协商命令帧;从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧;通用数据帧传输完成后,主设备和从设备之间传输CRC校验帧;当终止数据传输时,主设备向从设备发送停止信号帧。实现了在不需要借助时钟信号便可完成单总线的双向通信,降低了功耗的同时提升了通信效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征及优点能够更明显易懂,以下特举较佳实施例,详细说明如下。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明具体实施例提供的终端自同步单总线通信方法的流程图;
图2为本发明具体实施例提供的终端自同步单总线通信装置的示意性框图;
图3为本发明具体实施例提供的一种计算机设备的示意性框图;
图4为本发明具体实施例提供的数据链路层完整的通信时序图;
图5为本发明具体实施例提供的协商命令帧的构成图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本发明实施例提供了终端自同步单总线通信方法,该方法是一种应用在短距离低电压有线的通信方法,主要应用在单片机与传感器领域,在满足低功耗的前提下实现终端之间的数据通信。
协议主要分为物理层和数据链路层,物理层使用单根信号线,且信号电平采用TTL,即主设备和从设备之间采用单根信号线通信,且信号电平采用TTL。另外,主设备和从设备的物理层需要集成一个单总线收发器(用于解析链路层信号帧)且外部需要一根信号线,信号线简称SDC,信号电平为TTL。需要上拉一个电阻来保持总线电压为高电平。
而数据链路层以物理层为承载,通过信号线的变化,在满足数据的完整性和一致性的情况下,实现数据的双向传输。该单总线通信方法实现简单,显著提高了单总线通信效率。另外,数据链路层将描述SDC信号变化所代表的含义,数据线SDC空闲状态为高电平。链路层传输的数据格式要求:高字节在前,低字节在后,低bit在前,高bit在后。数据链路层根据传输的数据结点将节点命名为帧,其组成包含:起始信号帧(SOP),时钟同步帧(SYNF),协商命令帧(CCP),通用数据帧(UDP),CRC校验帧,停止信号帧(EOP),其完整的通信时序如图4所示。
本发明为点对点的通信方式,设备角色分为主设备和从设备,数据传输由主设备发起,从设备不能单独发起数据传输,主设备和从设备的工作模式分为:监听模式、发送模式和空闲模式,其中,监听模式下,设备需要接收数据,且根据协议的上下文来做相应的处理;发送模式下设备可以发送数据;空闲模式下设备不在进行数据传输,且必须释放总线。
三种模式可以互相切换,主设备默认为空闲模式,当主设备需要发送数据,则从空闲模式转为发送模式,发送完协商命令帧后(type为读)转为监听模式,接收完数据后,再次转为空闲模式;从模式默认为空闲模式,当信号线SDC拉低后转为监听模式,当监听到主设备发送的协商命令帧后(type为读)转为发送模式,发送完数据后,转为监听模式,当收到主设备发送的停止信号帧EOP后转为空闲模式。
如图1所示,终端自同步单总线通信方法,包括以下步骤:S10-S70。
S10、当准备发起数据传输时,主设备向从设备发送起始信号帧。
主设备数据传输之前,需要先发送起始信号帧,且只能由主设备发起。当发起一次数据传输时,主设备主动拉低总线,并维持2个bit时间,表示起始信号帧发送成功。从设备收到总线拉低信号后,从非监听模式(空闲模式或者发送模式)转为监听模式,并做好接收时钟同步帧的准备。
S20、当从设备接收到主设备发送的起始信号帧时,主设备立即向从设备发送时钟同步帧。
单总线由于没有时钟同步信号来约束信号时序,所以需要解决主设备和从设备同步的问题,时钟同步帧就是为了解决这个而设计的。主设备启动数据发送流程,发送完起始信号帧后,需立即发送时钟同步帧。时钟同步帧由8bit组成,先传输bit0,再传输bit1,以此类推。bit0为高电平,bit1为低电平,交替变化。
S30、从设备根据接收到的时钟同步帧计算得到信号传输的波特率。
在一实施例,步骤S30具体包括以下步骤:S301-S302。
S301、当从设备接收到第一个上升沿时,开始对8bit中的每个bit进行信号宽度测量。
S302、当从设备接收到完整的8bit时,将8bit中的所有高电平和低电平求和后再进行平均值计算,以得到一个bit传输需要的平均时间,并将一个bit传输需要的平均时间作为信号传输的波特率。
从设备收到第一个上升沿,开始进行信号测量。当从设备接收到完整的8bit数据(4个1和4个0)后,将高电平或者低电平的宽度(时间)求和再取平均值,得出一个bit传输需要的平均时间,即信号传输的波特率。从设备需要根据整个波特率来解析后续的数据(协商命令帧、通用数据帧、CRC校验帧、停止信号帧)。
S40、当执行发起数据传输时,主设备向从设备发送协商命令帧。
当主设备发起数据传输,发送完起始信号帧和时钟同步帧后,需要立刻发送协商命令帧。协商命令帧主要功能是确认读写类型,确认操作内存地址和数据读写数量。协商命令帧由2个byte组成,共计16bit。
如图5所示,协商命令帧包括信号标志位(flag)、主设备读写标志位(type)、从设备内存地址(address)、主设备读取或者写入通用数据个数(count)以及ack标志位,其中,信号标志位占用bit0和bit1,bit0为0,bit1为1,用于用于区分命令协商帧和停止信号帧。主设备读写标志位占用bit2,0表示读,1表示写。从设备内存地址占用bit3-bit8,主设备会从该地址处经行读写操作。主设备读取或者写入通用数据个数占用bit9-bit14,单位byte。ack标志位占用bit15,0表示从设备应答主设备,1表示不应答。
主设备在发送完前15个bit数据之后,需要从发送模式切换成监听模式来监听从机返回ack。当ack为0时,表示主设备和从设备协议成功,后续便可以传输通用数据。当ack为1时,表示主设备和从设备协商失败,主设备必须发送停止信号帧来结束本次数据传输。从设备在接收到主设备发送来的15个bit数据之后,需要从监听模式切换成发送模式来应答主设备。从设备需根据自身的运行状态以及主设备发送来的协商命令参数来发送应答值。
S50、从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧。
主从设备协商成功后,便可以传输通用数据帧。这里的传输数据帧根据协商参数可分为主设备发送的数据和从设备应答的数据。通用数据帧以byte为单位。
在一实施例中,步骤S50具体包括以下步骤:S501-S503。
S501、根据协商命令帧确定协商命令参数为读还是为写。
S502、若协商命令参数为读,则从设备根据协商命令参数发送通用数据帧至主设备;且主设备等待监听从设备发送过来的通用数据帧。
S503、若协商命令参数为写,则从设备等待监听主设备发送过来的通用数据帧,且主设备向从设备发送通用数据帧。
具体的,如果协商参数为读,从设备在发送完应答bit后,需要根据协商命令参数count立刻发送指定数据;主设备确认从设备应答后,必须立刻切换成监听模式,等待监听从设备发来的通用数据帧。如果协商参数为写,从设备在发送完应答bit后立刻切换成监听模式,等待监听主设备发来的通用数据帧;主设备确认从设备应答后,必须立刻切换成发送模式,然后发送通用数据帧。
S60、通用数据帧传输完成后,主设备和从设备之间传输CRC校验帧。
当主设备和从设备发送完通用数据帧后,需要立刻发送CRC校验帧。CRC校验帧的目的是用来校验通用数据帧在传输时的完整性。CRC校验使用CRC-16。由2byte组成。其多项式为G(x)=X16+X15+X2+1,初始值为0。
当主设备和从设备传输完CRC校验帧后,只是代表此次协商数据完成一次传输,并不代表本次数据传输并结束,主设备可以再次发起命令协商,完成新一轮的输出传输。例如,主设备先发起写数据来配置从设备,然后再发起读数据获取从设备处理结果。
S70、当终止数据传输时,主设备向从设备发送停止信号帧。
当主设备需要终止本次数据传输时,主设备需要发送停止信号帧。主设备主动释放总线(总线电平状态变为高电平),并维持2个bit时间,表示信号起始帧发送成功。从设备在接收完同步信号帧或者CRC校验帧后,需要监听后续信号帧是命令协商帧还是停止信号帧。如果是停止信号帧,从设备将退出监听模式,转为非监听模式(空心模式或者发送模式)。
本发明实现了在不需要借助时钟信号便可完成单总线的双向通信,降低了功耗的同时提升了通信效率。
图2为本发明实施例提供的终端自同步单总线通信装置的示意性框图;对应于上述的终端自同步单总线通信方法,本发明实施例还提供了终端自同步单总线通信装置100。
如图2所示,终端自同步单总线通信装置100,包括第一发送单元110、第二发送单元120、计算单元130、第三发送单元140、第一传输单元150、第二传输单元160以及第四发送单元170。
第一发送单元110,用于当准备发起数据传输时,主设备向从设备发送起始信号帧。
主设备数据传输之前,需要先发送起始信号帧,且只能由主设备发起。当发起一次数据传输时,主设备主动拉低总线,并维持2个bit时间,表示起始信号帧发送成功。从设备收到总线拉低信号后,从非监听模式(空闲模式或者发送模式)转为监听模式,并做好接收时钟同步帧的准备。
第二发送单元120,用于当从设备接收到主设备发送的起始信号帧时,主设备立即向从设备发送时钟同步帧。
单总线由于没有时钟同步信号来约束信号时序,所以需要解决主设备和从设备同步的问题,时钟同步帧就是为了解决这个而设计的。主设备启动数据发送流程,发送完起始信号帧后,需立即发送时钟同步帧。时钟同步帧由8bit组成,先传输bit0,再传输bit1,以此类推。bit0为高电平,bit1为低电平,交替变化。
计算单元130,用于从设备根据接收到的时钟同步帧计算得到信号传输的波特率。
在一实施例中,计算单元包括测量模块以及计算模块。
测量模块,用于当从设备接收到第一个上升沿时,开始对8bit中的每个bit进行信号宽度测量。
计算模块,用于当从设备接收到完整的8bit时,将8bit中的所有高电平和低电平求和后再进行平均值计算,以得到一个bit传输需要的平均时间,并将一个bit传输需要的平均时间作为信号传输的波特率。
从设备收到第一个上升沿,开始进行信号测量。当从设备接收到完整的8bit数据(4个1和4个0)后,将高电平或者低电平的宽度(时间)求和再取平均值,得出一个bit传输需要的平均时间,即信号传输的波特率。从设备需要根据整个波特率来解析后续的数据(协商命令帧、通用数据帧、CRC校验帧、停止信号帧)。
第三发送单元140,用于当执行发起数据传输时,主设备向从设备发送协商命令帧。
当主设备发起数据传输,发送完起始信号帧和时钟同步帧后,需要立刻发送协商命令帧。协商命令帧主要功能是确认读写类型,确认操作内存地址和数据读写数量。协商命令帧由2个byte组成,共计16bit。
如图5所示,协商命令帧包括信号标志位(flag)、主设备读写标志位(type)、从设备内存地址(address)、主设备读取或者写入通用数据个数(count)以及ack标志位,其中,信号标志位占用bit0和bit1,bit0为0,bit1为1,用于用于区分命令协商帧和停止信号帧。主设备读写标志位占用bit2,0表示读,1表示写。从设备内存地址占用bit3-bit8,主设备会从该地址处经行读写操作。主设备读取或者写入通用数据个数占用bit9-bit14,单位byte。ack标志位占用bit15,0表示从设备应答主设备,1表示不应答。
主设备在发送完前15个bit数据之后,需要从发送模式切换成监听模式来监听从机返回ack。当ack为0时,表示主设备和从设备协议成功,后续便可以传输通用数据。当ack为1时,表示主设备和从设备协商失败,主设备必须发送停止信号帧来结束本次数据传输。从设备在接收到主设备发送来的15个bit数据之后,需要从监听模式切换成发送模式来应答主设备。从设备需根据自身的运行状态以及主设备发送来的协商命令参数来发送应答值。
第一传输单元150,用于从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧。
主从设备协商成功后,便可以传输通用数据帧。这里的传输数据帧根据协商参数可分为主设备发送的数据和从设备应答的数据。通用数据帧以byte为单位。
在一实施例中,第一传输单元150包括判断模块、第一发送模块以及第二发送模块。
判断模块,用于根据协商命令帧确定协商命令参数为读还是为写。
第一发送模块,用于若协商命令参数为读,则从设备根据协商命令参数发送通用数据帧至主设备;且主设备等待监听从设备发送过来的通用数据帧。
第二发送模块,用于若协商命令参数为写,则从设备等待监听主设备发送过来的通用数据帧,且主设备向从设备发送通用数据帧。
具体的,如果协商参数为读,从设备在发送完应答bit后,需要根据协商命令参数count立刻发送指定数据;主设备确认从设备应答后,必须立刻切换成监听模式,等待监听从设备发来的通用数据帧。如果协商参数为写,从设备在发送完应答bit后立刻切换成监听模式,等待监听主设备发来的通用数据帧;主设备确认从设备应答后,必须立刻切换成发送模式,然后发送通用数据帧。
第二传输单元160,用于通用数据帧传输完成后,主设备和从设备之间传输CRC校验帧。
当主设备和从设备发送完通用数据帧后,需要立刻发送CRC校验帧。CRC校验帧的目的是用来校验通用数据帧在传输时的完整性。CRC校验使用CRC-16。由2byte组成。其多项式为G(x)=X16+X15+X2+1,初始值为0。
当主设备和从设备传输完CRC校验帧后,只是代表此次协商数据完成一次传输,并不代表本次数据传输并结束,主设备可以再次发起命令协商,完成新一轮的输出传输。例如,主设备先发起写数据来配置从设备,然后再发起读数据获取从设备处理结果。
第四发送单元170,用于当终止数据传输时,主设备向从设备发送停止信号帧。
当主设备需要终止本次数据传输时,主设备需要发送停止信号帧。主设备主动释放总线(总线电平状态变为高电平),并维持2个bit时间,表示信号起始帧发送成功。从设备在接收完同步信号帧或者CRC校验帧后,需要监听后续信号帧是命令协商帧还是停止信号帧。如果是停止信号帧,从设备将退出监听模式,转为非监听模式(空心模式或者发送模式)。
上述终端自同步单总线通信装置可以实现为计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。
请参阅图3,图3是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
如图3所示,该计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述的终端自同步单总线通信方法步骤。
该计算机设备700可以是终端或服务器。该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种终端自同步单总线通信方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种终端自同步单总线通信方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:
终端自同步单总线通信方法,所述终端包括主设备和从设备,主设备和从设备之间采用单根信号线通信;所述方法包括:
当准备发起数据传输时,主设备向从设备发送起始信号帧;
当从设备接收到主设备发送的起始信号帧时,主设备立即向从设备发送时钟同步帧;
从设备根据接收到的时钟同步帧计算得到信号传输的波特率;
当执行发起数据传输时,主设备向从设备发送协商命令帧;
从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧;
通用数据帧传输完成后,主设备和从设备之间传输CRC校验帧;
当终止数据传输时,主设备向从设备发送停止信号帧。
在一实施例中:所述时钟同步帧由8bit组成,且8bit中相邻两个bit分别为高电平和低电平。
在一实施例中:所述从设备根据接收到的时钟同步帧计算得到信号传输的波特率,包括:
当从设备接收到第一个上升沿时,开始对8bit中的每个bit进行信号宽度测量;
当从设备接收到完整的8bit时,将8bit中的所有高电平和低电平求和后再进行平均值计算,以得到一个bit传输需要的平均时间,并将一个bit传输需要的平均时间作为信号传输的波特率。
在一实施例中:所述协商命令帧包括信号标志位、主设备读写标志位、从设备内存地址、主设备读取或者写入通用数据个数以及ack标志位。
在一实施例中:所述协商命令帧2个byte组成,共16bit。
在一实施例中:所述从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧,包括:
根据协商命令帧确定协商命令参数为读还是为写;
若协商命令参数为读,则从设备根据协商命令参数发送通用数据帧至主设备;且主设备等待监听从设备发送过来的通用数据帧;
若协商命令参数为写,则从设备等待监听主设备发送过来的通用数据帧,且主设备向从设备发送通用数据帧。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessingUnit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图3中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在本发明的另一实施例中提供了一种计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的终端自同步单总线通信方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.终端自同步单总线通信方法,其特征在于,所述终端包括主设备和从设备,主设备和从设备之间采用单根信号线通信;所述方法包括:
当准备发起数据传输时,主设备向从设备发送起始信号帧;
当从设备接收到主设备发送的起始信号帧时,主设备立即向从设备发送时钟同步帧;
从设备根据接收到的时钟同步帧计算得到信号传输的波特率;
当执行发起数据传输时,主设备向从设备发送协商命令帧;
从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧;
通用数据帧传输完成后,主设备和从设备之间传输CRC校验帧;
当终止数据传输时,主设备向从设备发送停止信号帧。
2.根据权利要求1所述的终端自同步单总线通信方法,其特征在于,所述时钟同步帧由8bit组成,且8bit中相邻两个bit分别为高电平和低电平。
3.根据权利要求2所述的终端自同步单总线通信方法,其特征在于,所述从设备根据接收到的时钟同步帧计算得到信号传输的波特率,包括:
当从设备接收到第一个上升沿时,开始对8bit中的每个bit进行信号宽度测量;
当从设备接收到完整的8bit时,将8bit中的所有高电平和低电平求和后再进行平均值计算,以得到一个b i t传输需要的平均时间,并将一个bit传输需要的平均时间作为信号传输的波特率。
4.根据权利要求1所述的终端自同步单总线通信方法,其特征在于,所述协商命令帧包括信号标志位、主设备读写标志位、从设备内存地址、主设备读取或者写入通用数据个数以及ack标志位。
5.根据权利要求1所述的终端自同步单总线通信方法,其特征在于,所述协商命令帧2个byte组成,共16b i t。
6.根据权利要求1所述的终端自同步单总线通信方法,其特征在于,所述从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧,包括:
根据协商命令帧确定协商命令参数为读还是为写;
若协商命令参数为读,则从设备根据协商命令参数发送通用数据帧至主设备;且主设备等待监听从设备发送过来的通用数据帧;
若协商命令参数为写,则从设备等待监听主设备发送过来的通用数据帧,且主设备向从设备发送通用数据帧。
7.根据权利要求1所述的终端自同步单总线通信方法,其特征在于,所述CRC校验帧采用CRC-16,由2byte组成。
8.终端自同步单总线通信装置,其特征在于,所述终端包括主设备和从设备,主设备和从设备之间采用单根信号线通信;所述装置包括第一发送单元、第二发送单元、计算单元、第三发送单元、第一传输单元、第二传输单元以及第四发送单元;
所述第一发送单元,用于当准备发起数据传输时,主设备向从设备发送起始信号帧;
所述第二发送单元,用于当从设备接收到主设备发送的起始信号帧时,主设备立即向从设备发送时钟同步帧;
所述计算单元,用于从设备根据接收到的时钟同步帧计算得到信号传输的波特率;
所述第三发送单元,用于当执行发起数据传输时,主设备向从设备发送协商命令帧;
所述第一传输单元,用于从设备接收到协商命令帧后,主设备和从设备之间传输通用数据帧;
所述第二传输单元,用于通用数据帧传输完成后,主设备和从设备之间传输CRC校验帧;
所述第四发送单元,用于当终止数据传输时,主设备向从设备发送停止信号帧。
9.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~7中任意一项所述的终端自同步单总线通信方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如权利要求1~7任意一项所述的终端自同步单总线通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211559857.8A CN115794716A (zh) | 2022-12-06 | 2022-12-06 | 终端自同步单总线通信方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211559857.8A CN115794716A (zh) | 2022-12-06 | 2022-12-06 | 终端自同步单总线通信方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794716A true CN115794716A (zh) | 2023-03-14 |
Family
ID=85417491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211559857.8A Pending CN115794716A (zh) | 2022-12-06 | 2022-12-06 | 终端自同步单总线通信方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794716A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578521A (zh) * | 2023-07-14 | 2023-08-11 | 深圳中安辰鸿技术有限公司 | 一种单总线通信方法、装置、系统及设备 |
CN117640016A (zh) * | 2024-01-26 | 2024-03-01 | 北京智芯微电子科技有限公司 | 波特率协商方法、装置、计算机设备、芯片及存储介质 |
-
2022
- 2022-12-06 CN CN202211559857.8A patent/CN115794716A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578521A (zh) * | 2023-07-14 | 2023-08-11 | 深圳中安辰鸿技术有限公司 | 一种单总线通信方法、装置、系统及设备 |
CN117640016A (zh) * | 2024-01-26 | 2024-03-01 | 北京智芯微电子科技有限公司 | 波特率协商方法、装置、计算机设备、芯片及存储介质 |
CN117640016B (zh) * | 2024-01-26 | 2024-05-17 | 北京智芯微电子科技有限公司 | 波特率协商方法、装置、计算机设备、芯片及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115794716A (zh) | 终端自同步单总线通信方法、装置、设备及存储介质 | |
US11010327B2 (en) | I3C point to point | |
JPS604624B2 (ja) | 正しくない情報フレ−ムを再送するシステム | |
US20190356412A1 (en) | Fast termination of multilane double data rate transactions | |
WO1992016896A1 (en) | Eight-bit parallel communications method and apparatus | |
CN112564882B (zh) | 一种基于ahb总线的单线数字通讯接口 | |
CN112463651A (zh) | Qspi控制器,图像处理器及闪存访问方法 | |
CN111277988B (zh) | 一种提高微信小程序蓝牙传输速度的方法 | |
JPS6376540A (ja) | 通信端末装置 | |
US20200201804A1 (en) | I3c device timing adjustment to accelerate in-band interrupts | |
WO2019112697A1 (en) | Staggered transmissions on a multi-drop half-duplex bus | |
CN116561030A (zh) | 一种数据传输方法、装置、设备及介质 | |
US20070168580A1 (en) | Apparatus to improve the firmware efficiency for a multiframe serial interface | |
CN116627869A (zh) | 应用于电子设备的数据传输方法及装置 | |
CN114510446A (zh) | 串口波特率自适应方法、装置、设备及介质 | |
CN116760508B (zh) | 一种波特率设置方法及系统 | |
US20210173808A1 (en) | Early parity error detection on an i3c bus | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN110750478A (zh) | 一种多串口通信方法及系统 | |
CN116340217A (zh) | 数据处理方法及相关装置 | |
CN115794701A (zh) | 一种dma功能虚拟串口的bmc芯片及方法 | |
CN114488871A (zh) | 控制方法、变频器及计算机可读存储介质 | |
US8904062B2 (en) | Network control model driver | |
US7334040B2 (en) | Method of transmission between two processors of a radio communication unit | |
CN114625580A (zh) | 一种基于arm swd调试协议的单线调试系统及方法 |
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 |