专利名称:具有多种模式编程的只读串行接口的制作方法
技术领域:
本发明主要涉及串行通信接口,更特别地涉及利用只读串行接口来选择装置工作模式。
背景技术:
由电池工作的装备的流行以及对于具有较低功率消耗(随之具有更换电池或充电之间的更长时段)的更小集成电路设备的需求,已经引发了对于降低此类装备中所用装置功率消耗的需要。已开发的一种技术涉及在所谓“正常”工作的时段期间向装置供给全功率,并且在干预非工作的时段期间将该设备置于低功率消耗模式(有时称为“不活动的(inactive)”、“掉电(power down)”或“休眠”模式)。
美国专利No.5,619,204描述了具有任选低功率模式的模拟到数字转换器(ADC),该模式是通过相关于转换完成点监视“转换开始”(CONVST)信号的状态来控制。美国专利No.5,714,955(`955专利)描述了用于实现串行ADC工作模式之间转换的双功能控制电路。用于触发此工作模式之间转换的控制信号是与转换过程相关联的且与串行数据传送无关联的信号。
图1是现有技术的ADC框图(用数字100大体表示),该ADC配置为适应工作模式编程,在此情况下用于掉电模式控制。CLK(时钟)信号101用于同步转换操作,而CONV(转换)信号102用于启动转换操作。提供CLK 101和CONV 102作为对内部控制逻辑103的输入,该内部控制逻辑控制SAR(逐次逼近寄存器)和并行至串行转换器逻辑104的工作。设备100的串行输出数据108在该转换完成之后通过串行地移出SAR内容来得到。
CLK 101和CONV 102信号也用于产生掉电或加电(power up)命令。于是它们作为双功能管脚。但是,当以通常方式跨串行接口进行工作时,这些信号不产生这些掉电或加电命令。这些信号必须相对于彼此来确立(assert)的方式在标准串行接口之上是不易配置的,而且在标准串行通信正在进行时不能提供掉电和加电命令。取而代之,这些信号确立为如图2的时序图中所示。
当CLK201为低时,两个CONV 202脉冲命令ADC进入第一掉电模式,在此情况下减少功率的消耗模式命名为NAP模式203。当CLK201保持低时,需要两个附加CONV 202脉冲以将该部分置于第二掉电模式,在此情况下SLEEP模式202比NAP模式203消耗甚至更少的功率。利用微控制器不容易在标准串行接口之上生成CONV和CLK的时序,而且不能以所需方式从DSP获得。
最近公知的实践存在于由Analog Devices公司制造的串行ADC家族。当设备在只读模式时,经由“芯片选择”(CS)的状态来控制关停(shut down)。当CS为低时,该设备完全地加电,而当CS为高时该设备完全地掉电。这意味着在每次转换之后强行关停,于是必须在每次转换之前允许所需加电时间,减缓了设备的总吞吐量。常规ADC电路典型地使用专用输入以便实现掉电功能,而且单一用途输入的这一利用通常扩展到模式控制编程。对于专用输入的这一需求增加了芯片封装中线的数目。
于是出现了对于如下模式控制实施的需要,该模式控制实施不要求专用输入或复杂、多线协议,因此不妨碍设备吞吐量。
发明内容
使用本发明的多种模式编程,解决现有技术的这些和其他缺点。只读串行接口可用于将ADC或其他集成电路设备置于一个或多个掉电模式,而无需写至控制寄存器或使用专用的关停管脚。不特别地与功率节省有关的其他工作模式也能够以此方式控制。利用这里所述接口的模式控制涉及相关于系统时钟(SCLK)来监视CS的状态。在CS的下沿之后,通过在后续一组16SCLK期间检查CS返回到逻辑高的该点来检测关停。以相同方式检测随后的加电。
提供有关功率消耗的三种工作模式。这些是完全供电模式、部分掉电模式和完全掉电模式。在完全供电模式中,该设备的所有部分在所有时间完全供电,所以该工作模式产生最快的设备吞吐量但增加功率消耗。
在部分掉电工作模式中,除了当该转换已被启动时,从设备的多数部分去除功率。部分掉电模式需要用于执行第一转换的额外转换周期,所以由于功率消耗减少,设备吞吐量就相应地减少。
在完全掉电模式中,设备上的所有模拟电路掉电。该工作模式旨在用于其中功率保存最为重要的应用。装置吞吐量在完全掉电模式中相对低,主要是由于为了将设备置于完全掉电和再次“将它唤醒”而要求的延长时间段。
当然,如上所述,用于设备的其他工作模式的控制也可用该技术来实施。响应于在设备选择输入处的逻辑状态过渡之间出现的时钟输入处预定数目的逻辑状态过渡来改变模式,这一基本原理保持相同。在本发明的示例性实施例中,工作模式控制能力不仅包括功率控制,还包括添加用以将工作模式从独立改变到菊花链模式的能力。在菊花链模式中,多个设备以串行方式连接在一起。例如,如果芯片选择管脚在第10个与第13个下时钟沿之间取高,则该部分进入菊花链模式。
对该协议的许多其他扩展是可能的。例如,设备可以对设备选择管脚在任意数目的时钟沿之后变高的结果进行解码(甚至不限于数据传送所需的16个时钟),其中该过渡的每一位置与唯一的工作模式相关联。另一实施使用上述技术将设备置于如下模式中CS下次变低时,在所选设备管脚出现的数据可加载到内部寄存器中。在又一实施中,当允许不同数目的逻辑状态过渡出现在设备选择输入的过渡之间时,可以控制模拟输入电压范围。
根据本发明,提供一种将设备置于所选工作模式的方法,例如,该工作模式可以是减少功率消耗的工作模式,或者另一工作模式,如菊花链(DAISYCHAIN)工作模式。该方法包括步骤将设备选择信号初始化到第一逻辑状态中,将设备选择信号确立在第二逻辑状态,以及在第一用户控制的时间窗内将设备选择信号返回到第一逻辑状态。在本发明的一个形式中,初始化设备选择信号的步骤进一步包括将设备选择信号置于不活动逻辑状态中的步骤。不活动逻辑状态可包括高逻辑状态。确立设备选择信号的步骤进一步包括将设备选择信号置于可包括低逻辑状态的活动逻辑状态的步骤。
在本发明的一个形式中,该设备包括时钟信号输入,而且在第一用户控制的时间窗内将设备选择信号返回到第一逻辑状态的步骤进一步包括在时钟信号的第一过渡出现之后但是在该时钟信号的第二随后过渡出现之前将设备选择信号返回到第一逻辑状态的步骤。该时钟信号的第一过渡优选地包括在将设备选择信号确立在第二逻辑状态之后出现的时钟信号的第二下沿,而对于减少功率消耗的工作模式,该时钟信号的第二随后过渡包括在将设备选择信号确立在第二逻辑状态之后出现的时钟信号的第十下沿。
应当注意,术语时钟信号的“第一过渡”未必意味着时钟信号的第一可测量活动,术语“第二过渡”也未必表征紧接随后的时钟信号活动。如上所述,第一过渡优选地是在将设备选择信号为此在第二逻辑状态之后出现的时钟信号第二下沿,而第二过渡优选地是在将设备选择信号确立在第二逻辑状态之后出现的时钟信号的某一随后下沿。应当显然的是,第二过渡的精确暂时位置是依赖于正在实现的工作模式编程通过用户控制的时间窗来确定。此用户控制的时间窗在出现于这些过渡之间的时钟周期的数目方面是可测量的。
根据本发明的另一方面,该设备通过如下附加步骤来恢复到正常模式将设备选择信号确立在第二逻辑状态,以及在第二用户控制的时间窗内将设备选择信号返回到第一逻辑状态。第二用户控制的时间窗由时钟信号的至少十个下沿限定。
根据本发明的又一方面,提供一种用于将具有芯片选择(CS)输入和时钟(CLK)输入的集成电路设备置于所选工作模式的方法。该方法包括步骤控制该设备的CS输入以将CS输入置于初始的不活动逻辑状态,将CS输入置于活动逻辑状态以选择该设备,以及在由CLK信号的过渡所限定的第一用户控制时间窗内,将CS输入返回到初始的不活动逻辑状态。初始的不活动逻辑状态可以是高逻辑状态,而活动逻辑状态可以是低逻辑状态。
根据本发明的进一步方面,由CLK信号的过渡所限定的第一用户控制时间窗包括如下时间窗,该时间窗开始于在CS置于活动逻辑状态之后出现的CLK信号的第二下沿,而对于减少功率消耗的工作模式,则结束于在CS处于活动逻辑状态时出现的CLK信号的第十随后下沿。在本发明的一个形式中,该装置通过如下附加步骤来恢复到正常模式将CS输入置于活动逻辑状态中以选择该设备,以及在由CLK信号的过渡所限定的第二用户控制时间窗内,将CS输入返回到初始的不活动逻辑状态。优选地,第二用户控制的时间窗由CLK信号的至少十个下沿限定。
根据本发明的另一实施例,该设备包括用于检测设备选择输入和时钟输入处逻辑状态过渡的装置,以及用于响应于在装置选择输入处的逻辑状态过渡之间出现的时钟输入处数目由用户控制的逻辑状态过渡来改变设备工作模式的装置。在本发明的一个形式中,用于检测设备选择输入和时钟输入处逻辑状态过渡的装置进一步包括耦合到串行时钟信号和设备选择信号的时钟划分逻辑和计数器电路,该时钟划分逻辑和计数器电路生成中间控制信号,该中间控制信号包括在串行时钟信号的第二下沿之后出现的第一中间控制信号和在串行时钟信号的第十下沿之后出现的第二中间控制信号。
在本发明的另一方面,用于改变设备工作模式的装置响应于逻辑状态过渡的第一组合将该设备置于第一所选工作模式,而且响应于逻辑状态过渡的第二组合将该设备置于第二所选工作模式。逻辑状态过渡的第一组合包括在装置选择输入处逻辑状态过渡之间出现的时钟输入处在两个与十个之间的逻辑状态过渡,而逻辑状态过渡的第二组合包括在装置选择输入处逻辑状态过渡之间出现的时钟输入处至少十个逻辑状态过渡。
根据本发明的又一方面,一种模拟到数字转换器包括用于响应于控制信号将模拟输入信号转换为对应数字信号的装置,用于响应于串行时钟信号以串行形式输出对应数字信号的装置,用于响应于在改变控制信号状态之间出现的多个串行时钟信号周期来生成至少一个命令信号的装置,以及用于响应于命令信号来选择模拟到数字转换器的工作模式的装置。
在本发明的进一步方面,用于将模拟输入信号转换为对应数字信号的装置进一步包括耦合到模拟输入信号的跟踪和保持电路,以及耦合到跟踪和保持电路的逐次逼近ADC。用于输出对应数字信号的装置进一步包括耦合到用于转换模拟输入信号的装置以及串行时钟信号的数据多路复用器,以及耦合到数据多路复用器的串行数据输出。
在本发明的另一形式中,用于生成至少一个命令信号的装置进一步包括耦合到串行时钟信号和控制信号的时钟划分器(divider)和计数器逻辑,其中该时钟划分器和计数器逻辑生成多个命令信号,这些命令信号至少部分地以在改变控制信号状态之间出现的串行时钟信号周期的数目为条件来调节。用于选择模拟到数字转换器工作模式的装置进一步包括耦合到控制信号以及该时钟划分器和计数器逻辑的控制和功率管理逻辑。
根据本发明的又一方面,一种集成电路子系统包括每个具有信号输入和信号输出的多个集成电路设备,这些设备互连为使得前一设备的信号输出耦合到随后设备的信号输入,而且这些集成电路设备共享公共的设备选择和串行时钟输入信号;以及耦合到设备选择和串行时钟输入信号的控制电路,该控制电路响应于在设备选择信号的逻辑状态过渡之间出现的串行时钟输入信号的数目由用户控制的逻辑状态过渡,将多个集成电路置于菊花链工作模式。
在本发明的进一步方面,一种模拟到数字转换器,具有模拟输入信号和与该模拟输入信号的数字表示对应的数字输出信号,包括将模拟输入信号转换为数字输出信号的转换子系统,以及响应于设备选择输入信号和串行时钟输入信号的范围编程子系统。模拟到数字转换器的全标度输入电压范围是响应于在设备选择信号的逻辑状态过渡之间出现的串行时钟输入信号的数目由用户控制的逻辑状态过渡从多个全标度输入电压范围之中选择的。
根据如下的描述和附图,本发明的进一步目的、特性和优点将变得明显。
图1是为关停模式控制而配置的现有技术设备的框图;图2是图示了图1的现有技术设备的工作模式的时序图;图3是根据本发明具有工作模式控制的设备的简化框图;图4图示了利用图3的设备的串行通信的时序图;图5是描绘了用于图3的设备的完全供电模式的时序图;图6是图示了对于图3的设备进入到部分掉电模式中的时序图;图7是示出了图3的设备从掉电模式过渡到完全供电工作的时序图;图8是描绘了对于图3的设备进入到完全掉电模式中的时序图;图9是图示了图3的设备从完全掉电模式过渡到完全供电工作的时序图;图10是图3中所示ADC的详细框图;图11是图示了生成内部控制信号的逻辑图;图12是根据本发明包括多模式编程能力的设备的详细框图;图13是图示了为图12的设备生成内部控制信号的逻辑图;图14是描绘了在菊花链配置中连接的多个设备的示意图;图15图示了输入数据字格式;图16示出了输出数据字格式;图17是图示了从一个工作模式过渡到另一个的状态图;图18是从菊花链仿真获得的时序图;以及图19是根据本发明以另一模式编程能力为特征的设备的详细框图。
具体实施例方式
根据本发明,只读串行接口用于将集成电路设备置于所选工作模式。与现有技术中公知的模式控制方法相比,本发明提供独特的优点。
根据本发明一个形式而具有工作模式控制的ADC集成电路例子如图3的简化框图形式中所示,而且用数字300大体表示。ADC 300包括用于获取模拟输入电压302的跟踪和保持电路301。12位逐次逼近寄存器(SAR)ADC303将模拟输入信号302转换为对应的数字信号。集成电路300包括控制集成电路300其他元件工作的控制逻辑304,还包括用于从该设备的部分选择性地施加/去除功率的功率控制电路,尽管该功率控制电路在图3的简化框图中未示出。
控制逻辑304还用作转换电路,该转换电路用于响应于串行时钟输入(SCLK)306以串行形式(SDATA)305输出对应的数字信号。控制逻辑304进一步包括监视电路,该监视电路用于响应于在芯片选择(CS)输入信号307的状态之间出现的SCLK周期的数目来生成内部控制信号。这些内部控制信号控制着掉电模式操作,而且后面将详细说明。
图4是图示了与利用图3的ADC 300的串行通信的详细时序图。串行时钟SCLK 401提供了转换时钟,还在转换期间控制从ADC 300传送信息。CS(芯片选择)402启动数据传送和转换过程。CS402的下沿将跟踪和保持置于保持模式中,从高阻抗状态带出SDATA输出403,而且模拟输入在该点被采样。该转换也在该点被启动,而且需要16个SCLK 401周期来完成。应当注意,当ADC 300不执行转换时,而且还当该装置已经完成串行数据传送时,SDATA输出403处于高阻抗“第三”逻辑状态。此第三逻辑状态有时称为“3-状态”,有三种可能的条件逻辑高、逻辑低和高阻抗。
在第16个SCLK 401下沿上,SDATA(串行数据)线403回到3-态中。如果CS的上沿在16个SCLK活动沿已经出现之前出现,则终止该转换而且SDATA线回到3-态中,否则如图所示SDATA线在第16个SCLK 401下沿上回到3-态。需要16个串行时钟周期以执行该转换过程而且存取来自ADC 300的数据。
当SCLK 401的活动沿是下沿或者高到低的逻辑过渡时,在本发明的优选形式中,系统能够易于配置为使用SCLK的下或上沿作为活动沿。类似地,在本发明的优选实施例中,CS信号402在CS 402处于低逻辑状态时选择ADC 300,但是也能够使根据本发明的ADC 300响应于CS 402上的高逻辑电平,如果设计考虑这样规定的话。
在CS变低之后的第一串行时钟下沿(点A)提供第一数据位以由与ADC300进行接口的微处理器或DSP读入。该SCLK下沿还钟控出第二数据位,于是串行时钟上的第二下时钟沿使第二数据位得以提供。数据传送中的最后位在第16个下沿上有效,在前一(第15个)下沿上已经被钟控出。在具有较慢SCLK的应用中,可以在每一SCLK上沿上读入数据。
有三种可能的工作模式完全供电模式、部分掉电模式和完全掉电模式。在该转换已被启动之后拉高CS的此点,与先前的工作模式相组合,可确定将采用三种装置工作模式中的哪一种。
设计这些工作模式用于提供灵活的功率管理选项。可选择这些选项以优化对于不同应用要求的功率耗散/吞吐速率比。选择工作模式能够利用来自微控制器或其他可编程设备形式的标准8SCLK脉冲串或标准16SCLK脉冲串来完成。当然,依赖于适应多字节串行数据传送的特定微控制器的能力,可能需要两个标准的8SCLK脉冲串或单一标准的16SCLK脉冲串。如果DSP或其他可编程设备用于提供对ADC 300的接口,则可编程设备可编程位在设备选择活动窗内提供任意所需长度的SCLK序列。
完全供电工作模式旨在用于最快的吞吐速率性能,因为用户毫不担心任何加电时间(ADC 300一直保持完全供电)。图5是描绘了ADC 300处于完全供电模式的时序图。如前所述,在CS的下沿上启动转换。为了保证ADC 300一直保持完全加电,CS 501必须保持为低,直到在CS 501的下沿之后已经出现至少10个SCLK 502下沿。第10个SCLK 502出现在图5的点B。
如果CS 501在第10个SCLK 502下沿之后任意时间被置高,则ADC 300将保持加电。如果在CS 501被置高时已经逝去少于16个SCLK 502下沿,则将终止该转换而且SDATA 503将回到3-态中。如果在CS501为低时16或更多SCLK 502下沿施加到ADC 300,则该转换将终止于第16 SCLK 502下沿,在该点使SDATA 503回到3-态中。需要16个串行时钟周期502以完成该转换而且存取该转换结果(CS可以空闲为高直到下一转换,或者空闲为低直到下一转换之前的某一时间,有效地空闲CS为低)。一旦数据传送完成(SDATA 503已经回到3-态),通过将CS 501从其先前的高逻辑状态再次带到低,就能在静态时间tquiet已经逝去之后启动另一转换。
部分掉电模式旨在使用于要求低功率消耗的应用中,而且较慢的吞吐速率仍然满足系统要求。ADC 300在每一转换之间掉电,或者一系列转换可以在高吞吐速率来执行,然后ADC 300在数个转换的这些脉冲串之间掉电相对长的持续时间。当ADC 300处于部分掉电时,所有模拟电路掉电,除片上基准和基准缓冲器以外。
为了从完全掉电模式进入部分掉电模式,必须通过在SCLK 602的第二下沿之后且在SCLK 602的第十下沿之前的任一处将CS 601置高来中断该转换过程,如图6的时序图中所示。一旦CS 601在该SCLK窗中已被置高,则ADC 300将进入部分掉电,由CS601的下沿启动过的转换将被终止,而且SDATA 603将回到3-态中。如果CS 601在第二个SCLK 602下沿之前被置高,则ADC 300将保持于完全加电模式而且将不会掉电。这将避免由于CS线上的假信号引起的意外掉电。
为了退出该部分掉电工作模式而且再次给ADC 300加电,执行虚转换,如图7中所示。在CS 701的下沿上,ADC 300将开始加电而且将继续加电,只要CS 701保持为低,直到第十个SCLK702的下沿之后,如点A所示。一旦16个SCLK 702已经出现,该设备将完全加电,而且有效数据703将从下一转换产生。如果CS 701在SCLK 702的第二个下沿之前被置高,则该设备将再次回到部分掉电模式中。这避免了由于CS线上的假信号引起的意外掉电。即使该设备可以在CS 701下沿开始加电,但是如果CS 701的上沿出现在SCLK 702的第二个下沿之前,它将在CS 701的上沿上再次掉电。如果ADC 300在CS 701被置低之前处于部分掉电模式,而且CS随后在SCLK第二个与第十个下沿之间被置高,则该设备将进入完全掉电模式。
完全掉电模式旨在使用于需要更低功率消耗的应用中,而且能够容忍较慢的吞吐速率(仍然与工作要求相一致)。当然,该模式的吞吐量约束是明显的,因为从完全掉电到加电不能仅在一个虚转换中完成。该模式更适合于如下应用跟随在单个或一系列高速转换之后的是长时段的不活动跟随,而且因此掉电。当ADC300处于完全掉电模式是,所有模拟电路掉电。
以与部分掉电类似的方式进入完全掉电模式,不同的是图6中所示的时序序列必须执行两次,正如图8的时序图中所示的。必须通过在SCLK 802的第二个下沿之后而且在SCLK的第十个下沿之前的任一处将CS 801置高,以类似的方式中断该转换过程。该设备将在该点进入部分掉电。为了达到完全掉电,下一转换周期必须以相同方式来中断。一旦CS 801在该SCLK窗(间隔B)中已被置高,则ADC 300将完全地掉电。一旦CS 801已被置高进入掉电模式,就不必完成16个SCLK 802。
为了退出完全掉电而且再次给ADC 300加电,执行虚转换,就如同在从部分掉电到加电时那样,在图9的时序图中示出了从完全掉电模式退出。在CS 901的下沿上,该设备将开始加电,而且将继续加电,只要CS 901保持为低,直到第十个SCLK 902的下沿之后,这出现在点C。然而加电时间比一个虚转换周期更长,而且该时间必须在能够再次启动转换之前必须逝去。
图10是图3中所示ADC的详细框图。ADC 300使用了基于活动于下沿上的16个SCLK脉冲的逐次逼近架构。通过将ADC 300置于保持的CS 307变低来启动转换。位试验由SCLK驱动,该SLCK驱动约翰逊计数器1001。约翰逊计数器1001执行两个任务。它必须通过分别地寻址SAR1002和121数据输出多路复用器1003来控制位试验和串行数据输出。
该位试验开始于判决最高有效位或MSB(DB11)的SCLK 306的第二个下沿,而且结束于第13个下沿的LSB(DB0)判决。SCLK 306还提供用于钟控出串行数据305而要求的沿。在此特定实施例,首先四个SCLK钟控出前导零,随后是MSB值等等直到LSB。
在图11中描绘了内部控制信令的生成。信号csb 1101是开始转换信号。csb 1101上的下沿启动转换,而且如果该转换在此线变高时没有完成,则它将被中止。系统时钟(SCLK)对计数器(未示出)进行钟控,该计数器对于在csb1101已经取低之后SCLK上的下沿数目进行计数。在两个这样的时钟沿之后,after_2 1102在于第3个时钟沿上再次变低之前变高一个SCLK周期。信号after_10 1103在转换期间于十个SCLK沿之后被类似地设置,而且在SCL的K第十一个下沿上被清除。
有来自控制信号生成逻辑的两个输出。休眠信号1104在为高时关停比较器1004(图10)并且将基准缓冲器1005置于低电流模式中。这是部分掉电。当包括偏置生成器1006的所有模拟电路被关停时实现完全掉电。这是在sleep 1104和deep_sleep 1105二者被驱动为高时发生的。当deep_sleep 1105和sleep 1104二者为低时,则ADC 300被完全加电。ADC 300在转换期间不会处于掉电模式。只有通过中止进展中的转换,它才能进入掉电模式。
csb 1101由反相器x11 106一次反相变成conv_abortb 1107。conv_abortb1107由x2 1108反相变成conv_abort_slow 1109。conv_abort_slow 1109主要用于在csb 1101本身为低时强制信号deep_sleep 1105和sleep 1104为低。这意味着,当csb 1101变低时(这就开始转换),ADC 300总是加电,不管它先前处于什么模式。新休眠模式仅在conv_abort_slow 1109变高时才生效。在转换期间,当csb 1101被置高时,选择ADC 300将进入的掉电模式。这对应于conv_abortb 1107上的下沿。
信号conv_abortb 1107通过设置信号latch_mode 1110(NOR门x6 1111的输出)来改变当前的掉电模式。如果信号glitch_block 1112为低则只允许latch_mode 1110变高。当latch_mode 1110变高时,触发器(flip_flop)x10 1113将更新其输出Q(dp_slp_mode 1114),而且锁存器x9 1115将在其输出Q(slp_mode 1116)存储其当前D输入值。
要求信号glitch_block 1112以防止ADC 300由于csb 1101上的假信号而进入不同的掉电模式。该假信号保护电路由S-R锁存器SR1 1118所驱动的反相器x5 1117组成。SR11118由交叉连接的NOR门x3 1119和x4 1120实施。S-R锁存器的SET信号(after_21121)一般为低它在转换开始时(csb 1101为低)变高,而且两个SCLK下沿已经由ADC 300识别。after_2 1121在第三个SCLK下沿上再次变低。after_2 1121上的高信号造成S-R锁存器输出为SET,这造成glitch_block1112经由反相器x5 1117变低。在这一点,信号latch_mode 1110不再由x6 1111保持为低,但是它在conv_abortb 1107变高时被允许变高,对锁存器x91115和触发器x101113进行钟控。
直到glitch_block 1112变低,csb 1101上的假信号使它片刻变高然后变低(即在两个SCLK活动沿内为高然后为低),模仿了中止的转换,不会使功率管理模式错误地改变,因为存储元件x9 1115和x10 1113将看不到其clk输入的改变。当csb 1101变高以发出转换结束的信号时,conv_abort_slow1109将变高(这就重置S-R锁存器SR1 1118),保证进一步的假信号不会使ADC进入错误模式。
锁存器输出slpmode_set 1122确定在下一次将csb 1101置高时ADC300应进入哪一模式。如果slpmode_set 1122为0,则ADC将在转换结束时保持加电。如果slpmode_set 1122为1,则ADC 300将进入其两个休眠模式之一,这取决于在启动转换之前的先前模式。slpmode_set 1122的值经由S-R锁存器SR21123通过两个信号after_2 1102和after_10 1103来确定。如果转换开始而且两个SCLK信号已被ADC 300识别,则信号after_2 1102将在SCLK的第二个下沿上变高一个时钟周期,设置SR2 1123的输出。SR2 1123将保持设置,直到信号after_10 1103已经变高以重置它。当ADC 300在csb低脉冲内计数了十个SCLK下沿时,after_10 1103将变高一个时钟周期。这将使slpmode_set 1122的值变高。
信号slp_mode 1116和dp_slp_mode 1114记住ADC300在csb1101开始新转换之前处于哪种模式。如上所述,通过假信号阻塞电路来防止slp_mode1116和dp_slp_mode 1114改变功率管理模式,直到转换内的第二时钟脉冲已被ADC 300识别。如果在转换内已经逝去多于两个SCLK沿,则假信号拒绝电路被禁止,而且该接口在csb 1101被置高时自由改变掉电模式。当csb1101被置高时,存储元件x9 1115和x10 1113二者通过latch_mode 1110上的上沿来钟控。当发生这个时,dp_slp_mode 1114采用slp_mode 1116的旧值,而slp_mode 1116采用slpmode_set 1122的旧值。
如果ADC 300处于完全供电模式而且用户想要将它置于部分掉电模式中,则csb 1101必须取比,而且在将csb带回到高之前必须供给在两个与十个之间的串行时钟周期。在转换期间的第二个时钟脉冲上,slpmode_set 1122将由SR2 1123设为1,而且假信号拒绝电路将被禁止。如果csb1101在第10个SCLK脉冲之前被置高,则dp_slp_mode 1114将保持不变(为低),而且slp_mode 1116将采用其新的高值。当conv_abort_slow 1109变高时,它将x13的1124输出从保持为高中释放。x13 1124输出然后将变低,使sleep 1104变高。deep_sleep 1105在这一点将仍为低。
如果重复此上述过程,则在latch_mode 1110的上沿上,slp_mode 1116(它曾为高)的旧值将被钟控直到dp_slp_mode 1114(一旦conv_abort_slow 1109已经变高,其就设置deep_sleep1105)。slp_mode 1116本身将为高,以相同方式强制sleep 1104为高。如果sleep 1104和deep_sleep 1105二者为HIGH,则一旦csb 1101返回到高电平,所有模拟电路将掉电。
将ADC 300带出掉电,需要在转换被中止之前清除slpmode_set 1122。这是通过在将csb 1101置高之前在转换中等待多于十个SCLK沿来实现。如果在十个SCLK沿已经过去之后将csb 1101置高,则slp_mode 1116将变低,这也重置x10 1113的Q输出。当conv_abort_slow 1109变高时,sleep 1104和deep_sleep1105将保持低,保留ADC 300加电。
如前所述,使用只读串行接口的工作模式控制不限于将设备置于减少功率消耗的工作模式。用该接口也可选择其他设备工作模式。图12是能够在其中对多于一种工作模式进行编程的设备的框图。
计数器1209与参照图10描述的计数器1001类似。恰与图10中一样,图12的计数器1209用于对时钟进行计数而且控制位试验。计数器1209计数直到16。只需要很少的附加电路以对其他条件进行解码。作为模式选择逻辑1205的一部分而包括的简单锁存电路在第10个下时钟沿上被设置而且在第13个下时钟沿上被重置。如果设备选择管脚307在锁存器的输出被设置时转移为高,则该设备改变模式。
结果,该设备的工作状态从正常模式(其中该设备执行转换并且输出结果)改变为如下模式该部分输出16个时钟周期以前出现在SDATA管脚1201上的数据。这使得用户将任意数目的部分用菊花链连在一起,使得来自所有部分的数据将被读入到关联处理器上的一个串行输入端口中。有效地,互连设备(在此例中是ADC)变成串行移位寄存器。该寄存器的每一部分中存储的串行数据在移位之前是该特定ADC的最近转换结果。多路复用器1206在菊花链数据与常规转换结果之间选择。
在菊花链工作模式下的多个设备的操作涉及如下所述的三个控制信号以及如图14中所示菊花链中的SDATA和DOUT信号的互连。外部提供的控制信号是串行时钟信号SCLK 306和芯片选择信号(实际上是它的补码CSB或芯片选择杠307)。使数据从一个设备串行移位到另一设备的移位信号是通过适当的CSB过渡在内部生成的。于是,此处所述菊花链协议仅需两个外部生成的控制信号。
图14图示了以菊花链模式连接的四个设备1403-1406。SDATA信号1201耦合到第一设备1403,第一设备1403的数据输出信号DOUT耦合到设备二1404的SDATA输入。来自最后设备1406的DOUT是对于该系统的输出信号。模拟输入信号1401的汇集是为集合设备而提供的。
考虑正常工作下的单个设备,用于下一转换的通道是在如图15的输入数据字格式所示的第三个位(CHNI)上的SDATA管脚中读入的。图16的输出数据字格式表明,CHN0指示刚转换过的通道,而输入和输出数据字的MOD和STY位用作菊花链指示符和命令。
如前所述,每一设备具有在若干不同模式中工作的能力。此部分讨论中特别关注的是正常和菊花链工作模式。如上面关于设备工作所讨论的,在正常模式中,转换结果在第13个SCLK沿上被拷贝到内部移位寄存器中。当MOD位等于CHN0位时,用户能够分辨该设备处于此模式。
图13是图示了为图12的设备生成内部控制信号的逻辑图。电路1306至1309加上关联门检测串行数据(SDATA)字中的CHN和STY位是相同还是不同。分别地,对于CHN和STY位在串行数据(SDATA)字中为有效的时钟周期,信号CHN_bit_b和STY_bit_b变低。
逻辑门1306和D型触发器1307监视CHN和STY位。如果CHN和STY不同,则触发器1307的QB输出STY≠CHN(STY不等于CHN)为高,而且如果它们相同则为低。为了使该部分保持于菊花链模式,信号STY≠CHN必须为高。
D型触发器1303和关联门确定该部分处于哪种模式(正常或菊花链)。为了初始地进入菊花链模式,该电路要求该设备处于正常模式,而且在第10个与第13个时钟沿之间stconv(CSB的反相)过渡为低。为了保持于菊花链模式,该电路要求该设备已处于菊花链模式,该设备必须在CSB低的时间中接收多于13个时钟沿,而且STY位必须是CHN位的反相。
当工作模式改变为菊花链时,每一设备1403-1406(图14)用作移位寄存器。当所有设备处于菊花链模式时,每16个SCLK周期和一个CSB帧(一个读周期)造成每一内部移位寄存器中存储的数据向右移位一个设备。对于菊花链模式下的图14的配置,如果一个施加四个读周期,来自所有四个设备的数据将依此出现在系统DOUT管脚,而且一个也可以将单独的控制字写到SDATA管脚1201,这将取决于每一设备中这样的一个控制字,于是每一设备1403-1406现在具有分配给它的单独通道。
为了在模式之间改变,在CSB输入在位10/11/12中变高时执行转换(即在第10个SCLK下沿之后而且在第13个SCLK下沿之前)。用户通过查看MOD位即可看出该设备处于哪种模式。如果MOD=CHN0,则该设备处于正常模式,而如果MOD等于CHN0的反相,则该设备处于菊花链模式。当该设备处于菊花链模式时,借助于输入STY位等于CHNI位的转换会强制设备回到正常模式。这意味着,如果通过将SDATA约束为高或低来选择通道,则该设备将不会陷入菊花链模式。这些模式改变在图17的状态过渡图中有所概述,其中模式和输出位状态在每一状态循环1701、1702中示出,而且CSB(用于转移的SDATA条件)在状态过渡矢量1703-1707上给出。
在图18中提供了用于系统工作的时序图,其中在水平轴上以微秒(μs)提供用于系统事件的时间轴。可以理解,在正在执行正常转换的间隔A(在7μs与8μs之间)中,其中每一设备在其选定通道上,而且结果存储在每一设备的内部移位寄存器中。
在间隔B(8到9μs)期间,针对模式改变来发信号,其中CSB高事件出现在位10与12位之间,如CSB时间线1801上所示。该过渡将每一互连设备切换到菊花链模式中。读周期操作出现在间隔C(在9与10μs之间期间,其中每一设备经过其SDATA管脚读入一个字,而且经过其DOUT管脚输出在间隔A期间执行的转换。置CSB为低的此过程,施加16个时钟周期,随后返回CSB高,持续到数据字已经被读为止。
图19的框示了根据本发明的另一实施例。该实施包括输入范围控制能力,其中使用上述过程来选择输入全标度电压。
已知的是,通过采样到比DAC电容更小的电容器上,增加用以获得全标度而要求的输入电压。例如,通过采样到等于DAC电容一半的电容器上,为具有两倍于基准电压的幅度的输入信号而获得全标度输出。
在此例中,用于改变范围的机制与当设备选择输入处于用户限定的状态时对时钟沿进行计数的上述技术相同。如果CSB输入307取低(到其活动状态),而且在CSB 307再次取高之前11个周期施加到时钟输入SCLK 306,则图19的设备被设计为进入如下工作模式,其中全标度对应于基准电压。另一方面,如果12个串行时钟周期在CSB 307过渡之间施加到SCLK 306输入,则该设备进入如下工作模式,其中全标度对应着两倍于基准电压。
当然,SCLK上出现的周期数目可通过设计选择为任意可工作的数目。在先的段落中引入的数目只是例子。本领域的技术人员可将很快理解,通过合适硬件的引入,全标度电压能够选择为基准电压的实际上任意倍数。当然,如果使附加硬件变得太麻烦,则添加的复杂度可能超过获得的益处。
这里已经描述了用于将集成电路设备置于所选工作模式中的只读串行接口。本发明系统表现了对于现有技术的明显改进。对于本领域技术人员将显然的是,在不脱离本发明的精神和范围时可进行改型。因此,并不旨在限制本发明,除根据所附权利要求而可能有必要的出外。
权利要求
1.一种用于将设备置于所选工作模式的方法。该方法包括如下步骤(a)将设备选择信号初始化到第一逻辑状态;(b)将设备选择信号确立在第二逻辑状态;以及(c)在第一用户控制的时间窗内将设备选择信号返回到第一逻辑状态。
2.根据权利要求1的方法,其中初始化设备选择信号的步骤(a)进一步包括将设备选择信号置于不活动逻辑状态的步骤。
3.根据权利要求2的方法,其中不活动逻辑状态包括高逻辑状态。
4.根据权利要求1的方法,其中确立设备选择信号的步骤(b)进一步包括将设备选择信号置于活动逻辑状态的步骤.
5.根据权利要求4的方法,其中活动逻辑状态包括低逻辑状态。
6.根据权利要求1的方法,其中该设备包括时钟信号输入,而且在第一用户控制的时间窗内将设备选择信号返回到第一逻辑状态的步骤(c)进一步包括在时钟信号的第一过渡出现之后但是在时钟信号的第二随后过渡出现之前将设备选择信号返回到第一逻辑状态的步骤。
7.根据权利要求6的方法,其中时钟信号的第一过渡包括在将设备选择信号确立在第二逻辑状态之后出现的时钟信号的第二下沿。
8.根据权利要求6的方法,其中所选工作模式是减少功率消耗的工作模式,而且时钟信号的第二随后过渡包括在将设备选择信号确立在第二逻辑状态之后出现的时钟信号的第十下沿。
9.根据权利要求6的方法,其中该设备通过如下附加步骤来恢复到正常工作模式(d)将设备选择信号确立在第二逻辑状态,以及(e)在第二用户控制的时间窗内将设备选择信号返回到第一逻辑状态。
10.根据权利要求9的方法,其中第二用户控制的时间窗由时钟信号的至少十个下沿限定。
11.一种用于将具有芯片选择(CS)输入和时钟(CLK)输入的集成电路设备置于所选工作模式的方法,该方法包括如下步骤(a)控制该设备的CS输入以将CS输入置于初始的不活动逻辑状态;(b)将CS输入置于活动逻辑状态以选择该设备;以及(c)在由CLK信号的过渡所限定的第一用户控制的时间窗内,将CS输入返回到初始的不活动逻辑状态。
12.根据权利要求11的方法,其中初始的不活动逻辑状态是高逻辑状态。
13.根据权利要求11的方法,其中活动逻辑状态是逻辑低状态。
14.根据权利要求11的方法,其中所选工作模式是减少功率消耗的工作模式,而且由CLK信号的过渡所限定的第一用户控制的时间窗包括如下时间窗,该时间窗开始于在将CS置于活动逻辑状态之后出现的CLK信号的第二下沿,而且结束于在CS处于活动逻辑状态时出现的CLK信号的第十随后下沿。
15.根据权利要求11的方法,其中该设备通过如下附加步骤来恢复到正常工作模式(d)将CS输入置于活动逻辑状态以选择该设备;以及(e)在由CLK信号的过渡所限定的第二用户控制的时间窗内将CS输入返回到初始的不活动逻辑状态。
16.根据权利要求15的方法,其中第二用户控制的时间窗由CLK信号的至少十个下沿限定。
17.一种设备,包括用于检测设备选择输入和时钟输入处的逻辑状态过渡的装置;以及用于响应于在装置选择输入处的逻辑状态过渡之间出现的时钟输入处数目由用户控制的逻辑状态过渡来改变设备工作模式的装置;
18.根据权利要求17的方法,其中用于检测设备选择输入和时钟输入处的逻辑状态过渡的装置进一步包括耦合到串行时钟信号和设备选择信号的时钟划分逻辑和计数器电路,该时钟划分逻辑和计数器电路生成中间控制信号,该中间控制信号包括在串行时钟信号的第二下沿之后出现的第一中间控制信号和在串行时钟信号的第十下沿之后出现的第二中间控制信号。
19.根据权利要求18的方法,其中用于改变设备工作模式的装置响应于逻辑状态过渡的第一组合将该设备置于第一所选工作模式,而且响应于逻辑状态过渡的第二组合将该设备置于第二所选工作模式。
20.根据权利要求19的方法,其中逻辑状态过渡的第一组合包括在设备选择输入处的逻辑状态过渡之间出现的时钟输入处两个与十个之间的逻辑状态过渡。
21.根据权利要求19的方法,其中逻辑状态过渡的第二组合包括在设备选择输入处的逻辑状态过渡之间出现的时钟输入处的至少十个逻辑状态过渡。
22.一种模拟到数字转换器包括用于响应于控制信号将模拟输入信号转换为对应数字信号的装置;用于响应于串行时钟信号以串行形式输出对应数字信号的装置;用于响应于在改变控制信号的状态之间出现的多个串行时钟信号周期来生成至少一个命令信号的装置;以及用于响应于命令信号来选择模拟到数字转换器工作模式的装置。
23.权利要求22的模拟到数字转换器,其中用于将模拟输入信号转换为对应数字信号的装置进一步包括耦合到模拟输入信号的跟踪和保持电路;以及耦合到跟踪和保持电路的逐次逼近ADC。
24.权利要求22的模拟到数字转换器,其中用于输出对应数字信号的装置进一步包括数据多路复用器,耦合到用于转换模拟输入信号的所述装置以及所述串行时钟信号;以及耦合到数据多路复用器的串行数据输出。
25.权利要求22的模拟到数字转换器,其中用于生成至少一个命令信号的装置进一步包括耦合到串行时钟信号和控制信号的时钟划分器和计数器逻辑,其中该时钟划分器和计数器逻辑生成多个命令信号,所述多个命令信号至少部分地以在改变控制信号的状态之间出现的串行时钟信号周期的数目为条件。
26.权利要求25的模拟到数字转换器,其中用于响应于命令信号来选择模拟到数字转换器工作模式的装置进一步包括耦合到控制信号以及时钟划分器和计数器逻辑的控制和功率管理逻辑。
27.一种集成电路子系统,包括多个集成电路设备,每个集成电路设备具有信号输入和信号输出,所述设备互连为使得前一设备的信号输出耦合到随后设备的信号输入,而且所述集成电路设备共享公共的设备选择和串行时钟输入信号;以及耦合到设备选择和串行时钟输入信号的控制电路,该控制电路响应于在设备选择信号的逻辑状态过渡之间出现的串行时钟输入信号的数目由用户控制的逻辑状态过渡,将多个集成电路置于菊花链工作模式。
28.一种模拟到数字转换器,具有模拟输入信号和与模拟输入信号的数字表示对应的数字输出信号,该模拟到数字转换器包括将模拟输入信号转换为数字输出信号的转换子系统;响应于设备选择输入信号和串行时钟输入信号的范围编程子系统;使得该模拟到数字转换器的全标度输入电压范围响应于在设备选择信号的逻辑状态过渡之间出现的串行时钟输入信号的数目由用户控制的逻辑状态过渡来从多个全标度输入电压范围之中选择。
全文摘要
一种用于设备置于所选工作模式的方法。该方法包括步骤将设备选择信号(307)初始化到第一逻辑状态,将设备选择信号确立在第二逻辑状态,以及在第一用户控制的时间窗内将设备选择信号返回到第一逻辑状态。还描述一种设备,包括用于检测设备选择输入和时钟输入(306)处的逻辑状态过渡的装置,以及用于响应于在设备选择输入处的逻辑状态过渡之间出现的时钟输入处预定数目的逻辑状态过渡来改变设备工作模式的装置。所选工作模式例如可以是减少功率消耗的模式,或者该设备的另一工作模式,比如菊花链工作模式,或者适应模拟输入范围编程的模式。
文档编号H04M1/73GK1886897SQ200480035161
公开日2006年12月27日 申请日期2004年11月10日 优先权日2003年11月26日
发明者迈克尔·伯恩, 尼古拉·欧·伯恩, 科林·普赖斯, 德里克·赫默斯顿 申请人:模拟装置公司