AHB(advancedhighperformancebus)高速高性能总线 AHB总线主要应用于一些高速、高性能的系统结构中,像一些RAM和CPU。也可以通过APBbridge去访问一些低速的外围设备,像键盘鼠标等。 AMBA系统示例 AHB系统中主要包含master,slave,arbiter和decode四个部分。master通过发送控制信息和地址信息进行读写操作。最大支持16个master。slave响应ster的读写请求,并且可以返回状态给master。arbiter会对master做冲裁,确保只有一个master能占用总线。decode通过对地址译码来确定slave。 AHB的接口信号 AHB的接口信号正常情况都是以字母H开头,区分去APBAXI。主要分为时钟,复位信号。地址信号,写数据,读数据 HTRANS〔1:0〕表示不连续,连续,空闲和忙状态。 HWRITE高代表写,低为读 HSIZE〔2:0〕字节,半字,字,一直到1024位 HBURST〔2:0〕突发类型,支持4,8,16bit的突发,支持递增和回环,详见AMBA文档 HPROT〔3:0〕保护控制,和APB中PPROT一样,目前没见过使用。 HSELdecode判断slave的选择信号 HREADY拉高时表示slave完成数据读写操作 HRESP〔1:0〕slave传输响应:Okey,error,retry和split。关于split,目前不理解 HBUSREQmaster向arbiter发起请求,获取总线控制 HLOCK拉高表示master锁定总线访问 HGRANTarbiter授权优先级最高的master,当HREADY和HGRANT同时为高时获得总线访问 HMASTER〔3:0〕arbiter指示那个master正在占用总线 HMASTERLOCK:不理解 HSPLIT不理解 AHB的总线传输方式:无等待有等待连续传输各种burst方式 master进行读写操作时,分为地址phase和数据phase。在第一拍地址phase中会传输地址和控制指令,像读写操作,HTRANS,HSIZE等。如果HREADY在第二拍数据phase拉高,完成读写数据的操作,此时无等待。如果HREADY没有拉高,需要等待其为高,此时会有等待。还有各种burst形式的传输方式,详细可以参考《AMBA总线规范》 无等待 不对齐场景