0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用CPLD产品实现大容量FLASH存储器的接口设计

电子设计 来源:郭婷 作者:电子设计 2019-08-09 08:00 次阅读

FLASH存储器(FLASH Memory)是非易失存储器,即使在供电电源关闭后仍然能保留信 息, 可以对存储器单元块进行擦除和再编程,并且不需要额外的编程电压。FLASH存储器具有工 作电压低、擦写速度快、功耗低、寿命长、价格低廉、控制方法灵活、体积小等优点。近年 来,FLASH存储器在嵌入式系统代码存储和大容量数据存储领域中得到了广泛的应用。本文介绍了使用XCR3032实现K9K1G08U0M与微控制器接口原理,给出了VerilogHD L实现程序。对大容量FLASH存储器的接口设计具有一定的参考价值。

1XCR3032

XCR3032是Xilinx公司生产的CoolRunner XPLA3系列CPLD。他具有如下特点:

低功耗供电电压仅为2.7“3.6 V。他采用Fast Zero PowerTM( FZP)技术,使得器件的静态电流非常低(小于100 μA);频率为10 MHz时,工作电流仅为1 06mA,比其他公司的CPLD小50%”67%。

高性能具有32个宏单元,器件所有信号具有等延时,与路径无关,t PD最快可达5 ns。最高运行时钟频率可达200 MHz,多时钟资源使得设计更加方便 。

总线接口友好特别适合应用于3.3 V系统中,可无需外接上拉电阻而与5 V器件直接接口。

具有Port Enable管脚使得JTAG管脚具有在系统可编程接口和通用I/O口 2种功能。芯片不处于编程状态时,仍可用作一般I/O口。

快速ISP编程可达至少1万次的编程擦除次数。

XCR3032最显著的特点是低功耗和高速度。特别适用于手持、移动等功耗比较低的系统中。 如PDA、笔记本电脑、移动电话等领域。

2K9K1G08U0M

K9K1G08U0M是韩国三星(Samsung)公司采用NAND技术生产的128 MB大容量、高可靠、非 易 失性FLASH存储器,具有高密度、高性能的特点。该器件所提供的片内控制器、状态寄存器 和专用命令集使其可以灵活地运用在各种存储系统电路中。他的最大优点是8位I/O端口是地 址、数据和命令的多路复用,这样不但大大减少了芯片的引脚数,而且简化了系统的连线, 便于系统以后扩充芯片容量而不需改变系统板结构设计。

K9K1G08U0M对于诸如文件存储、声 音和音频信号处理、智能仪器设备等要求大容量非易失性存储的应用场合提供了一种极佳的 解决方案。他的典型特性如下:

(1)工作电压:2.7“3.6 V

(2)自动编程和擦除

页编程:(512+16)B

块擦除:(16 k+512)B

(3)可进行528 B/页读操作

随机访问:12μs(最大值)

页面连续访问:50μs(最小值)

(4)快速写周期时间

编程时间:200μs(典型值)

块擦除时间:2 ms(典型值)

(5)硬件数据保护

在电源电压VCC

使用CPLD产品实现大容量FLASH存储器的接口设计

3 接口方法

K9K1G08U0M与微控制器常规接口方法是使用专用的口线模拟ALE,CLE并在CE,RE,的时序配合下完成所有的命令。这种方法的缺点是占用微控制器宝贵的 硬件资源,并要求软件严格控制他们之间的时序,增加了程序运行时间和软件复杂度,降低 了程序的运行效率。而且对于使用5 V电源的微控制器,由于K9K1G08U0M电源电压是3 V,所 以他们之间的接口还存在逻辑电平转换的问题。

本文提出的方法使用1片XCR3032 CPLD就可以完美地解决上述问题,高效地完成K9K1G08U 0 M的全部功能,而无需占用额外的口线,微控制器只需以固定的地址向XCR3032寻址,通过XC R3032产生的输出信号实现对K9K1G08U0M的控制。XCR3032有如下作用:

(1)对微控制器送出的最低4位地址信息进行译码。

(2)分析地址总线的命令并根据命令内容提供K9K1G08U0M的相应接口信号。

(3)监控K9K1G08U0M的R/B的输出。

综上所述,利用XCR3032实现的K9K1G08U0M与微控制器接口电路如图2所示。

使用CPLD产品实现大容量FLASH存储器的接口设计

根据K9K1G08U0M的接口时序要求,XCR3032要根据微控制器最低4位地址线解码出K9K1G08U0 M相对应的操作。XCR3032的输出信号状态取决于微控制器输入的地址信息。假设XCR3032的 基地址是B,不同的输入地址值所对应的输出操作和基本功能如表1所示。

使用CPLD产品实现大容量FLASH存储器的接口设计

当微控制器送出地址是B+0需要读取K9K1G08U0M数据、状态和ID时候RD信号置0 。当微控制器送出地址是B+0并且要求写数据地址或者微控制器送出地址是B+1要求写命令时 应置0。

4 Verilog-HDL语言的实现

经过上述分析可知,输入XCR3032的信号有微控制器读写信号WRITE, READ ,地址总线低4位address[3:0],

使用CPLD产品实现大容量FLASH存储器的接口设计

使用Verilog语言设计组合逻辑和时序 逻辑具有很高的效率。由于篇幅所限,相关变量的声明在此略去,部分Verilog-HDL 代码如下:

使用CPLD产品实现大容量FLASH存储器的接口设计

使用CPLD产品实现大容量FLASH存储器的接口设计

5 结语

完整程序经过Xilinx Project Navigator 6.1编译、调试、仿真,利用并口下载电缆通 过 JTAG接口下载到XCR3032中后,使用C8051F021单片机进行接口实验,证明使用该接口方法K9 K1G08U0M的各项功能和命令均可实现。现已成功应用于国家“863”计划项目“海洋生态环 境自动监测技术”中。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6812

    浏览量

    147648
  • cpld
    +关注

    关注

    32

    文章

    1243

    浏览量

    168305
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162000
收藏 人收藏

    评论

    相关推荐

    求助 数据存储器 FLASH程序存储器 FLASH数据存储器的区别

    数据存储器 FLASH程序存储器 FLASH数据存储器 片内RAM数据存储器16M字节外部数据
    发表于 11-29 09:50

    嵌入式系统Flash存储器接口电路调试

    设计中的调试又是该环节的重点和难点。本文详细介绍嵌入式系统Flash存储器接口电路的调试。1 Flash存储器
    发表于 06-10 05:00

    寻找具有内部存储器CPLD

    嗨, 我正在寻找具有内部存储器CPLD。我想将程序存储CPLD中,这样每次打开电源时,我都不必重新编程IC。有没有这样的CPLD?谢谢,
    发表于 08-06 08:27

    Flash存储器的故障特征

    Flash存储器是一种基于浮栅技术的非挥发性半导体存储器,一般有NOR、NAND、 DINOR和AND 等几种类型。作为一类非易失性存储器 ,Fla
    发表于 11-16 14:33

    如何使用XCR3032实现容量FLASH存储器接口设计?

    本文介绍了使用XCR3032实现K9K1G08U0M与微控制接口原理,给出了VerilogHD L实现程序。对大容量
    发表于 04-29 06:34

    8051单片机内部程序存储器容量

    存储器实现。在传统的单片机系统中,一般是在片外扩展存储器,单片机与存储器之间通过IIC或SPI 等接口来进行数据通信。这样不光会增加开
    发表于 07-19 08:53

    FLASH容量的大小

    容量一般为 512K 字节,属于大容量芯片。大容量产品Flash 模块组织结构如图 40.1.1 所示:STM32F1 的闪存(Flash
    发表于 08-12 07:55

    红外脉宽存储FLASH的读写

    3.1 红外脉宽存储FLASH的读写 根据STM32型号的不同,FLASH容量由16K到1024K不等。FLASH模块主要由三部分组成:主
    发表于 01-26 07:52

    单板硬件设计:存储器( NAND FLASH)

    flash中运行。嵌入式系统多用一个小容量的nor flash存储引导代码,用一个大容量的nand f
    发表于 05-19 15:59

    PowerPC 60x总线的存储器控制器的设计与实现

    章介绍了PowerPC 60x 处理器的总线接口和操作,详细阐述了60x 总线存储器 控制器在CPLD 上的设计与实现过程。此存储器控制器
    发表于 08-26 10:38 57次下载

    C8051F的超大容量Flash存储器扩展

    摘要:NAND结构Flash数据存储器件是超大容量数据存储的理想选择,当前被广泛应用于U盘、MP3和数码相机的数据存储。本文对该类型
    发表于 03-11 11:47 1242次阅读
    C8051F的超大<b class='flag-5'>容量</b><b class='flag-5'>Flash</b><b class='flag-5'>存储器</b>扩展

    超大容量存储器K9F2G08U0M及其在管道通径仪中的应用

    超大容量存储器K9F2G08U0M及其在管道通径仪中的应用 摘 要: 新型超大容量Flash存储器K9F2G08U0M的基本组织结构,给出
    发表于 01-12 09:51 2652次阅读
    超大<b class='flag-5'>容量</b><b class='flag-5'>存储器</b>K9F2G08U0M及其在管道通径仪中的应用

    FLASH存储器接口电路图(Altera FPGA开发板)

    FLASH存储器接口电路图(Altera FPGA开发板)
    发表于 08-15 14:36 6331次阅读
    <b class='flag-5'>FLASH</b><b class='flag-5'>存储器</b><b class='flag-5'>接口</b>电路图(Altera FPGA开发板)

    Flash存储器在MCS-51系统中的应用

    介绍了 Flash 存储器的特性和应用场合 ,在16 位地址总线中扩展大容量存储的一般方法。讨论了 MCS-51 系列单片机与 Flash
    发表于 03-18 09:50 7次下载
    <b class='flag-5'>Flash</b><b class='flag-5'>存储器</b>在MCS-51系统中的应用

    Flash存储器在单片机接口中的应用综述

    Flash存储器在单片机接口中的应用综述
    发表于 06-29 10:26 27次下载