串行外围接口闪存的操作电路及操作方法、一种存储设备的制作方法

文档序号:6464738阅读:150来源:国知局
专利名称:串行外围接口闪存的操作电路及操作方法、一种存储设备的制作方法
技术领域
本发明涉及一种存储技术,尤其涉及一种串行外围接口闪存(SPI Flash) 的操作电路及操作方法,以及一种存储设备。
背景技术
随着个人电子消费产品的普及,用户对小容量存储介质的需求越来越大。 而在目前广泛^^用的小容量存储介质中,最常用的是SPI Flash。对于USB Key (电子密码钥匙)等设备中,通常都会使用SPI Flash作为应用软件的存储介 质。
在使用过程中,SPI Flash —般是直接连接到设备的主芯片上的I/O上。因 此,若要对SPI Flash进行操作的话,主芯片一般至少需要能提供以下四个I/O 接口,以控制SPIFlash。这四个I/0接口分别是片选信号CS,时钟信号SCL, 主输出信号MOSI,主输入信号MISO;其中,当片选信号CS为低时,选中SPI Flash, 外部读写设备可以为SPI Flash进行读写操作,时钟信号SCL提供了外部读写 设备对SPI Flash进行读写操作时的时钟控制信号,主输出信号MOSI为SPI Flash的输入引脚,主输入MISO为SPI Flash的输出引脚。
在某些应用中,若主芯片的I/O 口不够的时候,可通过I/O扩展芯片实现 对主芯片的扩展,以使主芯片能够控制SPI Flash。
方案一 如图1所示,为现有技术中利用I/O扩展芯片扩展主芯片的I/O 口单元连接示意图。由图l可以看出,在此技术方案中,是通过主芯片控制I2C 接口 ,从而控制I/O扩展芯片扩展出相应的I/O 口 ,实现对SPI Flash的控制。 但是,在这个才支术方案中,主芯片在控制SPI Flash时,都需要通过控制I2C 接口实现,因此,这个过程中,主芯片读写SPI Flash的速度受到了极大的限
制,影响了主芯片对SPI Flash的读写速度。
方案二如图2所示,在方案二中,利用通用微处理器(MCU)芯片来代替 方案一种的1/0扩展芯片。在方案二中,主芯片和通用MCU芯片之间主要是通 过任意的两线"l姿口进4亍通信,该两线4妻口可以为12C4矣口, UART (Universal Asynchronous Receiver Transmitter,通用异步收发器)接口等。同时,在此 方案中,由通用MCU来控制SPI Flash的读写时序,主芯片则只负责和通用MCU 之间的通信,而不关心SPI Flash的操作。例如,在读SPI Flash的过程中, 数据流的流向是上位^L-主芯片-通用MCU-SPI Flash;在写SPI Flash的过 程中,数据流的流向是SPI Flash-通用MCU-主芯片-上位机。
由此可以看出,在这个技术方案中,通用MCU的性能决定了对SPI Flash 的读写速度,也就是说通用MCU的性能越好,读写SPI Flash的速度就越快。 但是性能好的MCU的价格一般比较高,在价才緣感的USB Key等产品中,为了 降低成本,通常都不会采用性能好的MCU。因此,相较于现有技术,本发明在降 低成本的同时提高了对SPI Flash的读写速度。

发明内容
本发明提供了一种串行外围接口闪存的操作电路及操作方法,以在降低成 本的同时提高对SPI Flash的读写速度。
本发明串行外围接口闪存的操作方法,包括
主控制单元向微处理器单元发送对串行外围接口闪存单元的读/写操作命
令;
根据所述读/写操作命令,所述微处理器单元将串行外围接口闪存单元置为 有效状态;
所述主控制单元对所述串行外围接口闪存单元进行读/写操作。
本发明串行外围接口闪存的操作电路,包括
主控制单元,微处理器单元和串行外围接口闪存单元;
其中,所述微处理器单元的第一 I/O 口连接到所述串行外围接口闪存单元 的片选信号端,所述微处理器单元的第二 I/O 口分别连接到所述串行外围接口 闪存单元的时钟信号端和所述主控制单元的第一复用端,所述微处理器单元的 第三I/O 口分别连4妻到所述串行外围接口闪存单元的主输出信号端、主输入信 号端以及所述主控制单元的第二复用端。
本发明串行外围接口闪存的操作电路,包括
主控制单元,微处理器单元和串行外围接口闪存单元;
其中,所述微处理器单元的第一 I/O 口连接到所述串行外围接口闪存单元 的片选信号端,所述微处理器单元的第二 I/O 口分别连接到所述串行外围接口 闪存单元的时钟信号端和所述主控制单元的第一复用端,所述微处理器单元的 第三I/O 口分别连接到所述串行外围接口闪存单元的主输出信号端以及所述主 控制单元的第二复用端,所述微处理器单元的第四I/O 口连接到所述串行外围 接口闪存单元的主输出信号端。
本发明还提供了 一种成本低且读写速度快的存储设备。
本发明的存储设备具有如权利要求9或10所述的串行外围接口闪存的操作 电路。
由以上可以看出,本发明通过主控制单元控制SPI Flash的读写操作时序, 而通过微处理器单元控制SPI Flash的片选信号端。因此,由于^f敖处理器单元 控制的是SPI Flash中不影响读写速度的引脚,因此,即使采用性能较差的微 处理器单元也能够保证对SPI Flash的读写速度。因此,相较于现有技术,本 发明提高了对SPI Flash的读写速度。


图l为现有^l支术中的方案一的原理图; 图2为现有技术中的方案二的原理图; 图3为本发明串行外围接口闪存的操作电路的示意图; 图4为本发明串行外围接口闪存的操作电路的又一示意图; 图5为本发明串行外围接口闪存的操作方法的流程图; 图6为本发明串行外围接口闪存的操作方法的第一时序图; 图7为本发明串行外围接口闪存的操作方法的第二时序图; 图8为本发明串行外围接口闪存的操作方法的第三时序图。
具体实施例方式
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需 要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
为解决现有技术中SPI Flash的读写速度慢以及成本较高的问题,本发明 提供了一种串行外围接口闪存的操作电路。
如图3所示,本发明串行外围接口闪存的操作电路包括以下組成部分主 控制单元31,微处理器单元32和串行外围接口闪存单元33;
其中,所述微处理器单元32的第一 I/O 口 101连接到所述串行外围接口闪 存单元33的片选信号端CS,所述微处理器单元32的第二 I/O 口 102分别连接 到所述串行外围接口闪存单元33的时钟信号端SCL和所述主控制单元31的第 一复用端II,所述微处理器单元32的第三I/O 口 103分别连"J妄到所述串行外围 接口闪存单元33的主输出信号端M0SI、主输入信号端MISO,以及所迷主控制
单元31的第二复用端12。
由图3可以看出,在所示的操作单元中,主控制单元31的第一复用端II 复用为用于输出SPI Flash的时钟信号SCL,以及用于与^f敖处理器单元31的通 信信号端,并与所述^t处理器单元31的第二 I/O 口 102连4妾;而主控制单元31 的第二复用端12复用为用于控制SPI Flash的MOSI、 MISO端,以及用于与微 处理单元31的通信信号端,并与所述微处理器单元31的第三I/O 口 103连接。 由于SPI Flash的片选信号端CS在没有被拉低之前,SPI Flash的MOSI端、MISO 端是一种高阻状态,所以主控制单元的引脚可以被复用。为便于说明,将第二 复用端12的输出信号称为SDA。
微处理器单元的第一 I/O 口则只用于控制SPI Flash的片选信号端,且所 述片选信号CS为低时,所述SPI Flash为有效状态。由上可以看出,由微处理 器单元控制的只是SPI Flash的片选信号端,而此端子不影响SPI Flash的读 写速度。
在进行读/写操作前,微处理器单元32置其101端口为高,因此SPI Flash 的片选信号端CS为高,SPI Flash处于无效状态。此时主控制单元31可以和微 处理器单元32进行数据通讯。在所述数据通信的过程中,所述主控制单元通过 其第一复用端II和第二复用端12向所述微处理器单元32发送对SPI Flash的 读/写操作命令,要求对SPI Flash进行读/写操作,并将要读/写的数据所在的 地址信息发送给微处理器单元32。在收到所述读/写操作命令后,所述微处理器 单元32将所述读/写操作命令以及地址信息发送给SPI Flash。最后由所述主控 制单元31对所述SPI Flash进行相应的读/写操作。在读/写操作完成后,主控 制单元31向微处理器单元32发送读/写操作完成消息,以使所述微处理器单元 32再次将SPI Flash置为无效状态。
如图4所示,本发明还提供了一种串行外围接口闪存的操作电路,包括如 下组成部分主控制单元31,微处理器单元32和串行外围接口闪存单元33。
其中,所述微处理器单元31的第一 I/O 口 101连接到所述串行外围接口闪 存单元32的片选信号端CS,所述微处理器单元32的第二 I/O 口 102分别连接 到所述串行外围接口闪存单元33的时钟信号端SCL和所述主控制单元的第一复 用端II,所述微处理器单元32的第三I/O 口 103分别连"^到所述串行外围接口 闪存单元33的主输出信号端MOSI,以及所述主控制单元31的第二复用端12, 所述微处理器单元32的第四I/O 口 104连接到所述串行外围接口闪存单元32 的主输出信号端MISO。
但是,与图3中相同的是,微处理器单元32控制的SPI Flash的引脚,并 不影响SPI Flash的读速度。因此,图4所示的方案还是能够保证对SPI Flash 的读速度。
由图4可以看出,与图3所示的串行外围接口闪存的操作电路所不同的是, 在此技术方案中,主控单元31的第二复用端12只是复用用于与微处理器单元 32进行通信的信号端以及对SPI Flash的MISO的控制端。而SPI Flash的MOSI 以及片选信号端CS则是由微处理器单元32进行控制。
在图3和图4所示的串行外围接口闪存的操作电路中,主控制单元和微处 理器单元之间的通信协议可以采用现有的通信协议,例如12C协议等,也可以 在现有协议的基础上进行扩展。但是,无论采用哪种协议,只要保证二者之间 的信息传递能够i支对方识别即可。
需要说明的是,图3或图4所示的串行外围接口闪存的操作电路可以单独 使用,也可以将该单元进行封装后形成存储设备,例如可以将该单元封装后, 得到USB Key。下面介绍一下本发明串行外围接口闪存的操作方法。以下,以图4所述的 操作电路为例。为方便描述,结合图5和图6、 7、 8的时序图对本发明的操作 方法进行描述。
如图5所示,本发明串行外围接口闪存的操作方法包括如下步骤 步骤51、主控制单元向微处理器单元发送对串行外围接口闪存单元的读/ 写操作命令。
结合图6的时序图,在此步骤中,主要是进行如下过程
(1) 在空闲状态时,主控制单元处于OD状态,将SCL作为其输出端,且 输出为高电平;而微处理器单元则是将SCL信号作为输入;
(2) 当所述主控制单元开始发送读/写操作命令时,通过其第一复用端将 时钟信号端SCL置为有效状态,也即将时钟信号端置为低电平;同时通过其第 一复用端和第二复用端向所述微处理器单元发送所述读/写操作命令。为保证微 处理器单元能够正确接收此命令,SCL至少保持10us的低电平。需要注意的是, 在SCL为低电平的第一个时钟信号内,主控制单元并不传送数据;
(3) 从SCL的第二个时钟信号开始,在每个时钟的下降沿,所述微处理器 单元在所述时钟信号SCL为有效状态时,即为低电平时,接收所述读/写操作命 令;同样,为保证所述微处理器单元能够正确的接收到相应的数据,SCL时钟信 号为高电平的时间需持续至少1 Ous ,为低电平的时间也需持续至少1 Ous的时间;
(4) 在所述微处理器单元接收完八个字节的读/写操作命令后,将SCL设 置为其输出,同时将SCL再次设置为低电平,从而禁止主控制单元向其再次发 送命令;
(5 )主控制单元将SCL设置为高电平,且持续至少20us的时间; 由图6的时序图可以看出,在上述过程中,片选信号端CS,主输出信号端
MOSI始终保持为高电平。也就是说,在这个过程中只是由主控制单元和微处理 器单元进行数据的交互,而不需要SPI Flash的参与。
再结合图7所示,为进一步提高读/写速度,(6)所述主控制单元根据所述 接收完成消息,将时钟信号端SCL置为有效状态,向所述微处理器单元发送地 址信息;其中所述地址信息表示主控制单元需要操作的数据在SPI Flash中的 相应位置。同样,主控制单元在SCL的每个下降沿发送一位的地址,首先发送 的是高字节的地址,然后再发送低字节的地址。
其中,(7)在主控制单元在发送完每个字节的地址后,将SCL设置为其输 入,而微处理器单元则在接收完每个字节的地址后,设置SCL输出为低,以禁 止主控制单元再向其发送地址;
(8 )当微处理器单元准备好接收主控制单元的地址信息后,它会再次将SCL 设为其输入,而主控制单元则是将SCL设为输出,准备向微处理器单元发送地 址。当高、低字节的地址发送完后,微处理器单元将SCL设置为低电平,而主 控制单元则会将SCL/SDA设为其输入。
在上述过程中,(9 )微处理器单元首先将SDA设置为其输入,准备接收由 主控制单元发送的地址信息;
(10 )当地址信息接收完成后,微处理器单元将SCL设置为输入,SDA为低, 表示微处理器单元正在执行后续的操作。
在一般情况下,对SPI Flash进行读写操作的时候,需要三个字节的地址, 但是由于最后一个字节的地址始终为0x00,因此,在本发明中,只需主控制单 元向微处理器单元发送两个字节的地址即可。
同样,由图7的时序图可以看出,在上述过程中,片选信号端CS,主输出信 号端M0SI始终保持为高电平,也就是在这个过程中只是由主控制单元和微处理
器单元进行数据的交互,而不需要SPI Flash的参与。
并且,在上述过程中,当微处理器单元接收完全部字节的读/写操作命令后, 首先会来判断接收到的读/写操作命令的类型。例如,所述微处理器单元会首先 判断一下接收到的数据是否为0bl010101、若是,则表明接收到主控制单元需向 其传送数据的起始字节,并将SCL设为输入,SDA为低电平,以表示微处理器单 元正在根据接收到的读/写操作命令进行后续的操作。其中,*为0表示主控制 单元需要读取SPI Flash的ID, *为1表示主控制单元需要读取SPI Flash中的 数据。
步骤52、根据所述读/写操作命令,所述微处理器单元将串行外围接口闪存 单元置为有效状态;
如图8所示,在接收完读/写操作命令以及相应的地址消息后,所述微处理 器单元将会将SPI Flash的片选信号端CS置为有效状态,即低电平状态,并将 所述读/写操作命令、地址信息发送给SPI Flash。
(11)微处理器单元向SPI Flash发送读/写操作命令和地址信息;在这个 过程中,微处理器单元控制SDA输出为低电平,表示所述微处理器单元正在执 行后续的操作;
(12 )微处理器单元将SCL/SDA设为输入,允许主控制单元读取或写入相 应的数据;
步骤53、所述主控制单元对所述串行外围接口闪存单元进行读/写操作。 再如图8所示,(13 )主控制单元设置SCL为输出,SDA为输入,读取SPI Flash
中相应地址中的数据,或向相应的地址中写入数据;
(14)在读写操作完成后,在主控制单元操作完成后,主控制单元将SCL
设置为低电平,并保持至少lms的时间,之后再将SDA设为高电平,并设置为
输入;
(15)当微处理器单元检测到SCL为低电平的时间超过了 800us后,设置 SCL为高电平,然后再次将SDA设置为低电平,以通知主控制单元结束通信的过 程。
以上,仅是以图4所示的串行外围接口闪存的操作电路为例进行描述。当 采用图3所示的电路的时候,其实现过程大致相同。
综上所述,本发明通过主控制单元控制SPI Flash的读写操作时序,而通 过微处理器单元控制SPI Flash的片选信号端。因此,由于微处理器单元控制 的是SPI Flash中不影响读写速度的引脚,因此,即使采用性能较差的微处理 器单元也能够保证对SPI Flash的读写速度。因此,相较于现有技术,本发明 在降低成本的同时提高了对SPI Flash的读写速度。
以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应 所述以权利要求的保护范围为准。
权利要求
1、一种串行外围接口闪存的操作方法,其特征在于,所述方法包括如下步骤主控制单元向微处理器单元发送对串行外围接口闪存单元的读/写操作命令;根据所述读/写操作命令,所述微处理器单元将串行外围接口闪存单元置为有效状态;所述主控制单元对所述串行外围接口闪存单元进行读/写操作。
2、 根据权利要求l所述的串行外围接口闪存的操作方法,其特征在于,在 主控制单元向微处理器单元发送对串行外围接口闪存单元的读/写操作命令的 步骤后,所述方法还包括所述主控制单元控制所述串行外围接口闪存单元的时钟信号端为有效状 态,向所述微处理器单元发送地址信息;所述微处理器单元在所述时钟信号端为有效状态时,接收所述地址信息。
3、 根据权利要求1或2所述的串行外围接口闪存的操作方法,其特征在于, 所述主控制单元向微处理器单元发送对串行外围接口闪存单元的读/写操作命 令的步骤具体为所述主控制单元控制所述串行外围接口闪存单元的时钟信号端为有效状 态,同时向所述微处理器单元发送所述读/写操作命令;所述微处理器单元在串行外围接口闪存单元的时钟信号端为有效状态时, 接收所述读/写操作命令。
4、 根据权利要求3所述的串行外围接口闪存的操作方法,其特征在于,在 微处理器单元接收所述读/写操作命令的步骤后,所述方法还包括所述微处理器单元确定所述读/写操作命令的类型。
5、 根据权利要求1或2所述的串行外围接口闪存的操作方法,其特征在于, 根据所述读/写操作命令,所述微处理器单元将串行外围接口闪存单元置为有效 状态的步骤具体为所述微处理器单元根据所述读/写操作命令,控制所述串行外围接口闪存单 元的片选信号端,将所述串行外围"l妻口闪存单元置为有效状态。
6、 根据权利要求l所述的串行外围接口闪存的操作方法,其特征在于,所 述主控制单元对所述串行外围接口闪存单元进行读/写操作的步骤具体为所述微处理单元控制所述串行外围接口闪存单元的主输出信号端,将接收 到的读/写操作命令发送给所述串行外围接口闪存单元;所述主控制单元,根据所述读/写操作命令,读取相应的数据;或所述主控 制单元根据读/写操作命令,写入相应的数据。
7、 根据权利要求2所述的串行外围接口闪存的操作方法,其特征在于,所 述主控制单元对所述串行外围接口闪存单元进行读/写操作的步骤具体为所述微处理单元控制所述串行外围接口闪存单元的主输出信号端,将接收 到的读/写操作命令以及地址信息发送给所述串行外围接口闪存单元;所述主控制单元,根据所述读/写操作命令以及地址信息,从相应的地址中 读取相应的数据;或根据所述读/写操作命令以及地址信息,向相应的地址中写 入数据。
8、 根据权利要求l所述的串行外围接口闪存的操作方法,其特征在于,在 所述主控制单元对所述串行外围接口闪存单元进行读/写操作的步骤后,所述方 法还包括当所述读/写操作完成后,所述主控制单元向所述微处理器单元发送读/写 操作完成命令。
9、 一种串行外围接口闪存的操作电路,其特征在于包括主控制单元,微 处理器单元和串行外围接口闪存单元;其中,所述微处理器单元的第一 I/O 口连接到所述串行外围接口闪存单元 的片选信号端,所述微处理器单元的第二 I/O 口分别连接到所述串行外围接口 闪存单元的时钟信号端和所述主控制单元的第一复用端,所述微处理器单元的 第三I/O 口分别连接到所述串行外围接口闪存单元的主输出信号端、主输入信 号端以及所述主控制单元的第二复用端。
10、 一种串行外围接口闪存的操作电路,其特征在于包括主控制单元, 微处理器单元和串行外围接口闪存单元;其中,所述微处理器单元的第一 I/O 口连接到所述串行外围接口闪存单元 的片选信号端,所述微处理器单元的第二 I/O 口分别连接到所述串行外围接口 闪存单元的时钟信号端和所述主控制单元的第一复用端,所述微处理器单元的 第三I/O 口分别连接到所述串行外围接口闪存单元的主输出信号端以及所述主 控制单元的第二复用端,所述微处理器单元的第四I/O 口连接到所述串行外围 接口闪存单元的主输出信号端。
11、 一种存储设备,其特征在于,所述存储设备具有如权利要求9或10所 述的串行外围接口闪存的操作电路。
全文摘要
本发明提供了一种串行外围接口闪存的操作电路、操作方法以及一种存储设备,涉及存储技术,为在降低成本的同时,提高对SPI Flash的读写速度而发明。其中,所述方法包括主控制单元向微处理器单元发送对串行外围接口闪存单元的读/写操作命令;根据所述读/写操作命令,所述微处理器单元将串行外围接口闪存单元置为有效状态;所述主控制单元对所述串行外围接口闪存单元进行读/写操作。本发明能够在降低成本的同时,提高对SPI Flash的读写速度。
文档编号G06F3/06GK101350000SQ200810118618
公开日2009年1月21日 申请日期2008年8月20日 优先权日2008年8月20日
发明者于永江, 陈益峰 申请人:北京握奇数据系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1