书签 分享 收藏 举报 版权申诉 / 15

一种群同步串行总线方法及系统.pdf

  • 上传人:Y948****062
  • 文档编号:4909371
  • 上传时间:2018-11-26
  • 格式:PDF
  • 页数:15
  • 大小:1.86MB
  • 摘要
    申请专利号:

    CN201310161786.0

    申请日:

    2013.05.06

    公开号:

    CN103412835A

    公开日:

    2013.11.27

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    登录超时

    IPC分类号:

    G06F13/38

    主分类号:

    G06F13/38

    申请人:

    北京江南天安科技有限公司

    发明人:

    闫鸣生; 李国; 赵治国

    地址:

    100088 北京市海淀区马甸东路17号金澳国际大厦1110室

    优先权:

    专利代理机构:

    北京轻创知识产权代理有限公司 11212

    代理人:

    杨立

    PDF完整版下载: PDF下载
    内容摘要

    本发明涉及一种群同步串行总线方法及系统,其中方法包括以下步骤:步骤1:主同步串行设备群或从同步串行设备群的设备发送申请信息至动态总线分配器;步骤2:动态总线分配器接收申请信息,检测对端设备的空闲状态,并将申请设备总线连接至空闲设备的同步串行总线;步骤3:从同步串行设备群或主同步串行设备群的设备响应应答;步骤4:将数据传输至动态总线分配器连接的对端设备的同步串行总线;步骤5:主同步串行设备群及从同步串行设备群的设备返回空闲状态。实现了非对等群同步串行总线传输数据,并且主群及从群的设备总线都可发起申请。

    权利要求书

    权利要求书
    1.  一种群同步串行总线方法,其特征在于,具体包括以下步骤:
    步骤1:主同步串行设备群或从同步串行设备群的设备总线向从同步串行设备群或主同步串行设备群的设备总线发送请求信息,所述主同步串行设备群包括至少一个连接至动态总线分配器的主同步串行总线设备;所述从同步串行设备群包括至少一个连接至动态总线分配器的从同步串行总线设备;
    步骤2:动态总线分配器检测应答设备中是否有处于空闲状态的设备总线,如果没有,则继续检测直到检测到有处于空闲的设备总线或发起设备总线返回空闲状态为止,终止申请,则动态总线分配器也终止检测;如果应答设备总线中有空闲的设备总线,则动态总线分配器将发起设备的同步串行总线与该空闲应答设备的同步串行总线连接起来,并保留连接直至发起设备总线或应答设备总线其中之一返回到空闲状态;一旦总线或应答设备总线其中之一返回到空闲状态,则动态总线分配器断开已经连接的两个设备之间的连接;所述发起设备是发送请求信息的主同步串行设备群或从同步串行设备,所述应答设备是发起设备的对端设备;
    步骤3:被连接的空闲应答设备总线检测到发起设备的申请状态,则进入应答状态准备数据传输。在发起设备总线进入申请状态,应答设备总线进入应答状态后进行步骤4;
    步骤4:发起设备总线与应答设备总线进入传输状态,并进行一对一的数据传输,至传输结束,进行步骤5;
    步骤5:发起设备总线与应答设备总线返回空闲状态。

    2.  根据权利要求1所述的一种群同步串行总线方法,其特征在于,所述步骤4中所述数据传输包括进行8比特,或16比特,或32比特的同步串行传输;或者按照预定的数据长度或格式传输。

    3.  根据权利要求2所述的一种群同步串行总线方法,其特征在于,所述动态总线分配器分别连接主同步串行设备群和从同步串行设备群,并将两者隔离开,根据传输需要和对端是否处于空闲状态进行主同步串行设备群的设备总线和从同步串行设备群的设备总线的一对一连接,或多个这样的连接。

    4.  根据权利要求3所述的一种群同步串行总线方法,其特征在于,所述步骤2具体包括以下步骤:
    步骤2.1:动态总线分配器检测所有连接至动态总线分配器,但处于断开连接的设备总线,无论是主同步串行设备群和从同步串行设备群,检测是否有处于申请状态的设备总线;如果有,则步骤2.2,如果没有,继续步骤2.1;
    步骤2.2:逐一检测检查所有连接动态总线分配器的响应设备总线是否存在处于空闲状态的设备总线,如果存在,进行步骤2.3;否则,继续步骤2.2;同时检测发起设备的总线是否返回到空闲设备,如果是,进行步骤2.1,否则继续步骤2.2;
    步骤2.3:动态总线分配器将处于申请状态的发起设备的总线与处于空闲状态的应答设备的总线连接起来,并进入步骤2.4;
    步骤2.4:检测已经处于连接状态的发起设备的总线与应答设备的总线之一是否返回到空闲状态,如果是,进行步骤2.5,否则继续步骤2,4;
    步骤2.5:断开申请设备的总线与应答设备的总线之间的连接,结束。

    5.  根据权利要求1-4任一项所述的一种群同步串行总线方法,其特征在于,所述主同步串行设备群中包括的同步串行总线与从同步串行设备群中包括的设备同步串行总线数量相同或不同。

    6.  一种群同步串行总线系统,其特征在于,包括主同步串行设备群、从同步串行设备群和动态总线分配器;
    所述主同步串行设备群包括至少一个连接至动态总线分配器的主同步 串行总线设备;
    所述从同步串行设备群包括至少一个连接至动态总线分配器的从同步串行总线设备;
    所述动态总线分配器设于主群同步串行设备和从群同步串行设备之间,并根据主群同步串行设备和从群同步串行设备中的同步串行总线的空闲状态,实现主群同步串行设备和从群同步串行设备之间的数据传输。

    7.  根据权利要求6所述的一种群同步串行总线系统,其特征在于,所述申请设备可以是主同步串行设备群的设备,也可以是从同步串行设备群的设备;当主同步串行设备群总线发起申请时,从同步串行设备群的设备为应答设备;反之,当从同步串行设备群总线发起申请时,主同步设备群的设备为应答设备。

    8.  根据权利要求6或7任一项所述的一种群同步串行总线系统,其特征在于,所述同步串行总线设备的工作状态包括空闲状态、申请状态、应答状态和传输状态;
    所述空闲状态为发起设备或应答设备的同步串行总线处于空闲,既无数据传输,也不准备进行数据传输;
    所述申请状态为发起设备的同步串行总线需要传输数据时,发出申请后的状态;
    所述应答状态为应答设备同步串行总线发出应答信号后、为准备传输数据的状态;
    所述传输状态为发起设备及应答设备同步串行完成申请、应答后,将数据传输至对端设备时的状态。

    说明书

    说明书一种群同步串行总线方法及系统
    技术领域
    本发明涉及一种群同步串行总线方法及系统,属于微型计算机应用领域。
    背景技术
    目前计算机与外设的连接总线很多,最常见的计算机并行总线包括数据总线、地址总线及控制总线(读、写、使能、片选、方向指示、地址有效等)。串行总线包括I2C、SPI、USB、SATA等;
    其中SPI同步串行总线是常见用于CPU与外围器件的连接总线,其主要优点为:
    1.三根连接线或四根连接线实现数据传输,电路简单,速度较高;
    2.点对点固定连接,结构简单、实现成本低;
    其缺点是,固定的点对点连接方式在多个SPI集群方式工作时,多个外设就需要多个与之连接的对应接口及相应的缓冲区或内存,而通常SPI总线通信空闲时间大于传输时间,就造成了通信资源及内存的浪费。
    群SPI(同步串行接口)总线结构:
    一、单SPI总线:
    单SPI接口总线有3根信号线组成,包括时钟、输入、输出,或四根信号线组成,包括选择、时钟、输入、输出;连接方式如图1所示,其中主设备输出同步时钟,输出连接从设备输入,输入连接从设备输出,从设备根据时钟或选择信号线及时钟指示接收或发送数据。以8bit的SPI数据传输为例,其时序关系如图2所示,即时钟上升沿发送数据,下降沿接收数据,从 而完成双向数据交换;
    二、群SPI总线:
    群SPI(GSPI)总线是由多个主设备及多个从设备构成的主、从两个集群,两两之间采用SPI进行数据传输,如图3所示,主、从设备的SPI接口之间采用两两相互固定连接时,相当于多个SPI设备的两两互联,所构成的群为对等SPI群。即数量相同、连接关系也固定。
    发明内容
    本发明的目的是,针对现有技术的不足,提供一种结构简单、灵活性强,并节省通信接口和内存资源的动态分配的群同步串行总线方法。
    本发明解决上述技术问题的技术方案如下:一种群同步串行总线方法,具体包括以下步骤:
    步骤1:主同步串行设备群或从同步串行设备群的设备总线向从同步串行设备群或主同步串行设备群的设备总线发送请求信息,所述主同步串行设备群包括至少一个连接至动态总线分配器的主同步串行总线设备;所述从同步串行设备群包括至少一个连接至动态总线分配器的从同步串行总线设备;
    步骤2:动态总线分配器检测应答设备中是否有处于空闲状态的设备总线,如果没有,则继续检测直到检测到有处于空闲的设备总线或发起设备总线返回空闲状态为止,终止申请,则动态总线分配器也终止检测;如果应答设备总线中有空闲的设备总线,则动态总线分配器将发起设备的同步串行总线与该空闲应答设备的同步串行总线连接起来,并保留连接直至发起设备总线或应答设备总线其中之一返回到空闲状态;一旦发起设备总线或应答设备总线其中之一返回到空闲状态,则动态总线分配器断开已经连接的两个设备之间的连接;
    所述发起设备是发送请求信息的主同步串行设备群或从同步串行设备, 所述应答设备是发起设备的对端设备。
    步骤3:被连接的空闲应答设备总线检测到发起设备的申请状态,则进入应答状态准备数据传输。在发起设备总线进入申请状态,应答设备总线进入应答状态后进行步骤4;
    步骤4:发起设备总线与应答设备总线进入传输状态,并进行一对一的数据传输,至传输结束,进行步骤5;
    步骤5:发起设备总线与应答设备总线返回空闲状态。
    本发明的有益效果是:本发明所述一种群同步串行总线方法简单,保持可原有SPI同步串行总线的双向传输结构;在不增加交互信号线的情况下,仍然采用每个SPI同步串行总线接口信号线相同数量的情况下完成非对等群的数据传输;接口结构与通用SPI同步串行总线结构一致,现有软件、硬件只需做少许修改即可实现,更适合FPGA(域可编程逻辑阵列)的使用,并节省FPGA内部资源。
    在上述技术方案的基础上,本发明还可以做如下改进。
    进一步,所述步骤4中所述数据传输包括进行8比特,或16比特,或32比特的同步串行传输;或者按照预定的数据长度或格式传输。
    进一步,所述动态总线分配器分别连接主同步串行设备群和从同步串行设备群,并将两者隔离开,根据传输需要和对端是否处于空闲状态进行主同步串行设备群的设备总线和从同步串行设备群的设备总线的一对一连接,或多个这样的连接。
    进一步,所述步骤2具体包括以下步骤:
    步骤2.1:动态总线分配器检测所有连接至动态总线分配器,但处于断开连接的设备总线,无论是主同步串行设备群和从同步串行设备群,检测是否有处于申请状态的设备总线;如果有,则步骤2.2,如果没有,继续步骤2.1;
    步骤2.2:逐一检测检查所有连接动态总线分配器的响应设备总线是否存在处于空闲状态的设备总线,如果存在,进行步骤2.3;否则,继续步骤2.2;同时检测发起设备的总线是否返回到空闲设备,如果是,进行步骤2.1,否则继续步骤2.2;
    步骤2.3:动态总线分配器将处于申请状态的发起设备的总线与处于空闲状态的应答设备的总线连接起来,并进入步骤2.4;
    步骤2.4:检测已经处于连接状态的发起设备的总线与应答设备的总线之一是否返回到空闲状态,如果是,进行步骤2.5,否则继续步骤2,4;
    步骤2.5:断开申请设备的总线与应答设备的总线之间的连接,结束步骤2。
    进一步,所述主同步串行设备群中包括的同步串行总线与从同步串行设备群中包括的设备同步串行总线数量相同或不同。
    本发明的另一个目的是,针对现有技术的不足,提供一种结构简单、灵活性强,并节省通信接口和内存的动态分配的群同步串行总线方法。
    本发明解决上述技术问题的技术方案如下:一种群同步串行总线系统,其特征在于,包括主同步串行设备群、从同步串行设备群和动态总线分配器;
    所述主同步串行设备群包括至少一个连接至动态总线分配器的主同步串行总线设备;
    所述从同步串行设备群包括至少一个连接至动态总线分配器的从同步串行总线设备;
    所述动态总线分配器设于主群同步串行设备和从群同步串行设备之间,并根据主群同步串行设备和从群同步串行设备中的同步串行总线的空闲状态,实现主群同步串行设备和从群同步串行设备之间的数据传输;
    所述主群同步串行设备是主同步串行设备的集合,主群同步串行设备是从同步串行设备的集合
    本发明的有益效果是:本发明所述一种群同步串行总线系统结构简单,保持可原有SPI同步串行总线的双向传输结构;在不增加交互信号线的情况下,仍然采用每个SPI同步串行总线接口三线或四线的情况下完成非对等群的数据传输;接口结构与通用SPI同步串行总线结构一致,选择、输入、输出、时钟保持不变,现有软件、硬件只需做少许修改即可实现,更适合FPGA(域可编程逻辑阵列)的使用,并节省FPGA内部资源。
    在上述技术方案的基础上,本发明还可以做如下改进。
    进一步,所述申请设备可以是主同步串行设备群的设备,也可以是从同步串行设备群的设备;当主同步串行设备群总线发起申请时,从同步串行设备群的设备为应答设备;反之,当从同步串行设备群总线发起申请时,主同步设备群的设备为应答设备。
    进一步,所述同步串行总线设备的工作状态包括空闲状态、申请状态、应答状态和传输状态;
    所述空闲状态为发起设备或应答设备的同步串行总线处于空闲,既无数据传输,也不准备进行数据传输;
    所述申请状态为发起设备的同步串行总线需要传输数据时,发出申请后的状态;
    所述应答状态为应答设备同步串行总线发出应答信号后、为准备传输数据的状态;
    所述传输状态为发起设备及应答设备同步串行完成申请、应答后,将数据传输至对端设备时的状态。
    一种群同步串行总线系统的非对等群SPI总线结构在很多应用场合可以节省资源,这些资源包括:
    传输线:在设备数量为N主群同步串行总线与数量为M的从群同步串行总线构成的传输体系中,在N>M时,动态总线分配器放置在N端,传输线路 数量为3xM;N<M时,动态总线分配器放置在M端,传输线路数量为3xN。即按照数量小的一端计算传输线路。在线路、接口等资源紧张的情况下,有效完成多个端点的数据传输;
    内存资源:无论是接收还是发送,均需设有数据缓冲,在嵌入设计中内存资源少的情况下,可以有效节省资源;
    SPI接口资源:在嵌入设计中SPI资源少的情况下,可以有效节省SPI接口资源;
    提高线路利用率:在SPI传输数据量不大的情况下,可提高线路利用率,减少布线,同时也保证数据的可靠传输。
    附图说明
    图1A为现有技术中三线单同步串行总线SPI连接关系图;
    图1B为现有技术中四线单同步串行总线SPI连接关系图;
    图2A为现有技术中三线单同步串行总线时序图;
    图2B为现有技术中四线单同步串行总线时序图;
    图3为现有技术中对等群同步串行总线连接结构图;
    图4为本发明所述的一种群同步串行总线方法流程图;
    图5为本发明所述的一种群同步串行总线系统结构图;
    图6为本发明具体实施例1的一种群同步串行总线系统结构图;
    图7为本发明具体实施例1由空闲状态至申请状态时序图;
    图8为本发明具体实施例1由申请状态至应答状态时序图;
    图9为本发明具体实施例1传输状态时序图;;
    图10为本发明具体实施例2的一种群同步串行总线系统结构图;
    图11为本发明具体实施例2由空闲状态至申请状态时序图;
    图12为本发明具体实施例2由申请状态至应答状态时序图;
    图13为本发明具体实施例2传输状态时序图;;
    附图中,各标号所代表的部件列表如下:
    1、主群同步串行设备,2、从同步串行设备群,3、动态总线分配器。
    具体实施方式
    以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
    如图6所示,本发明具体实施例1所述的一种群同步串行总线方法,每个SPI总线采用三线SPI方式,具体包括以下步骤:
    步骤1:空闲状态时,输入IN、输出OUT信号均为高电平,即MISO、MOSI为高电平,时钟信号CLK为低电平;发起设备发送申请信息.进入申请状态时,将数据输出信号线OUT(主设备为MOSI,从设备为MISO)拉至低电平。如图7所示。
    步骤2:动态总线分配器3接收申请信息,检测另一端同步串行设备是否有空闲状态,如果存在,进行步骤3;否则,进行步骤2;
    步骤3:将发起设备的三根SPI信号线与空闲设备的三根SPI总线相连接,即CLK连接CLK,OUT连接IN,IN连接OUT。进行步骤4。
    步骤4:应答设备检测发起设备的申请,即输入信号线为低电平,响应总线申请,将连接至发起设备输入端IN的输出端信号线(主设备为MOSI,从设备为MISO)拉低,进入应答状态;如图8所示。进行步骤5。
    步骤5:发起设备与应答设备进入传输状态,主设备发起总线传输,即输出时钟信号的同时,输出数据并接收输入端的数据,从设备根据时钟指示接收、发送数据,如图9所示。图示为8bit数据长度传输时序,可以根据约定传输16比特,32比特或其它事先约定的数据长度。
    步骤6:约定的数据长度传输完成后,结束传输,发起设备与应答设备 均返回空闲状态,即时钟为低电平,各自的输出信号拉至高电平。如图9所示。
    步骤7:动态总线分配器3,检测到发起设备或应答设备进入空闲状态后,断开双方SPI总线的连接。
    至此,一次完整的数据传输过程完成,经历了从发起设备的申请、应答设备的应答、数据传输状态及传输完成返回到空闲状态的过程。动态总线分配器经历了从发现申请、寻找空闲对端设备总线,连接双方的总线,待传输完成断开连接的总线四个步骤。
    所述主同步串行设备群1中包括的同步串行总线数量N与从同步串行设备群2中包括的同步串行总线数量相同或不同。
    所述发起设备可以是主的同步串行设备群1,也可以是从的同步串行设备群2的任何一个。
    本发明具体实施例2所述的另一种群同步串行总线系统,如图10所示。采用4线SPI总线,分别为选择信号SS、数据线MOSI、数据线MISO及时钟信号CLK,具体包括以下步骤:
    步骤1:空闲状态时,SS、MISO、MOSI三根信号为高电平,时钟CLK为任意态,可以有时钟,也可以没有时钟,可为高电平,也可以为低电平。发起设备发送申请信息时,将数据输出信号端(主设备为MOSI,从设备为MISO)拉至低电平。如图11所示。
    步骤2:动态总线分配器3接收申请信息,检测另一端同步串行设备是否有空闲状态,如果存在,进行步骤3;否则,进行步骤2;
    步骤3:将发起设备的四根SPI信号线与空闲设备的四根SPI总线相连接,进行步骤4。
    步骤4:应答设备检测发起设备的申请,即输入信号线为低电平,并响应总线申请,将输出端信号线拉低(主设备为MOSI,从设备为MISO),进入 应答状态,如图12所示。进行步骤5
    步骤5:发起设备与应答设备进入传输状态,主群设备发起总线传输,即拉低SS信号线,输出时钟信号CLK的同时输出数据并接收输入端的数据,从设备根据时钟指示接收、发送数据,如图13所示。图示为8bit数据长度传输时序,可以根据约定传输16比特,32比特或其它事先约定的数据长度。
    步骤6:约定的数据长度传输完成后,结束传输,发起设备与应答设备均返回空闲状态,即SS及各自的输出信号拉至高电平,时钟信号任意。如图13所示。
    步骤7:动态总线分配器,检测到发起设备或应答设备进入空闲状态后,断开双方SPI总线的连接。
    至此,一次完整的四线SPI数据传输过程完成,经历了从发起设备的申请、应答设备的应答、数据传输状态及传输完成返回到空闲状态的过程。动态总线分配器3经历了从发现申请、寻找空闲对端设备总线,连接双方的总线,待传输完成断开连接的总线四个步骤。
    所述主同步串行设备群1中包括的同步串行总线数量N与从同步串行设备群中包括的同步串行总线数量M相同或不同。
    所述发起设备可以是主同步串行设备群1的设备,也可以是从同步串行设备群2的设备。
    分配方法和原则为:
    对端有空闲设备,即应答;
    多个申请,采用多处理逻辑,先申请者先应答;
    多个空闲设备时,按照空闲次序分配,先空闲者先分配。或按照号码顺序的原则,先分配大的号码或小的号码;
    对端无空闲设备情况下,保持状态,等待空闲,申请设备可以设置申请 超时机制,超过设定的实现未获得有效应答,返回空闲状态,同时动态总线分配器发现发起设备返回空闲状态,也同时结束对对端空闲的查找。
    以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

    关 键  词:
    种群 同步 串行 总线 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种群同步串行总线方法及系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4909371.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1