当前位置:首页 > 智能硬件 > 智能硬件
[导读]本文简要介绍了AMD公司Am29LV160D芯片的特点,并对WISHBONE总线作了简单的介绍,详细说明了FLASH memory 与WISHBONE 总线的硬件接口设计及部分Verilog HDL程序源代码。

摘 要 : 本文简要介绍了AMD公司Am29LV160D芯片的特点,并对WISHBONE总线作了简单的介绍,详细说明了FLASH memory 与WISHBONE 总线的硬件接口设计及部分Verilog HDL程序源代码。
关键词 :闪存;接口;WISHBONE; FPGA

引言
    随着半导体工艺技术的发展,IC设计者已能将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,即SoC芯片。对片上系统(SoC)数据记录需要低功耗、大容量、可快速重复擦写的存储器。常用的介质主要有:动态存储器(DRAM)、静态存储器(SRAM)和闪速存储器(FLASH MEMORY)。DRAM容量大,但需要不断刷新才能保持数据,会占用微处理器时间,同时增加了功耗;SRAM虽然不需要动态刷新,但价格太贵,并且断电后跟DRAM一样数据都无法保存。FLASH MEMORY是一种兼有紫外线擦除EPROM和电可擦除可编程只读存储器(EEPROM)两者优点的新型非易失存储器。由于它可在线进行电可擦除和编程,芯片每区可独立擦写至少1000 000次以上,因而对于需周期性地修改被存储的代码和数据表的应用场合,以及作为一种高密度的、非易失的数据存储介质FLASH是理想的器件选择。在我们设计的系统中,处理器是Openrisc1200,所用的FLASH是AMD与富士公司的Am29LV160D芯片。利用FPGA实现接口,由于Openrisc1200(OR1200)采用WISHBONE总线,所以本设计的接口具有可移植性。 

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

● 甚低功耗
工作在5MHz时, 电流典型值为:
睡眠模式下电流为200nA;
备用模式下电流为200nA;
读数据时为9mA;
编程/擦除模式下电流为20mA。
● 灵活的分块结构
一个16KB,两个8KB,一个32KB,和31个64KB块(字节模式);
一个8KB,两个4 KB,一个16 KB,和31个32 KB块(字模式);
支持整个芯片擦除;
复杂的块保护特性。
● 具有内部嵌入算法
内部嵌入擦除算法自动预编程和擦除整个芯片或任意块的组合;
内部嵌入算法自动将给定地址的数据写入芯片及对其校验。
● 与JEDEC标准兼容
● 具有硬件RESET复位与Ready/Busy擦写查询管脚
● 具有擦除暂停与擦除继续功能


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

    灵活性是WISHBONE总线的另一个优点。由于IP核种类多样,其间并没有一种统一的间接方式。为满足不同系统的需要,WISHBONE总线提供了四种不同的IP核互连方式: 
    点到点(point-to-point),用于两IP核直接互连;
    数据流(data flow),用于多个串行IP核之间的数据并发传输;
    共享总线(shared bus)(见图1),多个IP核共享一条总线;
    交叉开关(crossbar switch),同时连接多个主从部件,提高系统吞吐量。

FLASH接口的设计


    由于OR1200采用的是WISHBONE共享总线,其地址线为32位,数据线也为32位。设计中采用将低位与FLASH相联接,并将接口位度设计为16位。原理框图如图2所示。逻辑接口部分采用FPGA来实现。系统选用Xilinx公司最新推出的90nm工艺制造的现场可编程门阵列芯片Spartan-3来实现接口设计,利用它的可编程性特性带来了电路设计的简单化和调试的灵活性。

FLASH读接口设计
    该接口可实现单周期读与块读功能,时序部分与WISHBONE兼容。由于采用的FLASH最大读周期时间至少为90ns,故只有在总线时钟工作在10MHz以下频率时可以直接将ACK_O端口与STB_I端口相联。当MASTER(指令CACHE)发出块读信号时,将发出一个LOCK_O=VIH信号给总线仲裁器,要求总线能不间断提供总线。其对SLAVE(FLASH接口部分)控制信号为:
WE_I=VIL,CYC_I=VIH,STB_I=VIH,BYTE=VIH

    当MASTER结束块读时发出STB_O= VIL信号即可。其输出接口部分如图3所示。
该输出接口模块源代码如下:
module WBOPRT16(CLK_I, RST_I,WE_I,STB_I,ACK_O,DQ_I,DAT_O); 
 //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
---if (!RST_I)
---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移除所有先前保护的块恢复到保护状态。

    图4中RV控制信号处采用了R=5kΩ,C=100pF,以便使得VID电压上升时间与下降时间≥500ns,从而满足相应的时序要求。肖特基二极管的引入保证了系统RESET信号被钳制在Vcc+0.3V以内。总体上来说,该电源隔离电路的引入对整个系统的成本影响很小,而使系统可以在线编程被保护的FLASH存储块。

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

总结


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

参考文献
1 AMD Am29LV160D Data Sheet .AMD Corporation
2 WISHBONE SoC Architecture Specification. 
Revision B.3. Silicore Corporation
3 邓良惠,梁国龙. 超大容量FLASH闪存与
DSP的数据存储接口技术.设计与应用
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭