CN111221767B - 一种flash接口电路 - Google Patents
一种flash接口电路 Download PDFInfo
- Publication number
- CN111221767B CN111221767B CN202010046231.1A CN202010046231A CN111221767B CN 111221767 B CN111221767 B CN 111221767B CN 202010046231 A CN202010046231 A CN 202010046231A CN 111221767 B CN111221767 B CN 111221767B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- state machine
- verification
- command state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种FLASH接口电路。本发明中:数据采集处理模块将处理后的数据传输到验证1模块、命令状态机1模块和仿真模块;验证1模块输出验证结果到命令状态机1模块和仿真模块;命令状态机1模块和仿真模块向CPU和FLASH输出控制信号;命令状态机1模块还将控制信号传输至数据输出模块;命令状态机2模块和验证2模块接收总传输的数据;命令状态机2模块输出控制信号控制FLASH。本发明通过数据采集模块通过寄存器采集数据,可以使用不同频率的振荡器,从而实现适应不同频率的CPU,可以对振荡器的频率进行校准;将仿真、烧录、编程等功能组合在一起,一个模块实现多种功能;并且细化了命令,提高了上位机对单片机的控制。
Description
技术领域
本发明属于接口电路技术领域,特别是涉及一种FLASH接口电路。
背景技术
作为单片机重要的组成部分,FLASH的作用十分重要,但是现在FLASH接口的功能十分有限,仅仅只能进行读写烧录,十分局限。
发明内容
本发明的目的在于提供一种FLASH接口电路,通过数据采集模块通过寄存器采集数据,可以使用不同频率的振荡器,从而实现适应不同频率的CPU,可以对振荡器的频率进行校准;将仿真、烧录、编程等功能组合在一起,一个模块实现多种功能;并且细化了命令,提高了上位机对单片机的控制。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种FLASH接口电路,包括FLASH接口;所述FLASH接口直接与FLASH连接,并通过总线与CPU连接,通过外部引脚与上位机连接;所述FLASH接口包括数据采集处理模块、验证1模块、验证2模块、命令状态机1模块、命令状态机2模块和数据输出模块,所述数据采集处理模块的采集输入引脚的输入数据;
所述数据采集处理模块将处理后的数据传输到验证1模块、命令状态机1模块和仿真模块;
所述验证1模块输出验证结果到命令状态机1模块和仿真模块;所述命令状态机1模块和仿真模块向CPU和FLASH输出控制信号;
所述命令状态机1模块还将控制信号传输至数据输出模块;所述数据输出模块通过输出引脚将数据输出;
所述命令状态机2模块和验证2模块接收总线传输的数据;所述验证2模块输出验证结果至命令状态机2模块,所述命令状态机2模块输出控制信号控制FLASH。
进一步地,所述验证1模块验证上位机的数据信息,所述验证2模块用于验证CPU的数据信息。
进一步地,所述数据采集处理模块包括一寄存器;所述数据采集处理模块在振荡器时钟边沿获取引脚上的状态,在外部输入的时钟线边沿存储在寄存器中,其中,所述寄存器中存储的数据经过处理后转换为8位或16位的数据或者6位的命令,并传输至验证1模块、命令状态机1模块和仿真模块。
进一步地,所述仿真模块用于输出控制程序运行的使能信号;所述仿真模块在仿真时根据数据采集处理模块传输的命令运行使能信号。
进一步地,所述数据输出模块用于根据上位机的命令反馈数据信息。
本发明具有以下有益效果:
本发明中数据采集模块通过寄存器采集数据,可以使用不同频率的振荡器,从而实现适应不同频率的CPU,可以对振荡器的频率进行校准;将仿真、烧录、编程等功能组合在一起,一个模块实现多种功能;并且细化了命令,提高了上位机对单片机的控制。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种FLASH接口电路的***框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种FLASH接口电路,包括FLASH接口;FLASH接口直接与FLASH连接,并通过总线与CPU连接,通过外部引脚与上位机连接;其特征在于:FLASH接口包括数据采集处理模块、验证1模块、验证2模块、命令状态机1模块、命令状态机2模块和数据输出模块,
数据采集处理模块的采集输入引脚的输入数据;数据采集处理模块将处理后的数据传输到验证1模块、命令状态机1模块和仿真模块;
验证1模块输出验证结果到命令状态机1模块和仿真模块;命令状态机1模块和仿真模块向CPU和FLASH输出控制信号;
命令状态机1模块还将控制信号传输至数据输出模块;数据输出模块通过输出引脚将数据输出;
命令状态机2模块和验证2模块接收总线传输的数据;验证2模块输出验证结果至命令状态机2模块,命令状态机2模块输出控制信号控制FLASH。
进一步地,验证1模块验证上位机的数据信息,验证2模块用于验证CPU的数据信息。
进一步地,数据采集处理模块包括一寄存器;数据采集处理模块在振荡器时钟边沿获取引脚上的状态,在外部输入的时钟线边沿存储在寄存器中,其中,寄存器中存储的数据经过处理后转换为8位或16位的数据或者6位的命令,并传输至验证1模块、命令状态机1模块和仿真模块。
进一步地,仿真模块用于输出控制程序运行的使能信号;仿真模块在仿真时根据数据采集处理模块传输的命令运行使能信号;其中跑命令就拉高使能信号;暂停命令就拉低使能信号;单步跑命令就拉高使能信号一个时钟;跳过子程序和跳出子程序命令,由于运行子程序的时候进行了跳转,会用到堆栈相关的PUSH和POP指令,根据他们的使用次数来控制使能信号。跳过子程序命令运行经过一次PUSH和一次POP后停止;跳出子程序命令经过一次POP后停止。
进一步地,数据输出模块用于根据上位机的命令反馈数据信息,其中数据输出模块的功能是在上位机发送特定命令后,数据线的控制权转移给FLASH接口后,FLASH接口根据此时的地址输出相应数据给上位机。除了FLASH内的数据,还可以输出芯片的PID,运行状态,PC指针,堆栈指针等。
其中,命令命令状态机1模块控制信号有两种方式,其中一个是通过特殊地址寄存器控制使能信号,另一个是通过状态的转变控制脉冲信号。
实施例一:本实施例为命令状态机1模块的工作流程:命令状态机1模块在上位机通过验证后,它将处于空闲状态;除了空闲状态外,还有多个状态,该状态为并列的关系;
命令状态机1模块接收命令后,从空闲状态转移到其它状态,这时有的状态会在接收或发生数据地址后回到空闲状态,有的需要发送相应命令才能回到空闲状态。不会出现从一种非空闲状态转移的另一非空闲状态的情况;
通过命令状态机1模块可以进行振荡器校准,校准的方式是通过测试命令写入代码,把定时器0的时基设为高频振荡器,然后设置PWM0的输出,通过测试它的输出计算振荡器的频率,然后使用校准字进行校准,使振荡器的频率达到或接近设计的值。然后将校准字存储到FLASH中保存。通过命令状态机1模块可以使FLASH进入BIST模式,可以对FLASH进行全面详尽的测试;
其中,控制命令状态机1的控制命令有18条,根据分类,命令+16bit数据型有CMD_LA装载地址命令、CMD_LM写特殊地址寄存器命令、CMD_FT程序测试命令;命令+n8bit数据型只有CMD_LD装载数据命令;命令型有仿真命令CMD_RS仿真复位、CMD_RUN仿真跑、CMD_SP仿真单步跑、CMD_SV仿真跳过子程序、CMD_SO仿真跳出子程序、、CMD_ST仿真暂停、CMD_BP开始命令、CMD_BIST进入BIST模式、CMD_UL0和CMD_UL1、它们需要一起使用,使得上位机可以在读取屏蔽使能时读取数据,CMD_RETURN返回命令、CMD_IA地址加一命令。CMD_CK时钟校准命令、CMD_RD读取命令。
CMD_CK时钟校准、CMD_RD读取。两条命令比较特殊,它们会使能数据输出模块,向上位机反馈数据。
其中,命令状态机2模块有多个状态,且命令状态机2模块的状态是顺序的关系,在使能后,它将顺序经过每个状态:擦除,编程,数据读入。根据控制寄存器的对应位进行相应控制,相应位使能,执行相应命令。在擦除、编程进行时,CPU会停止运行,等待操作完成。
实施例二:本实施例为基于FLASH接口电路的上位机烧录方法,包括以下步骤:
S1:上位机发送特殊序列进行验证,数据采集处理模块采集数据,进行处理,完成后把数据传递给验证1模块,验证1模块会进行验证。
S2:通过验证后,上位机首先需要装载地址命令,设置初始地址。
S3:通过装载数据命令,连续写入数据,完整写入后,使用返回命令使命令状态机1回到空闲状态。
S4:通过编程命令使FLASH开始编程,等待足够的时间后,使用返回命令使命令状态机1回到空闲状态,烧录完成可以进行下一步操作。
上位机仿真:首先进行烧录的操作,操作成功后,可以设置断点,最多可以设置16个断点,使用仿真命令进行仿真。仿真命令有复位、暂停、全速跑、单步跑、跑到断点处等。
实施例三:本实施例为基于FLASH接口电路的CPU读取操作步骤:
首先设置地址寄存器,然后使用专门的读取命令进行读取。指令执行后,读出的数据存放在两个寄存器中。
实施例四:本实施例为基于FLASH接口电路的CPU擦除操作步骤:
由于验证寄存器和控制寄存器在其它寄存器操作后会被清零,所以对这些寄存器的操作要放到最后;
首先要设置地址寄存器,由于CPU擦除操作擦除一页,所以地址寄存器的低位会根据页的大小有无效位。地址设置完成后要进行验证,CPU向验证寄存器中写入固定的序列,完成验证后,通过控制寄存器执行擦除操作,操作时,CPU会停止运行,直到完成擦除操作。
实施例五:本实施例为基于FLASH接口电路的CPU编程操作步骤:
编程操作的也是以页为单位,首先需要将一页的数据存储在预设的RAM的FLASH缓存区中,然后向地址寄存器写入页面地址。地址设置完成后要进行验证,完成验证后,通过控制寄存器执行编程操作,在编程的过程中,CPU会停止运行,直到完成编程操作。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (5)
1.一种FLASH接口电路,包括FLASH接口;所述FLASH接口直接与FLASH连接,并通过总线与CPU连接,通过外部引脚与上位机连接;其特征在于:所述FLASH接口包括数据采集处理模块、验证1模块、验证2模块、命令状态机1模块、命令状态机2模块和数据输出模块,所述数据采集处理模块的采集输入引脚的输入数据;
所述数据采集处理模块将处理后的数据传输到验证1模块、命令状态机1模块和仿真模块;
所述验证1模块输出验证结果到命令状态机1模块和仿真模块;所述命令状态机1模块和仿真模块向CPU和FLASH输出控制信号;
所述命令状态机1模块还将控制信号传输至数据输出模块;所述数据输出模块通过输出引脚将数据输出;
所述命令状态机2模块和验证2模块接收总线传输的数据;所述验证2模块输出验证结果至命令状态机2模块,所述命令状态机2模块输出控制信号控制FLASH。
2.根据权利要求1所述的一种FLASH接口电路,其特征在于,所述验证1模块验证上位机的数据信息,所述验证2模块用于验证CPU的数据信息。
3.根据权利要求1所述的一种FLASH接口电路,其特征在于,所述数据采集处理模块包括一寄存器;所述数据采集处理模块在振荡器时钟边沿获取引脚上的状态,在外部输入的时钟线边沿存储在寄存器中,其中,所述寄存器中存储的数据经过处理后转换为8位或16位的数据或者6位的命令,并传输至验证1模块、命令状态机1模块和仿真模块。
4.根据权利要求1所述的一种FLASH接口电路,其特征在于,所述仿真模块用于输出控制程序运行的使能信号;所述仿真模块在仿真时根据数据采集处理模块传输的命令运行使能信号。
5.据权利要求1所述的一种FLASH接口电路,其特征在于,所述数据输出模块用于根据上位机的命令反馈数据信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010046231.1A CN111221767B (zh) | 2020-01-16 | 2020-01-16 | 一种flash接口电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010046231.1A CN111221767B (zh) | 2020-01-16 | 2020-01-16 | 一种flash接口电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221767A CN111221767A (zh) | 2020-06-02 |
CN111221767B true CN111221767B (zh) | 2021-08-03 |
Family
ID=70829492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010046231.1A Active CN111221767B (zh) | 2020-01-16 | 2020-01-16 | 一种flash接口电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221767B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681783A (zh) * | 2016-01-14 | 2016-06-15 | 西安电子科技大学 | 音视频数据采集接口电路设计方法 |
CN108051786A (zh) * | 2017-10-30 | 2018-05-18 | 北京航天福道高技术股份有限公司 | 一种宽带目标模拟器验证平台及验证方法 |
CN109408435A (zh) * | 2018-10-19 | 2019-03-01 | 中国兵器装备集团自动化研究所 | 一种基于dsp的增强型jtag接口 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054654A2 (en) * | 2001-01-08 | 2002-07-11 | Vextec Corporation | Method and apparatus for predicting failure in a system |
US20120166687A1 (en) * | 2010-12-22 | 2012-06-28 | Stmicroelectronics, Inc. | Computer Architecture Using Shadow Hardware |
CN110244625A (zh) * | 2019-06-21 | 2019-09-17 | 一汽解放汽车有限公司 | 一种基于电子控制单元的信号测量方法 |
CN110262586A (zh) * | 2019-07-17 | 2019-09-20 | 莆田学院 | 一种基于虚拟仿真平台的远程温度控制*** |
-
2020
- 2020-01-16 CN CN202010046231.1A patent/CN111221767B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681783A (zh) * | 2016-01-14 | 2016-06-15 | 西安电子科技大学 | 音视频数据采集接口电路设计方法 |
CN108051786A (zh) * | 2017-10-30 | 2018-05-18 | 北京航天福道高技术股份有限公司 | 一种宽带目标模拟器验证平台及验证方法 |
CN109408435A (zh) * | 2018-10-19 | 2019-03-01 | 中国兵器装备集团自动化研究所 | 一种基于dsp的增强型jtag接口 |
Non-Patent Citations (2)
Title |
---|
《Extraction of Interface Trap Density in the Region Between Adjacent Wordlines in NAND Flash Memory Strings》;Ho-Jung Kang等;《IEEE Electron Device Letters》;20151231;第36卷(第1期);53-55 * |
《高速大容量固态存储***的设计》;韩茜等;《雷达科学与技术》;20050430;第3卷(第2期);110-118 * |
Also Published As
Publication number | Publication date |
---|---|
CN111221767A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6507881B1 (en) | Method and system for programming a peripheral flash memory via an IDE bus | |
US20120198292A1 (en) | Test apparatus and test method | |
JPH06202942A (ja) | フラッシュメモリ回路と操作方法 | |
US20060156092A1 (en) | Memory technology test apparatus | |
JP4643729B2 (ja) | インタリーブ制御装置、インタリーブ制御方法及びメモリシステム | |
CN107633867B (zh) | 基于ft4222的spi闪存测试***及方法 | |
JP2010501915A (ja) | メモリ用モジュールコマンド構造およびメモリシステム | |
US20060020764A1 (en) | Information processing apparatus including non-volatile memory device, non-volatile memory device and methods thereof | |
JP2004152027A (ja) | 不揮発性メモリ内蔵マイクロコンピュータチップ、及びその検査方法 | |
CN213691455U (zh) | 存储器和其电子装置及其测试*** | |
JP4180757B2 (ja) | シミュレーション装置 | |
CN111221767B (zh) | 一种flash接口电路 | |
US20080155309A1 (en) | Memory card and debugging method employed by the same | |
US7644247B2 (en) | System controller for flash memory | |
CN113946481B (zh) | Risc-v内核mcu调试的下载程序方法及调试器 | |
JP3406652B2 (ja) | フラッシュメモリ試験装置 | |
US20010003209A1 (en) | Efficient generation of optimum test data | |
CN110119284B (zh) | Flash存储器烧写***及方法 | |
CN111274755B (zh) | 一种多功能mcu接口电路 | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
JP4861497B2 (ja) | データ記憶装置及びメモリ調整方法 | |
JP4351280B2 (ja) | 不揮発性メモリ内蔵マイクロコンピュータチップ、及びその検査方法 | |
CN111597699A (zh) | 一种支持掉电数据随机化的flash仿真器 | |
JP2019153118A (ja) | 評価解析対象メモリ装置及びメモリ評価解析システム | |
CN117234831B (zh) | 一种基于多核cpu的芯片功能测试方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |