虚拟gpio的制作方法

文档序号:8417539阅读:348来源:国知局
虚拟gpio的制作方法
【专利说明】虚拟GP1
[0001]相关申请
[0002]本申请要求于2012年10月15日递交的美国临时申请N0.61/714,118的权益,其内容通过引用完全被纳入于此。
技术领域
[0003]本申请涉及通用输入/输出(GP1),并且尤其涉及配置成将一对引脚用作虚拟GP1引脚的集成电路。
【背景技术】
[0004]通用输入/输出(GP1)使得集成电路设计者能够提供可以为特定应用定制的通用引脚。例如,取决于用户需要,GP1引脚可以被编程为输出引脚或者输出引脚。GP1模块或者外围设备通常会控制基于接口要求而能变动的引脚群。因为GP1引脚的可编程性,它们一般被包括在微处理器和微控制器应用中。例如,移动设备中的应用处理器可以使用数个GP1引脚来进行握手信令,诸如进行与调制解调器处理器的处理器间通信(IPC)。
[0005]对于此类握手信令,若边带信号必须既被处理器发射又被其接收,那么该边带信号可以被视为是“对称”的。若有η个对称的边带信号需要被交换,那么每个处理器要求η*2个GP1 ( 一个GP1发射给定信号并且一个GP1接收该信号)。例如,调制解调器处理器与应用处理器之间的对称IPC接口可以包括五个信号,其转译成结果所得的IPC信令需要10个GP1引脚。IPC通信需要如此之多的GP1引脚增加了制造成本。此外,为IPC投入过多的GP1限制了 GP1对其他系统级外围接口的可用性。该问题不能够通过将IPC通信移到处理器之间的主数据总线上来得到解决,因为如此就违反了特定角点条件。
[0006]相应地,本领域中存在对能够容适众多输入/输出信号,而不要求过多数目的引脚的GP1架构的需求。
[0007]概述
[0008]提供了一种用于在各自具有处理器的两个集成电路之间进行通信的虚拟GP1架构。每个集成电路还包括用于使用一组信号与远程处理器通信的GP1接口。该组信号包括一组GP1信号和一组虚拟GP1信号。每个集成电路由此包括对应于该组GP1信号的一组GP1引脚。
[0009]与该组GP1信号形成对比的是,该组虚拟GP1信号并不在GP1引脚上被发射。替换地,每个集成电路使用专用发射引脚和专用接收引脚来传送和接收该组虚拟GP1信号。鉴于此,该组虚拟GP1信号包括发射集和接收集。每个集成电路中的有限状态机(FSM)配置成通过该专用发射引脚向远程处理器串行地传送该发射集。该有限状态机进一步配置成在该专用接收引脚上从该远程处理器串行地接收虚拟GP1信号的该接收集。
[0010]该处理器向该GP1接口提供第一组信号。从该GP1接口,该第一组信号的一部分作为第一组GP1信号在第一组对应GP1引脚上被传送到远程处理器。来自该处理器的该第一组信号的剩余部分由该GP1接口并行地提供到FSM。该FSM能够接着将该剩余部分作为虚拟GP1信号的发射集在专用发射引脚上串行地传送。
[0011]该GP1接口还在第二组对应GP1引脚上从该远程处理器接收第二组GP1信号。此外,该FSM从该远程处理器串行地接收虚拟GP1信号的接收集,并且并行地向该GP1接口提供该接收集。该GP1接口能够接着向该处理器提供第二组信号,该第二组信号包括来自该远程处理器的第二组GP1信号、以及虚拟GP1信号的接收集。
[0012]用这种方式,该处理器对于其向该GP1接口提供的第一组信号是否包括任何虚拟GP1信号是“不置可否”的。类似地,对于该处理器来说,它从该GP1接口接收到的第二组信号是否包括任何虚拟GP1信号并没有功能上的差别。该处理器由此不需要针对其与本文中所公开的虚拟GP1架构的集成进行任何配置或者重编程。此外,该有限状态机独立于该处理器,因为其并非是由软件驱动的。该虚拟GP1架构由此能够在该处理器处于休眠模式或以其他方式呈非活跃时独立地运作,这节省了功率。
[0013]一个处理器中的FSM在由开始位和结束位划界的帧中传送虚拟GP1信号的发射集。远程处理器中的FSM由此将所传送的帧作为其虚拟GP1信号的接收集来接收。通过监视其是否接收到包括了开始位和结束位二者的完整帧,一个处理器的FSM就能够检测出该远程处理器是否发生了故障。
[0014]附图简述
[0015]图1是示例虚拟GP1架构的框图。
[0016]图2A是其中处理器与单个远程处理器通信的虚拟GP1架构的高级框图。
[0017]图2B是其中处理器与两个远程处理器通信的虚拟GP1架构的高级框图。
[0018]图3是虚拟GP1有限状态机的框图。
[0019]图4解说了虚拟GP1帧的传送与接收之间的时序关系。
[0020]图5是图1的GP1架构所实践的方法的流程图。
[0021]本发明的实施例及其优势通过参考之后的详细描述而被最好地理解。应当领会,在一个或多个附图中,相同的参考标记被用来标识相同的元件
[0022]详细描述
[0023]提供了一种虚拟通用输入/输出(GP1)架构,其使得系统能够将一对引脚使用为就如同这对引脚构成了更大数目的GP1引脚一样。这一架构被视为是虚拟的,因为对于创建那些虚拟GP1信号的系统级应用而言,这就如同那些虚拟GP1信号正被容适在常规GP1引脚上进行输入/输出一样。换句话说,具有本文中所公开的虚拟GP1架构的片上系统(SoC)或处理器不会体验到GP1信号与虚拟GP1信号之间的功能性差异。然而,仅使用了两个引脚来传送和接收原本各自都需要它们自身专用的GP1引脚对(若GP1信号是对称的)的虚拟GP1信号。
[0024]本文中所公开的虚拟GP1架构可以针对容适移动电话或其他通信设备中的应用处理器与调制解调器处理器之间的IPC来讨论。然而,将领会,本文中所公开的虚拟GP1电路和技术广泛应用于要求GP1能力的片上系统(SoC)或者专用集成电路(ASIC)。
[0025]所公开的虚拟GP1架构使得发射节点的健康对于接收节点来说是透明的。这是重要的优势,在软件实现的调试阶段期间尤其如此,因其向接收处理器指示了发射处理器变为不起作用的时间。
[0026]为了使得能够实现此类稳健的虚拟GP1能力,每个集成电路包括耦合到电路板上的发射线的专用发射引脚以及耦合到该电路板的接收线的专用接收引脚。鉴于此,虚拟GP1信号可以被划分为用于在该发射线上进行传送的发射集和用于在该接收线上进行接收的接收集。如果信令是对称的,那么每个处理器的发射集中信号的数目是相同的。然而,本文中所公开的虚拟GP1架构能够容适不对称信令,其中一个处理器的虚拟GP1信号的发射集与远程处理器的发射集的大小不相同。
[0027]现在转到附图,图1针对移动电话或其他通信设备中对应集成电路中的应用处理器集成电路100和调制解调器处理器集成电路105来解说虚拟GP1架构101。因为每个集成电路耦合到专用的发射线和专用的接收线,所以应用处理器100的发射线IlOa由此是调制解调器处理器105的接收线。类似地,调制解调器处理器105的发射线IlOb是应用处理器100的接收线。这些线或导线被承载在电路板(由虚线150指示)或者集成电路100和105之间的其他物理互连上。每个集成电路包括耦合到对应发射线(例如,调制解调器处理器105的线IlOb)的专用发射引脚。类似地,每个处理器包括耦合到对应接收线(例如,调制解调器处理器105的线IlOa)的专用接收引脚。每个集成电路中的有限状态机(FSM) 115使用这些专用线和引脚,参考来自外部时钟源(例如,32KHz休眠时钟)的外部时钟信号来控制传送和接收。
[0028]如在GP1领域所已知的,每个处理器包括其用来与GP1引脚对接的GP1接口103。有利地,GP1接口在虚拟GP1架构101中可以是不变的。换句话说,每个处理器以常规方式通过其GP1接口 103接收和传送信号,从而虚拟GP1架构101对于处理器100和105而言是透明的。通过每个GP1接口 103处理的这些信号的特定部分可以作为GP1信号130在常规GP1引脚125上被发射和接收。但是,通过GP1接口 103处理的这些信号的剩余部分并不通过常规GP1引脚125被发射或接收。替代地,该剩余部分包括使用专用发射引脚和专用接收引脚通过FSM 115来传送和接收的多个虚拟GP1信号135。
[0029]通过GP1接口 103处理的这些信号的此剩余部分被指定为虚拟GP1信号135,因为它们并不如常规GP1信号130的情形中那样各自具有它们自身专用的引脚。这十分有利,因为每个处理器核不要求对其GP1接口 103的改组,而虚拟GP1架构101达成了与其中虚拟GP1信号135
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1