地址不变突发是一个总线周期,在这个总线周期中完成多次操作,但是地址不变。地址不变突发的典型应用是以dma方式读/写fifo。主设备在时钟的某一个上升沿将cti()置为3’b001后,下一个周期的操作必须与本周期,包括sel_o()信号也不能改变,即在地址不变突发中的每一次操作除传输的数据可能发生变化外其他都是相同的。
图27 wishbone总线的地址不变突发示例
图27给出了一个地址不变突发写总线周期示例。图中主设备和从设备一共进行了4次操作。
在时钟上升沿0,主设备将地址信号adr_o()放到总线上,将数据信号dat_o()、tgd_o()放到总线上,将we_o置为高表示写操作,将cti_o()置为3’b001表示地址不变突发总线周期,将适当的sel_o()信号置高通知从设备将数据总线上哪些信号是有效的,将cyc_o和tgc_o置高表示操作正在进行,将stb_o置高表示第一次写操作开始。
在时钟上升沿1,从设备检测到主设备的写操作,将dat_i()采样,并置高ack_o。
在时钟上升沿2,主设备检测到ack_i为高,知道第一次传输顺利完成,由于数据没有准备好,于是将stb_o置低表示插入等待周期。
在等待周期,从设备知道地址不变突发写操作仍然在进行,因此一直将ack_o置高。但是此时主设备和从设备知道没有真正的传输发生。
在时钟上升沿3,主设备已经将新的数据准备好,于是将stb_o置高表示第二次写操作开始,并更新dat_o()。
在时钟上升沿4,从设备检测到主设备的写操作,将dat_i()采样。同时从设备发现没有足够的空间存储数据或者由于其他原因不能及时接收新的数据,于是将ack_o置低插入等待周期。主设备检测到ack_i为高,于是发起第三次操作,更新dat_o()。
在时钟上升沿5,从设备发现可以继续接收数据,于是将dat_i()采样并将ack_o置高。
在时钟上升沿6,主设备检测到ack_i为高,于是发起第四次操作,更新dat_o(),同时将cti_o置为3’b111表示本次操作为最后一次操作。
在时钟上升沿7,从设备将dat_i()采样,并根据cti_o为3’b111知道本次地址不变突发写操作完成,于是将ack_o置低。
诺基亚8.1 Plus曝光采用了打孔屏将配备骁龙710或者更强的新处理器
智能电能表上指示灯的含义
MSP430单片机的比较器工作原理解析
医疗废物实时监管追溯系统的优势与作用
25G光模块的四种分类,主要用在25G以太网和100G(4×25Gbps)以太网中
Wishbone总线的地址不变突发示例
M5年度热销产品TOP10
AirPods Pro或将在本月底推出,支持高级别的防尘防水
移远通信携手长城汽车和中国联通计划展开5G战略合作
中国电信宣布李正茂获委任为公司总裁兼COO首席运营官
苹果又被起诉 Apple Watch的“紧急求救”功能被指涉嫌剽窃
Linux内核的物理内存组织结构详解
智能建筑技术正处于测试和升级的阶段
米尔科技ARM编译器介绍
插电式混动车型有哪些_插电式混动车型推荐
SpaceBok是一个可以在月球或者小行星等低重力体上行走的四足机器人
我国将陆续投产4架大型灭火水上救援水陆两栖飞机鲲龙AG600
VDSL2技术发展及芯片解决方案分析
脉冲变压器怎样组成IGBT驱动?快速检查IGBT元器件损坏的方法
华为mate10什么时候上市?华为mate10发布会时间确定:外观、配置确定,价格良心,何必买iPhonex