一种基于CPLD的外部flash数据存储接口及其应用方法

文档序号:8458063阅读:506来源:国知局
一种基于CPLD的外部flash数据存储接口及其应用方法
【专利说明】一种基于CPLD的外部flash数据存储接口及其应用方法
[0001]
技术领域
[0002]本发明属于数字集成电路应用技术领域,具体涉及一种基于CPLD的外部flash数据存储接口,尤其涉及一种基于CPLD的外部flash数据存储接口应用方法。
【背景技术】
[0003]在数字系统中,对于外部存储器的访问,多采用处理器进行操作。CPLD技术在近些年日益成熟并得到广泛应用,并越来越多的替代ASIC (特定用途的集成电路)用作数字逻辑控制及数据采集。CPLD器件具备了内部延时短、执行速度快、效率高、组织结构灵活的优点,整体编程逻辑可以用硬件电路的形式实现。
[0004]EPM1270型CPLD芯片是一种基于CMOS EEPROM的器件,可通过JTAG接口在线编程,片内有1270个逻辑门及980个等效宏单元,引脚到引脚的逻辑时延为6.2ns,计数器工作频率可达到304MHz。FLASH存储芯片为W25Q64BV,该芯片容量为64Mbit,分为128存储块,每块16个扇区,每扇区16页,每页256字节。该芯片最小擦除单元为扇区,可同时写入最多256个字节,支持标准串行外设接口 SPI。

【发明内容】

[0005]本发明提供一种基于CPLD的外部flash数据存储接口及其应用方法,CPLD芯片内部构造SIP接口,无需进行处理器操作,CPLD芯片直接与FLASH芯片进行通信。
[0006]本发明所采用的技术方案是:一种基于CPLD的外部flash数据存储接口,包括CPLD单元和flash存储单元,所述CPLD单元内设SIP接口,所述CPLD单元和flash存储单元通过SIP接口实现通信;
flash存储单元:实现存满后自动循环覆盖早期数据;
SIP接口:实现控制Flash存储单元读写操作。
[0007]进一步地,所述flash存储单元包括地址存储区和数据存储区,所述地址存储区为0x7FF扇区,所述数据存储区为0x7FF扇区以外的扇区。
[0008]一种基于CPLD的外部flash数据存储接口应用方法,包括以下步骤,
50、初始状态:初始化,判断是否有写保护,若无,延时后跳转到SI;
51、判断busy状态:若busy为低,根据程序执行情况跳转到S2;
52、读目标扇区地址:读取7FF000/7FF001/7FF002地址中的扇区地址数据,扇区地址加I,结束后跳转到S3 ;
53、擦除目标扇区:发送擦除指令,结束后跳转至SI;
54、更新扇区地址数据:更新地址并存储到7FF000/7FF001/7FF002里,结束后跳转至
SI ;
55、等待锁存:若数据存储使能信号(latch_Set)到来,WP为1,跳转至S6; 56、置位写使能:写使能WEL置1,结束后跳转至S7;
57、写扇区数据:根据更新的地址数据,发送写扇区指令,将16个字节的数据存入扇区,完成后跳转至SI ;
58、寄存器清零:状态寄存器清零,结束后跳转至SI。
[0009]本发明与现有技术相比具有的优点和效果:依据FLASH芯片时序要求,在CPLD芯片上构造SPI接口,来控制FLASH芯片数据读写。将每一次存储操作划分为不同功能的状态,通过对各状态间的逻辑关系判断存储过程的运行位置,避免过多重复操作。本发明不仅正确的实现了数据存储功能,而且大大简化了程序结构,节省了芯片资源,有效的提高了程序执行效率及可靠性。
【附图说明】
[0010]图1是本发明一种基于CPLD的外部flash数据存储接口功能模块示意图;
图2是本发明一种基于CPLD的外部flash数据存储接口应用方法的方法流程图。
【具体实施方式】
[0011]下面结合附图和【具体实施方式】对本发明进行详细说明。
[0012]—种基于CPLD的外部flash数据存储接口,结构如图1所示,包括CPLD单元I和flash存储单元2,所述CPLD单元I内设SIP接口 3,CPLD单元I和flash存储单元2通过SIP接口 3实现通信。
[0013]flash存储单元2:实现存满后自动循环覆盖早期数据的功能。
[0014]SIP接口 3:实现控制Flash存储单元2读写操作的功能。
[0015]所述flash存储单元2包括地址存储区和数据存储区,所述地址存储区为0x7FF扇区,存放上次数据存储的扇区首地址。所述数据存储区为0x7FF扇区以外的扇区,用来存储产品运行的过程数据。
[0016]其工作原理为,上电后,先读取地址存储区的数据(即上次存储扇区的首地址),并进行判断。若读取数据不符合扇区首地址的特征,则认为是初次上电,此时将地址存储扇区的内容更新为O扇区的首地址,如读取数据符合扇区首地址特征,则将地址存储区的内容更新为读取数据的下一个扇区的首地址。更新地址存储区的内容后,再根据更新后的扇区首地址进行数据存储。当某扇区存满后,须更新地址存储区的内容后,再继续存储。
[0017]一种基于CPLD的外部flash数据存储接口的应用方法,其方法流程图如图2所示,按照以下步骤实施:
步骤S0、初始状态:初始化,判断是否有写保护,若无,延时后跳转到步骤SI。
[0018]步骤S1、判断busy状态:在flash_clk的下降沿发送指令,在flash_clk的上升沿读取状态寄存器数据,若busy为低,根据程序执行情况跳转到步骤S2。
[0019]步骤S2、读目标扇区地址:在flash_clk的下降沿发送读指令,在flash_clk的上升沿读取7FF000/7FF001/7FF002地址中的扇区地址数据,扇区地址加1,结束后跳转到步骤S3。
[0020]步骤S3、擦除目标扇区:发送擦除指令,结束后跳转至步骤SI。
[0021]步骤S4、更新扇区地址数据:更新地址并存储到7FF000/7FF001/7FF002里,结束后跳转至步骤SI。
[0022]步骤S5、等待锁存:若数据存储使能信号(latch_Set)到来,WP为1,跳转至步骤S60
[0023]步骤S6、置位写使能:写使能WEL置1,结束后跳转至步骤S7。
[0024]步骤S7、写扇区数据:根据更新的地址数据,发送写扇区指令,将16个字节的数据存入扇区,完成后跳转至步骤Si。
[0025]步骤S8、寄存器清零:状态寄存器清零,结束后跳转至步骤SI。
[0026]上述实施例,只是本发明的较佳实施例,并非用来限制本发明的实施范围,故凡以本发明权利要求所述内容所做的等同变化,均应包括在本发明权利要求范围之内。
【主权项】
1.一种基于CPLD的外部flash数据存储接口,包括CPLD单元(I)和flash存储单元(2),其特征在于,所述CPLD单元(I)内设SIP接口(3),所述CPLD单元(I)和flash存储单元(2)通过SIP接口(3)实现通信; flash存储单元(2):实现存满后自动循环覆盖早期数据; SIP接口(3):实现控制Flash存储单元(2)读写操作。
2.根据权利要求1所述的一种基于CPLD的外部flash数据存储接口,其特征在于,所述flash存储单元(2)包括地址存储区和数据存储区,所述地址存储区为0x7FF扇区,所述数据存储区为0x7FF扇区以外的扇区。
3.一种基于CPLD的外部flash数据存储接口应用方法,其特征在于,包括以下步骤: .50、初始状态:初始化,判断是否有写保护,若无,延时后跳转到SI; . 51、判断busy状态:若busy为低,根据程序执行情况跳转到S2; . 52、读目标扇区地址:读取7FF000/7FF001/7FF002地址中的扇区地址数据,扇区地址加I,结束后跳转到S3 ; .53、擦除目标扇区:发送擦除指令,结束后跳转至SI; . 54、更新扇区地址数据:更新地址并存储到7FF000/7FF001/7FF002里,结束后跳转至SI ; .55、等待锁存:若数据存储使能信号(latch_Set)到来,WP为1,跳转至S6; .56、置位写使能:写使能WEL置1,结束后跳转至S7; .57、写扇区数据:根据更新的地址数据,发送写扇区指令,将16个字节的数据存入扇区,完成后跳转至SI ; .58、寄存器清零:状态寄存器清零,结束后跳转至SI。
【专利摘要】本发明公开一种基于CPLD的外部flash数据存储接口及其应用方法,具体涉及一种基于CPLD的外部flash数据存储接口,包括CPLD单元和flash存储单元,CPLD单元内设SIP接口,CPLD单元和flash存储单元通过SIP接口实现通信。flash存储单元包括地址存储区和数据存储区,地址存储区为0x7FF扇区,数据存储区为0x7FF扇区以外的扇区。本发明还涉及一种基于CPLD的外部flash数据存储接口的应用方法。本发明不仅正确的实现了数据存储功能,而且大大简化了程序结构,节省了芯片资源,有效的提高了程序执行效率及可靠性。
【IPC分类】G11C16-10
【公开号】CN104778973
【申请号】CN201510187558
【发明人】周茜
【申请人】陕西航天导航设备有限公司
【公开日】2015年7月15日
【申请日】2015年4月20日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1