SOPC设计中的两种片上总线分析与比较

发布者:theta18最新更新时间:2011-08-23 关键字:SOPC设计  片上总线 手机看文章 扫描二维码
随时随地手机看文章

      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中也可以设置仲裁优先级。
   

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

  
        3.2 Avalon在SOPC设计中的应用
   

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

         4 两种片上总线比较
   

        对两种总线的主要特性进行比较,结果如表1所示。
 

       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等总线,它们也各有其特点和适用领域。

关键字:SOPC设计  片上总线 引用地址:SOPC设计中的两种片上总线分析与比较

上一篇:汽车电力载波总线系统的应用设计
下一篇:采用CAN/LIN总线的教学楼智能照明系统

推荐阅读最新更新时间:2024-05-02 21:32

智能命令行设计及其在SOPC系统中的应用
命令行是计算机系统中最重要的组件之一。它可以帮助开发人员更方便的控制系统。在调试过程中,可以让开发人员随时变更测试方法。 FPGA的成本越来越低,FPGA上的嵌入式系统(SOPC)也应用得越来越广泛。但是相对其他成熟的计算机体系,SOPC系统现在还没有命令行。为了更好的推广SOPC应用,笔者开发了一个智能的命令行模块,可以调用系统中的任意函数,降低了开发人员的使用难度。在最小配置时,它只有大约1000行代码,占用14KB存储容量,可以放在完全由FPGA片内资源构成的计算机系统中。它的结构也具有很好的扩展性,开发人员可以结合自己的需求,轻松添加命令,丰富它的特性。 命令行框架设计 1 总体设计 好的命令行要具有扩展性,开发人
[嵌入式]
基于NiosII的SOPC多处理器系统设计方法
两个或多个微处理器一起工作来完成某个任务的系统称为“多处理器系统”。传统基于单片机的多处理器系统结构复杂,可靠性差;而基于32位的嵌入式软核处理器NiosII的SOPC(可编程片上系统)多处理器系统解决方案,从根本上改变了多处理器系统的设计理念和方法。使用Altera公司的NiosII软核处理器和SOPC Builder工具,可以快速地设计和建立共享资源的多处理器系统。多处理器系统一般用于工作站和使用分载(load-sharing)的复杂算法(称为“对称多处理器SMP”)的高端PC计算。对于大部分嵌入式系统,当SMP的开销太大时,使用多个处理器执行不同的任务,实现不同的功能正引起越来越多的关注。Altera公司的FPGA为开发非对
[工业控制]
SoPC技术在图像采集和处理系统中的应用设计
  随着计算机技术和人工智能技术的快速发展,图像识别技术已成为人工智能的基础技术,它涉及的技术领域越来越广泛,应用越来越深入。随着现代工业生产向高速化、自动化方向的发展,以形状为特征的图像识别在现代生产中的应用日益增加,不论是材料、工业自动化、遥感技术,还是产品质检都需要对形状进行检测。因此,开发集图像信号的采集与处理于一体、具有高集成度、高保密性的图像处理系统将成为行业的发展趋势。此外,基于32 bit微处理器纯嵌入式系统的图像采集处理技术正处于方兴未艾阶段,发展前景广阔,可广泛应用于工业自动化生产、监护/防盗系统、机器人视觉等技术中。SoPC技术是Altera公司提出的一种灵活、高效的SoC解决方案,是一种新的软硬件协同设计的系
[嵌入式]
基于SOPC技能的车辆电子后视镜系统设计
    随着电子技术的发展,许多智能化技术被广泛应用到车辆上,车辆后视镜系统作为重要的安全辅助装置也经历了几代的技术发展 。目前车辆后视镜系统出现了两种新技术:后视摄像和倒车雷达。前者图像直观、真实,但无法给出精确的距离;后者能精确地测量距离,但对于车后方的水坑、凸出的钢筋等无法做出反映,因此存在安全上的死角 。车辆上的雷达测距有以下几种:激光测距、微波测距和超声波测距。前两者测量距离远、测量精度高,但成本很高;后者成本低,但测距范围通常小,在倒车速度稍快时安全性不佳。     本文提出了一种基于SOPC 技术的车辆电子后视镜系统,该系统可以实时显示车辆后方的图像,并利用双频超声波实现了10m 以上的大范围测距,同时该系统具有
[嵌入式]
基于SOPC的空调智能温度控制器的设计
1 引言   智能控制是控制界新兴的研究领域,是一门边缘交叉学科。智能控制的一种定义为:应用人工智能的理论和技术及运筹学的优化方法同控制理论方法与技术结合,在未知环境下,仿效人类的智能,实现对系统的控制。微电子技术界各大芯片生产厂家均推出了专用的神经网络芯片和模糊芯片,采用这种高速的专用芯片,大大方便了智能控制应用系统的实现。本文采用现场可编程门阵列(FPGA)技术,对智能控制器的设计和实现进行研究。   2 控制器硬件设计   控制器主芯片采用ALTERA公司的型号为APEX系列的FPGA芯片,芯片型号为EP20K200EFC484-2X。APEX20K系列器件是一个具有多核结构的PLD器件系列,支持可编程单芯片系统SOP
[工业控制]
基于<font color='red'>SOPC</font>的空调智能温度控制器的<font color='red'>设计</font>
SOPC中NiosII的LCD显示驱动IP设计
  引言   NioslI嵌入式处理器是A1tera公司提出的SOPC解决方案,是一种用户可随意配置和构建的32位嵌入式处理器,结合丰富的外设可快速、灵活地构建功能强大的SOPC系统。Altera公司提供了一些通用的IP核,使得用户可轻松集成属于自己的专用功能;但对于一些特定的外设,没有现成可用的IP核,如液晶模块CBGl28064等。   用户可通过自定义逻辑的方法在SOPC设计中添加自定义IP核。在实际应用中,LCD液晶显示器凭借功耗低、体积小、轻薄及控制驱动简单等特点,在智能仪器、仪表和低功耗电子产品中得到了广泛应用。本文以深圳秋田视佳实业有限公司的液晶显示模块CBGl28064为例,在基于NioslI的SOPC系统中
[嵌入式]
<font color='red'>SOPC</font>中NiosII的LCD显示驱动IP<font color='red'>设计</font>
基于OR1200的嵌入式SoPC硬件平台设计
摘要:针对现有商业SoPC系统的固有问题,提出了基于开源IP核与软件资源的SoPC系统硬件平台构建方案,并使用Cyclone FPGA进行了实际验证,证明了该硬件平台的实用性。探讨了该平台在普及SoPC技术和研究更高性能系统方面的积极作用。 关键词:OpenRISC1200可编程片上系统IP核 FPGA SoC(System on Chip)片上系统是现代电子系统设计的一个发展方向,它将原先分立的多个芯片集成在一块芯片上,通过提高芯片的集成度、减少系统芯片的数量和相互之间的PCB连线、减少PCB面积来降低整个系统的成本,同时使系统的性能、功能和可靠性都有很大的提高。随着新型的高性能、低成本FPGA的出现和综合技术的提高,基于
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved