外围设备通讯的制作方法

文档序号:6497469阅读:217来源:国知局
外围设备通讯的制作方法
【专利摘要】外围设备(18、20、22、24、26)被连接到处理器(6)上,并且可编程外围设备互连件(10)被连接到每一个外围设备上。一个该外围设备(18)被配置为向该可编程外围设备互连件发送事件,一个该外围设备(20)被配置为执行任务以响应来自该可编程外围设备互连件的任务信号。该任务接收外围设备(20)具有任务寄存器(40),所述寄存器由该处理器(6)寻址,并且响应于该任务寄存器的内容改变而执行该任务(40)。该可编程外围设备互连件访问存储器(14),其中可储存第一外围设备(18)的事件及第二外围设备(20)的任务间的映射,该映射包括(i)该事件的标识符,以及(ii)任务寄存器(40)的该地址。该映射引起该互连件(10)将响应来自该第一外围设备(18)的该事件的信号以借由发送任务信号给该第二外围设备(20)而提供信道。
【专利说明】外围设备通讯
【技术领域】
[0001]本发明涉及一种连接到处理器的外围设备之间的通讯。
【背景技术】
[0002]微控制器系统通常包括一些外围设备,这些外围设备与中央处理单元(CPU)不同,但是通常通过总线连接到中央处理单元。这些外围设备可位于与所述处理器(例如,芯片系统)相同的集成电路上或位于相同的多芯片模块或系统级包内。或者,外围设备可位于主处理器的芯片外,例如,在不同的包内。外围设备的例子包括计时器、密码加密引擎、串行接口(UART)、以及嵌入式无线电收发机。
[0003]在一简单架构中,所述处理器直接与每个外围设备通讯。一个外围设备是经由所述处理器与另一个外围设备完成通讯的,例如,使用中断。然而,所述机制可能是缓慢的且可能引发无法预期的时序,因为在转发消息之前,所述处理器可能必须从低耗电(休眠)状态中唤醒或是必须完成当前的操作。如果所述处理器在休眠状态,从一个外围设备到另一个外围设备装置的通讯也可能是由于唤醒所述处理器而导致显著的能量耗损。
[0004]为了克服这些缺点,已经尝试使一个外围设备直接与另一个外围设备通讯。例如,互连装置可支持一些信道,每一个信道能由处理器来设置以接收来自产生信号的外围设备的信号(例如,使用复用器)并直接将信号发送给数个被选择的接收信号的外围设备。
[0005]然而,发明人已经实现了改善上述的尝试。

【发明内容】

[0006]因此,本发明的首要目的在于提供一种外围设备通讯系统,包括:
[0007]处理器;
[0008]多个外围设备,所述外围设备连接到所述处理器;以及
[0009]可编程外围设备互连件,所述互连件连接每个外围设备,其中:
[0010]至少一个所述外围设备是产生事件的,被配置成向所述可编程外围设备互连件发送事件信号;
[0011]至少一个所述外围设备是接收任务的,被配置成通过执行任务来响应来自所述可编程外围设备互连件的任务信号;
[0012]所述接收任务的外围设备包括任务寄存器,该任务寄存器可由所述处理器寻址,与所述任务相关,并且被配置成执行所述任务以响应所述任务寄存器的内容改变;
[0013]该可编程外围设备互连件被配置成访问存储器,在所述存储器中能储存第一外围设备的事件与第二外围设备的任务之间的映射,所述映射包括(i)所述第一外围设备的所述事件的标示符,和(ii)与所述任务关联的任务寄存器地址;以及
[0014]该可编程外围设备互连件被配置成使得,如果第一外围设备的事件和第二外围设备的任务之间的映射储存在存储器中,那么所述互连件通过向所述第二外围设备发送任务信号以响应来自所述第一外围设备的所述事件信号来设置信道。[0015]本发明的第二个目的是在于提供一种可编程外围设备互连件,被配置为连接到多个外围设备中的每一个,其中:
[0016]至少一个所述外围设备是产生事件的,被配置成向所述可编程外围设备互连件发送事件;
[0017]至少一个所述外围设备是接收任务的,被配置成通过执行任务来响应来自所述可编程外围设备互连件的任务信号;
[0018]所述接收任务的外围设备包括任务寄存器,所述任务寄存器由所述处理器寻址,与所述任务相关,并且被配置成通过执行所述任务来响应所述任务寄存器的内容改变;
[0019]所述可编程外围设备互连件被配置成访问存储器,其中可储存第一外围设备的事件和第二外围设备的任务之间的映射,所述映射包括(i)所述第一外围设备的所述事件的标示符,和(ii)与所述任务的任务寄存器相关联的地址;以及
[0020]所述可编程外围设备互连件被配置成,如果第一外围设备的事件和第二外围设备的任务之间的映射储存在存储器中,那么所述互连件将向所述第二外围设备发送任务信号以回应所述事件的信号。
[0021]本发明的第三个目的在于提供一种在如上文所述的外围设备通讯系统配置第一外围设备的事件和第二外围设备的任务之间的连接的方法,所述方法包括将映射储存在存储器中,所述映射包括(i)所述第一外围设备的事件的标示符,和(ii)与所述第二外围设备的所述任务相关联的任务寄存器的地址。
[0022]那些本领域的技术人员将会看到,遵照本发明,在不需要包括所述处理器的情况下,可编程外围设备互连件(PPI)允许一个外围设备的事件信号触发另一个外围设备的任务。通过在外围设备之间彼此直接通讯时允许所述处理器仍维持在休眠模式,这可极大地节省电力。它也能使外围设备之间的通讯更加快速。重要的是,体现本发明的PPI使用了接收任务的外围设备上的寄存器的地址去定义到所述外围设备的信道。因此,本发明的实施例允许执行于所述处理器上的固件简易且便利地通过使用所述任务接收外围设备的已知的寄存器来建立信道,而不需要为了配置信道而不得不向所述互连件装置发送未知外围设备的和任务的标识符作为控制信号。
[0023]这样的安排为所述处理器固件程序设计师能提供相当大的额外便利,因为同一寄存器地址能用于由所述处理器直接访问接收任务的外围设备(例如,通过写入到相关的任务寄存器),并且也能用于通过将所述任务寄存器地址映射到事件来在所述PPI上配置信道。这可避免程序设计师在同一任务上不得不参考和使用两个不同的命名系统。
[0024]体现本发明的产品的制造商能通过从未使用的地址段为与所述外围设备相关的一个或多个寄存器分配地址而轻易地重组设计以新增另一外围设备。同样地,外围设备可轻易地从系统中删除,而不必在不同的产品类型之间重新编号外围设备索引系统。通过在多种版本的PPI中保持一致的地址,这能有助于不同系统版本之间固件的通用性。
[0025]所述产生事件的外围设备可包括事件寄存器,所述寄存器由所述处理器寻址、与所述事件相关联。此时所述事件寄存器可以被定位成与在集成电路上的逻辑相关的外围设备紧邻,这不是必须的,并且它可定位成与所述外围设备其他组件有一定距离;这对所述任务寄存器同样是适用的。所述寄存器可包含任何适合的存储结构。
[0026]所述事件寄存器与所述事件之间的关联可以使所述系统配置为如果所述外围设备已发出所述事件,那么就响应所述事件寄存器内容的改变。例如,这样的事件寄存器可被所述处理器写入以模拟从所述外围设备发布的事件。当发出事件时,所述外围设备可改变所述事件寄存器本身的内容;例如,每当它发送事件时,可将二进制位“I”写入到所述事件
寄存器。
[0027]在某些优选实施例中,在上述映射中前面所述的第一外围设备的所述事件的标示符是与所述事件关联的事件寄存器的地址。这样,在所述映射中使用寄存器地址的好处也延伸到所述事件寄存器,并且信道可由在存储器里储存两个寄存器地址进行简单配置。运行于所述处理器上的固件可通过函数调用或可将所述地址直接写入到储存所述映射的所述存储器内来这么做。然而,这不是必须的,并且所述第一外围设备的所述事件的所述标示符可包含外围设备标示符及事件或信号线路标示符,与存在或不存在任何关联事件寄存器的地址无关。
[0028]所述外围设备互连件在它能被编程或被配置为在外围设备间使用一个或多个映射来定义连接的意义上是可编程的。所述PPI不一定需要包含用以执行软件命令的处理单元,虽然它可能这样做。
[0029]所述外围设备不限于任何特定类型,且可包含计时器、UART、电压比较器、加密引擎、模数转换器(ADC)、数模转换器(DAC)、无线电发射机、无线电接收机等。如本领域技术人员所熟知的,事件可响应由外围设备发出的任何输入、状态改变、满足标准等等。所述任务可以是由所述外围设备执行的任何功能或操作,例如通过接口发送数据。
[0030]针对每一个事件及任务,所述PPI通过各自的线路以连接到这些外围设备,借此,所述事件与任务信号可被发送;即,每一事件或任务便有一线路。所述信号可以是一脉冲或编码值。输入线路可连接至所述PPI内的一个或多个复用器;例如,每一信道便有一复用器。输出线路则可从所述PPI内的一个或者多个解复用器离开;例如,每一信道便有一解复用器。所述PPI可根据储存在存储器的映射以设定或控制信道的复用器及解复用器。
[0031]在某些可替代的实施例中,所述PPI可经总线访问外围设备的所述任务寄存器或事件寄存器、或两者,例如,在地址总线上使用存储器映射输入/输出(MMIO)。所述PPI可因此通过所述相关事件寄存器内容的改变而接收事件信号及/或可通过改变所述相关任务寄存器内容而发送任务信号。所述PPI可连接到所述处理器连接的总线上(例如,系统总线可包含地址总线、数据总线和控制总线)。同一总线可将所述外围设备连接到所述处理器。所述PPI可通过每隔一段时间读取所述事件寄存器来侦测事件寄存器内容的改变;例如,定期轮询;或通过接收来自所述产生事件外围设备的中断,当接收中断时,所述PPI可接着读取对应事件寄存器的内容。
[0032]事件寄存器或任务寄存器可包含单一二进制位(即,用来发送标志或二进制位信号),或它可包含多个二进制位,例如,8、16或32个二进制位。
[0033]所述存储器映射可采取任何适合形式。在某些实施例中,事件寄存器的所述地址及任务寄存器的所述地址、或是指向这些寄存器的指针,被储存到数组、表或数据库的相关记录中。例如,所述PPI可维护具有一些行和两列的表,每一行对应不同信道,并且第一列用于事件寄存器标示符,并且第二列用于任务寄存器标示符。可理解的是,这样的数组或表可以是逻辑结构,并且不需要限定到存储器中数据的任何特定物理位置。所述PPI可包含用以储存任何寄存器地址的第一寄存器组及用以储存事件寄存器地址的第二寄存器组。在每一组中可以有相同数目的寄存器。所述第一组的寄存器可控制复用器,其连接到所述第二组中由第一对应寄存器控制的解复用器,从而定义一个信道。
[0034]所述存储器可与所述PPI是分开的,例如,在硅片的单独区域或在不同晶片上,但较佳地是所述PPI的集成组件,这样能减少访问时间。所述存储器可以是易失的(例如,RAM)或非易失的(例如,EEPROM或flash)。所述映射较佳地储存在一个或多个较佳地可由所述处理器寻址的寄存器中。由所述PPI提供的每一信道可具有一个关联事件的端点寄存器及一个关联任务端点寄存器,其可适合分别储存外围设备事件寄存器的地址及外围设备任务寄存器的地址。某些所述信道可使用这些寄存器以储存其他类型的事件和/或任务标示符。
[0035]所述映射或多个映射可由所述PPI或所述处理器、或由两者写入到所述存储器。所述处理器可通过命令所述PPI储存适当的映射以间接建立外围设备之间的信道。
[0036]所述PPI较佳地包括、或能访问一个或多个查询表,为了决定对应其寄存器地址的特定事件线路或任务线路(或事件端口或任务端口),所述查询表能被用来查询来自映射的寄存器地址。然后,它可选择用于信道的线路或端口来作为输入或输出(例如,通过适当控制一复用器或解复用器)。所述查询表可使用任何适当的形式,且不一定需要实现为存储器中的物理表。
[0037]所述PPI可支持任何数目的信道;例如,1、8、16、32或更多。信道可以是事件输入端口或线路到所述PPI及来自所述PPI的任务输出端口或线路之间的任何物理的(例如,电性的)或逻辑的连接。信道可将一个或多个输入连接到一个或多个输出(例如,使用逻辑门来定义沿着所述信道路径的分支或岔路)。
[0038]所述PPI优选地包括用以允许信道被激活及/禁用的机制。所述PPI可包括位域寄存器,所述位域寄存器具有和每个信道项关联的一个二进制位,且所述位域寄存器是被配置成使得如果在所述位域寄存器中与信道相关的二进制位被设予某预设值(例如,一个二进位的I)时,那么激活所述信道。
[0039]在某些优选实施例中,所述PPI包括共同激活或禁用一个或多个信道的一群组的机制。所述PPI可包括一个或多个寄存器或存储器区域,每个能够储存用来定义各自信道组的多个信道标示符。这样组寄存器可以例如是对应一个不同信道的带有各自二进制位位置的位域;在所述二进制位位置的二进位的I可包括某信道,而二进位的O可排除某信道(反之亦然)。所述系统可被配置成使得所述处理器的单一命令或动作能引起组内的所有所述信道被所述PPI激活或禁用;例如,通过设定与所述PPI上的组-激活位域寄存器内的适当的组相对应的二进制位。
[0040]所述PPI可被配置成接收来自所述处理器的任务信号,并且作响应激活或禁用某特定信道组。所述PPI可包括用于每个群组的输入组-激活任务信号线路及输入组-禁用任务信号线路。特别有利地,所述PPI可以使其可以被配置或可以被程序化(例如,通过所述处理器),以使信道组能响应于所述PPI接收的来自外围设备的事件信号而被激活或禁用。每个组激活和禁用任务可具有相关联的寄存器地址,并且可以如同外围设备任务一样地使用所述PPI中的映射来加以配置。
[0041]配置所述PPI响应于外围设备事件而激活或禁用信道或信道组的能力可以允许极为灵活的配置。它能用来避免任务之间的冲突。例如,所述PPI可将计时器事件第一映射为任务以禁用无线电接收机(例如,在一段时间之后关闭所述无线电以节省电力)。所述PPI可以将来自所述无线电接收机的“禁用”事件第二映射为任务,以激活所述无线电(例如,当它开始接收无线电数据时,自动打开所述无线电)。然而,一个可能出现的问题是,当它仍然在接收无线电数据时,所述计时器可关闭所述无线电。通过另外具有来自所述无线电接收机的所述“禁用”事件和所述PPI上的禁用组任务之间的第三映射,其中所述组包括实现所述第一映射的信道,可以避免此冲突。(当然,所述信道组应随后在适当时间被重新激活)。
[0042]所述外围设备通讯系统通常是庞大系统的某部分,其中所述处理器执行控制任务。例如,体现本发明的外围设备通讯系统可形成无线电收发机的一部分,如芯片上无线电(radio-on-a-chip)。
[0043]产生事件的外围设备可具有一个以上的事件寄存器。同样地,接收任务的外围设备可具有一个以上的任务寄存器。
[0044]所述PPI可以通过发送两个或多个任务信号来配置为响应事件信号,所述两个或多个任务信号可能发送到不同的接收任务的外围设备。在某些实施例中,这可通过储存多个映射来实现,每个将所述关联事件寄存器映射到一个不同的所述关联任务寄存器。在其他的实施例中,可借由储存同时映射三个或更多关联寄存器的一个映射来完成;例如,存储器中的列表具有三个以上的列。优选地,所述PPI能同时发送多个任务信号(例如,在单个时钟周期内)。
[0045]同样地,所述PPI能够将多个事件寄存器映射到单个任务寄存器。同样,这可以借助于多个映射、或通过与三个或多个寄存器相关的单个映射实现。
[0046]在某些实施例中,当或只当满足与两个或更多事件信号相关的标准时,所述PPI可包括发送任务信号的逻辑;例如,一旦下一次接收两事件信号时。
[0047]所述第一及第二外围设备通常会是不同外围设备,虽然它们可以是相同的。为了将所述系统设置为使得由外围设备产生的事件在相同的外围设备上起作用,所述PPI可储存属于相同外围设备的关联事件寄存器和关联任务寄存器之间的映射。然而,本发明人意识到,尽管经过所述PPI的事件路由比当包括所述处理器时更有效率,所述PPI仍然需要些时间形成事件信号信道。因此,在一组实施例中,所述系统能配置为,对于至少一个所述外围设备,从所述外围设备发送的事件信号不通过所述PPI而被相同的外围设备作为任务信号而接收。这是可以实现的,例如,通过将引导来自外围设备的事件线路连接到引导至所述外围设备的任务线路的物理或逻辑开关。此开关可设置为依据寄存器的数值而关闭或打开;例如,寄存器中的单个二进制位。此寄存器可由所述处理器或所述PPI来写入。
[0048]相信此想法凭借自身是新颖并有创造性的,且因此,从本发明的又一方面,本发明提供的外围设备通讯系统包括:
[0049]处理器;
[0050]多个外围设备,所述外围设备连接到所述处理器;以及
[0051]可编程外围设备互连件,所述互连件连接到每一个外围设备,其中:
[0052]至少一个所述外围设备是产生事件的,且能向所述可编程外围设备互连件发送事件;
[0053]至少一个所述外围设备是接收任务的,且能接收所述可编程外围设备互连件的任务信号,并且响应于所接收的所述任务信号而执行任务;
[0054]所述可编程外围设备互连件可配置成发送任务信号到接收任务的外围设备以响应接收的来自产生事件的外围设备的事件信号;以及
[0055]至少一个所述外围设备同时是产生事件和任务接收外围设备,并且所述系统能被配置成使得所述外围设备直接响应于由所述外围设备产生的事件而执行任务,而无需所述外围设备接收来自所述处理器或可编程外围设备互连件的任务信号。
[0056]在本发明的另一方面,本发明提供一种在系统中使用的外围设备通讯方法,所述系统包括:
[0057]处理器;
[0058]多个外围设备,所述外围设备连接所述处理器;以及
[0059]可编程外围设备互连件,所述互连件连接每个外围设备,所述方法包括:
[0060]一个所述外围设备向所述可编程外围设备互连件发送事件,作为响应,所述可编程外围设备互连件向任务接收外围设备发送任务,并且所述任务接收外围设备接收所述任务信号并作为响应执行任务;以及
[0061]一个所述外围设备产生事件信号且直接响应于所述事件信号而执行任务,而无需来自所述处理器或可编程外围设备互连件的任务信号。
[0062]可以看出所述系统提出了用于至少一外围设备的捷径机制,借以当所述外围设备被设置为响应其自己的事件信号时,能绕过与所述PPI的通讯。如先前所描述的,可由所述处理器来进行所述PPI建立外围设备之间信道的设置。使得所述外围设备直接响应于它自己的事件信号的系统设置可由所述PPI或所述处理器来执行;例如,通过所述处理器发布一个以上的命令,或通过所述处理器执行一个或多个寄存器的访问。以类似的方式,所述配置可被改变,使得所述外围设备不再直接响应于外围设备产生的事件而执行任务。
[0063]所述系统可包括在从所述外围设备朝向所述PPI引导的事件路径或线路和从所述PPI引导到所述外围设备的任务路径或线路之间的捷径。此捷径可以是包含打开或关闭所述路径的开关的电子线路。所述开关可以任何适合方式来实现。所述开关可由寄存器的二进制位来控制,所述寄存器由所述处理器寻址。此处所述信号为脉冲,所述捷径与来自所述PPI的所述任务路径两者可以进入逻辑“或”门,其输出导向所述外围设备。所述捷径可形成所述外围设备的一部分,或它可以是所述系统的单独元件。
[0064]在别处描述的与本发明的其它方面或实施例相关的特征也是这一方面的可选特征。
[0065]在一个示例系统中,所述外围设备是计时器,其能够接收开始任务并通过从O开始计数来响应,且当所述计数器溢出时,也能够发出溢出事件。当所述计数器溢出时,所述处理器可被命令来设置所述系统,来使所述计时器自动从O重新开始计数,而不是简单停止计数。为做到这点,它可命令所述可编程外围设备互连件在定时器溢出事件和其启动任务之间创建一信道。所述PPI可识别出所述事件和任务属于相同的外围设备,而不像在两个不同外围设备之间那样建立信道,以及可激活一捷径使所述计时器响应于所产生的溢出事件而执行其启动任务。
[0066]或者,所述处理器可激活所述捷径本身。在上述任何一种情况下,所述通讯若经由所述PPI或所述处理器而被忽略,则所述计时器的重启相比于所述通讯经过路由或所述处理器可以更快地发生(即,在几个时钟周期内)。
[0067]此捷径机制可被用来与先前描述以寄存器为基础的通讯系统作组合,或任何适当的已知布置相组合。
[0068]外围设备可具有一个或多个预定的(即,硬连接线)捷径,其能由所述处理器固件简单地激活或禁用。
[0069]或者,捷径是可编程的。例如,所述外围设备可包括复用器及/或解复用器。它可以被配置为访问存储器,其中能储存所述外围设备的事件寄存器地址及所述外围设备的任务寄存器地址之间的映射。此存储器可以是与所述外围设备分开的,但优选地是所述外围设备的一部分,以使所述外围设备加速访问所述映射。所述映射或多个映射可以类似如上描述的所述PPI的且可以类似地使用。
[0070]在此描述的实施例的一个方面的任何优选或可选择的特性,如果适当,可以用在任何其他方面或实施例中。实施例可以在任何合适的组合中包含优选的或可选择的特性。
【专利附图】

【附图说明】
[0071]仅举例说明本发明的某些优选实施例,现在将参考附图来进行描述,其中:
[0072]图1是展示体现本发明的第一系统组件的示意图;
[0073]图2是表现储存外围设备寄存器之间映射的存储器结构的表;
[0074]图3是体现本发明的第二系统的数个外围设备连接到PPI的示意图;
[0075]图4是在所述PPI范围内与特定信道相关的元件的示意图;
[0076]图5是在所述PPI范围内激活及禁用信道及组的机制的示意图;并且
[0077]图6是展示外围设备的外围设备事件和任务寄存器、以及所述捷径机制的示意图。
【具体实施方式】
[0078]图1展示一微处理器(MCU) 2 (例如,集成电路或多晶片模块),其包括中央处理单元(CPU) 6、主存储器8、以及具有逻辑区域12和内部存储器14的PPI10。所述CPU6及PPI10两者皆连接至总线16。
[0079]也连接所述总线16的是五个示范外围设备:计时器18、DAC20、UART22、硬件加密引擎24、以及电压比较器26。
[0080]或者,提供有与所述CPU总线分开设置且用以发出任务及事件信号的专用总线;例如,所述总线16可以由至少两个分开设置的总线构成。
[0081]所述计时器18具有输出事件寄存器28、溢出事件寄存器30及输入任务寄存器32。所述DAC20具有两个转换完成事件寄存器36、38及两个触发任务寄存器40、42。所述UART22具有RX接收事件寄存器44、TX完成事件寄存器46、RX触发任务寄存器48、及TX触发任务寄存器50。所述硬件加密引擎24具有加密完成时间寄存器52以及触发任务寄存器54,而所述电压比较器26具有单个比较器输出事件寄存器56。某些所述寄存器是单二进制位寄存器,而其他能支持多二进制位数值。当然,其他实施例可具有不同外围设备,并且所述外围设备可具有若干的事件或任务寄存器。
[0082]所述外围设备寄存器共享所述主存储器8及所述PPI存储器14的存储器寻址空间,以使它们能被所述PPI逻辑12及所述CPU6使用存储器映射I/O来访问。
[0083]所述UART外围设备22具有用以实现捷径的逻辑58及一关联存储区域60。
[0084]使用上,所述CPU6可例如命令所述PPIlO创建信道以将所述DAC20转换完成事件之一连接到所述UART22触发任务,以使DAC转换完成之后所述UART22传送数据。接收此指令时,所述PPI在表中创建一新记录项且保持在存储器14中,其连接所述DAC20转换完成寄存器36的所述地址和所述UART22触发任务寄存器48的所述地址。
[0085]图2展示了可被储存在所述PPI的存储器14中的逻辑数据结构。它具有一些行,其每一行包含映射码、事件寄存器地址及任务寄存器地址。
[0086]所述PPI逻辑12配置为周期性地轮询在所述表上所列的每个事件寄存器以判定所述寄存器内的数值何时改变。当改变被侦测到时,所述PPI逻辑12将新数值写入到被映射到所述表中所述特定事件寄存器的所有任务寄存器。
[0087]所述PPI逻辑12可选地配置为以在所述事件寄存器中所述新数值执行某些程序或替代的写入所述程序的结果给一个或多个任务寄存器。例如,如果所述事件寄存器包括多二进制位数值,所述PPI逻辑12可设为遵照所述存储器14中的映射以判定它是否高于先前数值及写入一个二进制位到单个二进制位任务寄存器。所述PPIlO可被所述CPU6命令以要执行什么任务(如果有的话)。这类程序可在所述映射表中被储存为另外列。
[0088]当所述CPU6运行关闭一信道时,它能直截了当地使储存在所述PPI的存储器14中的表中的相关记录项被清楚。它不需要直接命令所述外围设备(虽然在某些情况下,它当然也可这样做)。
[0089]所述UART的所述事件寄存器44、46及任务寄存器48、50能被包括在储存于所述PPI的存储器14的映射中。然而,所述UART22也具有在它拥有的事件寄存器44、46及它的任务寄存器48、50之间实现捷径信道的能力,其略过所述PPI逻辑12,且其因此还能运行的较快。所述PPIlO能命令所述UART22建立例如于其RX接收事件寄存器44及其TX触发寄存器50间的一信道,以使其一接收完数据就开始传送数据。
[0090]所述UART捷径逻辑58 (或所述PPIlO本身)写入所述RX接收事件寄存器44及所述TX触发寄存器50的所述地址如一对映射于UART存储器60中。此可以编排为类似所述PPI的存储器14的所述映射(见图2)。所述UART22捷径逻辑58接着检视储存在它存储器60中的任何事件寄存器44、46的地址,且侦测到改变时,以与所述PPIlO类似的方式,将数值写入所述连接任务寄存器48、50内。
[0091]图3-6涉及到一种可替代的实施例,其中所述PPI控制器是连接使用每一事件或任务信号各自线路的所述外围设备,而不是使用如图1的存储器映射输入/输出。此第二实施例仍然共同使用与所述第一实施例的许多共同操作原理。
[0092]图3展示m个外围设备连接到所述PPI。所述PPI提供η个信道,每一个具有关联事件端点寄存器(EEP)及任务端点寄存器(TEP)。这些寄存器的每一个能拥有所述外围设备之一的寄存器的所述地址。
[0093]图4提供关联这些η信道之一的组件更多细节。所述信道的每一个具有相似的元件组。所述信道的EEP是连接关联所述信道的事件信号查找表,其交叉引用具有涉及到PPI中复用器(MUX)的所述输入之一的内部事件线路标示符的一组外围设备事件寄存器地址,关联所述信道。所述PPI配置为以使所述MUX选择关联包括在所述EEP中的所述地址的所述输入。
[0094]同样地,所述信道的TEP是连接关联所述信道的任务信号查找表,其交叉引用具有涉及到所述PPI中一解复用器(DEMUX)的所述输出之一的内部任务线路标示符的一组外围设备任务寄存器地址,关联所述信道。所述PPI配置为以使所述DEMUX选择关联包含在所述TEP中的所述地址的所述输出。
[0095]两个外围设备A、B连接所述信道的MUX。外围设备A能提供两个事件信号ΑΕ0、AEl,每一个具有它自己进入所述MUX的线路。外围设备B能提供单个事件信号ΒΕ0,其也具有进入所述MUX的线路。相似线路将连接其它η-1信道的所述复用器(未展示)。
[0096]所述信道的DEMUX是连接三个输出线路,一个引导任务输入ATO到外围设备A及两个引导不同任务输入BT0、BT1到外围设备B。
[0097]在所述PPI的范围内,来自所述MUX的所述输出是通过开关连接到所述DEMUX的所述输入。所述连接是在所述开关关闭时而形成,以使来自所述MUX选择所述外围设备之一的事件信号(例如,脉冲)是经过所述DEMUX且之后到所述外围设备之一选择的任务输入。所述开关的状态由一寄存器控制,由CPU来写入(未展示)。
[0098]在某些可替代的实施例中,信道可具有多个解复用器,每一个连接所述信道的MUX的所述输出。如此,单个事件能被分岔以触发多个外围设备任务。
[0099]图5示意性地展示在所述PPI内部的所述机制,借以激活或禁用各个信道,以及借以激活或禁用组的信道。每一信道i被当作从EEP到TEP(分别标示为Chi_EEP及Chi_TEP)的路经,且所述路径上具有开关。给定信道的所述开关对应于图4中位于所述MUX及DEMUX间的所述开关。
[0100]所述位域寄存器CHEN具有关联每一信道开关的二进制位。CPU(或所述系统的其他元件)能透过写入所述适当二进制位到所述CHEN寄存器以激活或禁用信道。
[0101]信道m组内能通过设定对应所述各自信道组位域寄存器CHGO到CHGm中所需信道的二进制位来被设置。每一组具有相关联的激活任务及相关联的禁用任务。当被触发时,这些任务激活或禁用属于所述组的所述信道。这些任务的每一个具有相关联的任务寄存器CHGOEN-CHGmEN (激活)及CHGODIS-CHGmDIS (禁用),其能被使用来自CPU写入所述寄存器而触发所述任务。此外,任何这些任务寄存器的一地址可被输入到所述PPI的任务端点寄存器(TEP)以创建它与来自外围设备的事件信号间的映射。
[0102]图6象征性地展示关联用以连接所述PPI及用以实现捷径特征的特定外围设备的连接。所述捷径要件将被描述例如在所述外围设备的内部但它们可同样地处于它的外部。
[0103]对于特定任务n,所述外围设备接收来自所述PPI沿着任务信号能被发送的一输入线路。所述外围设备也具有关联所述任务的任务寄存器(任务η),如果CPU上执行的固件写入一个二进位的I到所述任务寄存器,其发送信号以触发任务。当所述PPI发送任务信号时或当信号通过所述捷径机制而被接收时,所述任务寄存器的内容也能被更新。来自所述PPI的所述线路及所述任务寄存器的所述输出可被组合在逻辑“或(OR) ”门及发送给所述外围设备的核心,其当信号被接收到时完成所述任务。所述或(OR)门也接收来自第三来源的信号:如下所描述的所述捷径开关。
[0104]当在适当状态时,所述外围设备核心能输出事件信号。此被发送到事件寄存器(事件m),它能引起所述寄存器的所述内容改变以指示事件已被发出。相同事件信号也被分开及发送给通到所述捷径开关的第二“或”门及也到所述PPI的事件输入线路。此“或”门也接收来自所述事件寄存器的输入,如果固件写入一个二进位的I到所述事件寄存器时,所述事件寄存器会发送信号以模拟所述事件的发生。
[0105]所述事件寄存器的状态也能经开关被发送到中断控制器IntC,其细节与本发明无关。
[0106]如同已经提到的,来自所述第二“或”门的所述输入经开关通到所述第一“或”门的输入。关联所述外围设备的此开关由位域寄存器SHORTS的关联二进制位k的所述数值来控制。所述寄存器SHORTS可以是所述外围设备的某部分或可以是位于所述系统的其它地方。
[0107]CPU或其他装置(包含可能的所述PPI)可使用此机制由写入“I” 二进制位到SHORTS的所述相关捷径位置k以创建所述外围设备核心的所述任务输出和至所述核心的所述事件输入之间的捷径。在不需要通过所述PPI创建信道的情况下,此导致信号可被直接按路线发送到所述外围设备的范围内或相邻所述外围设备,借此减少时钟周期及改善回应速度。在有其他任务映射到它的情况下,所述事件信号也仍可被发送到所述PPI。
[0108]总之,已描述了一种新颖的外围设备通讯系统,它优于先前已知的系统。
【权利要求】
1.一种外围设备通讯系统,包括: 处理器; 多个外围设备,所述外围设备连接到所述处理器;以及 可编程外围设备互连件,所述互连件连接每个外围设备,其中: 至少一个所述外围设备是产生事件的,被配置成向所述可编程外围设备互连件发送事件信号; 至少一个所述外围设备是接收任务的,被配置成通过执行任务来响应来自所述可编程外围设备互连件的任务信号; 所述接收任务的外围设备包括任务寄存器,该任务寄存器可由所述处理器寻址,与所述任务相关联,并且被配置成执行所述任务以响应所述任务寄存器的内容改变; 该可编程外围设备互连件被配置成访问存储器,在所述存储器中能储存第一外围设备的事件与第二外围设备的任务之间的映射,所述映射包括α)所述第一外围设备的所述事件的标示符,和(ii)与所述任务关联的任务寄存器地址;以及 该可编程外围设备互连件被配置成使得,如果第一外围设备的事件和第二外围设备的任务之间的映射储存在存储器中,那么所述互连件通过向所述第二外围设备发送任务信号以响应来自所述第一外围设备的所述事件信号来设置信道。
2.如权利要求1 所述的系统,其中,所述产生事件的外围设备包括事件寄存器、由所述处理器寻址、与所述事件相关联,并且其中所述映射包括与事件关联的事件寄存器的地址。
3.如权利要求1或2所述的系统,其中,所述可编程外围设备互连件通过每个事件和任务的各自线路连接到所述外围设备。
4.如上述任一项权利要求所述的系统,其中,所述可编程外围设备互连件包括至少一个复用器及至少一个解复用器,并且被配置为依照储存在所述存储器中的映射来控制所述复用器和解复用器。
5.如上述任一项权利要求所述的系统,其中,所述可编程外围设备互连件被配置为通过侦测所述外围设备上的关联事件寄存器的内容改变来接收来自外围设备的事件信号。
6.如上述任一项权利要求所述的系统,其中,所述可编程外围设备互连件被配置为通过改变所述外围设备上的关联任务寄存器的内容来向外围设备发送任务信号。
7.如权利要求1至4任一所述的系统,其中,每个所述事件或任务信号是电脉冲。
8.如上述任一项权利要求所述的系统,其中,能储存映射的所述存储器包含由所述处理器寻址的一个或多个寄存器。
9.如上述任一项权利要求所述的系统,其中,所述可编程外围设备互连件被设置为通过访问查找表来决定包含在映射中的与寄存器地址对应的线路或端口。
10.如上述任一项权利要求所述的系统,其中,所述可编程外围设备互连件包括用以激活或禁用信道的机制。
11.如上述任一项权利要求所述的系统,其中,所述可编程外围设备互连件包括用以共同激活或禁用信道的机制。
12.如权利要求11所述的系统,其中,所述可编程外围设备互连件包括一个或多个寄存器或存储区域,每个能够储存用来定义各信道组的多个信道标示符。
13.如权利要求11或12所述的系统,被设置为使所述处理器的单一指令或动作能使得组中所有的信道被所述可编程外围设备互连件激活或禁用。
14.如权利要求11至13任一项所述的系统,其中,所述可编程外围设备互连件包括,对于每个信道组,各自的组-激活任务信号输入线路,和各自的组-禁用任务信号输入线路。
15.如权利要求11至14任一项所述的系统,其中,所述可编程外围设备互连件能被设置为:使得能激活或禁用信道组,以响应于所述可编程外围设备互连件接收的来自外围设备的事件信号。
16.如权利要求11至15任一项所述的系统,其中,所述可编程外围设备互连件包括与激活或禁用信道组的任务相关联的任务寄存器,并且其中所述外围设备互连件被配置为,如果被储存在存储器中的映射包括外围设备的事件的标示符和所述任务寄存器的地址,那么所述互连件将激活或禁用所述信道组,以响应于来自所述外围设备的所述事件信号。
17.如上述任一项权利要求所述的系统,被配置为:对于至少一个所述外围设备,使得从所述外围设备发出的事件信号被作为任务信号被相同的外围设备所接收而不通过所述可编程外围设备互连件。
18.一种可编程外围设备互连件,被配置为连接到多个外围设备中的每一个,其中: 至少一个所述外围设备是产生事件的,被配置成向所述可编程外围设备互连件发送事件; 至少一个所述外围设备是接收任务的,被配置成通过执行任务来响应来自所述可编程外围设备互连件的任务信号; 所述接收任务的外围设备包括任务寄存器,所述任务寄存器由所述处理器寻址,与所述任务相关联,并且被配置成通过执行所述任务来响应所述任务寄存器的内容改变; 所述可编程外围设备互连件被配置成访问存储器,其中可储存第一外围设备的事件和第二外围设备的任务之间的映射,所述映射包括(i)所述第一外围设备的所述事件的标示符,和(ii)与所述任务的任务寄存器相关联的地址;以及 所述可编程外围设备互连件被配置成,如果第一外围设备的事件和第二外围设备的任务之间的映射储存在存储器中,那么所述互连件将向所述第二外围设备发送任务信号以回应所述事件的信号。
19.如权利要求18所述的可编程外围设备互连件,其中,所述产生事件的外围设备包括事件寄存器、由所述处理器寻址、与所述事件关联,并且其中所述映射包括与事件关联的事件寄存器的地址。
20.如权利要求18或19所述的可编程外围设备互连件,其中,所述可编程外围设备互连件包括每一事件及任务各自的端口。
21.如权利要求18或20所述的可编程外围设备互连件,包括至少一个复用器及至少一解复用器,并且被配置为依照储存在所述存储器中的映射来控制所述复用器及解复用器。
22.如权利要求18至21任一所述的可编程外围设备互连件,其中,外围设备任务信号的发送包括所述可编程外围设备互连件改变所述外围设备上的关联任务寄存器的内容。
23.如权利要求18至22任一所述的可编程外围设备互连件,其中,所述可编程外围设备互连件被配置为通过改变所述外围设备上关联任务寄存器的内容来向外围设备发送任务信号。
24.如权利要求18至23任一所述的可编程外围设备互连件,其中,所述存储器中的映射可被储存在一个或多个寄存器中。
25.如权利要求18至24任一所述的可编程外围设备互连件,其中,所述互连件被配置为通过访问查找表来决定包含在映射中的与寄存器地址对应的线路或端口。
26.如权利要求18至25任一所述的可编程外围设备互连件,其中,所述可编程外围设备互连件包含用来激活或禁用通道的机制。
27.如权利要求18至26任一所述的可编程外围设备互连件,包括用来统一激活或禁用一个或多个信道组的机制。
28.如权利要求27所述的可编程外围设备互连件,包括一个或多个寄存器或存储区域,每个能够储存用来定义各自信道组的多个信道标示符。
29.如权利要求27或28所述的可编程外围设备互连件,被配置为响应于处理器的单一指令或动作而激活或禁用组中的所有信道。
30.如权利要求27到29任一项所述的可编程外围设备互连件,包括,用于每个信道组的,各自的组-激活任务输入端口和各自的组-禁用任务信号输入端口。
31.如权利要求27到30任一项所述的可编程外围设备互连件,包括用来配置所述互连件的机制,使得信道组 能被激活或禁用,以响应于所接收的来自外围设备的事件信号。
32.如权利要求27到31任一项所述的可编程外围设备互连件,包括与激活或禁用信道组的任务相关的任务寄存器,并被配置为使得,如果被储存在存储器中的映射包括外围设备的事件的标示符和所述任务寄存器的地址,那么所述互连件将响应于来自所述外围设备的所述事件的信号而激活或禁用所述信道组。
33.一种用来在如权利要求1至16任一项所述的外围设备通讯系统中,配置第一外围设备的事件和第二外围设备的任务之间的连接的方法,所述方法包括将映射储存在存储器中,所述映射包括(i)所述第一外围设备的事件的标示符,和(ii)与所述第二外围设备的所述任务相关联的任务寄存器的地址。
34.一种外围设备通讯系统,包括: 处理器; 多个外围设备,所述外围设备连接到所述处理器;以及 可编程外围设备互连件,所述互连件连接每个外围设备,其中: 至少一个所述外围设备是产生事件的,并且能向所述可编程外围设备互连件发送事件; 至少一个所述外围设备是接收任务的,并且能接收所述可编程外围设备互连件的任务信号并通过执行任务来响应所接收的任务信号; 所述可编程外围设备互连件可被配置为向接收任务的外围设备发送任务信号以响应所接收的来自产生事件的外围设备的事件信号;以及 至少一个所述外围设备是同时产生事件和接收任务的,并且所述系统能被配置为:使得所述外围设备直接执行任务来响应于所述外围设备产生的事件,而无需所述外围设备接收来自所述处理器或可编程外围设备互连件的任务信号。
35.如权利要求34所述的系统,其中,所述处理器能使得所述系统被配置为:使所述外围设备执行任务来直接响应于所述外围设备产生的事件。
36.如权利要求34或35所述的系统,包括从所述外围设备向所述可编程外围设备互连件的事件路径引导和从所述可编程外围设备互连件向所述外围设备的任务路径引导,所述系统还包括所述事件路径及所述任务路径之间的捷径。
37.如权利要求36所述的系统,其中,所述捷径包括开关。
38.如权利要求34至37任一项所述的系统,其中,所述产生事件和接收任务的外围设备被配置为访问存储器,所述存储器中能储存所述外围设备的事件和所述外围设备的任务寄存器之间的映射,并且如果所述事件和所述任务之间的映射被储存在存储器中,那么所述产生事件和接收任务的外围设备进一步被配置为执行任务来直接响应于事件。
39.一种在系统中使用的外围设备通讯方法,所述系统包括: 处理器; 多个外围设备,所述外围设备连接到所述处理器;以及 可编程外围设备互连件,所述互连件连接到每个外围设备,其中所述方法包括: 所述外围设备之一向所述可编程外围设备互连件发送事件,作为响应所述可编程外围设备互连件向接收任务的外围设备发送任务,并且作为响应所述接收任务的外围设备接收所述任务信号并执行任务;以及 所述外围设备之一产生事件信号并执行任务以直接响应所述事件信号,而无需来自所述处理器或可编程外围设备互连件的任务信号。
【文档编号】G06F13/24GK103959268SQ201280059064
【公开日】2014年7月30日 申请日期:2012年12月6日 优先权日:2011年12月12日
【发明者】朱奈德·伊拉希, 琼·欧莱·如斯坦, 拉塞·奥尔森, 拉尔斯·桑戴尔 申请人:北欧半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1