接口交错的制作方法

文档序号:7587261阅读:160来源:国知局
专利名称:接口交错的制作方法
技术领域
本发明一般涉及用于在集成电路环境下传送数据的接口,以及特别涉及一种使用多接口在共享总线上传送数据的方法和系统,相关领域的描述在许多应用中集成电路和其它设备之间的通信使用由飞利浦半导体公司开发的智能互连通信(I2C),或inter-IC串行接口。在电信行业,例如,移动电话经常使用I2C接口协议进行基带控制器和LCD组件之间的通信,基带控制器典型的是一种特定用途集成电路(ASIC)。移动电话内的其它设备还使用I2C接口协议从基带控制器接收数据(包括命令),以及将数据传输到基带控制器。
不过,由于I2C接口受特定的专利保护,LCD驱动器和其它驱动器的开发商正常地必须得到许可才能够生产支持I2C接口协议的驱动器。其结果是,支持I2C接口协议的现用的驱动器的供应通常受到限制。随着移动电信行业和使用I2C接口协议的其它行业中开发周期不断地缩短,不是总是有时间来定制开发一个支持I2C的驱动器。
另一方面,现有的现用驱动器中很多支持串行的点对点接口协议,该协议使用四种线路数据线,时钟线,说明是命令数据或显示数据的线路,以及芯片选择线。不得不定制开发一种支持I2C的驱动器的一个替代方案是构造支持I2C接口协议和串行点对点接口协议的基带控制器或其它ASIC。然后可以加入使用支持I2C接口协议的驱动器或者支持串行点对点接口协议的驱动器的其它设备,这取决于可用性、费用、以及功能方面的考虑。不过,为了支持两种接口,在基带控制器上需要四种额外的I/O管脚(分别对应四种串行点对点接口线的每一种)。这样的需求是难以解决的,因为I/O管脚增加了费用以及要求附加的空间。此外,尽管已经建议了支持使用共享总线的多接口协议的系统,但这样的系统是复杂、不可改变以及难以实现的。
因此,为了简单化,有必要有一套灵活的方法和系统允许通过共享总线在集成电路和一个或更多其它设备之间使用多个可用接口协议中的一个进行通信。该系统应该包括一个最小I/O管脚数。这样的方法和系统将允许,例如,使用支持I2C的驱动器(当其可得到时),或者如果不能得到I2C驱动器或期望有不同性能,则使用串行点对点驱动器。此外,这样的方法和系统将允许集成电路依据与其通信的设备所支持的协议而选择性地使用不同的接口协议。
发明概述本发明包括用于在集成电路和多个外围设备之间传送数据的方法和系统。该集成电路使用I2C接口协议与其中的第一外围设备通信以及使用某种其它接口协议与第二外围设备通信。但是,这两种接口协议都共享同一条数据总线和时钟总线,因此减少了集成电路上所需要的管脚数目。
依据标准的I2C接口协议完成集成电路和第一外围设备之间的通信。因此,为了与第一外围设备进行通信,集成电路通过共享数据总线传输一个唯一的I2C开始条件,后面带着识别第一外围设备的地址。然后使用该共享数据总线,集成电路传送以及第一外围设备接收预定给第一外围设备的数据。然后第一外围设备在接收到每一个字节之后回复一个应答比特。在数据传输的结尾,传输一个唯一的结束条件。在这样使用I2C接口协议的通信过程中,集成电路保持芯片选择总线上的高电压。这个芯片选择总线上的高电压用于通知第二外围设备正在进行I2C通信以及防止第二外围设备妨碍这次通信。
另一方面,在没有进行通过I2C接口的通信时,可以开始与第二外围设备之间的通信。在共享数据总线上发送一个结束条件之后,集成电路生成另一个I2C开始条件。不过,这次,开始条件后面跟着的不是第一外围设备所用(或者是任何其它附属的I2C设备所用)的地址,这将引起第一外围设备(或者是任何其它附属的I2C设备)进入非活动状态。然后,假使附属设备中没有一个无意中传输一个可能重新激活附属I2C设备的开始或结束条件,则通过移走芯片选择总线上的高电压,激活第二外围设备以及通过共享数据总线可以执行集成电路与第二外围设备之间的通信。一旦完成这样的数据通信,集成电路在共享数据总线上生成一个结束条件,使得附属I2C设备再一次开始侦听开始条件。因此,无需要求额外的数据总线和时钟总线,使用其它接口协议的通信可以与I2C通信交错,而同时避免两个或更多接口之间的冲突。
附图简述为了更完整地理解本发明,可以结合附图参照下面给出的详细描述,其中

图1是移动电话内部电路的示范性框图;图2是图1说明的电路中时钟总线、数据总线以及芯片选择总线上电压电平的表示图;以及图3是说明通过I2C接口和串行点对点接口进行数据传输的消息流和系统操作图。
发明详述现在讨论附图,其中相同的参考字符表明所有各种图示中相同或类似部分。现在讨论图1,这里图示了移动电话内部电路10的示范性框图。典型地,移动电话包括一个基带控制器12(即,包括用于控制移动电话操作的处理器13的特定用途集成电路(ASIC)),和用于向LCD显示组件16传送命令和显示数据的一个LCD驱动器14(在这种情形下是一个I2C驱动器)。该移动电话还包括其它设备18用于向附加外围设备20传送命令数据和其它数据,例如电可擦除可编程只读存储器(E2PROM)。
执行在I2C接口上的通信使用了两条双向总线线路数据总线22和时钟总线24。I2C接口使用拉高电阻概念,其中当总线22或24是非活动或空闲时在总线22或24上的电压电平为高。当数据总线22正在传输数据时同样的高电压电平用于标明逻辑“1”。为标明逻辑“0”,传输设备12或14将数据总线接地,使得整个数据总线22上的电压到达0。其结果是,任何I2C驱动器14可以使数据总线22上的电压到达0(即,通过将数据总线22接地)。为防止在两个设备12和14试图同时传输数据时可能引起的破坏,使用了冲突解决进程。基本上,通过监视寻址或数据传输过程中数据总线22上的电压电平,每一个传输设备12或14在试图传输逻辑“1”时,能够检测另一个传输设备12或14是否引起数据总线22上的电压达到0。然后通过将优先级赋予当其它设备正试图传输逻辑“1”时第一个传输逻辑“0”的设备12或14来解决冲突。换句话说,第一个从另一个传输设备12或14检测到存在传输的设备12或14放弃对数据总线22的控制给该另一个设备12或14。
通过唯一的“开始条件”启动在I2C接口上的通信,其中时钟总线处于高状态而数据总线22上的信号由高转换到低(见图2)。在开始条件之后,传输单元12或14发送接收单元12或14的地址。所有没有识别到自身地址的单元转为非活动状态直到接收到一个唯一的“结束条件”(时钟总线24处于高状态而数据总线22由低转换到高)。因此,只有由所传输的地址标识的单元才继续接收数据。为保证该设备正在接收数据,接收单元12或14在接收每一个字节之后传输一个应答比特,由逻辑“0”电平确定。
按照本发明,另一种接口协议使用和I2C接口相同的数据总线22和时钟总线24与I2C接口进行“交错”。在一个实施方案中,该“交错”的协议是一种串行的点对点接口协议。另一个实施方案中,也可以使用串行外围接口(SPI)协议或某种其它的接口协议。虽然下面的讨论和图示集中将串行点对点协议作为本发明的实例来应用,本领域的技术人员会理解那些其它的协议同样可以与I2C协议进行交错。
生成开始条件之后,基带控制器12(或某种其它希望通过串行点对点协议进行通信的设备)传输一个地址,该地址没有为任何一个连到数据总线22的I2C单元12或14所使用。紧跟着地址传输也可以由同一个设备传输一个应答比特。其结果是,所有连接的I2C单元进入非活动状态,以及数据总线22和时钟总线24可以依据串行点对点接口协议(或某种其它接口协议)被用来传输。基带控制器12,例如,可以通过数据总线22点对点发送数据。这样,由命令/显示总线26上的信号将传输的数据标明为命令数据或显示或用户数据。
在串行点对点数据传输过程中,必须避免任何无意生成的开始或结束条件以防止附属的I2C单元返回到活动状态。因此,当时钟总线24处于高状态时串行点对点单元18和基带控制器12必须避免数据总线22上由高到低或由低到高的转换。此外,串行点对点接口在没有传输数据时一般不会保持一个高电压。相反,串行点对点接口必须驱动数据线到一个高电压来传输逻辑“1”以及驱动数据线到一个低或负电压来传输逻辑“0”。因为I2C接口使用拉高电阻概念,所以该支持串行点对点接口协议的驱动器18在I2C协议控制的操作过程中必须保持一个高阻抗以防止该驱动器18引起数据总线22上正在进行中的任何传输的讹误。由芯片选择总线28上的激活信号控制这种三态条件。因此,当系统10正依照串行点对点接口协议进行操作时,芯片选择总线28被设置为高,由此允许串行点对点驱动器18以它们的正常方式进行操作。另一方面,当系统10使用I2C接口协议时芯片选择总线28被设置为低,使得串行点对点驱动器18保持高阻抗以便避免干扰I2C通信。不过,本领域的技术人员应当理解,可以颠倒芯片选择总线28上的设置或在芯片选择总线28上使用其它信令方法来表明何时整个系统10正在使用I2C接口协议和何时系统10正在使用串行点对点(或某种其它)接口协议。
现在讨论图2,其中显示了图1说明的电路中时钟总线24、数据总线22以及芯片选择总线28上电压电平的表示图。在时间0(T=0),时钟总线24上的电压为高时基带控制器12通过使得数据总线22上的电压由高变低生成一个开始条件。其结果是,连接到基带控制器12的每一个I2C驱动器14开始侦听其唯一地址。在紧接的7个时钟周期(即,T=1到T=7(没有显示))中传输一个7-位地址。或者,依据所使用的I2C接口类型,可能会发送一个10-位地址。不过,在这个实例中,由基带控制器12传输的地址没有标识任何附属的I2C驱动器14。传输一个未被使用的地址会引起I2C驱动器14进入非活动状态,由此当所有I2C驱动器14处于非活动状态时,允许基带控制器12(或某种其它串行点对点驱动器18)使用串行点对点接口协议(或某种其它接口协议)来传输数据。
正如前面所提到的,重要的是支持串行点对点接口协议的基带控制器12和任何其它设备18避免在整个串行点对点通信中无意间生成开始或结束条件。而且,在开始条件和地址数据的传输过程中,串行点对点驱动器18应当保持高阻抗以防止对I2C通信的任何干扰。在串行点对点通信开始之前,必须通知串行点对点驱动器18数据总线22可用于串行点对点通信。因此,基带控制器12加载芯片选择总线28,激活接收串行点对点驱动器18来接收数据,在这种情形下是开始于I2C标准规定的第一地址字节传输之后的第9个时钟周期(T=9)。基带控制器12然后传输以及接收驱动器18接收,一串二进制数据(即T=9时的逻辑0,T=10时的逻辑1,T=11时的逻辑0等等)。
在数据传输完成后,关闭芯片选择总线28,使得串行点对点驱动器18返回到非活动/高阻抗状态。此外,基带控制器12在数据传输完成(这里在T=15)后的一个时钟周期里生成一个结束条件。结束条件的生成使得附属的I2C单元14返回到活动状态,在其中它们又开始侦听开始条件(开始于T=16)。
现在讨论图3,描述了说明通过I2C接口和通过串行点对点接口进行数据传输的信息流和系统操作图。为了启动I2C接口上的数据传输,基带控制器12在步骤50生成一个开始条件,这使得在数据总线22上发送一个I2C开始信号52到所有附属的驱动器14或18。响应该开始信号52,附属I2C驱动器14在步骤54侦听它们各自的地址。开始于开始条件之后的下一个时钟周期,基带控制器12传输一个地址信号56,该信号包括支持I2C接口协议的LCD驱动器14的唯一地址。其结果是,任何支持I2C以及没有被传输的地址所标识的附属设备14进入非活动状态,而被寻址到的LCD驱动器14在数据总线22上传输一个应答比特信号57以通知基带控制器12它已作好接收数据的准备,以及然后在步骤58开始侦听数据。
基带控制器12开始传输I2C数据信号60。此外,在接收到I2C数据信号60的每一个字节之后,接收LCD驱动器14在数据总线22上传输一个应答比特信号62以通知基带控制器12数据已被接收。一旦完成I2C数据消息,基带控制器12在步骤64生成一个结束条件,该条件使得一个结束信号66沿着数据总线22被传输到所有附属设备14和18。一接收到结束信号66,所有附属I2C单元14就立即开始在步骤68监视数据总线22以等到开始条件。
为启动另一个数据传输(这次使用串行点对点接口协议),基带控制器12又一次在步骤50’生成一个开始条件,使得开始信号52’被转发到所有附属单元14和18。因此,I2C单元14又一次在步骤54’开始侦听它们各自的地址。不过,在这种情形下,基带控制器12传送一个包含没有被任何附属I2C单元14使用过的地址的地址信号70。其结果是,所有附属I2C单元14在步骤72进入非活动状态。然后在步骤74基带控制器12设置芯片选择线路,向所有附属串行点对点驱动器18发送一个芯片选择信号76。响应该芯片选择信号,在步骤78串行点对点驱动器18离开高阻抗状态,该状态在I2C操作过程为这些驱动器18所使用,由此使驱动器18能够接收串行点对点数据。然后基带控制器12向接收单元18发送想要的串行点对点接口数据信号80。在完成数据信号80之后,基带控制器12在步骤82关闭芯片选择线路,使得串行点对点驱动器18在步骤84重新进入非活动/高阻抗状态,以及在步骤64’生成一个结束条件。因而发生的结束信号66’使得I2C单元14又一次开始监视数据总线22以等待开始条件(见步骤68)。
虽然在附图中已经图解和在前述详细描述中描述了本发明的方法和设备的优选实施方案,但可以理解本发明并不局限于公开的实施方案,而是在不偏离下面权利要求中阐明和定义的本发明精神的情况下,能够允许有多种调整、修改和代替。
权利要求
1.用于在集成电路和多个其它设备之间传送数据的方法,其中该集成电路使用第一接口协议与第一设备通信以及使用第二接口协议与第二设备通信,包括的步骤有使用第一接口协议通过共享数据总线在集成电路和第一设备之间间歇地传输数据,该共享数据总线连接到集成电路、第一设备和第二设备;令使用第一接口协议的通信去激活;当使用第一接口协议的通信去激活时,允许使用第二接口协议的通信;以及使用第二接口协议通过共享数据总线在集成电路和第二设备之间传输数据,其中在不重新激活使用第一接口协议的通信的情况下可执行使用第二接口协议传输数据的步骤。
2.权利要求1的方法,其中第一接口协议包括智能互连通信(I2C)。
3.权利要求2的方法,其中令使用第一接口协议的通信去激活的步骤包括如下步骤在共享数据总线上生成一个开始条件信号;以及在共享数据总线上传输一个选定的地址,其中该选定的地址没有被任何连接到共享数据总线上的I2C设备所使用。
4.权利要求3的方法,其中在集成电路和第一设备之间间歇地传输数据的步骤包括如下步骤在共享数据总线上生成一个开始条件信号;在共享数据总线上传输第一设备的地址;通过共享数据总线从集成电路向第一设备发送数据;以及在共享数据总线上生成一个结束条件信号。
5.权利要求3的方法,其中第二接口协议包括串行点对点接口协议。
6.权利要求3的方法,其中允许使用第二接口协议的通信的步骤包括通过芯片选择线路发送一个第二接口激活信号。
7.权利要求3的方法,其中第二接口协议包括串行外围接口(SPI)协议。
8.权利要求3的方法还包括通过共享时钟线路传输时钟信号的步骤,该共享时钟线路连接到集成电路、第一设备和第二设备。
9.权利要求3的方法,其中集成电路包括一个移动电话中的基带控制器。
10.权利要求9的方法,其中第一设备包括一个LCD驱动器。
11.权利要求3的方法还包括在完成集成电路和第二设备之间的数据传输之后重新激活使用第一接口协议的通信的步骤。
12.一种用于传送数据的系统,包括具有至少一个数据管脚的集成电路,该数据管脚与共享数据总线相连,其中集成电路支持第一接口协议和第二接口协议;支持第一接口协议的第一驱动器,该第一驱动器与共享数据总线相连用于使用第一接口协议通过共享数据总线在集成电路和第一设备之间传送数据;支持第二接口协议的第二驱动器,该第二驱动器与共享数据总线相连用于使用第二接口协议通过共享数据总线在集成电路和第二设备之间传送数据;以及其中集成电路作用于通过在共享数据总线上发送去激活信号令第一驱动器去激活,激活第二驱动器来执行集成电路和第二设备之间的通信,以及在不生成重新激活第一驱动器的重新激活信号的情况下使用第二接口协议向第二设备传输数据。
13.权利要求12的系统还包括连接到集成电路、第一驱动器和第二驱动器的共享时钟总线。
14.权利要求12的系统,其中第一接口协议包括智能互连通信(I2C)。
15.权利要求14的系统,其中第二接口协议包括串行点对点接口协议。
16.权利要求14的系统,其中第二接口协议包括串行外围接口(SPI)协议。
17.权利要求14的系统,其中第一驱动器包括一个LCD驱动器。
18.权利要求14的系统,其中集成电路通过发送一个和第一设备无关的地址令第一驱动器去激活。
19.权利要求14的系统,其中集成电路使用芯片选择线路激活第二驱动器。
20.权利要求14的系统,其中集成电路完成向第二设备传输数据之后,通过在共享数据总线上发送一个结束条件来重新激活第一驱动器。
21.移动电话中的基带控制器,包括一个数据管脚,用于通过共享数据总线选择性地传输数据到支持智能互连通信(I2C)协议的第一驱动器和支持不同的串行数据接口协议的第二驱动器中的一个;一个芯片选择管脚,用于通过芯片选择线路来传输激活信号以激活第二驱动器的串行数据接口;一个处理器,用于控制激活信号,当串行数据接口被激活时用于令第一驱动器的I2C数据接口去激活,以及用于控制通过共享数据总线的数据传输。
22.权利要求21的基带控制器还包括用于向第一驱动器和第二驱动器传输时钟信号的时钟管脚。
23.权利要求21的基带控制器,其中该处理器通过传输和第一驱动器无关的地址令第一驱动器的I2C数据接口去激活。
全文摘要
用于在集成电路(12)与第一设备(14)和第二设备(18)中每个设备之间传送数据的方法和系统。在该集成电路和该第一设备之间的通信使用第一接口协议,而在该集成电路和该第二设备之间的通信使用第二接口协议。但是这两种接口协议都共享同一条数据总线(22)和时钟总线(24)。为了使用第二接口协议通信,首先通过经共享数据总线发送未标识该使用第一接口协议的第一设备的地址数据而令该第一设备去激活,由此使得该第一设备进入非活动状态,直到在该共享数据总线(22)上检测到结束条件为止。接着,假使在该共享数据总线(22)上没有无意中生成用于第一接口协议的开始或结束条件,则可以执行使用第二接口协议的通信。
文档编号H04L12/403GK1333964SQ9981565
公开日2002年1月30日 申请日期1999年12月13日 优先权日1999年1月15日
发明者A·库拉, J·乌格马克, U·比约肯格伦 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1