基于可编程逻辑器件的存储卡访问控制系统的制作方法

文档序号:6522333阅读:168来源:国知局
基于可编程逻辑器件的存储卡访问控制系统的制作方法
【专利摘要】本发明涉及一种基于可编程逻辑器件的存储卡访问控制系统,包括:可编程逻辑器件,包括硬件逻辑部分和嵌入式软核处理器;存储卡卡槽,电连接可编程逻辑器件的硬件逻辑部分并用于插接存储卡;以及通讯端口,电连接可编程逻辑器件的硬件逻辑部分。其中,当存储卡插接于存储卡卡槽并工作在数据传输模式,嵌入式软核处理器负责存储卡的访问控制、但与硬件逻辑部分之间不传输存储卡的写入/读出数据。本发明由于嵌入式软核处理器负责存储卡的访问控制但与硬件逻辑部分之间不进行存储卡写入/读出数据的传输,因此可充分利用存储卡的数据传输带宽、提升存储卡的访问速度,同时也更利于降低系统成本和产品的小型化。
【专利说明】基于可编程逻辑器件的存储卡访问控制系统
【技术领域】
[0001]本发明涉及存储卡访问控制【技术领域】,特别涉及一种基于可编程逻辑器件的存储卡访问控制系统。
【背景技术】
[0002]在现有的移动存储卡例如SD卡访问控制设计方案中,系统架构有以下两种方案:
1、微控制器(MCU)直接访问SD卡;2、基于微控制器+FPGA访问SD卡。
[0003]在实际使用中,上述两种方案的缺点是显而易见的。对方案1,无论SD卡工作在SPI (Serial Peripheral Interface,串行外设接口)模式或者SD模式,速度均很低,因为所有的信号线包括时钟信号均是通过GPIO (General Purpose Input Output,通用输入/输出)来操作,导致时钟信号很难达到50MHz,实际的数据传输速度也就无法达到25MB/S。对方案2,虽然FPGA直接操作SD卡可以保证SD卡的时钟达到50MHz,但是该方案有很明显的速度瓶颈,即微控制器和FPGA之间的数据通讯速率较低,最终导致实际的SD访问速度仍然远低于25MB/S。从SDl.10标准开始到SD2.0标准,SD卡支持的最大传输速度已经由原来的12.5MB/S提升到现有的25MB/S,而上述两种方案均无法充分发挥SD卡的速度优势,很大程度上限制了 SD卡的使用范围。

【发明内容】

[0004]因此,为解决现有技术中存在的不足,本发明提出一种基于可编程逻辑器件的存储卡访问控制系统。
[0005]具体地,本发明一实施例提出的一种基于可编程逻辑器件的存储卡访问控制系统,包括:可编程逻辑器件、存储卡卡槽、以及通讯端口。其中,可编程逻辑器件包括硬件逻辑部分和嵌入式软核处理器;存储卡卡槽电连接可编程逻辑器件的硬件逻辑部分并用于插接存储卡;通讯端口电连接可编程逻辑器件的硬件逻辑部分。此外,所述嵌入式软核处理器用于发送访问控制命令至硬件逻辑部分以传送给存储卡、从硬件逻辑部分接收存储卡响应访问控制命令而提供的命令响应信号并对接收到的命令响应信号进行正确性检验、以及启动和控制硬件逻辑部分执行存储卡与通讯端口之间的数据传输。
[0006]此外,本发明另一实施例提出的一种基于可编程逻辑器件的存储卡访问控制系统,包括:可编程逻辑器件、存储卡卡槽、以及通讯端口。其中,可编程逻辑器件包括硬件逻辑部分和嵌入式软核处理器;存储卡卡槽电连接可编程逻辑器件的硬件逻辑部分并用于插接存储卡;通讯端口电连接可编程逻辑器件的硬件逻辑部分。此外,当存储卡插接于存储卡卡槽并工作在数据传输模式,嵌入式软核处理器负责存储卡的访问控制、但与硬件逻辑部分之间不传输存储卡的写入/读出数据。
[0007]由上可知,本发明实施例由于嵌入式软核处理器负责存储卡的访问控制但与硬件逻辑部分之间不进行存储卡写入/读出数据的传输,因此可充分利用存储卡的数据传输带宽、提升存储卡的访问速度,同时也更利于降低系统成本和产品的小型化。[0008]通过以下参考附图的详细说明,本发明的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本发明的范围的限定,这是因为其应当参考附加的权利要求。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅力图概念地说明此处描述的结构和流程。
【专利附图】

【附图说明】
[0009]下面将结合附图,对本发明的【具体实施方式】进行详细的说明。
[0010]图1为本发明实施例的一种基于可编程逻辑器件的存储卡访问控制系统的架构示意图。
[0011]图2为图1所示硬件逻辑部分的相关信号流向示意图。
【具体实施方式】
[0012]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的【具体实施方式】做详细的说明。
[0013]请参见图1,其为本发明实施例的一种基于可编程逻辑器件的存储卡访问控制系统的架构示意图。如图1所示,本实施例的基于可编程逻辑器件的存储卡访问控制系统10包括:可编程逻辑器件11、存储卡卡槽13和通讯端口 15。其中,可编程逻辑器件11包括硬件逻辑部分111和嵌入式软核处理器113。可编程逻辑器件11可为现场可编程门阵列(Field Programmable Gate Array, FPGA)器件等,嵌入式软核处理器113可为16位或32位精简指令集(RSIC)软核处理器,例如32位RSIC NiosII系列软核处理器等;存储卡卡槽13用于插接存储卡,例如用于插接SD卡(Secure Digital Memory Card,安全数码卡)、MMC卡(Multimedia Card,多媒体卡)、CF卡(Compact Flash,紧凑式闪存卡)或TF卡(TransFLash)等,通讯端口 15例如为网口、或USB 口等。需要说明的是,此处的各个功能模块的举例并非用来限制本发明。
[0014]承上述,存储卡卡槽13电连接可编程逻辑器件11的硬件逻辑部分111,通讯端口15电连接可编程逻辑器件11的硬件逻辑部分111。本发明的发明思想之一在于:嵌入式软核处理器113负责插接于存储卡卡槽13的存储卡的访问控制命令的发送、命令响应信号的接收与检验、以及启动和控制硬件逻辑部分111完成存储卡与通讯端口 15之间的数据传输,其不直接与可编程逻辑器件11的硬件逻辑部分111进行数据传输(也即存储卡的写入/读出数据不在两者之间传输),因此可消除现有技术中基于微控制器+FPGA访问存储卡的速度瓶颈。
[0015]为便于理解,下面将以FPGA器件、Nios II系列软核处理器和SD卡作为可编程逻辑器件11、嵌入式软核处理器113和存储卡的举例来详细说明本发明实施例的基于可编程逻辑器件的存储卡访问控制系统。
[0016]具体地,Nios II系列软核处理器和FPGA器件的硬件逻辑部分111配合实现对SD卡的访问控制,数据传输速度可高达25MB/S。在数据传输模式下,Nios II系列软核处理器负责启动和控制数据传输,Nios II系列软核处理器和FPGA的硬件逻辑部分111之间不进行数据传输,直接通过启动和控制FPGA的硬件逻辑部分111完成SD卡和通讯端口 15之间的数据传输。[0017]请一并参见图1和图2,SD卡和通讯端口 15之间加入双端口随机存储器或者先入先出缓存器(FIFO)做数据缓存1110。FPGA的硬件逻辑部分111负责访问控制命令的下载传送、命令响应信号的接收上传、执行SD卡与通讯端口 15之间的数据传输、以及CRC(Cyclic Redundancy Check,循环冗余码校验)计算与校验。Nios II系列软核处理器与FPGA的硬件逻辑部分111之间利用第二数据缓存例如双端口随机存储器1112做访问控制命令下载和命令响应信号上传。当然,第二数据缓存也可采用先入先出缓存器以达到相同或相近的功能和效果。
[0018]下面将具体描述基于FPGA器件的SD卡访问控制过程:
[0019]SD卡插接于存储卡卡槽13上电后先进行初始化配置,完成SD卡由未激活状态(inactive state)经卡认证模式(card identification mode)最后进入到数据传输模式(data transfer mode)。在数据传输模式下:
[0020](I)Nios II系列软核处理器发送读/写数据等访问控制命令至FPGA的硬件逻辑部分111的双端口随机存储器1112,由FPGA的硬件逻辑部分111将访问控制命令传送给SD卡并生成逻辑访问完成信号,Nios II系列软核处理器通过GPIO接口查询该逻辑访问完成信号以确认访问控制命令传送是否完成或超时。
[0021](2) SD卡接收FPGA的硬件逻辑部分111传送的读/写数据等访问控制命令后,为响应接收到的访问控制命令而生成命令响应信号并发送至FPGA的硬件逻辑部分111中的双端口随机存储器1112,FPGA的硬件逻辑部分111会生成逻辑访问完成信号、并对接收到的命令响应信号进行CRC校验以生成CRC校验状态信号,Nios II系列软核处理器通过GPIO接口查询该逻辑访问完成信号以确认命令响应信号接收是否完成以及查询CRC校验状态信号以确认命令响应信息的CRC校验状态是否正确,并在确认CRC校验正确后从双端口随机存储器1112中接收命令响应信号以及检验接收到的命令响应信号的相应Bit (位)值是否正确。
[0022](3)当Nios II系列软核处理器对命令响应信号的正确性检验通过后,启动并控制FPGA的硬件逻辑部分111进行SD卡与通讯端口 15之间的数据传输。在数据传输过程中,如果是向SD卡写数据,FPGA的硬件逻辑部分111从通讯端口 15获取数据存储至数据缓存1110并计算CRC,将数据和16位CRC+停止位发送至SD卡,生成逻辑访问完成信号;如果是从SD卡读数据,FPGA的硬件逻辑部分111从SD卡取出数据至数据缓存1110并计算CRC、接收16位CRC+停止位并进行CRC校验,在CRC校正正确后将数据传输至通讯端口15,另外FPGA的硬件逻辑部分111会生产CRC校验状态信号和逻辑访问完成信号。Nios II系列软核处理器会通过GPIO接口查询逻辑访问完成信号确认SD卡数据发送或接收是否完成、查询CRC校验状态信号以确认CRC校验状态是否正确。此外,若为多块(block)读/写操作,Nios II系列软核处理器还需发送停止传输命令并接收检验SD卡的命令响应信号。
[0023]由上述SD卡的访问控制过程可知,本发明实施例提出的一种基于Nios II系列软核处理器+FPGA的硬件逻辑部分的架构来实现SD卡的高速访问控制的设计方案可将数据传输时的SD卡时钟提升至50MHz,其中Nios II系列软核处理器负责SD卡的访问控制但不直接与FPGA的硬件逻辑部分进行数据传输,消除了基于微控制器+FPGA访问SD卡的速度瓶颈,使传输带宽能真正达到SD最大支持的25MB/S,充分利用SD卡的传输带宽,同时也更利于降低系统成本和产品的小型化。[0024]本文中应用了具体个例对本发明基于可编程逻辑器件的存储卡访问控制系统的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制,本发明的保护范围应以所附的权利要求为准。
【权利要求】
1.一种基于可编程逻辑器件的存储卡访问控制系统,其特征在于,包括: 可编程逻辑器件,包括硬件逻辑部分和嵌入式软核处理器; 存储卡卡槽,电连接所述可编程逻辑器件的所述硬件逻辑部分并用于插接存储卡; 通讯端口,电连接所述可编程逻辑器件的硬件逻辑部分; 其中,所述嵌入式软核处理器用于发送访问控制命令至所述硬件逻辑部分以传送给所述存储卡、从所述硬件逻辑部分接收所述存储卡响应所述访问控制命令而提供的命令响应信号并对接收到的所述命令响应信号进行正确性检验、以及启动和控制所述硬件逻辑部分执行所述存储卡与所述通讯端口之间的数据传输。
2.如权利要求1所述的基于可编程逻辑器件的存储卡访问控制系统,其特征在于,所述硬件逻辑部分包括数据缓存,设置在所述存储卡卡槽和所述通讯端口之间。
3.如权利要求2所述的基于可编程逻辑器件的存储卡访问控制系统,其特征在于,所述数据缓存为双端口随机存储器或先入先出缓存器。
4.如权利要求1所述的基于可编程逻辑器件的存储卡访问控制系统,其特征在于,所述硬件逻辑部分包括第二数据缓存,用于所述访问控制命令的下载和所述命令响应信号的上传。
5.如权利要求1所述的基于可编程逻辑器件的存储卡访问控制系统,其特征在于,所述硬件逻辑部分还用于CRC计算和校验。
6.如权利要求1所述的基于可编程逻辑器件的存储卡访问控制系统,其特征在于,所述可编程逻辑器件为FPGA器件。
7.如权利要求6所述的基于可编程逻辑器件的存储卡访问控制系统,其特征在于,所述嵌入式软核处理器为16位或32位精简指令集软核处理器。
8.如权利要求1所述的基于可编程逻辑器件的存储卡访问控制系统,其特征在于,所述存储卡卡槽用于插接SD卡、MMC卡、CF卡或TF卡。
9.一种基于可编程逻辑器件的存储卡访问控制系统,其特征在于,包括: 可编程逻辑器件,包括硬件逻辑部分和嵌入式软核处理器; 存储卡卡槽,电连接所述可编程逻辑器件的所述硬件逻辑部分并用于插接存储卡; 通讯端口,电连接所述可编程逻辑器件的硬件逻辑部分; 其中,当所述存储卡插接于所述存储卡卡槽并工作在数据传输模式,所述嵌入式软核处理器负责所述存储卡的访问控制、但与所述硬件逻辑部分之间不传输所述存储卡的写入/读出数据。
10.如权利要求9所述的基于可编程逻辑器件的存储卡访问控制系统,其特征在于,所述可编程逻辑器件为FPGA器件。
【文档编号】G06F11/10GK103744807SQ201310648946
【公开日】2014年4月23日 申请日期:2013年12月4日 优先权日:2013年12月4日
【发明者】王伙荣, 周晶晶 申请人:西安诺瓦电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1