ARM总线方面知识

  

AMBA简介

随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用。在基于IP复用的SoC设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。
       AMBA片上总线
       AMBA 2.0规范包括四个部分:AHB、ASB、APB和Test Methodology。AHB的相互连接采用了传统的带有主模块和从模块的共享总线,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。 AMBA已不仅是一种总线,更是一种带有接口模块的互连体系。下面将简要介绍比较重要的AHB和APB总线。

       基于AMBA的片上系统

  一个典型的基于AMBA总线的系统框图如图3所示。

大多数挂在总线上的模块(包括处理器)只是单一属性的功能模块:主模块或者从模块。主模块是向从模块发出读写操作的模块,如CPU,DSP等;从模块是接受命令并做出反应的模块,如片上的RAM,AHB/APB 桥等。另外,还有一些模块同时具有两种属性,例如直接存储器存取(DMA)在被编程时是从模块,但在系统读传输数据时必须是主模块。如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL 设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。AHB总线上最多可以有16个主模块和任意多个从模块,如果主模块数目大于16,则需再加一层结构(具体参阅ARM公司推出的Multi-layer AHB规范)。APB 桥既是APB总线上唯一的主模块,也是AHB系统总线上的从模块。其主要功能是锁存来自AHB系统总线的地址、数据和控制信号,并提供二级译码以产生 APB外围设备的选择信号,从而实现AHB协议到APB协议的转换。

AHB简介
       AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度;支持字节、半字节和字的传输。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。其互连结构如图1所示。

APB简介
       APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。APB上的传输可以用如图2所示的状态图来说明。

1)系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。
       2)当有传输要进行时,PSELx=1,PENABLE=0,系统进入SETUP状态,并只会在SETUP 状态停留一个周期。当PCLK的下一个上升沿时到来时,系统进入ENABLE 状态。
       3)系统进入ENABLE状态时,维持之前在SETUP 状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE 状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态。

以下是S3C2410的BLOCK DIAGRAM

时间: 2024-10-25 21:17:55

ARM总线方面知识的相关文章

13.ARM协处理器的知识

13.ARM协处理器的知识 在处理器中有协处理器来辅助处理器完成部分功能的,主要是协助作用. 协处理器: 协处理器用于执行特定的处理任务,如:数学协处理器可以控制数字处理,以减轻处理器的负担.ARM可支持多达16个协处理器,其中CP15是最重要的一个. ? 在ARM9.ARM11.cortexa8等核中,CP15的功能都是一样的. 在ARM11核的文档看到图1-1: The section gives an overall view of the system control coprocess

CAN总线基础知识

CAN总线基础知识(一) 1.1 CAN总线是什么? CAN(Controller Area Network)是ISO国际标准化的串行通信协议.广泛应用于汽车.船舶等.具有已经被大家认可的高性能和可靠性. CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平. "显性"具有"优先"的意味,只要有一个单元输出显性电平,总线上即为显性电平,并且,"隐性"具有"包

ARM汇编程序基本知识

ARM汇编程序基本知识 1.汇编程序的基本组成 ARM汇编语言程序中,程序是以程序段为单位组织代码的.段是相对独立的指令或者代码序列,拥有特定的名称.段的种类有代码段.数据段和通用段,代 码段的内容为执行代码,数据段存放代码运行时需要用到的数据,通用段不包含用户代码和数据,所有通用段共用一个空间.段使用AREA伪操作来定义,并且说 明相关属性,如 代码段定义 AREA Init, CODE, READONLY … 数据段定义 AREA Stack1,DATA,READWRITE,NOINIT,A

1.ARM的基础知识

ARM简述 ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权.ARM技术具有很高的性能和功效,因而容易被厂商接受.同时,合作伙伴的增多,可获得更多的第三方工具.制造和软件支持,这又会使整个系统成本降低,让产品进入市场的时间加快,从而具有更大的竞争优势. 一.ARM技术的应用领域及其特点 采用ARM技术IP核的微处理器遍及汽车.消费电子.成像.工业控制.海量存储.网络.安保和无线等各类产品市场. 1.什么是IP核? IP核是指拥有知识产权的控制功能单元.(IP核是一段具有特定电路功能的硬件

ARM总线架构

S3C2440集成了丰富了外设控制器(LCD控制器.USB Device控制器.USB Host控制器.NAND FLASH控制器.I2C控制器.SPI控制器等).要控制这些外设就要设置相应控制器的寄存器以产生相应的驱动时序.学习S3C2440,主要是如何配置寄存器.下面是S3C2440特殊功能寄存器地址: #define rBANKCON0 (*(volatileunsigned *)0x48000004) //Boot ROM control #define rBANKCON1 (*(vol

ARM各种版本号知识以及型号的发展(三星为例)

1.ARM型号的发展历史 2.单片机.工业上一般使用RTOS(实时操作系统),Linux.Android用在影音娱乐等对实时性要求没那么高的场合: 3.ARM内核版本号和Soc版本号是由ARM确定的,而Soc型号是由半导体公司确定的: 4.Cortex系列ARM产品线分割成了3个系列,这个是市场细分的需要和选择: 5.ARM已经发布了一些64位架构如A53等,主要面向高性能服务器类的应用: 6.ARM下一步重点发展方向是Cortex-M7,特点是低功耗,主要面向物联网终端. 参考来源: 朱有鹏老

CANopen——总线基本知识

1. 总线标准 2. 获取索引和子索引 2fh,2bh,23h,40h等,是不是对应cs的不同值: 主站1280h的对象字典?1280h-sub2,得到client的COB-ID值: 根据收到的m->data[0]的bit7,bit6,bit5,获取cs的值. SubCommand = (m->data[0]) & 1; 如何得到索引和子索引index = getSDOindex(m->data[1],m->data[2]);#define getSDOindex(byte

IIC总线学习基础以及24C02芯片学习(一)

一.IIC总线基础知识 1.IIC总线的特性:A.只有两条总线线路,一条串行数据线SDA,一条串行时钟线SCL.B.每一个连接到总线的器件都可以通过唯一的地址和一直存在的主机/从机关联,并由软件设定地址,也可以由硬件设定地址.主机可以作为主机发送器和主机接收器. 2.关于IIC的几个知识点: 二.24C02EEPROM芯片 1.EEPPROM是电可擦除存储芯片.掉电数据不丢失.管脚和定义如图: 2.24C02的写字节时序:

总结:ARM逻辑和高级C(朱老师物联网学习)

开始学习朱老师物联网的视频是国庆节的那几天开始的,刚刚开始的时候是想自己在网上找一些嵌入式方面的视频资料,也找了很多的资料臂如“国嵌视频”“达内的视频”,之后也化了十几块钱在淘宝上面买了几十个G的视频资料,看着资料蛮多的,咋的一看感觉资料多应该可以好好的学一下,但是看着看着,发现里面的资料太复杂了,不是很系统化. 那一段时间自己也很焦虑,学校里也有了招聘会,需要去找工作,自己又想好好的学习嵌入式相关的知识.一天晚上在床上玩手机,突然想着百度一下嵌入式的一些学习计划,于是在51CTO上看到了一个嵌