发明内容
针对现有技术中主控制器与多个从属器件连接以进行数据通信时所存在的技术缺陷,本发明提供一种主控制器管脚复用电路及其控制方法。
按照本发明的一个方面,提供了一种在主控制器和多个从属器件之间进行数据通信时的主控制器管脚复用电路,该主控制器具有多个控制接脚,该多个从属器件中的每一个至少具有时钟信号接脚、片选信号接脚和数据信号接脚,所述多个从属器件中的每一个的时钟信号接脚和片选信号接脚与所述主控制器的对应的控制接脚耦合,并且每个控制接脚上耦合有一个时钟信号接脚和一个片选信号接脚,所耦合的时钟信号接脚和片选信号接脚来自于不同的从属器件。
按照本发明的又一个方面,提供了一种基于主控制器的管脚复用电路的控制方法。该控制方法包括:
将所有从属器件的数据信号接脚按照对应的耦合方式与主控制器的数据信号接脚耦合;
将每个从属器件的时钟信号接脚与片选信号接脚分别耦合至主控制器的相应控制接脚,并且满足:主控制器的每一控制接脚上均耦合有信号类型不同的两个信号接脚,该两个信号接脚分别来自两个不同的从属器件;
主控制器选择要求进行通信的从属器件;
主控制器在与选中的从属器件的时钟信号接脚耦合的相应控制接脚处输出时钟信号;以及
主控制器在与选中的从属器件的片选信号接脚耦合的相应控制接脚处输出片选信号。
按照本发明的又一个方面,提供了一种在主控制器和多个从属器件之间进行数据通信时的主控制器管脚复用电路,所述主控制器具有多个控制接脚,所述多个从属器件至少具有多个第一从属器件和多个第二从属器件,其中所述第一从属器件中的每一个至少具有时钟信号接脚、片选信号接脚和数据信号接脚,所述第二从属器件中的每一个至少具有时钟信号接脚和数据信号接脚,其特征在于,所述多个从属器件中的每一个的时钟信号接脚和片选信号接脚与所述主控制器的对应的控制接脚耦合,并且每个控制接脚上至少耦合有一个时钟信号接脚和一个片选信号接脚,所耦合的时钟信号接脚和片选信号接脚来自于不同的从属器件。
按照本发明的再一个方面,提供了一种基于主控制器的管脚复用电路的控制方法。该控制方法包括:
将所有从属器件的数据信号接脚按照对应的耦合方式与主控制器的数据信号接脚耦合;
将每个从属器件的时钟信号接脚与片选信号接脚分别耦合至主控制器的相应控制接脚,并且满足:主控制器的每一控制接脚上至多耦合有信号类型不同的两个信号接脚,该两个信号接脚分别来自两个不同的从属器件;
主控制器选择要求进行通信的从属器件;
如果主控制器选择与所述第一从属器件中的一个进行通信时,则所述主控制器在与其时钟信号接脚耦合的相应控制接脚处输出时钟信号和在与其片选信号接脚耦合的相应控制接脚处输出片选信号。
其中,该控制方法还包括:所述主控制器在与所述第一从属器件中的一个进行通信的过程中需要判断是否对所述第二从属器件进行复位,如需要复位则先暂停所述主控制器和所述第一从属器件之间的通信,并且对所述第二从属器件执行复位操作。
与现有技术相比较,本发明通过主控制器的控制接脚与多个从属器件的片选信号接脚和时钟信号接脚之间连接关系的配置,从而无需为每一从属器件配置单独的片选信号接脚,并且也不需要在主控制器和从属器件之间建立复杂的通讯协议,从而便于降低主控制器的成本,并简化通讯过程。
具体实施方式
下面参照附图,对本发明的具体实施方式作进一步的详细描述。
本领域的技术人员应当理解,虽然本发明的所有实施例中均使用1个控制引脚来表示主控制器的数据信号端口,并使用1个接脚来表示从属器件的数据信号端口,但是本发明不只限于此。根据主控制器的数据总线的具体情况,作为数据信号的控制接脚的数目也不尽相同。例如,数据总线可以是8根,16根或者32根等等。本领域的技术人员还应当理解,如果从属器件中含有数据信号线的话,所有这些从属器件中的数据信号线都应该对应地连接到主控制器的数据信号端口,当需要运行其中某一从属器件时,仅仅需要主控制器提供时钟信号和片选信号即可。基于此种理解,在下面结合附图来进一步描述依据本发明的一个或多个方面的这些实施例的时候,数据信号线常常省略并不予详细介绍。
本领域的技术人员还应当理解,虽然在本发明的所有实施例中均采用CLK 10、CS 11分别表示主控制器的时钟信号、片选信号,但是本发明并不局限于此。也就是说,当选通某一从属器件时,主控制器可以在时钟信号CLK 10处输出持续的高电平信号,而在片选信号CS 11处输出诸如矩形波或锯齿波之类的时钟信号;而选通另一从属器件时,主控制器可以在时钟信号CLK 10处输出诸如矩形波或锯齿波之类的时钟信号,而在片选信号CS 11处输出持续的高电平信号。由此可知,“时钟信号”、“片选信号”只是一种定义控制接脚的方式而已,它们是相对而言的。本领域的技术人员也应当理解,可以将实施例中的时钟信号换为片选信号,并将片选信号相应地更换为时钟信号,只需简单地调整相应输出的电平状态即可实现。
此外,为了描述方便起见,下文中所描述的本发明的所有实施例中,如果从属器件具有片选信号的话,假设所有这些从属器件的片选信号均高电平有效。本领域的技术人员应当理解,从属器件的片选信号也可以低电平有效,此时只需要对应地设置与该片选信号相连接的主控制器的控制接脚的电平即可。如无特别说明,下文中所有的从属器件的片选信号均为高电平有效。
图1示出根据本发明的一个或多个方面的第一实施例的主控制器与两个相同类型的从属器件连接的电路示意图。参照图1,主控制器1具有三个控制引脚:时钟信号CLK 10、片选信号CS 11和数据信号DATA 12;从属器件2具有三个接脚:时钟信号SCLK2 20、片选信号CS2 21和数据信号DATA2 22;从属器件3也具有三个接脚:时钟信号SCLK3 30、片选信号CS3 31和数据信号DATA332。为了描述方便起见,下文中仅仅采用SCLK、CS和DATA及其相应从属器件的标号来表示时钟信号、片选信号和数据信号。例如,SCLK2表示从属器件2的时钟信号,DATA2表示从属器件2的数据信号,CS3表示从属器件3的片选信号等等。如图1所示,CLK 10与SCLK2和CS3相连接,CS11与CS2和SCLK3相连接,DATA 12与DATA2和DATA3相连接。其中,时钟信号用于对数据传输进行同步和采样,片选信号用于选通或不选通相应的从属器件,而数据信号用于传输数据或者地址。从图1所示的电路连接可以看出,若主控制器要求选通从属器件2并使之工作时,CS 11输出高电平,CLK 10提供时钟信号至SCLK2,从属器件2运行。与此同时,从属器件3的CS3因与CLK 10相连接,当CLK 10输出时钟信号时,CS3接收的信号为高低电平交替出现的信号。从属器件3反复地选通和关闭。由于从属器件3不能够对数据线上一条完整的指令进行操作或响应,从而不会将无效数据发到数据线上造成冲突。以下结合图2来进一步详细介绍其时序图。
在很多器件,尤其是兼容串行通信协议的接口器件中,通常的数据传输过程是:首先主控制器发送指令给从属器件;该从属器件在时钟信号的作用下接收完整的指令并对此作出响应。具体的指令或数据传输的时序图如图2所示。本领域的技术人员应当理解,图2中的时钟周期、数据宽度会因主控制器的不同而略有不同。图2示出如图1所示的连接电路的时序图。当主控制器1选通从属器件2开始工作时,主控制器的CLK 10将时钟信号提供至SCLK2,和主控制器在控制接脚CS 11处输出高电平,从而从属器件2被选中并与主控制器1进行数据通信。与此同时,对于从属器件3来说,SCLK3接收的一直为高电平信号,而CS3接收的是高低电平交替出现的信号,即,从属器件2工作时的时钟信号,因此从属器件3会被反复地选通和关闭,不能够对数据线上一条完整的指令进行操作或响应,不会将无效数据发到数据线上造成冲突。如果要求关闭从属器件2并选通从属器件3时,基于同样的原理,在主控制器的CS 11处输出时钟信号,而在主控制器的CLK 10处输出高电平信号,从而使从属器件3被选中并与主控制器1进行数据通信。与此同时,对于从属器件2来说,SCLK2接收的一直为高电平信号,而CS2接收的是高低电平交替出现的信号,即,从属器件3工作时的时钟信号,因此从属器件2会被反复地选通和关闭,不能够对数据线上一条完整的指令进行操作或响应,不会将无效数据发到数据线上造成冲突。通过如图2所示的时序控制,用户可以成功地实现基于主控制器的管脚复用技术来选通或切换从属器件2或3进行工作。
图3示出根据本发明的一个或多个方面的第二实施例的主控制器与三个相同类型的从属器件连接的电路示意图。参照图3,主控制器1具有三个控制引脚:10、11和12;从属器件2、3、4分别具有接脚:SCLK2和CS2;SCLK3和CS3;以及SCLK4和CS4。如图3所示,主控制器的引脚10与SCLK2和CS3相连,引脚11与CS2和SCLK4相连,引脚12与SCLK3和CS4相连。当主控制器1选通从属器件2开始工作时,主控制器的10将时钟信号提供至SCLK2,和主控制器的引脚11输出高电平,从而从属器件2被选中并与主控制器1进行数据通信。与此同时,对于从属器件3来说,CS3接收的是高低电平交替出现的信号,即,从属器件2工作时的时钟信号,因此从属器件3会被反复地选通和关闭,不能够对数据线上一条完整的指令进行操作或响应,不会将无效数据发到数据线上造成冲突。与此同时,优选地,将主控制器的12处输出低电平信号,以使得从属器件4一直处于关闭状态。如果要求主控制器与从属器件4进行数据通信,切换时的操作如下:将主控制器的12处输出高电平,并在主控制器的11处输出时钟信号,从而从属器件4被选中。由于主控制器的11还与从属器件2的CS2相连,因此从属器件2会被反复地选通和关闭,不能够对数据线上一条完整的指令进行操作或响应,不会将无效数据发到数据线上造成冲突。与此同时,优选地,将主控制器的10处输出低电平。
图4示出根据本发明的一个或多个方面的第三实施例的主控制器与三个相同类型的从属器件连接的电路示意图。与图3相似,图4也是主控制器与三个相同类型的从属器件连接电路,但其连接方式略有不同。具体来说,主控制器的10与SCLK2和CS3相连;主控制器的11与SCLK3和CS4相连;和主控制器的12与CS2和SCLK4相连。当主控制器1选通从属器件2开始工作时,主控制器的10将时钟信号提供至SCLK2,和主控制器的引脚12输出高电平,从而从属器件2被选中并与主控制器1进行数据通信。其具体的工作过程与图3所示的第二实施例相同,在此不再叙述。
图3和图4均示出了根据本发明的一个或多个方面的主控制器与三个相同类型的从属器件的电路连接示意图。从图3和图4的连接方式可以看出,主控制器的每个控制引脚上均连接有分别属于两个不同的从属器件的两个信号接脚,而且这两个接脚的信号类型不一致,例如,一个从属器件的时钟信号接脚和另一个从属器件的片选信号接脚;或者一个从属器件的片选信号接脚和另一个从属器件的时钟信号接脚。本领域的技术人员应当理解,依据本发明的一个或多个方面,还可以将与主控制器连接的相同类型的从属器件的数目拓展到N个(N>3),其中主控制器的各控制接脚与这些从属器件的时钟信号接脚和片选信号接脚的连接方式为:
主控制器的1脚连至从属器件1的时钟信号脚和从属器件2的片选信号脚;
主控制器的2脚连至从属器件2的时钟信号脚和从属器件3的片选信号脚;
主控制器的3脚连至从属器件3的时钟信号脚和从属器件4的片选信号脚;
主控制器的N脚连至从属器件N的时钟信号脚和从属器件1的片选信号脚。
其具体的实现过程可参见图3所示的第二实施例或图4所示的第三实施例,在此不再予以详细描述。
上述图1至图4均描述的是与主控制器相连接的相同类型的从属器件的电路连接方式。本领域的技术人员应当理解,图1至图4不仅可以用来描述主控制器与类型相同的多个从属器件相连接时的主控制器管脚复用电路,还可以用于说明基于主控制器的管脚复用电路与类型相同的多个从属器件建立通信信道时的控制方法。该方法主要采用如下的步骤实现:
将所有从属器件的数据信号接脚按照对应的连接方式与主控制器的数据信号接脚相连;
将每个从属器件的时钟信号接脚与片选信号接脚分别连接至主控制器的相应控制接脚,并且满足:主控制器的每一控制接脚上均连接有信号类型不同的两个信号接脚,该两个信号接脚分别来自两个不同的从属器件;
主控制器选择要求进行通信的从属器件;
主控制器在与选中的从属器件的时钟信号接脚相连的相应控制接脚处输出时钟信号;以及
主控制器在与选中的从属器件的片选信号接脚相连的相应控制接脚处输出高电平,从而在主控制器和该从属器件之间建立通信连接。
再次结合图3、图4和上述基于主控制器的管脚复用电路与类型相同的多个从属器件建立通信信道时的控制方法,主控制器的每个控制引脚上均连接有分别来自两个不同的从属器件的两个信号接脚,而且这两个接脚的信号类型不一致,例如,一个从属器件的时钟信号接脚和另一个从属器件的片选信号接脚;或者一个从属器件的片选信号接脚和另一个从属器件的时钟信号接脚。
图5示出根据本发明的一个或多个方面的第四实施例的主控制器与两个不同类型的从属器件连接的电路示意图。参照图5,主控制器的10与SCLK2相连,并且主控制器的11与CS2和SCLK3相连。为了明确区分从属器件的不同类型,这里,我们将具有时钟信号SCLK2和片选信号CS2的从属器件2称为第一从属器件,将只具有时钟信号SCLK3的从属器件3称为第二从属器件。当主控制器1需要选通第二从属器件并与之通信时,则要求主控制器的11引脚输出时钟信号,并传送指令给第二从属器件。当该第二从属器件接收到完整的指令时就可以与主控制器1建立通信信道。与此同时,第一从属器件的CS2接脚接收提供至第二从属器件的时钟信号后,反复地快速选通或关闭第一从属器件,因而来不及对数据线上一条完整的指令进行操作或响应,也就不会将无效数据发至数据线上造成冲突。相比之下,当主控制器1需要选通第一从属器件并与之通信时,则要求主控制器的10引脚输出时钟信号,和11引脚持续输出高电平以选通第一从属器件,从而在主控制器1与第一从属器件之间进行数据通信。与此同时,在第二从属器件的SCLK3接脚接收的始终为高电平信号,因而第二从属器件不能正常工作,也就不会对数据线造成冲突。需要指出的是,当主控制器1间断性地与第一从属器件进行通信时,即,第一从属器件在一段时间内保持被选中的状态,而在接下来的另外一段时间内保持未被选通的状态,也就是说,主控制器1的11引脚输出的信号在高电平与低电平之间变化时,有可能会造成第二从属器件的SCLK3误判为接收到完整的指令,从而向数据线上输出数据信息,并因此而对于处于工作状态的第一从属器件造成干扰。为了解决这一技术问题,可以在主控制器1与第一从属器件进行通信的过程中判断是否需要对第二从属器件进行复位,即通常在该完整的指令之前,如需复位,则先暂停与第一从属器件的通信,先行对第二从属器件进行复位操作,以防止第二从属器件对第一从属器件的通信过程造成干扰和冲突。
图6示出根据本发明的一个或多个方面的第五实施例的主控制器与两种类型的三个从属器件连接的电路示意图。参照图6,主控制器1的10接脚与SCLK2和CS4相连,主控制器1的11接脚与SCLK3和CS2相连,和主控制器1的12接脚与SCLK4相连。其中从属器件2和从属器件4均属于第一从属器件,具有时钟信号和片选信号两种信号类型,而从属器件3属于第二从属器件,只具有时钟信号而没有片选信号。当主控制器1欲选择与第二从属器件3进行通信时,则要求在主控制器1的11接脚输出时钟信号,并将指令传送至第二从属器件3,当第二从属器件3接收到完整的指令就可以与主控制器1建立通信信道。与此同时,第一从属器件2的CS2接收提供至第二从属器件3的时钟信号,反复地快速选通或关闭第一从属器件2,并因为来不及对数据线上一条完整地指令进行操作或响应,从而不会将无效数据发至数据线上造成冲突。而对于主控制器1的10和12接脚的信号输出,优选地,主控制器1的10接脚输出低电平信号以关闭第一从属器件4,并且在主控制器1的12接脚不输出时钟信号。本领域的技术人员应当理解,在主控制器1与第二从属器件3进行通信的过程中,相应地设置主控制器1的控制接脚10和12的输出信号以关闭第一从属器件2和4是本领域内的公知常识,此处不再展开讲述。
继续参照图6,当主控制器1欲选择与第一从属器件2通信时,则要求在主控制器1的10接脚输出时钟信号,且在主控制器1的11接脚输出高电平信号,以实现主控制器1与该第一从属器件2之间的数据通信。与此同时,因第二从属器件3的时钟信号接脚SCLK3接收的是高电平信号,在主控制器1与第一从属器件2进行数据通信时,第二从属器件3处于关闭状态,不会造成对于第一从属器件2的冲突。需要指出的是,当主控制器1间断性地与第一从属器件2进行通信时,即,第一从属器件2在一段时间内保持被选中的状态,而在接下来的另外一段时间内保持未被选通的状态,也就是说,主控制器1的11接脚输出的信号在高电平与低电平之间变化时,有可能会造成第二从属器件3的SCLK3误判为接收到完整的指令,从而向数据线上输出数据信息,并因此而对于处于工作状态的第一从属器件2造成干扰。为了解决这一技术问题,可以在主控制器1与第一从属器件2进行通信的过程中判断是否需要对第二从属器件3进行复位,即通常在该完整的指令之前,如需复位,则先暂停主控制器1与第一从属器件2的通信过程,先行对第二从属器件3进行复位操作,以防止第二从属器件3对第一从属器件2的通信过程造成干扰和冲突。而且在上述通信过程中,CS4接收的是提供至第一从属器件2的时钟信号,反复地快速选通或关闭第一从属器件4,并因为来不及对数据线上一条完整地指令进行操作或响应,从而不会将无效数据发至数据线上造成冲突。优选地,主控制器1的12接脚不输出时钟信号,换言之,第一从属器件4的SCLK4不会接收到时钟信号。
本领域的技术人员应当理解,此处,相同类型的从属器件指的是同时具有时钟信号接脚和片选信号接脚的从属器件,而不同类型的从属器件是相对于上述相同类型的从属器件而言,不具有片选信号接脚的从属器件。与主控制器和相同类型的多个从属器件的电路连接方式类似,当主控制器与不同类型的多个从属器件连接时,只需要保证主控制器的每一控制接脚上至多连接有分别来自两个不同的从属器件的两个信号接脚,而且这两个接脚的信号类型不一致,例如,一个从属器件的时钟信号接脚和另一个从属器件的片选信号接脚;或者一个从属器件的片选信号接脚和另一个从属器件的时钟信号接脚,即不能同时连接两个不同从属器件的片选信号接脚或时钟信号接脚。应当理解的是,图5和图6不仅可以用来描述主控制器与类型不同的多个从属器件相连接时的主控制器管脚复用电路,还可以用于说明基于主控制器的管脚复用电路与类型不同的多个从属器件建立通信信道时的控制方法。该方法主要采用如下的步骤实现:
将所有从属器件的数据信号接脚按照对应的连接方式与主控制器的数据信号接脚相连;
将每个从属器件的时钟信号接脚与片选信号接脚分别连接至主控制器的相应控制接脚,并且满足:主控制器的每一控制接脚上均连接有信号类型不同的两个信号接脚,该两个信号接脚分别来自两个不同的从属器件;
主控制器选择要求进行通信的从属器件;
如果主控制器选择与第二从属器件中的一个进行通信时,则主控制器在与选中的第二从属器件的时钟信号接脚相连的相应控制接脚处输出时钟信号,从而在主控制器和该第二从属器件之间建立通信连接;以及
如果主控制器选择与第一从属器件中的一个进行通信时,则主控制器在与选中的第一从属器件的时钟信号接脚相连的相应控制接脚处输出时钟信号,和主控制器在与选中的从属器件的片选信号接脚相连的相应控制接脚处输出高电平,从而在主控制器和该第一从属器件之间建立通信连接。并且,在该通信过程中,还应该判断是否需要对第二从属器件进行复位,如需要复位则先暂停主控制器和该第一从属器件之间的通信连接,从而对第二从属器件执行复位操作以防止其对处于通信过程中的第一从属器件造成干扰和冲突。
上文中,参照附图描述了本发明的具体实施方式。但是,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。