什么是WISHBONE总线?怎样设计一个基于WISHBONE总线FLASH闪存接口?

网友投稿 479 2022-11-22

什么是WISHBONE总线?怎样设计一个基于WISHBONE总线FLASH闪存接口?

引言

Am29LV160D芯片特点

Am29LV160D是一种仅需采用3.0V电源进行读写的闪存。该器件提供了70ns、90ns、120ns读取时间,无需高速微处理器插入等待状态进行速度匹配。为了消除总线竞争,芯片引入了片选使能(CE#),写使能(WE#)和输出使能(OE#)控制端口。芯片采用分块结构,非常适用于要求高密度的代码或数据存储的低功耗系统。

● 甚低功耗

睡眠模式下电流为200nA;

备用模式下电流为200nA;

读数据时为9mA;

编程/擦除模式下电流为20mA。

● 灵活的分块结构

一个16KB,两个8KB,一个32KB,和31个64KB块(字节模式);

一个8KB,两个4 KB,一个16 KB,和31个32 KB块(字模式);

支持整个芯片擦除;

复杂的块保护特性。

● 具有内部嵌入算法

内部嵌入擦除算法自动预编程和擦除整个芯片或任意块的组合;

内部嵌入算法自动将给定地址的数据写入芯片及对其校验。

● 与JEDEC标准兼容

● 具有擦除暂停与擦除继续功能

WISHBONE总线简介

WISHBONE总线规范是一种片上系统IP核互连体系结构。它定义了一种IP核之间公共的逻辑接口,减轻了系统组件集成的难度,提高了系统组件的可重用性、可靠性和可移植性,加快了产品市场化的速度。WISHBONE总线规范可用于软核、固核和硬核,对开发工具和目标硬件没有特殊要求,并且几乎兼容所有的综合工具,可以用多种硬件描述语言来实现。

灵活性是WISHBONE总线的另一个优点。由于IP核种类多样,其间并没有一种统一的间接方式。为满足不同系统的需要,WISHBONE总线提供了四种不同的IP核互连方式:

点到点(point-to-point),用于两IP核直接互连;

数据流(data flow),用于多个串行IP核之间的数据并发传输;

共享总线(shared bus)(见图1),多个IP核共享一条总线;

FLASH接口的设计

FLASH读接口设计

当MASTER结束块读时发出STB_O= VIL信号即可。其输出接口部分如图3所示。

该输出接口模块源代码如下:

//WISHBONE SLAVE interface

---input CLK_I,RST_I,WE_I,STB_I;

---output ACK_O;

---output [15:0] DAT_O;

---//non-WISHBONE interface

---input [15:0] DQ_I;

---reg [15:0] DAT_O;

---always @(posedge CLK_I or negedge RST_I)

---begin :label_A

---DAT_O《=16’b0;//asynchronous reset

---else if ((STB_I & !WE_I)==’b1)

---DAT_O《=DQ_I;

---else

---DAT_O《=DAT_O;

---end

---assign ACK_O=STB_I;

---endmodule

FLASH写接口设计

因为FLASH写命令需要多个时钟周期时间,其中采用Unlock Bypass模式时为2个时钟周期,采用正常写模式需要4个时钟周期,并且在对FLASH写和擦写时更是需要等待几十微秒到几秒钟的时间,因此对接口SLAVE必须引入写或擦写完成状态信号来控制总线数据的传输。为简化设计采用RY/BY引脚来判断。输出端口原理图与图3类似,只需对部分端口进行修改即可。

为了能够对块保护的程序代码进行升级,特别设计了一个12V电源电路来实现暂时块写保护解除功能,如图4所示。利用Am29LV160D芯片提供的暂时块写保护解除模式——即通过对RESET#引脚加VID电压。在该模式下先前被保护的块可以通过块地址选中来进行编程和擦除。并且一旦VID移除所有先前保护的块恢复到保护状态。

在进行FLASH编程时部分要用到命令总线时序定义,如表1所示。

总结

本文介绍了AMD公司Am29LV160D芯片特点,并在此基础上设计了基于WISHBONE总线的接口。该接口设计方法对其他相关SoC总线接口设计具有直接的参考意义。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HBase面试题整理
下一篇:Java web项目中的强制登录功能实现代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~