虚拟gpio的制作方法_2

文档序号:8417539阅读:来源:国知局
将各自要求其自身引脚的常规GP1实施例相比而言显著的引脚减少。
[0030]集成电路可以仅包括一个FSM 115或者可以包括用于和多个外部系统接口的多个此类元件。图2A解说了虚拟GP1架构,其中集成电路200包括用于与集成电路205 (包括其自身的FSM 115)中的远程处理器通信的单个FSM 115。作为对比,图2B中所示的集成电路220包括用于分别与集成电路225和230中的远程处理器通信的FSM 115A和FSM115B。鉴于此,片上系统(SoC)(诸如本文中所讨论的处理器)可以被配置有容适与其他SoC的虚拟GP1信令所需要的那样多的FSM。
[0031]不管处理器可能具有的FSM的数目是多少,如图2A中所指示的,每个FSM使用其自身专用的发射引脚240和接收引脚245进行通信。
[0032]再次参见图1,因为虚拟GP1信号135是使用诸如FSM 115的有限状态机来容适的,所以这些处理器核可以处于休眠或者其他类型的休止状态,却能够接收虚拟GP1信号135。以这种方式,虚拟GP1架构101不仅有利地节约了每个GP1接口 103的引脚的数目,而且也是低功率的。
[0033]如本文中所使用的,“引脚”是覆盖了集成电路用来耦合到电路板上或者其他物理互连(例如,封装互连或者穿孔式通孔互连)上的导线的结构(诸如焊盘或实际引脚)的通用术语。例如,若每个集成电路具有十六个GP1引脚125,那么这些引脚可以配置成容适八个对称GP1信号130 (为了解说清楚起见,图1中仅示出了四个常规GP1信号#1到#4)或者十六个不对称GP1信号130。此外,每个集成电路能够使用线IlOa和IlOb来容适多个(η个)虚拟GP1信号135的输入/输出对接,其中η是任意复数整数。对于每个处理器核而言,GP1信号130与虚拟GP1信号135之间没有差异:它们两者都只不过是要按需通过GP1接口 103传送和接收的信号。然而,与常规GP1信号130形成对比的是,因为虚拟GP1信号135没有专用引脚,所以虚拟GP1信号135在FSM 115中被串行化以用于在线IlOa和IlOb上传输。在接收之际,每个FSM 115将接收到的经串行化虚拟GP1信号反串行化。由此,每个FSM 115对于虚拟GP1信号135而言起到串行器/反串行器的作用。
[0034]处理器可能需要响应于这些GP1信号中选定的若干信号上的改变而接收中断信号。针对虚拟GP1信号135而言,调制解调器功率管理器(MPM) 140按通过中断配置寄存器145被编程的方式来监视这些选定的GP1信号。每个虚拟GP1信号135具有对应的中断配置寄存器145。如果虚拟GP1信号135被要求响应于该信号改变状态而生成中断,那么对应的配置寄存器145将被相应地编程。类似地,如果虚拟GP1信号135是无论该信号是否改变了状态均不生成中断的信号,那么对应的中断配置寄存器也将被相应地编程。MPM140也可以包括有限状态机。由此,就像FSM 115,MPM 140是低功率的并且无论其处理器是处于休眠模式还是某种其他休止状态均呈活跃。
[0035]虚拟GP1信号135可以被细分为发射集和接收集。在对称系统中,每个集合可以具有相同的数目。然而,将会领会,虚拟GP1架构101是有利的,因为其能够现成地容适其中虚拟GP1信号135的发射集和接收集具有不同大小的不对称信令实施例。无论架构101是对称的还是不对称的,每个FSM 115并行地从GP1接口 103接收虚拟GP1信号135的发射集,并行的意义是指虚拟GP1信号135的该发射集中的每个信号被承载在GP1接口103与FSM 115之间的该信号自身的导线106上。与之形成对比的是,由FSM 115对此发射集所做的结果传输发生在单个发射引脚240上,如针对图2Α所讨论的。虚拟GP1信号的该发射集接着变成远程处理器的接收集。该远程处理器的FSM接着反串行化该接收集,以使得其可以并行地呈递给GP1接口 103。
[0036]每个FSM 115包括存储虚拟GP1信号135的发射集的先前状态的配置寄存器107。以这种方式,每个FSM 115能够监视从GP1接口 103接收到的发射集的当前状态,并且仅在当前状态相对于先前状态而言改变了时才触发发射集的串行传输。换句话说,FSM115将仅在通过配置寄存器107中存储先前状态监测到发射集内的一个或多个信号改变了状态时才触发发射集的串行传输。
[0037]如以上所讨论的,每个FSM 115作为串行器/反串行器来串行化虚拟GP1信号135的发射集并且反串行化虚拟GP1信号135的接收集。图3是FSM 115的框图用以更好地解说这些操作。FSM 115经由GP1接口 103 (图1)通过复用模块300与处理器核交换虚拟GP1信号135。在一个实施例中,FSM 115包括若发射集中有改变则将授权在发射线IlOa上传送虚拟GP1信号135的发射集的逻辑电路301。逻辑电路301由此将虚拟GP1信号135的发射集的当前状态与存储在配置寄存器107中的发射信号的该集合的先前状态作比较。例如,逻辑电路301可以包括异或门310以执行该比较。复用模块300将该发射集并行加载到并入串出(PISO)移位寄存器315。若来自异或门310的使能信号320走高(指示发射集的当前状态与先前状态之间有改变),则PISO移位寄存器315被启用以响应于外部时钟120的循环,串行地将其内容移出到发射线IlOa上。
[0038]FSM 115还使用串入并出(SIPO)移位寄存器325用类似的方式将虚拟GP1信号的接收集反串行化。虚拟GP1信号135的接收集由远程处理器生成并且由远程处理器传送到接收线IlOb上。该虚拟GP1信号135的接收集响应于外部时钟120的循环被成功地移到SIPO移位寄存器325中。如本文中所进一步讨论的,FSM 115被配置成在具有单独开始位和结束位的帧中传送该发射集并且接收虚拟GP1信号135的接收集。
[0039]这些帧具有预定义的大小。在一个实施例中,帧大小可以被固定为长达特定数目的位。若虚拟GP1信号的发射集小于此固定大小,那么每帧内未被使用的位可以是随意(don’t care)值。替换地,每个FSM 115可以被配置成取决于给定应用所需的位的数目而变更所发射的帧的大小。
[0040]为了检测收到虚拟GP1信号135的接收集的完整帧,FSM 115可以包括在收到帧的开始位后计数外部时钟120的必要循环数目的逻辑电路350。例如,假设接收集包括响应于外部时钟120的十个循环所接收到的十个虚拟GP1信号。在检测到开始位并且等待了外部时钟120的另外十个循环后,逻辑电路350将接着期望收到结束位。如果相应地检测到了结束位,那么逻辑电路350可以接着选通输出锁存器351来并行接收已作为完整帧移入SIPO移位寄存器325的虚拟GP1信号的接收集。被锁存的虚拟GP1信号的接收集接着可以通过复用模块300被呈递给GP1接口 103。
[0041]再次参照PISO移位寄存器315,将会领会,该寄存器被配置成将虚拟GP1信号的发射集用开始位和结束位来框定。虚拟GP1信号的发射集由此在由开始位和结束位划界的帧中被传送。因为处理器的发射集变成远程处理器的接收集,所以该接收集也相应被框定。该框定是有利的,因为每个处理器由此可以监视远程处理器的健康而不需要任何的附加专用引脚。例如,每个FSM 115可以配置成在默认状态(虚拟GP1信号的发射集的当前状态相比于先前状态没有改变)期间将其专用发射引脚240弱拉(并因此将发射线IlOa弱拉)至电源电压。对于此类实施例而言,开始位将会是逻辑零,以使得为了传送开始位,FSM 115将发射线IlOa接地。用这种方式,每个FSM 115可以通过检测接收线IlOb被拉向接地而现成地检测出收到开始位。在一个实施例中,开始位和停止位是逻辑互补的。
[0042]存在处理器发生故障使得其不恰适地将其发射线IlOa拉到接地的可能性。该远程处理器会由此将这一情况检测为开始位,并且逻辑电路350会相应地开始向着帧的结束进行计数。但是,结束位在该实施例中是逻辑1,这样每个FSM 115将发射线IlOa充电至电源电压以信令通知帧传输的结束。若处理器发生了故障使得远程FSM检测到被视为开始位的信号,则逻辑电路350将不会检测到结束位,并且将会相应告知其处理器有关远程处理器的故障。
[0043]图4示出了针对用于虚拟GP1帧400的传送和接收的外部时钟120的示例性时序。为了允许有足够的建立时间来进行接收,传输应当参照第一时钟沿来发生,并且参照剩余的时钟沿接收。例如,Piso移位寄存器315中的位可以响应于外部时钟120的下降沿或负沿而被移出以用于在发
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1