一种只读读卡器及其实现方法与流程

文档序号:13004540阅读:548来源:国知局
一种只读读卡器及其实现方法与流程

本发明涉及读卡器领域,尤其涉及一种只读读卡器及其实现方法。



背景技术:

随着我国国民经济的快速发展,电子设备已成为人们日常生活中不可或缺的一部分,与此同时,各种存储卡也大量普及,种类繁多,如sd、mmc、minisd、ms、cf、md、xd、sm、tf、m2等。然而,伴随而来的计算机以及网络类型的案件逐步增多,涉案的个人移动存储设备越来越多,其中就包含存储卡。为保证存储卡内信息的司法有效性和数据完整性,提供一种兼容各种类型的存储卡,并且方便操作,便于携带的只读设备已经成为了取证鉴定领域必备的设备之一。

目前市面上的只读设备,主要有两种方案:第一种方案,单片机用io模拟与存储卡识别模块相连,运用dma通道对dma数据流进行监测及控制,实现对存储卡的只读功能,这种方案大多适用于usb2.0接口的只读锁,即使是usb3.0接口,最终实现起来也是把usb3.0全双工模式降级为半双工模式来实现,无法发挥usb3.0高速的性能,所以读取速度慢是此类方案的一个缺陷;第二种方案,fpga主控先读取只读设备中的所有卡片数据,把该数据统一存储在一个专门的内存空间中,对卡片的原始数据进行保护,在后续交互过程中,pc机通过访问该数据区域的地址,就可以获取到只读设备的卡片数据,而不是对只读设备中的卡片数据进行直接操作,达到保护卡片数据的目的,从而实现只读功能,但该方案需要的硬件结构较复杂,故成本高。



技术实现要素:

本发明所要解决的技术问题是:提供一种低成本、高速度的只读读卡器及其实现方法。

为了解决上述技术问题,本发明采用的一种技术方案为:

一种只读读卡器,包括存储卡识别模块,还包括主控制模块、串行总线扩展模块;

所述主控制模块通过usb3.0数据线与pc端连接,通过pciexpress总线与串行总线扩展模块连接;

所述串行总线扩展模块通过usb3.0数据线与所述存储卡识别模块连接。

为了解决上述技术问题,本发明采用的另一种技术方案为:

一种上述只读读卡器的实现方法,包括步骤:

s1、接收pc端的usb控制指令;

s2、解析所述usb控制指令,若是写指令,则执行步骤s3,若是读指令,则执行步骤s4;

s3、反馈一有效值给pc端,并且不执行所述写指令;

s4、将获取的数据包通过所述usb3.0数据线发送给pc端。

本发明的有益效果在于:在只读读卡器中设置主控制模块,并令所述主控制模块通过usb3.0数据线与pc端连接,通过pciexpress总线与串行总线扩展模块连接,串行总线扩展模块通过usb3.0数据线与所述存储卡识别模块连接,当只读读卡器接收到pc端的写指令时,反馈一有效值给pc端,并且不执行所述写指令,不仅能够实现对一切写入操作的阻断,有效保护存储介质中的数据在获取和分析过程中的数据安全,从而保证取证工作的司法有效性与数据完整性,而且由于主控模块通过usb3.0总线以及pciexpress总线进行通信,能够保证数据传输的高速性,同时只需要采用能够实现usb3.0总线以及pciexpress总线通信的芯片作为主控制模块即可,硬件结构简单,成本低。

附图说明

图1为本发明实施例的只读读卡器的硬件框图;

图2为本发明实施例的只读读卡器的实现方法流程图;

图3为本发明实施例的只读读卡器中主控制模块为usb3380控制器的硬件框图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:在只读读卡器中设置主控制模块,所述主控制模块通过usb3.0数据线与pc端连接,通过pciexpress总线与串行总线扩展模块连接。

请参照图1,一种只读读卡器,包括存储卡识别模块,还包括主控制模块、串行总线扩展模块;

所述主控制模块通过usb3.0数据线与pc端连接,通过pciexpress总线与串行总线扩展模块连接;

所述串行总线扩展模块通过usb3.0数据线与所述存储卡识别模块连接。

从上述描述可知,本发明的有益效果在于:在只读读卡器中设置主控制模块,并令所述主控制模块通过usb3.0数据线与pc端连接,通过pciexpress总线与串行总线扩展模块连接,串行总线扩展模块通过usb3.0数据线与所述存储卡识别模块连接,由于主控模块通过usb3.0总线以及pciexpress总线进行通信,能够保证数据传输的高速性,同时只需要采用能够实现usb3.0总线以及pciexpress总线通信的芯片作为主控制模块即可,硬件结构简单,成本低。

进一步的,所述主控制模块包含第一usb3.0接口和第一pciexpress总线接口;

所述串行总线扩展模块包含第二pciexpress总线接口和第二usb3.0接口;

所述存储卡识别模块包含第三usb3.0接口;

所述主控制模块的第一usb3.0接口通过usb3.0数据线与pc端对应的usb3.0接口连接,所述主控制模块的第一pciexpress总线接口通过pciexpress总线与串行总线扩展模块的第二pciexpress总线接口连接;

所述串行总线扩展模块的第二usb3.0接口通过usb3.0数据线与存储卡识别模块的第三usb3.0接口连接。

由上述描述可知,只要采用具有usb3.0接口和pciexpress总线接口的usb控制器芯片作为主控制模块,对接入的usb设备进行控制,并在所述主控制模块和存储卡识别模块之间连接一串行总线扩展模块,实现主控制模块与存储卡识别模块之间交互的数据格式的转换,就能够实现对接入的usb设备的写保护,结构简单,成本低,并且读取数据的速度快。

进一步的,所述主控制模块为usb3380控制器。

由上述描述可知,采用plx公司推出的usb338x系列控制器,均使用了usb3.0、pci-e2.0两种高速传输标准,二者之间的带宽高达5gt/s,可以对外提供最高5gbps的理论传输带宽,而且都支持plxusbduet技术,可用于笔记本、平板机的互连数据同步和共享。

进一步的,所述存储卡识别模块集成有多个不同类型的存储卡接口。

进一步的,所述存储卡接口为cf卡/md卡接口、sd卡/mmc卡接口、ms卡/minisd卡接口、sm卡/xd卡接口、tf卡/m2卡接口中的任意两种以上。

由上述描述可知,通过在存储卡识别模块集成有多个不同类型的存储卡接口,能够增加所述只读读卡器所能够处理的usb设备的类型数,提高所述只读读卡器的通用性。

请参照图2,一种上述只读读卡器的实现方法,包括步骤:

s1、接收pc端的usb控制指令;

s2、解析所述usb控制指令,判断所述usb控制指令是否为写指令,若是,则执行步骤s3,否则,执行步骤s4;

s3、反馈一有效值给pc端,并且不执行所述写指令;

s4、将获取的数据包通过所述usb3.0数据线发送给pc端。

由上述描述可知,当解析出pc端的usb控制指令为写指令时,通过反馈一有效值给pc端,使得pc端误以为写成功,而不是真正去执行所述写指令,从而阻断了一切写入操作,形成无反馈的单向采集数据,有效保护存储介质中的数据在获取和分析过程中的数据安全,从而保证取证工作的司法有效性与数据完整性。

进一步的,所述步骤s1之前还包括步骤:

s01、所述只读读卡器一上电,所述主控制模块进行初始化;

s02、判断是否有usb设备接入,若有,执行步骤s03,否则,继续执行步骤s02;

s03、枚举所述usb设备,识别和寻址所述usb设备。

进一步的,所述步骤s01的初始化具体包括:

设置寄存器的工作模式,分配和初始化接收缓冲区和发送缓冲区,初始化数据接收地址。

由上述描述可知,通过初始化操作以及对接入的usb设备的枚举,保证每次读取数据的正确性,提高了数据传输的可靠性。

进一步的,所述步骤s1还包括步骤:

s04、向所述usb设备发送读取数据包请求,接收所述usb设备发送的数据包;

将所述数据包存储到接收缓冲区,并发出中断信号;

在中断进程中从接收缓冲区读出所述数据包,并存入ram。

进一步的,所述步骤s4具体包括:

将所述数据包从ram中读出,并存入发送缓冲区,将发送缓冲区的数据通过所述usb3.0数据线发送给pc端。

由上述描述可知,通过usb3.0实现所读取数据的传输,提高数据读取速度。

实施例一

请参照图3,一种只读读卡器,包括主控制模块、存储卡识别模块和串行总线扩展模块,其中,主控制模块为usb3380控制器;

所述usb3380控制器包含usb3.0接口和pciexpress总线接口,两种接口的带宽高达5gt/s,可以对外提供最高5gbps的理论传输带宽,而且都支持plxusbduet技术,其中所述主控制模块也可以是其它类型的usb控制器,只要是包含usb3.0接口和pciexpress总线接口即可,比如usb338x系列控制器;

所述存储卡识别模块包含usb3.0接口;

所述串行总线扩展模块包含pciexpress总线接口和usb3.0接口,实现两种接口间数据格式的转换,作为所述usb3380控制器与存储卡识别模块之间的“桥梁”;

所述usb3380控制器的usb3.0接口通过usb3.0数据线与pc端对应的usb3.0接口连接,所述usb3380控制器的pciexpress总线接口通过pciexpress总线与串行总线扩展模块的pciexpress总线接口连接;

所述串行总线扩展模块的usb3.0接口通过usb3.0数据线与存储卡识别模块的usb3.0接口连接;

所述存储卡识别模块集成有多个不同类型的存储卡接口;所述存储卡接口为cf卡/md卡接口、sd卡/mmc卡接口、ms卡/minisd卡接口、sm卡/xd卡接口、tf卡/m2卡接口中的任意两种以上,因此,上述卡接口分别通过cf卡标准协议、sd3.0/mmc卡标准协议、ms卡标准协议、xd卡标准协议、microsd3.0/m2卡标准协议实现与相应存储卡的通信;

所述存储卡识别模块具体可以是石英震荡器usb3.1gen1多lun读卡器控制器,它提供5个lun(逻辑单元号),可以支持各种类型的存储卡,如compactflash,microdrive,sd,sdhc,minisd,microsd(t-flash),mmc,rs-mmc,mmcmicro,mmcmobile,ms,memorystickduotm(msduo),高速记忆棒tm,memorystickprotm(mspro),memorystickprotmduo(msproduo),memorystickpro-hgtm(mspro-hg),mspromicro和xd-picture卡在一个芯片中,它还支持sdxc和memorystickxc高密度存储卡(容量高达2tb)和sd3.0uhs-i存储卡。

所述usb3380控制器和存储卡识别模块均通过spi总线外接有flash模块;

所述usb3380控制器中还包括usbclient控制器,存储控制器,dma以及8051,所述存储控制器分别与pciexpress接口、dma、8051连接,所述usbclient控制器分别与usb3.0接口、存储控制器连接。

实施例二

一种实施例一所述的只读读卡器的实现方法,包括步骤:

将所述只读读卡器的usb3.0接口通过usb3.0数据线连接至pc端;

所述只读读卡器一上电,所述usb3380控制器进行初始化,设置寄存器的工作模式,分配和初始化接收缓冲区和发送缓冲区,初始化数据接收地址;

判断是否有usb设备接入,若有,则枚举所述usb设备,识别和寻址所述usb设备,否则,返回继续判断,其中,所述usb设备即为实施例一所述的各种类型的存储卡;

向所述usb设备发送读取数据包请求,接收所述usb设备发送的数据包,usb3380控制器通过控制串行总线扩展模块,进而与存储卡识别模块通信,存储卡识别模块利用与所述usb设备对应的协议驱动所述usb设备,并读取相应的数据包,返回给usb3380控制器;

usb3380控制器接收到所述数据包后,将所述数据包存储到接收缓冲区,并发出中断信号;

在中断进程中通过dma从接收缓冲区读出所述数据包,并将所述数据包存入ram,存入ram结束后,中断进程终止;

usb3380控制器接收pc端的usb控制指令;

解析所述usb控制指令,判断所述usb控制指令是否为写指令,若是,则反馈一有效值给pc端以让pc端误以为写成功,并且不执行所述写指令以阻断一切写入操作,有效保护存储介质中的数据在获取和分析过程中的数据安全;

否则,将获取的数据包通过所述usb3.0数据线发送给pc端,具体为通过dma将所述数据包从ram中读出,并存入发送缓冲区,将发送缓冲区的数据通过所述usb3.0数据线发送给pc端;

对于usb3380控制器来说,数据的发送校验,总线数据包的碰撞检测与避免是由芯片自己完成的,usb3380控制器只需要配置发送数据的物理层地址、源地址、目的地址、数据包类型以及发送的数据就可以了。

综上所述,本发明提供的只读读卡器及其实现方法,在只读读卡器中设置主控制模块,并令所述主控制模块通过usb3.0数据线与pc端连接,通过pciexpress总线与串行总线扩展模块连接,串行总线扩展模块通过usb3.0数据线与所述存储卡识别模块连接,当只读读卡器接收到pc端的写指令时,反馈一有效值给pc端,并且不执行所述写指令,从最底层切断通信“握手”,形成无反馈的单向采集数据,不仅能够实现对一切写入操作的阻断,有效保护存储介质中的数据在获取和分析过程中的数据安全,从而保证取证工作的司法有效性与数据完整性,而且由于主控模块通过usb3.0总线以及pciexpress总线进行通信,能够保证数据传输的高速性,同时只需要采用能够实现usb3.0总线以及pciexpress总线通信的usb控制器芯片作为主控制模块即可,硬件结构简单,成本低。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1