半导体器件及其控制方法与流程

文档序号:11530715阅读:182来源:国知局
半导体器件及其控制方法与流程

本发明涉及半导体器件及其控制方法。例如,本发明涉及适合于提高设计灵活性的半导体器件及其控制方法。



背景技术:

i2c(内置集成电路)通信方法已经被广泛用于控制器和模块之间的数据通信。在i2c通信中,由于控制器可以通过公共总线连接至多个模块,所以可以减少信号线的数量。

模块的示例包括传感器、液晶显示器等。注意,存在具有不同通信速度和不同驱动电压(电源电压)的模块。控制器需要提供在通信规格中指定且由与控制器通信的模块支持的驱动电压,并且在由模块支持的通信速度和驱动电压(信号振幅)下执行与该模块的通信。

专利文献1公开了一种可编程控制器系统,其包括可编程控制器以及具有不同操作速度的至少两个模块,其中,模块连接至公共延伸总线和公共i2c总线。当可编程控制器执行与模块的数据通信时,其将该模块的id发送给i2c总线。当发送的id指示其自身模块时,该模块通过延伸总线执行与可编程控制器的数据通信。可编程控制器在对应于该模块的id的总线循环中执行与该模块的数据通信。

引用列表

专利文献

专利文献1:日本未审查专利申请公开第2010-3041号



技术实现要素:

技术问题

然而,专利文献1公开的配置不考虑控制器与具有不同驱动电压的多个模块之前的数据通信。因此,在专利文献1公开的配置中,不可能在控制器同时与具有不同驱动电压的多个模块连接的状态下执行数据通信。如上所述,在专利文献1公开的配置中存在不能改进设计灵活性的问题。其他目标和新颖特征将从说明书和附图的以下描述中变得更加明显。

解决问题的技术方案

根据一个实施例,一种半导体器件包括:多条总线;控制单元,连接至多条总线,控制单元被配置为获取关于通信规格的信息,该信息包括关于通过多条总线中的一条总线来自外部设置的多个模块的每个模块的驱动电压的信息;以及开关电路,被配置为基于由控制单元获取的关于用于多个模块中的每个模块的通信规格的信息设置多个模块与多条总线之间的连接。

此外,根据另一实施例,一种用于半导体器件的控制方法包括:获取关于通信规格的信息,该信息包括关于来自外部设置的多个模块中的每个模块的驱动电压的信息;基于用于多个模块中的每个模块的通信规格来设置多个模块与多条总线之间的连接;以及通过多条总线执行与多个模块的数据通信。

根据上述电路配置,可以提高设计的灵活性。

本发明的有利效果

根据上述实施例,可以提供能够提高设计灵活性的半导体器件及其控制方法。

附图说明

图1是示出根据第一实施例的包括半导体器件的半导体系统的配置的框图;

图2示出了在图1所示半导体器件中设置的寄存器的结构示例;

图3是示出图1所示半导体器件中设置的开关电路的示意图;

图4是示出在图1所示半导体器件中设置的电平转换电路的一部分的具体配置的电路图;

图5示出了在图1所示半导体器件中设置的规格检测电路的具体配置;

图6是示出由图1所示半导体器件执行的连接设置操作的流程图;

图7示出了在由图1所示半导体器件执行的连接设置操作期间存储在寄存器中的值;

图8示出了在由图1所示半导体器件执行的连接设置操作期间存储在寄存器中的值;

图9示出了在由图1所示半导体器件执行的连接设置操作期间存储在寄存器中的值;

图10示出了在由图1所示半导体器件执行的连接设置操作期间存储在寄存器中的值;

图11示出了在由图1所示半导体器件执行的连接设置操作期间存储在寄存器中的值;

图12示出了在由图1所示半导体器件执行的连接设置操作期间存储在寄存器中的值;

图13是示出根据第二实施例的包括半导体器件的半导体系统的配置的框图;

图14是示出由图13所示半导体器件执行的连接设置操作的流程图;

图15是示出根据第三实施例的包括半导体器件的半导体系统的配置的框图;以及

图16是示出由图15所示半导体器件执行的连接设置操作的流程图。

具体实施方式

以下参照附图说明实施例。应该注意,附图以简化方式画出,因此实施例的技术范围不应基于这些附图来进行狭义的解释。此外,相同的部件由相同的符号来指定,并且省略它们的重复说明。

在以下实施例中,当需要时,通过使用独立的章节或独立的实施例来说明本发明。然而,这些实施例不相互相关,除非另有明确指定。即,它们以一个实施例是另一实施例的部分或整体的修改示例、应用示例、详细示例或补充示例的这种方式相关。此外,在以下实施例中,当提到元件等的数量(包括数量、值、量、范围等)时,该数量不限于具体的数量,除了该数量被明确指定或者基于其原理该数量明显限于具体数量的情况。即,还可以使用比具体数量更大或更小的数量。

此外,在以下实施例中,它们的部件(包括操作步骤等)不是绝对必要的,除了该部件被明确指定或者基于其原理该部件明显是不可缺少的情况。类似地,在以下实施例中,当提到部件的形状、位置关系等时,基本相似或与该形状相像的形状也包括在该形状中,除了明确指定或者它们基于其原理被排除的情况。这同样适合于上述数量等(包括数量、值、量、范围等)。

<第一实施例>

图1是示出根据第一实施例的包括半导体器件1的半导体系统sys1的配置的框图。根据该实施例的半导体器件1获取关于通信规格(或通信标准)的信息(包括关于来自多个外部设置模块中的每一个的驱动电路的信息),基于用于多个模块中的每一个的通信规格设置(或建立)多个模块与多条总线之间的连接,然后通过多条总线执行与多个模块的数据通信。根据该实施例的半导体器件1可以同时将具有不同驱动电压的多个模块以及具有不同通信速度的多个模块连接至控制单元,由此使得可以通过使用一个控制电路同时控制具有不同驱动电压和/或不同通信速度的多个模块。即,可以提高设计的灵活性。以下以具体方式给出说明。

如图1所示,半导体系统sys1包括半导体器件1以及模块m1至mn(n是不小于2的整数)。

半导体器件1由一个或多个芯片组成,并且包括多条总线b1至bm(m是不小于2的整数)、控制电路11、电平转换电路12、开关电路13、规格检测电路14、总线连接控制电路15和寄存器16。应注意,控制电路11、总线连接控制电路15和寄存器16形成控制单元(控制器)10。例如,控制单元10是微计算机。

控制电路11通过总线b1至bm连接至开关电路13,其中电平转换电路12夹置在它们之间。开关电路13通过连接器t1至tn连接至模块m1至mn。

(控制电路11)

控制电路11是通过多条总线b1至bm执行与模块m1至mn的数据通信的电路。应注意,控制电路11具有在与每个模块相同的通信速度下执行通信的功能。该实施例通过使用i2c方法被采用作为控制电路11与模块m1至mn之间的数据通信的方法的示例性情况来进行说明。因此,每条总线b1至bm都至少包括电源线、接地线、时钟信号线scl和数据信号线sda。

此外,在正常操作之前,控制电路11获取关于通信规格的信息(以下也称为“通信规格信息”)(包括关于直接来自每个模块m1至mn或通过规格检测电路14的驱动电压的信息),并且将获取的信息输出至总线连接控制电路15。稍后将说明控制电路11如何获取关于每个模块的通信规格的信息。

(总线连接控制电路15和寄存器16)

总线连接控制电路15基于来自控制电路11的指令在寄存器16中重写值。

例如,当获取到关于每个模块m1至mn的通信规格信息时,总线连接控制电路15通过使用开关电路13在寄存器16中重写值,使得模块m1至mn以顺序方式一个接一个地连接至总线b1。此外,在该点处,总线连接控制电路15还在寄存器16中写入关于分配给总线b1的电压和通信速度的信息。此外,每当获取到关于模块m1至mn中的一个的通信规格的信息时,总线连接控制电路15就在寄存器16中写入关于通信规格的信息。在获取到关于所有模块m1至mn的通信规格信息之后,总线连接控制电路15基于获取的通信规格信息重写关于分配给每条总线b1至bm的通信规格的信息以及关于总线b1至bm与模块m1至mn之间的连接的信息(即,关于每个开关sw的接通/断开状态的信息(稍后将进行描述))。

图2示出了寄存器16的结构的示例。

如图2所示,在寄存器16中以矩阵图案布置多个存储区域。

在寄存器16的(第1行至第m行)×(第1列至第n列)的存储区域中存储关于在总线b1至bm与模块m1至mn之间以矩阵图案布置的多个开关sw的接通/断开状态的信息(稍后将进行描述)。在图2所示的示例中,sw[j][k](j是1和m之间的自然数,并且k是1和n之间的自然数)表示关于设置在总线bj和模块mk之间的开关sw的信息。注意,在该示例中,当sw[j][k]的值为0时,设置在总线bj和模块mk之间的开关sw断开。另一方面,当sw[j][k]的值为1时,设置在总线bj和模块mk之间的开关sw接通。

在寄存器16中的第(m+1)行-第(m+3)行中的存储区域中存储关于模块m1至mn的通信规格信息。

具体地,在第(m+1)行的存储区域中存储用于模块m1至mn的驱动电压的信息。在图2所示的示例中,volm[k]表示关于模块mk的驱动电压的信息。应注意,在该示例中,当volm[k]的值为1时,其表示模块mk的驱动电压为3.3v。此外,当volm[k]的值为2时,其表示模块mk的驱动电压为5v。

在第(m+2)行的存储区域中存储关于模块m1至mn的通信速度的信息。在图2所示的示例中,bpsm[k]表示关于模块mk的通信速度的信息。应注意,在该示例中,当bpsm[k]的值为1时,其表示模块mk的通信速度为100kbps。此外,当bpsm[k]的值为2时,其表示模块mk的通信速度为400kbps。

在第(m+3)行的存储区域中存储关于模块m1至mn的模块id的信息。在图2所示的示例中,id[k]表示关于模块mk的模块id的信息。

在寄存器16的第(n+1)列和第(n+2)列的存储区域中存储关于分配给总线b1至bm的通信规格的信息。

具体地,在第(n+1)列的存储区域中存储关于分配给总线b1至bm的驱动电压的信息。在图2所示的示例中,volb[j]表示关于分配给总线bj的驱动电压的信息。应注意,在该示例中,当volb[j]的值为1时,其表示分配给总线bj的驱动电压为3.3v。此外,当volb[j]的值为2时,其表示分配给总线bj的驱动电压为5v。

在第(n+2)列的存储区域中存储关于分配给总线b1至bm的通信速度的信息。在图2所示的示例中,bpsb[j]表示关于分配给总线bj的通信速度的信息。应注意,在该示例中,当bpsb[j]的值为1时,其表示分配给总线bj的通信速度为100kbps。此外,当bpsb[j]的值为2时,其表示分配给总线bj的通信速度为400kbps。(开关电路13)

开关电路13基于寄存器16中的值设置(或建立)总线b1至bm与模块m1至mn之间的连接。例如,如上所述,当获取到每个模块m1至mn的通信规格信息时,开关电路13以顺序方式将模块m1至mn一个接一个地连接至总线b1。与此相反,在获取到每个模块m1至mn的通信规格信息之后,开关电路13基于存储在寄存器16中的关于总线b1至bm与模块m1至mn之间的连接的信息将具有相同通信规格的多个模块连接至相同的总线。具体地,开关电路13将具有相同通信速度和相同驱动电压的多个模块连接至相同总线。

图3是示出开关电路13的示意图。

如图3所示,开关电路13包括在总线b1至bm与模块m1至mn之间以矩阵图案布置的多个开关sw。例如,每个开关sw是p沟道mos晶体管,并且基于寄存器16中的值来控制其接通/断开状态。在该示例中,开关sw的数量为(m×n×3)(=(总线的数量m)×(模块的数量n)×(通信线的数量))(在该示例中,通信线的数量为3,即,电源线、信号线scl和信号线sda)。

开关电路13基于存储在图2所示寄存器16中的(第1行至第m行)×(第1列至第n列)的存储区域中的用于每个开关sw的接通/断开信息(sw[j][k])来设置(或建立)总线b1至bm与模块m1至mn之间的连接。如此,具有相同通信规格的多个模块被连接至相同总线。

(电平转换电路12)

电平转换电路12向模块m1至mn提供具有与寄存器16中的值相对应的电平的驱动电压。例如,当获取每个模块m1至mn的通信规格信息时,电平转换电路12基于存储在寄存器16中且分配给总线b1的关于电压的信息通过总线b1将模块m1至mn可以单独操作的最小电压作为驱动电压来提供给模块m1至mn中的一个。在该示例中,电平转换电路12通过总线b1向模块m1至mn中的一个提供多个电源电压中的最低电源电压(vdd1)(其为3.3v)作为驱动电压。与此相反,在获取每个模块m1至mn的通信规格信息之后,基于关于存储在寄存器16中且被分配给对应总线b1至bm的电压的信息,电平转换电路12向连接至总线b1至bm中的一条的每个模块m1至mn提供具有与用于该模块的通信规格相对应的电平的驱动电压。

此外,电平转换电路12转换在控制电路11与模块m1至mn之间传播的信号的电平。

图4是示出电平转换电路12的一部分的具体配置的电路图。

作为示例,图4示出了为作为总线b1中包括的一条通信线的信号线sda设置的电平转换电路12的部分。应注意,类似的配置可应用于包括在总线b1中的每一条其他通信线(信号线scl和电源线)以及包括在每一条其他总线b2至bn中的每条通信线(信号线sda、信号线scl和电源线)。

如图4所示,对于总线b1的信号线sda,电平转换电路12包括电阻元件r1和r2、n沟道mos晶体管(以下简称为“晶体管”)mn1、p沟道mos晶体管(以下简称为“晶体管”)mp1和mp2、以及反相器inv1。节点n1设置在晶体管mp1和mp2的漏极与电阻元件r1之间。

晶体管mn1设置在总线b1的信号线sda上。以下,晶体管mn1与控制电路11之间的信号线sda的部分被称为“控制电路11侧上的信号线sda”,而晶体管mn1与开关电路13之间的信号线sda的部分被称为“开关电路13侧上的信号线sda”。具有将电源电压vdd0提供给控制电路11的电源(以下称为“电压vdd0”)、可以向模块m1至mn提供驱动电压vdd1的电源(以下称为“电压vdd1”)和可以向模块m1至mn提供驱动电压vdd2的电源(以下称为“电压vdd2”)中的最低电压的电源(以下称为“电压vddmin”)连接至晶体管mn1的栅极。图4示出了电压vddmin等于电压vdd0(vddmin=vdd0)的连接示例。

电阻元件r1设置在电源vdd0与控制电路11侧上的信号线sda之间。电阻元件r2设置在节点n1与开关电路13侧上的信号线sda之间。晶体管mp1设置在电源vdd1与节点n1之间,并且根据寄存器16中的值来控制其接通/断开状态。晶体管mp2设置在电源vdd2与节点n1之间,并且进行控制使其接通/断开状态变得与晶体管mp1的接通/断开状态互补。

例如,当存储在寄存器16中且分配给总线b1的驱动电压的信息volb[1]为1时,l电平信号被施加给晶体管mp1的栅极,并且h电平信号被施加给晶体管mp2的栅极。因此,晶体管mp1变为接通状态,而晶体管mp2变为断开状态。因此,驱动电压vdd1(其为3.3v)通过晶体管mp1和电阻元件r2被提供给开关电路13侧上的信号线sda。与此相反,当存储在寄存器16中且分配给总线b1的驱动电压的信息volb[1]为2时,h电平信号被施加给晶体管mp1的栅极,并且l电平信号被施加给晶体管mp2的栅极。因此,晶体管m1变为断开状态,而晶体管mp2变为接通状态。因此,驱动电压vdd2(其为5v)通过晶体管mp2和电阻元件r2被提供给开关电路13侧上的信号线sda。

以这种方式,电平转换电路12通过总线b1至bm向模块m1至mn提供具有与存储在图2所示寄存器16的第(n+1)列中的用于相应总线b1至bm的驱动电压信息(volb[1]-volb[m])相对应的电平的驱动电压。

现在说明由电平转换电路12执行的电平转换操作。

例如,当从控制电路11向开关电路13传输h电平信号时,h电平信号被施加给控制电路11侧上的晶体管mn1的电极,并且h电平电位(电压vddmin)被施加给晶体管mn1的栅极。因此,晶体管mn1变为断开状态。从而,电源电压vdd1和vdd2中的一个(即,电平转换的h电平信号)通过电阻元件r2被提供给开关电路13。此外,当从控制电路11向开关电路13传输l电平信号时,l电平信号被施加给控制电路11侧上的晶体管mn1的电极,并且h电平电位(电压vddmin)被施加给晶体管mn1的栅极。因此,晶体管mn1变为接通状态。从而,l电平信号被提供给开关电路13。

与此相反,当通过开关电路13从一个模块向控制电路11传输h电平信号时,h电平信号被施加给开关电路13侧上的晶体管mn1的电极,并且h电平电位(电压vddmin)被施加给晶体管mn1的栅极。因此,晶体管mn1变为断开状态。从而,电源电压vdd0(即,电平转换的h电平信号)通过电阻元件r1被提供给控制电路11。此外,当通过开关电路13从一个模块向控制电路11传输l电平信号时,l电平信号被施加给开关电路13侧上的晶体管mn1的电极,并且h电平电位(电压vddmin)被施加给晶体管mn1的栅极。因此,晶体管mn1变为接通状态。从而,l电平信号被提供给控制电路11。

(规格检测电路14)

规格检测电路14是检测(即,获得)从每个模块m1至mn输出的关于通信规格的信息并且在正常操作之前将检测到的信息输出至控制电路11的电路。

图5示出了规格检测电路14的具体配置。

如图5所示,规格检测电路14例如包括缓冲器bf1。当获取每个模块m1至mn的通信规格信息时,缓冲器bf1驱动关于通信规格的信息(总线b1的一条信号线(信号线scl或信号线sda)根据其进行传播(即,传输)),并将被驱动信息传输至控制电路11。应注意,当控制电路11直接获取每个模块m1至mn的通信规格信息时,不是必须设置规格检测电路14。

(半导体器件1的操作)

接下来,将说明由半导体器件1执行的连接设置操作。

图6是示出由半导体器件1执行的连接设置操作的流程图。此外,图7至图12示出了由半导体器件1执行的连接设置操作期间存储在寄存器16中的值。在以下说明中,将解释模块的数量n为7(n=7)且总线的数量m为4(m=4)的示例性情况。

如图6所示,在初始状态中将变量k设置为0(步骤s101)。此后,控制单元10将变量k的值递增1(步骤s102)。因此,变量k变为1(k=1)。

此后,控制单元10通过使用开关电路13仅将模块m1连接至总线b1,并且通过使用电平转换电路12将最低电源电压vdd1(其为3.3v)提供至模块m1作为驱动电压(步骤s103)。因此,模块m1可以执行用于将关于其通信规格的信息发送回控制电路11的操作。

具体地,在控制单元10中,总线连接控制电路15基于来自控制电路11的指令重写寄存器16中的值。更具体地,如图7所示,总线连接控制电路15将用于设置在总线b1与模块m1之间的开关sw的接通/断开信息sw[1][1]的值从0重写为1(从断开到接通)。此外,总线连接控制电路15将分配给总线b1的驱动电压的信息volb[1]的值从0重写为1(3.3v)。此外,总线连接控制电路15将作为关于分配给总线b1的通信速度的信息的值bpsb[1]从0重写为1(100kbps)。

然后,开关电路13基于寄存器16中的值仅将模块m1连接至总线b1。应注意,其他模块m2至mn没有连接至任何总线b1至bn。此外,基于寄存器16中的值,电平转换电路12通过总线b1将最低电源电压vdd1(其为3.3v)提供给模块m1作为驱动电压。这表示,电平转换电路12基于寄存器16中的值将3.3v的电源电压提供给开关电路13侧上的总线b1的每条通信线(电源线、信号线sda和信号线scl)。

应注意,当每个模块m1至mn的驱动电压已知为3.3v或5v时,电平转换电路12设置3.3v的最低电源电压作为驱动电压的初始值。与此相反,当每个模块m1至mn的驱动电压未知时,电平转换电路12例如设置规格下的最低电压作为驱动电压。

此后,控制单元10从模块m1请求关于驱动电压的信息,并且通过规格检测电路14获取关于从模块m1发送回的驱动电压的信息(步骤s104)。

更具体地,在控制单元10中,控制电路11通过总线b1的一条信号线(例如,信号线sda)向模块m1输出h电平信号。模块m1具有输出关于其自身驱动电压的信息的功能。例如,当其驱动电压为3.3v时,模块m1发送回l电平信号,而当其驱动电压为5v时,模块m1发送回h电平信号。规格检测电路14得到(即,接收)关于从模块m1发送回的驱动电压的信息(h或l电平信号)并将其传输至控制电路11。

此后,控制单元10基于关于模块m1的驱动电压的获取信息将驱动电压提供给模块m1(步骤s105)。

更具体地,在控制单元10中,总线连接控制电路15基于从控制电路11输出的关于模块m1的驱动电压的信息重写寄存器16中的值。例如,当关于模块m1的驱动电压的信息表示5v时,如图8所示,总线连接控制电路15将分配给总线b1的驱动电压的信息volb[1]的值从1(3.3v)重写为2(5v)。应注意,当关于模块m1的驱动电压的信息表示3.3v时,volb[1]的值保持不变为1(3.3v)。然后,电平转换电路12基于寄存器16中的值将3.3v或5v的驱动电压提供给模块m1。这意味着电平转换电路12基于寄存器16中的值向开关电路13侧上的总线b1的每条通信线(电源线、信号线sda和信号线scl)提供3.3v或5v的电源电压。

此后,控制单元10从模块m1请求关于通信速度的信息,并且通过规格检测电路14获取关于从模块m1发送回的通信速度的信息(步骤s106)。

更具体地,在控制单元10中,控制电路11在最低可操作速度下(例如,规格下的最低速度)通过总线b1与模块m1通信,从而获取存储在模块m1中的通信速度信息。应注意,如图7所示,通过预先将分配给总线b1的通信速度的信息bpsb[1]的值从0重写为1(100kbps),控制电路11可以在最低可操作速度下执行通信。

应注意,控制单元10可以通过使用与用于获取关于模块m1的驱动电压的信息的方法相似的方法来获取关于模块m1的通信速度的信息。在这种情况下,在控制单元10中,控制电路11通过总线b1的一条信号线(例如,信号线sda)向模块m1输出h电平信号。模块m1具有输出关于其自身通信速度的信息并且例如根据通信速度发送回h或l电平信号的功能。规格检测电路14得到(即,接收)关于从模块m1发送回的通信速度的信息(h或l电平信号),并将其传输至控制电路11。

然后,控制单元10在诸如寄存器16的存储单元中存储关于模块m1的驱动电压和通信速度的获取信息,即,关于模块m1的通信规格的获取信息(步骤s107)。具体地,如图9所示,通过关于模块m1的驱动电压、通信速度和模块id的获取信息来重写寄存器16中的volm[1]、bpsm[1]和id[1]的值。在图9所示的示例中,volm[1]、bpsm[1]和id[1]的值分别被重写为2(5v)、1(100kbps)和1。

此后,控制单元10确定变量k是否等于数量n(k=n)。当变宽k不等于数量n时(步骤s108中为否),则控制单元10将变量k的值再次递增1(步骤s102)。因此,变量k变为2(k=2)。

此后,控制单元10通过使用开关电路13仅将模块m2连接至总线b1(步骤s103),并通过使用电平转换电路12将最低电源电压vdd1(其为3.3v)提供给模块m2作为驱动电压。此后,控制单元10从模块m2请求关于驱动电压的信息,并且获取关于从模块m2发送回的驱动电压的信息(步骤s104)。此后,控制单元10基于关于模块m2的驱动电压的获取信息将驱动电压提供给模块m2(步骤s105)。此后,控制单元10从模块m2请求关于通信速度的信息并获取关于从模块m2发送回的通信速度的信息(步骤s106)。然后,控制单元10在诸如寄存器16的存储单元中存储关于模块m2的驱动电压和通信速度的信息,即关于模块m2的通信规格的信息(步骤s107)。

此后,控制单元10确定变量k是否等于数量n(k=n)。当变量k不等于数量n时(步骤s108中为否),则控制单元10再次将变量k的值递增1(步骤s102)。因此,变量k变为3(k=3)。此后,重复步骤s102至s108中的“否”的一系列处理,直到变量k变得等于数量n(k=n)为止。

从而,如图10所示,通过关于相应模块m1至mn(n=7)的驱动电压、通信速度和模块id的获取信息重写寄存器16中的volm[1]-[7]、bpsm[1]-[7]和id[1]-[7]的值。即,在寄存器16中重写关于每个模块m1至mn的通信规格的信息。

当变量k变得等于数量n(k=n)时(步骤s108中为是),则控制单元10基于关于相应模块m1至mn的通信规格的获取信息通过使用开关电路13来设置(或建立)总线b1至bm与模块m1至mn之间的连接,并通过使用电平转换电路12提供具有与相应模块m1至mn的通信规格相对应的电平的驱动电压(步骤s109和s110)。

更具体地,基于存储在寄存器16中的关于通信规格(对于每个对应模块m1至mn)的信息,重写存储在寄存器16中且分配给每条总线b1至bm的关于通信规格(驱动电压和通信速度)的信息。因此,通信规格被分配给每条总线b1至bm(步骤s109)。

例如,如图11所示,volb[1]的值被重写为1且bpsb[1]的值被重写为1。因此,指定该驱动电压为3.3v且通信速度为100kbps的通信规格被分配给总线b1。此外,volb[2]的值被重写为1且bpsb[2]的值被重写为2。因此,指定该驱动电压为3.3v且通信速度为400kbps的通信规格被分配给总线b2。此外,volb[3]的值被重写为2且bpsb[3]的值被重写为1。因此,指定该驱动电压为5v且通信速度为100kbps的通信规格被分配给总线b3。此外,由于volb[4]的值被重写为2且bpsb[4]的值被重写为2,所以指定该驱动电压为5v且通信速度为400kbps的通信规格被分配给总线b4。

此后,开关电路13将模块m1至mn连接至它们的相应通信规格被分配的总线(步骤s110)。

具体地,如图12所示,用于设置在通信规格相互匹配的总线和模块之间的开关sw的接通/断开信息在寄存器16中从0重写为1(从断开到接通)。然后,开关电路13基于存储在寄存器16中的用于每个开关sw的接通/断开信息将每个模块m1至mn连接至分配其通信规格的总线。因此,具有相同通信速度和相同驱动电压的多个模块连接至相同总线。同时,具有不同通信速度和/或不同驱动电压的模块连接至不同总线。在图12所示的示例中,模块m2连接至总线b1,并且模块m5和m7连接至总线b2。此外,模块m1、m3和m4连接至总线b3,并且模块m6连接至总线b4。

此外,电平转换电路12向相应总线b1至bm的开关电路13侧提供在分配给总线b1至bm的通信规格中指定的驱动电压。因此,例如,公共驱动电压被提供给具有相同通信规格且连接至相同总线的多个模块。

此后,半导体器件1开始正常操作(s111)。即,在控制电路11与模块m1至mn之间开始数据通信。

如上所述,根据本实施例的半导体器件1获取来自多个外部设置的模块m1至mn中的每一个的关于通信规格的信息(包括关于驱动电压的信息),基于获取的通信规格设置模块m1至mn与总线b1至bm之间的连接,然后执行与模块m1至mn的数据通信。根据本实施例的半导体器件1可以同时将具有不同驱动电压的多个模块以及具有不同通信速度的多个模块连接至控制电路11,由此使得可以通过使用一个控制电路(即,控制电路11)同时控制具有不同驱动电压和/或不同通信速度的多个模块。即,可以提高设计的灵活性。

应注意,通过使用当获取每一个模块m1至mn的通信规格信息时,模块m1至mn中的一个仅连接至总线b1的示例性情况来解释该实施例。然而,模块可以连接至除总线b1之外的总线。此外,当关于通信规格的信息量较大时,可以通过使用总线b1的多条信号线scl和sda来获取通信规格信息。

控制单元10可以具有执行控制以使连接至总线b1至bm中的每一条的模块的数量等于或小于预定数量的功能。如此,可以减少通信时间。

<第二实施例>

图13是示出根据第二实施例的包括半导体器件2的半导体系统sys2的配置的框图。与半导体器件1相比,半导体器件2还包括测量电路21。半导体器件2和包括半导体器件2的半导体系统sys2的配置类似于半导体器件1和包括半导体器件1的半导体系统sys1的配置,因此省略它们的说明。

测量电路21是测量每条总线b1至bm中的通信时间的电路。例如,测量电路21测量(例如,获得)每条总线b1至bm中的用于一个控制循环(预定循环)的通信时间的总和。

基于测量电路21中获得的结果,控制单元10将连接至总线的多个模块中的一个(其用于一个控制循环的通信时间的总和超过指定时间)重新连接至其他总线中的一条。如此,可以减少通信时间。应注意,可以在开始正常操作之后周期性地执行上述处理,或者可以在正常操作之前执行的连接设置操作期间执行上述处理。

例如,在具有相同通信规格的三个模块m1至m3连接至总线b1的情况下,当总线b1中用于一个控制循环的通信时间的总和超过指定时间,则控制单元10将模块m1至m3中的一个重新连接至没有连接模块的其他总线中的一条。可替换地,当模块m1至m3中存在通信速度可以降低的模块时,该模块被重新连接至连接有具有较低通信速度和相同驱动电压的模块的其他总线中的一条。

注意,可以基于存储在寄存器16中的用于每个开关sw的接通/断开信息来确定连接至相同总线的模块的数量。例如,可以基于存储在图2所示寄存器16的(第1行)×(第1列至第n列)的存储区域中的用于开关sw的接通/断开信息(即,sw[1][1]-sw[1][n])来确定连接至总线b1的模块的数量。

图14是示出由半导体器件2执行的连接设置操作的流程图。应注意,步骤s101至s111的处理类似于图6所示,因此省略它们的说明。

如图14所示,当开始控制电路11和模块m1至mn之间的数据通信时(步骤s111),测量电路21测量(即,获得)每条总线b1至bm中的用于一个控制循环(预定循环)的通信时间的总和(步骤s201)。

控制单元10确定是否存在用于一个控制循环的通信时间的总和超过指定时间的总线(步骤s202)。当不存在用于一个控制循环的通信时间的总和超过预定时间的总线时(步骤s202中为否),控制单元10不改变模块与总线之间的连接。另一方面,当存在用于一个控制循环的通信时间的总和超过预定时间的总线时(步骤s202中为是),控制单元10改变模块与总线之间的连接(步骤s203)。具体地,控制单元10将连接至用于一个控制循环的通信时间的总和超过指定时间的总线的多个模块中的一个重新连接至其他总线中的一条。

此后,当还没有完成数据通信时(步骤s204中为否),处理返回到由测量电路21执行的周期测量处理(步骤s201)。另一方面,当已经完成数据通信时(步骤s204中为是),完成操作。

如上所述,除了提供类似于半导体器件1的有利效果之外,根据该实施例的半导体器件2可以通过将连接至用于一个控制循环的通信时间的总和超过指定时间的总线的多个模块中的一个重新连接至其他总线中的一条来减少通信时间。

<第三实施例>

图15是示出根据第三实施例的包括半导体器件3的半导体系统sys3的配置的框图。与半导体器件1相比,半导体器件3还包括地址仲裁电路31。应注意,控制电路11、总线连接控制电路15、寄存器16和地址仲裁电路31形成控制单元(控制器)10。半导体器件3和包括半导体器件3的半导体系统sys3的配置类似于半导体器件1和包括半导体器件1的半导体系统sys1的配置,因此省略它们的说明。

地址仲裁电路31是监控模块m1至mn的id并将具有相同id的多个模块连接至不同总线的电路。

图16是示出由半导体器件3执行的连接设置操作的流程图。应注意,步骤s101至s110的处理基本类似于图6所示的处理,因此省略它们的说明。然而,当控制单元10获取关于模块m1至mn的通信速度的信息时(步骤s106),控制单元10还获取模块m1至mn的id。应注意,在i2c通信的情况下,模块的id表示其从地址。

如图16所示,在模块m1至mn连接至分配它们相应的通信规格的总线(步骤s110)之后,地址仲裁电路31检查每个模块m1至mn的id和连接该模块的总线(步骤s301)。

当具有相同id的任何两个或更多个模块没有连接至相同总线(步骤s302中为否)时,在控制电路11与模块m1至mn之间开始数据通信而不改变模块与总线之间的连接(步骤s306)。

另一方面,当具有相同id的多个模块连接至相同总线时(步骤s302中为是),地址仲裁电路31确定具有相同id的多个模块是否可以连接至相互不同的总线(步骤s303)。

应注意,确定具有相同id的多个模块是否连接至相同总线可以基于连接至相同总线的多个模块的模块id信息(图2中的id[1]至id[n])来进行。

当具有相同id的多个模块可以连接至相互不同的总线时(步骤s303中为是),地址仲裁电路31将这些模块重新连接至相互不同的总线(步骤s304)。另一方面,当具有相同id的多个模块不可以连接至相互不同的总线时(步骤s303中为否),这些模块的id被变为相互不同的id(步骤s305)。

此后,半导体器件3开始正常操作(s306)。即,在控制电路11与模块m1至mn之间开始数据通信。

如上所述,除了提供类似于半导体器件1的有利效果,根据该实施例的半导体器件3可以通过使用地址仲裁电路31将具有相同id的多个模块连接至相互不同的总线来防止id的冲突,即使当具有多个模块时。

应注意,除地址仲裁电路31之外,半导体器件3可以包括上述测量电路21。

如上所述,根据上述第一至第三实施例中的任何一个的半导体器件从多个外部设置的模块m1至mn的每一个中获取关于通信规格的信息(包括关于驱动电压的信息),基于获取的通信规格设置模块m1至mn与总线b1至bm之间的连接,然后执行与模块m1至mn的数据通信。根据上述第一至第三实施例中的任何一个的半导体器件可以同时将具有不同驱动电压的多个模块以及具有不同通信速度的多个模块连接至控制电路11,由此使得可以通过使用一个控制电路(即,控制电路11)同时控制具有不同驱动电压和/或不同通信速度的多个模块。即,可以提高设计的灵活性。

上文基于实施例以具体方式解释了发明人做出的本发明。然而,本发明不限于上述实施例,不需要说明,可以在不背离本发明的精神和范围的情况下进行各种修改。

例如,根据上述实施例的半导体器件可以具有可反转半导体衬底、半导体层、扩散层(扩散区域)等的导电类型(p型或n型)的配置。因此,当n型和p型中的一个被限定为第一导电类型而另一个被限定为第二导电类型时,第一和第二导电类型可以分别为p型和n型。可替换地,第一和第二导电类型可以分别是n型和p型。

上文公开的实施例的整体或部分可以被描述为但不限于以下补充注释。

(补充注释1)

一种半导体器件包括:

多条总线;控制单元,连接至多条总线,控制单元被配置为通过多条总线中的一条总线从外部设置的多个模块中的每个模块中获取关于通信规格的信息,该信息包括关于驱动电路的信息;以及

开关电路,被配置为基于由控制单元获取的用于多个模块中的每个模块的关于通信规格的信息来设置多个模块与多条总线之间的连接。

(补充注释2)

在补充注释1中描述的半导体器件还包括测量电路,其被配置为测量多条总线中的每条总线中的通信时间,其中

控制电路通过使用开关电路设置多个模块与多条总线之间的连接,使得多条总线的每条总线中的每预定循环的通信时间的总和等于或小于指定时间。

参考符号列表

1半导体器件

2半导体器件

3半导体器件

10控制单元

11控制电路

12电平转换电路

13开关电路

14规格检测电路

15总线连接控制电路

16寄存器

21测量电路

31地址仲裁电路

bf1缓冲器

inv反相器

mn1晶体管

mp1晶体管

mp2晶体管

m1-mn模块

r1电阻元件

r2电阻元件

sys1半导体系统

sys2半导体系统

sys3半导体系统

sw开关

t1至tn连接器

vdd1电源

vdd2电源

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