片上总线与传统总线体系的比较
黯影冰风 2022-09-28

  SoC(SystemON Chip,片上系统)以其能提高产品性能、缩小产品体积等优点,逐渐成为嵌入式系统发展的主流趋势。SOPC(SySTem On a Programmable Chip,可编程片上系统)利用器件来实现SoC,具有设计方式灵活,可裁减、可扩充、可升级,并具备软硬件在系统可配置的性能。将处理器IP(Intellectual Property,知识产权)内核嵌入到可编程逻辑器件是SOPC设计的前提条件。

  在Altera的FPGA器件上嵌入处理器等IP核可实现SOPC,设计时可使用的RISC处理器核有3种:ARM的工业标准处理器硬核ARM922T、Altera的16位Nios和32位Nios II处理器软核,而片上总线可采用AMBA和Avalon两种总线。在嵌入了ARM922T的Excalibur系列FPGA上,使用了AMBA总线的高性能总线AHB(Advanced High-performance Bus);而在可嵌入Nios的FPGA上则使用Avalon总线。这两种总线也是目前SoC设计使用较多的片上总线标准。

  1 片上总线与传统总线体系的比较

  片上总线是实现SoC中IP核连接最常见的技术手段,它以总线方式实现IP核之间的数据通信。片上总线规范一般需要定义各个模块之间初始化、仲裁、请求传输、响应、发送接收等过程中的驱动、时序、策略等关系。

  传统总线协议中,仲裁器控制一至多个总线主设备与从设备的通信。总线主设备首先通过仲裁器来申请总线控制权,然后仲裁器才允许单一主设备访问总线。如果多个主设备试图同时访问总线,仲裁器将根据既定的仲裁策略,将总线资源分配给其中一个主设备。例如,在优先级仲裁机制中,优先级高的主设备将首先得到总线控制权。

  控制总线的主设备会占用总线,并与相应从设备通信。图1说明了优先级仲裁总线体系的结构,该体系在传统系统中工作良好。由于主、从设备是位于印制板或底板上的独立部件,总线需要驱动底板上的信号和。而且,鉴于有限的印制板资源和可用I/O引脚数目,所有系统部件还必须共用总线。

  片上总线无需驱动底板上的信号和连接器,使用更简单且速度更快;同时,为了满足带宽要求,片上总线普遍采用并发多主设备总线体系。这种总线体系通过消除传统总线系统中一次仅有一个主设备可以访问系统总线的带宽瓶颈,来增加系统带宽。在此体系中,总线主设备竞争的是独立的从设备,而非总线本身。

  2 AMBA总线及其应用

  2.1 AMBA总线

  AMBA(Advanced Microcontroller Bus Architecture)总线用于高性能嵌入式系统,独立于处理器和制造工艺技术,增强了各种应用中外设和系统宏单元的可重用性。AMBA是多总线体系,目前的AMBA总线规范2.0版定义了3种可以组合使用的总线体系:APB(Advanced Peripheral Bus),ASB(Advanced System Bus),AHB。AHB是现阶段AMBA的主要形式。

  典型的AMBA总线结构如图2所示。其中的高性能系统总线(AHB或ASB)主要用以满足CPU和存储器之间的带宽要求。CPU、片内存储器和DMA等高速设备连接在系统总线上,而系统的大部分低速外设则连接在低带宽总线APB上。系统总线和外设总线之间用一个桥接器(AHB/ASB-APB-Bridge)连接。

  AHB适用于高性能、高时钟频率的系统。作为高性能系统的骨干总线,AHB主要用于高性能、大吞吐量设备之间的连接,如CPU、片上存储器、DMA设备和DSP或其它协处理器等,有支持并发多主设备、支持多种数据传输方式等主要特性。

  在不必使用AHB的高速特性时,可选择ASB作为系统总线。ASB也支持CPU、片上存储器和片外处理器接口与低功耗外部宏单元之间的连接。ASB的主要特性与AHB类似,主要不同点是采用同一条双向数据总线来读、写数据。

  APB非常简单,适用于低速、低功耗的外设,只有一个总线主设备控制器,最大支持32位数据总线宽度,读、写数据总线分开。

  2.2 AMBA在Excalibur器件中的应用

  嵌入了ARM922T的Excalibur器件使用AHB1和AHB2两种总线提供有效处理数据给不同片上外设:AHB2上的低速外设和AHB1上的高速外设。其优点是可以分开高、低速外设,最大发挥较快外设的性能,从而提高整个系统的性能。图3给出了基于ARM922T的Excalibur器件总线体系。

 

  该总线体系通过总线桥允许ARM922T访问片上外设和PLD。PLD中的外设通过PLD到模块的桥访问AHB2外设。在AHB1和AHB2总线上都有片上存储器单元(SRAM、双口SRAM和SDRAM)。为避免数据出错,总线内部仲裁在每个存储器单元中完成。

  3 Avalon总线及其应用

  3.1 Avalon总线

  Avalon总线是SOPC设计中连接片上处理器和其它IP模块的一种简单总线协议,规定了主、从构件之间的端口连接以及通信时序关系。使用Avalon总线,能优化处理器和外设间的数据流,提高系统的吞吐量,并且允许根据应用特性裁剪总线体系,从而获得最佳的系统性能。Avalon总线有支持并发多主设备、自动生成仲裁机制、可配置等主要特性。

  在基于Nios或者Nios II软核的系统中,Avalon总线通过器件内部的互连逻辑来连接处理器和其他外设。当某外设接收多个资源的数据时,多路复用器选择正确数据。主设备无需访问某个特定从设备时,它们之间的互连逻辑将被取消,从而节省硬件资源。

  主-从设备对之间有专门接口,因此多个主设备可以同时启动,并发传输数据给从设备。只有一个主设备访问某从设备时,该主设备可以立即访问目标从设备。有两个主设备的并发多主设备的总线体系能提供高达两倍的吞吐量;有3个主设备时,则能提供高达3倍的吞吐量。

  两个主设备竞争同一个从设备时,需要执行从设备仲裁。对于基于Nios或者Nios II的系统,系统生成软件SOPC Builder完全在Avalon总线模块内执行从设备仲裁。可被多个主设备访问的从设备都有一个仲裁器,在SOPC Builder中也可以设置仲裁优先级。

  Avalon总线是如何实现从设备仲裁的。其中,系统主设备CPU和DMA控制器共享同一个从设备(数据存储器外设),数据存储器完成仲裁。如果所有主设备同时开始与从设备的数据传输,仲裁器会指定获得从设备访问权的主设备。CPU使用和DMA控制器之间的互连来建立DMA传输。

  3.2 Avalon在SOPC设计中的应用

  在FPGA系列器件上基于Nios或者Nios II进行SOPC设计时,Avalon总线规范由系统生成工具SOPC Builder自动生成。Avalon总线模块作为系统模块的主干,使系统外设间实现通信,很少作为分离单元使用。系统要与片外存储器通信时,必须在Avalon总线和连接外部存储器的总线之间加入Avalon三态桥,一个Avalon总线模块框图的实例。此时,需要选择总线输入信号是否需要寄存器寄存。寄存器会提高片外时钟寄存逻辑的最大频率,同时也增加延迟。

  4 两种片上总线比较

  AMBA和Avalon的不同点,决定了其应用范围的不同。AMBA总线规范拥有众多第三方支持,已成为广泛支持的现有互连标准之一,主要用于基于ARM处理器核的SoC设计中。Avalon则主要用于在Altera系列FPGA上实现SOPC,其配置的简单性、可由EDA工具快速生成等优点,再加上受Altera极力推荐,其影响范围也不可忽视,Nios II处理器的高性能也进一步扩充了Avalon总线的应用范围。AMBA和Avalon这两种总线都具有支持多主设备控制器、支持多种传输方式等特点,从而能满足片上总线的要求。

  5 结束语

  系统中片上总线的选择需要考虑总线的性能、应用范围、可用IP核资源等,总线的具体应用形式也各有其特性。文中将片上总线与传统总线进行比较,介绍了并发多主设备总线体系;同时通过对AMBA和Avalon两种片上总线的详细分析、比较,针对它们的不同特性及具体应用形式阐述了各自的应用范围,从而方便设计师对这两种片上总线的充分理解,为SOPC及其他SoC设计中的片上总线选择和应用提供了参考。除了AMBA和Avalon之外,SoC设计中还可以选用IBM的CoreConnect、Silicore的Wishbone等总线,它们也各有其特点和适用领域。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 处理器
  • DSP
  • CPU
  • GPU
  • pcie和pci插槽的区别

      现在主板上的插槽基本上都是PCI插槽或者PCI-E插槽,这两种插槽有什么区别呢?主要是插哪些卡的呢?现在我们就针对这两个不同的插槽进行详细的分析。   PC

    11-30
  • 处理器单元优缺点对比

      带有多个处理单元的SoC器件目前是产品设计链上的重要一环。本文综合各种因素评估了不同处理单元的优缺点,并通过卫星无线电接收器的设计实例帮助开发人员理解SoC

    11-30
  • 怎样设计实现一个基于DSP和PCI总线的通信数据采集系统?

    随着数字信号处理器性能的不断提高及其成本与售价的大幅下降,数字信号处理应用领域飞速扩展,信号处理进入了一个新的发展时期。同时随着计算机技术以及互联网络技术的不断

    11-29
  • cpu总线逻辑上的三个分类

    cpu和其他芯片连接的导线,通常称为总线,从物理意义上讲,就是由一根根组成的。根据传送的信息的不同,从逻辑上可以分为地址总线、数据总线、控制总线。1.地址总线:

    11-29
  • TI C6000系列DSP的片内总线架构、存储系统和外设

      TIC6000系列的DSP的内部总线架构、存储系统和各种外设(如EDMA3和PRU等),特别是片内的程序数据RAM和Cache系统,以及外设的EDMA控制器

    11-24
  • 基于ADSP21062的雷达信号处理系统的调试

            ADSP2106x SHARC是一个适用于语音、通信和图像处理的高速32位数字信号处理器。该芯片是基于ADSP21000系列DSP芯片发展起来的一个完整的单片系统,增加了一个双口片内SRAM,并集成了I/O设备。借助它的片内指令缓存,处理器可以在一个时钟周期内执行每一个指令。ADSP2106x SHARC体现了数字信号处理器的一个新的集成标准,它把一个高速运行的浮点DSP主处理器与...

    11-24
  • 提升 WLAN 測試系統的量測速度

    概觀由於業界正不斷降低測試成本,許多 RF 測試工程師更必須縮短量測時間。如你所想,無線區域網路 (WLAN) 裝置的測試作業亦必須迎合此趨勢。不論是設計檢驗的自動化測試系統,或最後的生產測試作業,測試系統的量測速度愈趨重要。然而在許多情況下,除了縮短測試時間並降低成本之外,亦不能犧牲測試的精確性與可重複性。此篇技術文件將針對 WLAN 量測作業,說明可影響量測速度的多個平衡要素。在了解相關概念之...

    11-17
  • 智能控制的半导体激光器电源设计

    由于具有体积小、重量轻等特点,半导体激光器(LD)在信息、通讯、医疗等领域得到日益广泛的应用,且与电子器件结合实现单片光电子集成。但是LD 容易受到过电压、电流

    11-17
  • 和CPU同样重要 教你读懂手机之内存篇

      经常关注手机圈的朋友都会对智能手机有着自己的倾向,这也是根据不同需求而定的,人们在挑选手机时也会不自觉的主要关注自己感兴趣的点。像屏幕、处理器、电池容量、摄

    11-16
  • 可编程片上系统(PSoC)电源管理方案

    为什么要关心电源管理?由于多种因素,电源管理正变得非常重要。对于移动手持嵌入式系统来说,总是存在着在增加电池寿命的同时要提供更多功能的压力。当电池本身无法提高却

    11-15
  • 测试 3G 手机的 DigRF 技术

        一种生产型测试仪应有这种能力,即在各次测试间对测试仪硬件和DUT作必要修改时,仍保持数字子系统的运行。它使测试仪能够维持相对于DUT输出的选通时序,避免在正式运行中的选通相位重调,节省了测试时间。      下一个重要的测试挑战是寻找一个能处理多级不确定性数据包传输性能的方式。如图3所示,在DUT的每个RF接收测试期间,测试仪都不知道每个包会在哪个测试循环中传输,包的类型会是什么,或者包的...

    11-14
  • SoC基本概念和设计流程

      集成电路的发展已有40年的历史,它一直遵循摩尔所指示的规律推进,现已进入深亚微米阶段。由于信息市场的需求和微电子自身的发展,引发了以微细加工为主要特征的多种

    11-10
下载排行榜
更多
广告