微控制器系统的制作方法

文档序号:6453515阅读:157来源:国知局
专利名称:微控制器系统的制作方法
技术领域
本实用新型的标的物一般来说涉及电子装置,且更具体来说涉及用于微控制器的通信总线。
背景技术
微控制器可包含使用系统总线相互通信的各种模块(例如处理器、存储器控制器、显示器控制器等等)。举例来说,主控模块通过提供地址和控制信息来起始总线上的总线存取一读取及写入操作。受控模块对来自主控模块的读取或写入操作作出响应。解码器选择对应于由主控模块提供的地址的特定受控模块。一般来说,在任何给定时间仅有一个主控模块在总线上通信。仲裁器管理总线存取以确保仅有一个主控模块正使用总线。仲裁器可使用各种仲裁方案(例如,循环法、时分多址(TDMA)等等)中的任一者。

实用新型内容本实用新型所要解决的技术问题是改进因突发中断造成的低效率。本实用新型的特定实施例可经实施以实现以下优势中的一个或一个以上优势(I)系统总线调度器和多端口受控仲裁器可有效满足总线主控器的带宽和延迟约束,同时保留内部多端口受控器最优化;(2)调度信息允许预期突发跟踪以及有效的突发中断和恢复;以及(3)调度信息允许多端口受控模块预测适当命令的启动,避免命令和数据的取消以及使延迟隐藏和到可用输出的数据路由最大化。在一个实施例中,本实用新型提供一种微控制器系统,其特征在于包括多个主控器;多端口受控器,所述多端口受控器包含多个受控器端口以及一多端口受控仲裁器,其中所述多端口受控仲裁器经配置以在所述受控器端口之间作出仲裁;系统总线,其使所述主控器与所述多端口受控器连接;以及调度器,其经配置以向获胜主控器准予总线存取以在所述获胜主控器与所述多端口受控器之间传递数据突发;其中所述调度器经配置以向所述多端口受控仲裁器提供调度信息,所述调度信息包含主控器分类信息以及预期突发信息,所述预期突发信息是基于调度器对于预期主控器对所述多端口受控器的预期总线存取的确定,所述主控器分类信息将所述预期主控器分类。在另一个实施例中,所述多端口受控仲裁器经配置以接收所述调度信息且使用所述调度信息在所述受控器端口之间作出仲裁。在另一个实施例中,所述多端口受控器为管线式存储器模块。在另一个实施例中,所述主控器分类信息是基于所述主控器的带宽和/或延迟要求,且其中所述多端口受控仲裁器和所述调度器经配置以使用所述主控器分类信息确定总线存取的优先级。在另一个实施例中,来自所述调度器的所述调度信息包含当前突发的所要求中断的指示。在另一个实施例中,所述调度器经配置以通过中止当前受控器端口上的所述当前突发来中断所述当前突发且在所述当前受控器端口上起始新的突发。在另一个实施例中,来自所述调度器的所述调度信息包含先前受控器端口上的先前已中断突发的所要求突发恢复的指示。在另一个实施例中,调度器经配置以恢复所述先前受控器端口上的所述先前已中断突发。在另一个实施例中,所述多端口受控器经配置以向所述调度器发送确认以承诺恢复所述先前已中断突发,且其中所述调度器经配置以响应于接收到所述确认而针对所述先前已中断突发向先前主控器准予恢复总线存取。在另一个实施例中,所述预期突发信息包含用于所述预期主控器的差动识别标签,所述差动识别标签指示所述预期主控器是否不同于当前主控器。

图I是实例性微控制器的框图。图2是展示实例性系统总线矩阵的示意图。图3是图解说明在调度器与多端口受控模块之间调度信息的流程的示意图。图4至图6是图解说明系统总线调度器与多端口受控模块之间调度信息的通信的实例性场景的时序图。图7是为使用调度信息而由多端口受控模块执行的实例性过程的流程图。
具体实施方式
系统概述图I是实例性微控制器100的框图。微控制器100包含一个或一个以上主控模块101-105,总量高达M个模块。主控模块包含微控制器101、直接存储器存取(DMA)控制器、显示器控制器103以及高速外围设备总线主控器104。微控制器100还包含一个或一个以上受控模块120-124,总量高达S个受控模块。受控模块包含多端口受控模块(例如存储器控制器)120、芯片上存储器121、低速外围设备总线桥122以及高速外围设备总线受控器123。模块使用系统总线矩阵111相互通信。模块可由衬垫150-157连接到微控制器外的装置。举例来说,显示器控制器103可由衬垫150和151连接到显示器,高速外围设备总线主控器可由衬垫152和153连接到高速外围设备总线,多端口存储器控制器120可由衬垫154和155连接到存储器装置,以及高速外围设备总线受控器123可由衬垫156和157连接到高速外围设备总线。多端口受控模块120使用调度信息在其端口之间作出仲裁。调度信息可包含主控器分类信息以及预期突发信息。所示模块为实例,且各种类型的主控模块和受控模块中的任一者均可包含在微控制器100中。微控制器100可包含一个或一个以上主控模块以及一个或一个以上受控模块,且至少一个受控模块为多端口受控模块。实例性系统总线矩阵图2是展示实例性系统总线矩阵110的示意图。三个实例性主控模块200-202使用系统总线矩阵Iio通信。一个实例性多端口受控模块120使用系统总线矩阵110通信。多%5 口受控t旲块120可为(例如)多〗而口存储器t旲块。总线层为经配置以载送地址“A”、控制“C”以及数据“D”信息的连接。数据信号可以是双向的。利用三个受控总线层260-262图解说明多端口受控模块120。多端口受控模块120可具有较多或较少的层。以三个总线主控层240-242来图解说明主控模块200-202,
每一主控模块使用一个总线主控层。系统总线矩阵110将总线主控层240-242动态路由到总线受控层260-262。系统总线矩阵Iio可使用由主控模块200-202提供的地址和控制信号路由所述层。控制信号可隐含地或明确地指示各种传递特性,例如数据方向;每一数据总线循环的字节数;传递突发的类型和长度;数据的类型、保护和安全属性;请求者识别;受控器可用性;以及其它的常规总线传递特性信息。主控模块200-202中的任一者均可使用地址和控制信息的特定组合来起始总线存取。对应的解码器(解码器210-212中的一者)将地址信息解码以选择受控总线层·260-262中的一者。随后,对应的系统总线仲裁器(系统总线仲裁器220-222中的一者)使用仲裁方案来确定获胜的主控模块。随后,系统总线矩阵110使获胜主控模块的总线主控层连接到获胜主控模块的目标总线受控层。系统总线矩阵110通过驱动开关选择器230-232来连接所述层以使矩阵开关250-252来回切换。任何其它请求主控器模块均等待,直到新的仲裁发生。由于目标总线受控层属于多端口受控模块120的多个端口中的一者,因此在多端口受控仲裁器280处发生另一仲裁。多端口受控仲裁器280从总线受控层260-262上的主控模块中确定同时发生的请求间的获胜主控模块。在多端口受控仲裁器280确定获胜的主控模块后,主控模块和受控模块可交换数据。举例来说,可在多端口受控模块120上的物理接口 290上进行数据交换。可依据多端口受控模块120的内部状态延迟数据交换。调度器225协调总线存取以满足对系统总线矩阵110上的各种模块的带宽和/或延迟约束。调度器225向系统总线仲裁器220-222发送指令以向主控模块200-202准予足够总线存取从而满足对主控模块的带宽和/或延迟约束。为满足所述带宽和/或延迟约束,调度器225将总线受控层260-262看作用于对多端口受控器处的已经过的存取计数的单个层。可将数据交换压缩成指定长度的突发。举例来说,可在下一次仲裁(例如,由系统总线仲裁器220-222或多端口受控仲裁器280进行)选择新的主控层或多端口受控层前传递一定数量的数据字(例如,4、8、16或更多)。在一些情况下(例如,在显著工作负荷下),如果多端口受控仲裁器280以公平风格的仲裁选择总线受控层,那么即使调度器225试图协调总线存取,模块的带宽和/或延迟约束也可能不会得到满足。一般来说,来自起始主控模块的总线受控层上的突发越长,起始主控模块将倾向于消耗的受控层带宽就越多。多端口受控模块120的物理接口 290处的突发越长,起始主控模块将倾向于消耗的多端口受控器带宽就越多。主控模块起始总线存取越频繁,其将倾向于消耗的带宽就越多。考虑实例性场景,其中第一主控模块200存取用于长突发的多端口受控模块120。在长突发期间,第二主控模块201试图存取多端口受控模块120。调度器225确定第二主控模块201为关键主控模块(例如)以使得延迟第二主控模块的存取会导致某个系统故障。调度器225确定第一主控模块200并不是关键的且一般来说已满足其带宽和延迟的要求。调度器225可中断第一主控模块220的突发以允许第二主控模块201存取多端口受控模块120。稍后可接着恢复第一主控模块220的突发。中断突发允许主控模块200和201两者均满足其带宽和延迟的要求;然而,多端口受控模块120可能受到所述突发中断的干扰。举例来说,多端口受控模块120可请求若干系统总线时钟循环以进行某些操作,例如取消命令,终止已在物理接口 290处开始的突发或开始新的突发。突发中断还可能会导致在多端口受控模块120的物理接口 290未能同时执行当前的数据突发以及用于下个数据突发的命令。举例来说,在多端口受控模块120为管线式多端口存储器模块的情况下,存储器请求的管线化可能如上所述受到干扰。调度器225向多端口受控仲裁器280提供调度信息。调度信息有助于(例如)使可能由突发中断引起的干扰减轻。调度器225可使用额外的通信信道270-272向多端口受控仲裁器280提供调度信息。对于总线受控层260-262中的每一者来说均可存在一个额外的通信信道。多端口受控仲裁器280使用调度信息进行总线受控层260-262间的仲裁。调度信息可包含主控器分类信息以及预期突发信息。预期突发信息可指示(例如)针对总线受控层上当前突发的请求突发中断或总线受控层上先前已中断突发的请求突发恢复。主控器分类信息基于(例如)带宽和/或延迟的要求将主控模块分类。主控器分类信息可能是静态或动态的。主控器分类信息可将特定的主控模块(且因此由所述主控器进行的每个总线存取)或由主控模块进行的特定总线存取分类。下文中参考表I和表2对调度信息的实例进行描述。表I展示用于主控器分类信息的实例性类别以及对应的实例性符号和值。所述类别标记有“下个突发主控器关键性等级”(NMCC)。一般来说,所述类别指示用于主控模块的系统操作(或由主控模块进行的特定总线存取)的关键性级别。
下个突发主控器关键性等级NMCC符号二进制编码—
延迟关键_ LC111
带宽关键—BC110
延迟敏感,自限吞吐量_ LSL101
延迟敏感,无限吞吐量_ LSU100
带宽敏感,自限吞吐量—BSL011
带宽敏感,无限吞吐量—BSU010
不敏感,自限吞吐量_ NSL001
敏感,无限吞吐量NSU000表I所示NMCC类别不需要与任一特定优先级相关联。在一些实施方案中,隐含的原生优先级可在等级对之间对应。调度器225和多端口受控仲裁器280可经编程以一致的方法响应不同的NMCC类别。举例来说,调度器225和多端口受控仲裁器280的NMCC类别的优先排序可能相同(例如,使得具有较高优先级的主控模块能够导致具有较低优先级的主控模块的突发发生突发中断)。延迟关键主控模块可为要求在指定时间量(例如,可能短于调度器225的最长周转时间的时间)内存取多端口受控模块120以完成仅仅对带宽关键主控模块的整个仲裁循环的主控模块。如果延迟关键主控模块不能在指定时间量内存取多端口受控模块120,则应用程序或系统产生故障。举例来说,在经由外部接口要求实时高响应性的情况下,系统可包含延迟关键主控器。[0043]带宽关键主控模块可为经由多端口受控模块120上的某些端口要求最小平均数据带宽的主控模块。可在可取决于调度器225编程的任意时期内指定带宽以使得调度器225能够执行动作以达到要求。如果带宽关键主控器不能得到其最小带宽,则应用程序或系统产生故障。举例来说,在一些应用程序中,图I的显示器控制器103可属于此类别。延迟敏感主控模块可为当对多端口受控模块120的平均存取时间增加时其性能降低的主控模块。举例来说,在一些应用程序中,图I的微处理器核心101可属于此类别。带宽敏感主控模块可为当通过多端口受控模块120的端口的平均带宽减小时其性能降低的主控模块。举例来说,图I的高速外围设备总线主控器104可属于此类别。对数据流时序不敏感的主控模块可为不显示出对用户有任何可见影响的主控模块。一般来说,调度器225和多端口受控仲裁器280经配置以中断来自不敏感主控模块的突发从而有利于来自时序敏感的主控模块的突发。还可依据流量控制区别主控模块。自限吞吐量主控模块具有本质有限的系统总线请求率。举例来说,链接到外部收发器的主控模块可受到其波特率的限制。无限吞吐量主控模块仅仅为系统有限的且能够潜在地使系统总线矩阵Iio和多端口受控仲裁器280中的请求达到饱和。因此,当向自限主控模块准予存取时,很快会出现新的请求的可能性较低。依据性能目标,为主控模块请求排序时,调度器225和多端口受控仲裁器280能够首先或最后向自限主控器准予存取。在操作中,调度器225能够向多端口受控仲裁器280提供更新的主控器分类信息以反映出下个突发主控器请求的主控器分类。在断言用于当前突发的地址和控制信息后,调度器225能够提供用于下个突发的更新的主控器分类信息。举例来说,根据对来自主控模块的新的请求进行评估时由调度器225进行的新的调度仲裁,在当前突发期间的任何时候,调度器225都能够提供用于下个突发的经更新的主控器分类信息。表2展示用于预期突发信息的实例性类别以及对应的实例性符号和值。所述类别标记有“下个主控器突发请求”(NMBR)。一般来说,调度器225发送预期下个突发信息以通知多端口受控模块120与当前或过去主控模块及突发相关的即将到来的主控模块及突发。所述类别指示起始突发中断的时间或起始已中断突发的突发恢复的时间。可同时发送预期突发信息且将相同的时钟时序看作主控器分类信息。
权利要求1.一种微控制器系统,其特征在于包括 多个主控器; 多端口受控器,所述多端口受控器包含多个受控器端口以及一多端口受控仲裁器,其中所述多端口受控仲裁器经配置以在所述受控器端口之间作出仲裁; 系统总线,其使所述主控器与所述多端口受控器连接;以及 调度器,其经配置以向获胜主控器准予总线存取以在所述获胜主控器与所述多端口受控器之间传递数据突发; 其中所述调度器经配置以向所述多端口受控仲裁器提供调度信息,所述调度信息包含主控器分类信息以及预期突发信息,所述预期突发信息是基于调度器对于预期主控器对所述多端口受控器的预期总线存取的确定,所述主控器分类信息将所述预期主控器分类。
2.根据权利要求I所述的微控制器系统,其特征在于所述多端口受控仲裁器经配置以接收所述调度信息且使用所述调度信息在所述受控器端口之间作出仲裁。
3.根据权利要求I所述的微控制器系统,其特征在于所述多端口受控器为管线式存储器模块。
4.根据权利要求I所述的微控制器系统,其特征在于所述主控器分类信息是基于所述主控器的带宽和/或延迟要求,且其中所述多端口受控仲裁器和所述调度器经配置以使用所述主控器分类信息确定总线存取的优先级。
5.根据权利要求I所述的微控制器系统,其特征在于所述调度器经配置以通过中止当前受控器端口上的所述当前突发来中断所述当前突发且在所述当前受控器端口上起始新的突发。
6.根据权利要求I所述的微控制器系统,其特征在于调度器经配置以恢复所述先前受控器端口上的所述先前已中断突发。
7.根据权利要求I所述的微控制器系统,其特征在于所述多端口受控器经配置以向所述调度器发送确认以承诺恢复所述先前已中断突发,且其中所述调度器经配置以响应于接收到所述确认而针对所述先前已中断突发向先前主控器准予恢复总线存取。
专利摘要本实用新型提供一种微控制器系统,其特征在于包括多个主控器;多端口受控器,所述多端口受控器包含多个受控器端口以及一多端口受控仲裁器,其中所述多端口受控仲裁器经配置以在所述受控器端口之间作出仲裁;系统总线,其使所述主控器与所述多端口受控器连接;以及调度器,其经配置以向获胜主控器准予总线存取以在所述获胜主控器与所述多端口受控器之间传递数据突发;其中所述调度器经配置以向所述多端口受控仲裁器提供调度信息,所述调度信息包含主控器分类信息以及预期突发信息,所述预期突发信息是基于调度器对于预期主控器对所述多端口受控器的预期总线存取的确定,所述主控器分类信息将所述预期主控器分类。
文档编号G06F13/24GK202815824SQ201120543840
公开日2013年3月20日 申请日期2011年12月12日 优先权日2011年8月3日
发明者弗兰克·卢纳迪尔 申请人:爱特梅尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1