一种通信系统及方法与流程

文档序号:16401855发布日期:2018-12-25 20:10阅读:157来源:国知局
一种通信系统及方法与流程

本申请涉及通信领域,尤其涉及一种通信系统及方法。

背景技术

在许多场景中可以采用主从设备模式,以提高计算性能、提升计算可靠性或者提高计算的精确程度。主从设备模式的核心思想在于将原始任务分解为若干个语义等同的子任务,并由专门的工作者线程执行这些任务,整合各个子任务的处理结果可以得到原始任务的处理结果。

其中,主设备(master)将子任务分配给从设备(slave),以及从设备将子任务的处理结果返回给主设备是通过(inter-integratedcircuit,i2c)总线实现的。i2c采用可寻址通信协议,因此主设备与采用7位元或10位元地址的从设备通信。由于从设备的定址能力有限,常常导致i2c汇流排位址冲突不断增加。为了解决位址冲突问题,可以采用i2c多工器实现位址切换。

然而,额外增加多工器会增加硬体成本,为此,业界常常运用系统上已有的复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)或现场可编程门阵列(field-programmablegatearray,fpga)等可程式化的输入输出设备(input/output,io)作多工器,然而这种利用已有器件形成的多工器只能单向传输,具体为主设备向从设备传输,主设备无法得知从设备的反应,存在频率不同步导致存取工作异常。



技术实现要素:

有鉴于此,本申请提供了一种通信方法,能够基于已有器件形成多工器实现位址切换,并且该多工器能够对主设备和从设备频率进行同步,避免存取工作异常。对应地,本申请还提供了一种通信装置。

本申请第一方面提供了一种通信系统,所述系统包括包括主设备、从设备、可程式化的输入输出器件,其中:

所述主设备与所述从设备通过所述可程式化的输入输出器件连接,所述主设备与所述可程式化的输入输出器件之间的第一串行时钟信号线被所述可程式化的输入输出器件转换为多路第二串行时钟信号线,所述多路第二串行时钟信号线的每一路第二串行时钟信号线分别控制一个所述从设备;

所述第一串行时钟信号线为双向,所述可程式化的输入输出器件能够通过所述第一串行时钟信号线向所述主设备发送第一控制指令,所述第一控制指令用于降低所述主设备的工作频率;

所述第二串行时钟信号线为单向,并且是由所述可程式化的输入输出器件向所述从设备传输;

所述主设备与所述从设备通过串行数据信号线传输数据。

可选的,所述主设备安装有软体工具,所述软体工具用于修改所述主设备的参数;

则所述主设备还用于:

响应于所述第一控制指令,通过所述软体工具降低所述主设备的工作频率。

可选的,所述主设备设置有比较器,所述比较器用于比较所述主设备的工作频率和所述主设备的最低工作频率是否相等;

所述可程式化的输入输出器件还用于:

若所述主设备的工作频率和所述主设备的最低工作频率相等,且所述主设备的工作频率与所述从设备的工作频率不同步,则向所述主设备发送第二控制指令,以使所述主设备延长所述第一串行时钟信号线的低电位,以降低所述主设备的工作频率。

可选的,所述可程式化的输入输出器件包括复杂可编程逻辑器件或现场可编程门阵列。

本申请第一方面提供了一种通信方法,应用于本申请第一方面所述的通信系统,所述方法包括:

可程式化的输入输出器件侦测第一串行时钟信号线的电位;

若所述第一串行时钟信号线的电位由高电位转变为低电位,则所述可程式化的输入输出器件将控制目标从设备的第二串行时钟信号线的电位设置为低电位,剩余的第二串行时钟信号线的电位设置为高电位,使得所述主设备与所述目标从设备通过串行数据信号线传输数据;所述目标从设备为所述从设备中的一个;

所述可程式化的输入输出器件判断所述主设备的工作频率与所述从设备的工作频率是否同步;

若否,则向所述主设备发送第一控制指令;所述第一控制指令用于降低所述主设备的工作频率,以使所述主设备的工作频率与所述目标从设备的工作频率同步。

可选的,所述方法还包括:

可程式化的输入输出器件判断所述主设备的工作频率是否已降低至所述主设备的最低工作频率;

若是,则所述可程式化的输入输出器件判断所述主设备的工作频率是否与所述目标从设备的工作频率同步;

若否,则所述可程式化的输入输出器件向所述主设备发送第二控制指令;所述第二控制指令用于延长第一串行时钟信号线的低电位。

可选的,所述可程式化的输入输出器件向所述主设备发送第二控制指令包括:

通过使能延迟功能的方式向所述主设备发送第二控制指令。

可选的,所述方法还包括:

当所述主设备的工作频率与所述目标从设备的工作频率同步时,关闭所述延迟功能。

可选的,所述可程式化的输入输出器件包括复杂可编程逻辑器件或现场可编程门阵列。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例中提供了一种通信系统,该通信系统包括主设备、从设备、可程式化的输入输出器件,其中,主设备与从设备通过可程式化的输入输出器件,该输入输出器件可以作为多工器,将主设备输出的一路第一串行时钟信号线,转换为多路第二串行时钟信号线,每路第二串行时钟信号线分别控制一个从设备,如此可以通过控制第二串行时钟信号线避免位址冲突,此外,第一串行时钟信号线为双向,而第二串行时钟信号线为单向,当主设备与从设备通信时,可程式化的输入输出器件能够向主设备发送第一控制指令,以降低主设备的工作频率,实现主设备与从设备之间的频率同步,避免存取工作异常。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例中一种通信系统的结构示意图;

图2为本申请实施例中一种通信方法的流程图;

图3为本申请实施例中原始第一串行时钟信号与延迟低电位后的第一串行时钟信号的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

针对现有技术中利用已有器件形成的多工器只能单向传输,主设备无法得知从设备的反应,存在频率不同步导致存取工作异常的技术问题,本申请提供了一种通信系统,该通信系统包括主设备、从设备、可程式化的输入输出器件,其中,主设备与从设备通过可程式化的输入输出器件,该输入输出器件可以作为多工器,将主设备输出的一路第一串行时钟信号线,转换为多路第二串行时钟信号线,每路第二串行时钟信号线分别控制一个从设备,如此可以通过控制第二串行时钟信号线避免位址冲突,此外,第一串行时钟信号线为双向,而第二串行时钟信号线为单向,当主设备与从设备通信时,可程式化的输入输出器件能够向主设备发送第一控制指令,以降低主设备的工作频率,实现主设备与从设备之间的频率同步,避免存取工作异常。

为了使得本申请的技术方案更加清楚、易于理解,下面将结合附图,对本申请实施例提供的一种通信系统进行介绍。

参见图1所示的一种通信系统的结构示意图,该通信系统包括主设备100、从设备201至20n,以及可程式化的输入输出器件300,其中,n为正整数。

所述主设备100与所述从设备201至20n通过所述可程式化的输入输出器件300连接,所述主设备100与所述可程式化的输入输出器件300之间的第一串行时钟信号线,记作scl(serialclockline),被所述可程式化的输入输出器件300转换为多路第二串行时钟信号线,记作scl1至scln,所述多路第二串行时钟信号线scl1至scln的每一路第二串行时钟信号线分别控制一个所述从设备;具体地,scl1控制从设备201,scl2控制从设备202,scln控制从设备20n。

所述第一串行时钟信号线为双向,所述可程式化的输入输出器件300能够通过所述第一串行时钟信号线scl向所述主设备100发送第一控制指令,所述第一控制指令用于降低所述主设备100的工作频率;

所述第二串行时钟信号线scl1至scln为单向,并且是由所述可程式化的输入输出器件300向所述从设备scl1至scln传输;

所述主设备300与所述从设备201至20n通过串行数据信号线(serialdataline,sda)传输数据。

在具体实现时,可程式化的输入输出器件300将scl分成多个,分别对sclx(x可以为1至n中的任意一个整数)进行开关控制,使其中一个从设备20x与主设备100的scl同步,实现该从设备20x与主设备100之间的个别存取。在一些可能的实现方式中,可程式化的输入输出器件300侦测第一串行时钟信号线scl的电位,若第一串行时钟信号线的电位由高电位转换为低电位,则可程式化的输入输出器件300将控制目标从设备的第二串行时钟信号线的电位设置为低电位,剩余的第二串行时钟信号线的电位设置为高电位,从而使得主设备100与目标从设备通过串行数据信号线sda传输数据,而其他从设备处于闲置状态,不会与主设备100通信,如此不会产生位址冲突。

其中,目标从设备为从设备201至20n中的一个。具体地,主设备100意图与之通信的某一从设备即可作为目标从设备。例如,主设备100意图与从设备202通信,则目标设备为从设备202,控制该目标从设备的第二串行时钟信号线为scl2。在具体实现时,可程式化的输入输出器件300侦测到第一串行时钟信号线scl由高电位转换为低电位时,该可程式化的输入输出器件300将控制目标从设备202的第二串行时钟信号线scl2的电位设置为低电位,指示目标从设备202与主设备100通信,如此,主设备100通过串行数据信号线sda传输数据至目标从设备202,其他从设备如201等从设备的电位仍处于高电位状态,故除目标从设备202以外的其他从设备处于闲置状态,不会与目标从设备202产生位址冲突。

在该实施例中,第一串行时钟信号线scl为双向,第二串行时钟信号线sclx为单向,并且是由可程式化的输入输出器件300向从设备传输,如此,从设备不能够直接通过第二串行时钟信号线sclx,向可程式化的输入输出器件300传输信号或指令,而可程式化的输入输出器件300能够通过第一串行时钟信号线scl向在主设备100发送信号或指令。

基于此,在主设备100与目标从设备通信时,可以根据目标从设备对数据的处理情况确定主设备100与目标从设备的工作频率是否同步,若主设备100与目标从设备的工作频率不同步,可程式化的输入输出器件300能够通过所述第一串行时钟信号线scl向主设备100发送第一控制指令,该指令可以指示主设备100降低其工作频率,以使主设备100的工作频率与目标从设备的工作频率同步,如此,目标从设备可以获得足够的时间处理数据,避免丢包等故障发生。

在一些可能的实现方式中,主设备100安装有软体工具,该软体工具用于修改主设备100的参数,基于此,在一些情况下主设备100还用于:响应于第一控制指令,通过所述软体工具降低所述主设备100的工作频率。

可以理解,主设备100的工作频率一般较高,而从设备的工作频率相对较低,在有些情况下,通过软体工具等降低工作频率,即使降低到最低工作频率,主设备100与目标从设备的工作频率仍不同步,如此,可以通过延长第一串行时钟信号线scl的低电位,以降低主设备100的工作频率。基于此,在一些可能的实现方式中,主设备100还设置有比较器,所述比较器用于比较所述主设备的工作频率和所述主设备的最低工作频率是否相等;可程式化的输入输出器件300还用于:若所述主设备100的工作频率和所述主设备100的最低工作频率相等,且主设备100的工作频率与从设备的工作频率不同步,则向所述主设备100发送第二控制指令,以使所述主设备100延长所述第一串行时钟信号线scl的低电位,以降低所述主设备100的工作频率。

需要说的是,本申请实施例中的可程式化的输入输出器件300可以是任意可编程的输入输出器件,例如,可程式化的输入输出器件300可以是复杂可编程逻辑器件cpld或现场可编程门阵列fpga,本申请实施例对可程式化的输入输出器件300不作限定。

由上可知,本申请实施例提供了一种通信系统,该通信系统包括主设备、从设备、可程式化的输入输出器件,其中,主设备与从设备通过可程式化的输入输出器件,该输入输出器件可以作为多工器,将主设备输出的一路第一串行时钟信号线,转换为多路第二串行时钟信号线,每路第二串行时钟信号线分别控制一个从设备,如此可以通过控制第二串行时钟信号线避免位址冲突,此外,第一串行时钟信号线为双向,而第二串行时钟信号线为单向,当主设备与从设备通信时,可程式化的输入输出器件能够向主设备发送第一控制指令,以降低主设备的工作频率,实现主设备与从设备之间的频率同步,避免存取工作异常。

基于本申请实施例提供的通信系统,本申请实施例还提供了一种通信方法,下面将结合附图,对本申请实施例提供的通信方法进行详细介绍。

参见图2所示的通信方法的流程图,该方法应用于本申请实施例提供的通信系统,该方法包括如下步骤:

s201:可程式化的输入输出器件侦测第一串行时钟信号线的电位,若所述第一串行时钟信号线的电位由高电位转变为低电位,则执行s202。

可程式化的输入输出器件可以是任意可编程的输入输出器件,例如可以是cpld或者fpga。在具体实现时,cpld或fpga可以通过电位检测电路等实现侦测第一串行时钟信号线的电位。

s202:所述可程式化的输入输出器件将控制目标从设备的第二串行时钟信号线的电位设置为低电位,剩余的第二串行时钟信号线的电位设置为高电位,使得所述主设备与所述目标从设备通过串行数据信号线传输数据。

其中,所述目标从设备为所述从设备中的一个。可以理解,目标从设备是预先确定的,例如,某一从设备发起与主设备通信的请求时,该从设备即被确定为目标从设备,主设备可以预先将目标从设备的标识发送给可程式化的输入输出器件,以便可程式化的输入输出器件在侦测到第一串行时钟信号线的电位由高电位转变为低电位时,可以将控制目标从设备的第二串行时钟信号线的电位设置为低电位,而将其余的第二串行时钟信号线的电位设置为高电位。

s203:所述可程式化的输入输出器件判断所述主设备的工作频率与所述从设备的工作频率是否同步;若否,则执行s204。

s204:向所述主设备发送第一控制指令。

其中,所述第一控制指令用于降低所述主设备的工作频率,以使所述主设备的工作频率与所述目标从设备的工作频率同步。在具体实现时,主设备可以通过安装于主设备的软体工具修改参数,以降低主设备的工作频率,从而实现主设备的工作频率与目标从设备的工作频率的同步。

主设备响应于第一控制指令,降低其工作频率,使得其工作频率与目标从设备的工作频率同步可以通过逐步试探的方式实现。具体地,主设备可以逐步降低工作频率,然后判断其工作频率是否与目标从设备的工作频率同步,若不同步,则再降低工作频率,直至主设备的工作频率与目标从设备的工作频率同步。

在有些情况下,即使主设备的工作频率降低至主设备的最低工作频率,主设备的工作频率仍不能与从设备的工作频率同步,如此,还可以延长第一串行时钟信号线的低电位,以进一步降低主设备的工作频率,从而实现主设备的工作频率与从设备的工作频率的同步。

在具体实现时,可程式化的输入输出器件可以判断所述主设备的工作频率是否已降低至所述主设备的最低工作频率;若是,则所述可程式化的输入输出器件判断所述主设备的工作频率是否与所述目标从设备的工作频率同步;若否,则所述可程式化的输入输出器件向所述主设备发送第二控制指令;所述第二控制指令用于延长第一串行时钟信号线的低电位。

具体可以参见图3,图3为本申请实施例提供的原始第一串行时钟信号与延迟低电位后的第一串行时钟信号的示意图,如图3所示,原始第一串行时钟信号即图3中的original信号所对应的脉冲序列为101010……10,该序列以“10”为一个周期,而主设备响应于第二控制指令,延迟低电位后的第一串行时钟信号即图3中的delay信号所对应的脉冲序列为100100……100,该序列以100为周期,如此实现了主设备的工作频率的进一步降低。

其中,所述可程式化的输入输出器件向所述主设备发送第二控制指令具体可以是通过使能延迟功能的方式向所述主设备发送第二控制指令。可以理解,当所述主设备的工作频率与所述目标从设备的工作频率同步时,所述可程式化的输入输出器件还可以关闭所述延迟功能。

由上可知,本申请实施例提供了一种通信方法,该方法是基于本申请实施例提供的通信系统实现的,可程式化的输入输出器件侦测第一串行时钟信号线的电位,若所述第一串行时钟信号线的电位由高电位转变为低电位,则所述可程式化的输入输出器件将控制目标从设备的第二串行时钟信号线的电位设置为低电位,剩余的第二串行时钟信号线的电位设置为高电位,使得所述主设备与所述目标从设备通过串行数据信号线传输数据,所述可程式化的输入输出器件判断所述主设备的工作频率与所述从设备的工作频率是否同步,若否,则向所述主设备发送第一控制指令,用于降低所述主设备的工作频率,以使所述主设备的工作频率与所述目标从设备的工作频率同步,从而避免存取工作异常。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1