微控制器现在有一个惊人的数字,可以同时使用来卸载低级别的功能从CPU片上外设。这可以大大提高加工效率,降低功耗,并简化设计。你可能会在一个不幸的意外,不过,如果你的外设功能压倒内部总线接口和数据传输缓慢的大幅提升。幸运的是,微控制器制造商已经增加了新的,高效的总线接口,常与关键外设和片上存储器,可以帮助支持多种数据传输之间的多条路径。这些新的公交车确实有局限性,但是,由于连接一切,一切是在芯片面积和功耗方面过于昂贵。了解常见的使用模式,这些新的片上总线将帮助您创建,最大限度地提高数据传输带宽,高效的设计。本文将快速回顾一下一些常见的智能片上总线的功能并举例说明例如设计,充分利用这些关键功能。一些涉及的主题将包括:片上总线矩阵架构,采用DMA控制器,专用外设数据传输功能,智能缓存,公交优先系统,并中断控制。
通用总线接口架构
几个关键的架构方法出现在几乎所有的高性能总线互连结构。这并不奇怪,因为在关键战略支持高带宽是能够建立可独立运行多个并行连接。总线矩阵架构,几个总线控制器可以独立访问多个公交车奴,也许是最常见的构建块的高效率总线架构。飞思卡尔的Kinetis K70 MCU是需要有效的数据处理和移动互连架构类型的一个很好的例子。如图1所示,飞思卡尔的Kinetis K70 MCU使用多级总线矩阵,可八个单独的总线主控器和八个独立总线从设备之间相互连接。这是可能的多个主机和从独立运作。内存分配是非常重要的效益最大化。例如,以下操作可能所有操作在没有重叠平行:
•核心 - 在Flash中的说明和核心只有数据和堆栈的SRAM_L
•USB - 在SRAM_U数据缓冲区
•LCD控制器 - 图形缓冲区DDR
图1:飞思卡尔的Kinetis K70 MCU总线互连架构。 (飞思卡尔提供)飞思卡尔还提供了一个模块化开发平台,为K70,它的飞思卡尔Tower System的一部分,使通过可重构硬件快速原型和工具再利用。该TWR-K70F120M可与广阔的选择塔式系统的外设模块,包括新的TWR-LCD-RGB它从K70 MCU图形LCD控制器接受RGB数据。当两个或多个主机试图访问一个从端口,接口将使用仲裁算法,以确定哪些主机将首先访问端口。两种常见的仲裁方案,可以经常用于总线访问是固定的优先级或循环。在一个固定的优先级方案中的主优先级是固定的,通过优先级较低的主人给予高优先级的主站的访问权限。如果有几个主站以相等的优先权,以循环优先级方案可以被使用。在这个方案中的主人旋转优先为,随着时间的推移,有平等机会获得资源。通知的DMA访问总线矩阵的重要性。通常情况下,DMA传输是最节能的所以对DMA具有高效的主机访问总线矩阵是至关重要的。一些资源将有多个连接到总线矩阵 - 注意例如DRAM控制器 - 因为它们是多个主关键资源。这通过消除“访问阻塞”当多个主需要访问相同的资源,可能会发生,提高了整体性能。
高级外设总线结构,以提高效率
在许多MCU应用,外设的操作是一样的CPU和内存操作一样重要。它可以提高转换效率,如果有与关键外设功能以及基于CPU的功能,采用先进的总线接口。瑞萨RX600 MCU有多个外围总线,可用于更有效地传播带宽负载。如图2所示,RX600不仅具有用于面向CPU动作的总线矩阵(在该图的顶部示出),但多个外围总线(在图的底部示出),以更好地智能外设之间分配带宽。甲显著量周流量从来不需要访问CPU总线矩阵和这个提高了数据传输效率,而不增加CPU总线矩阵的大小,通常是更高的性能以及大芯片尺寸和更高功率子系统。
图2:瑞萨RX600多总线架构扩展带宽负载。
(瑞萨提供)在图2中有一次发生的6个分数据传输操作:
•CPU获取指令
•USB数据传送到CPU
•以太网数据移出的SRAM
•RGB数据被移出外部的SDRAM向LCD
•ADC值加载到SRAM
•定时器数据写入DAC输出
独立的外设总线的可用性可以在多个活动同时发生提供显著的效率提升。在具有较少的同时外周要求的系统的一个或两个外围总线可能是足够的。
双CPU核心架构
MCU可提供双CPU内核,像爱特梅尔SAM4C8CA,也有需要高性能总线接口,也许比单核的MCU甚至更多,因为以允许每个CPU访问关键资源平行是很重要的,使得整体系统性能不会受到影响。在许多实现一个CPU具有更高的处理能力,而其他有更少的能力。这是在需要较低能的系统控制器和性能更高的应用处理器设计是有用的。正如图3所示,爱特梅尔SAM4C8C具有一个CPU与浮点能力而另一个具有固定点的CPU。 SAM4C8C具有512 KB的闪存和128 + 16 + 8 KB的SRAM。处理任务被分配到适当的CPU,以提高效率。两个高速AHB多层总线矩阵互连用于支持处理重叠的最大量。独立的DMA控制器,中断控制器,支持无需CPU干预高效的数据传输。一个简单的异步AHB至AHB桥用于处理CPU的寻址空间之间的同步和数据传输,即使在DMA
控制。
图3:爱特梅尔双CPU内核SAM4C8CA总线接口架构。 (爱特梅尔提供)
低功耗,高效的数据传输
你可能会认为这样的多总线架构是针对最高性能的系统,但即使是低功耗应用可以利用高效的校车架构的优势。供应商的MSP430 MCU系列的德州仪器MSP430F5507IRGZR,集成了USB,LCD控制,以及高性能模拟所有小尺寸应用在单一芯片上。外设有几种方法用于操作自主,并且这可以帮助降低操作功率当CPU置于低功率模式,如图4。
图4:使用自主外设TI MSP430系列低功耗运行。 (TI提供)通过使用外围总线,即使在低功率的操作是可能的采样来自ADC数据,将数据传送到存储器,输出的PWM信号,更新LCD显示器,以及发送/接收串行数据通信保持活跃所有在CPU处于低功耗待机状态。需要注意的是快速唤醒时间使得可以外设请求需要时迅速作出反应,不燃烧一显著量的功率而醒来。甚至短的CPU的操作可以高效具有这样的能力。
总结
获得最大的表现出一个复杂的MCU需要显著量在需要时,向和从CPU外设和存储器和,之间的重叠总线活动的。通常情况下,最有效的实现将有多个传输同时不参与任何CPU的经营活动的。了解MCU的总线接口架构的能力和限制是实现效率的一种高层次的关键。