U盘, USB读卡器, U盘读卡器三者技术分析区别

        最近研究SD卡/TF卡读卡器, 发现有很大的技术信息, 很多消费者并不关心, 作为技术控, 这个必须要研究清楚.

        看了下淘宝和京东, 只要搜素"USB读卡器"冒出一大堆搜索结果, 具体产品我们不做介绍, 但是就这个读卡器的分类我们有必要从技术来分析一下, 因为很多开发人员也许都没整明白怎么回事, 因为大部分仅仅限于用SD卡, TF卡存储资料或是读取资料而已, 其他并不是关心的对象.

        下面我们来看看U盘, USB读卡器, U盘读卡器到底啥区.

         第一, U盘大家好理解, 就是一个USB设备, 内部焊接了一颗Flash存储芯片, 走的是USB storage 类协议, 这是USB 标准规范的一个子类, USB mass storage规范是针对USB大容量存储设备的, 即我们可以理解为这个协议就是简单认为是U盘协议.

         第二, U盘读卡器, 这个就是一个USB设备, 如果不插入SD卡/TF卡其实就是一个卡套, 在不插入SD卡情况下, 插入电脑, 其实也可以被电脑识别, 只是没有盘符出现, 但是是可以被识别的, 其实这个USB的读卡器就是一个模拟U盘通信协议的卡套, 当插入SD/TF卡之后就可以在电脑上看到U盘的盘符和对应的总容量/剩余容量(注意图标是U盘的盘符), 可以进行正常的读写操作. 

         所以可以看出来U盘读卡器其实SD/TF卡->U盘的转换实现, 也就是说这种U盘SD卡读卡设备在插入SD卡后就可以当U盘使用了, 而且也是和U盘一样的通信协议, USB mass storage 协议. 同时这种读卡设备的内置芯片里面有固件存在, 而且固件是可以升级的, 一般芯片厂商有专用工具可以检测U盘读卡器的内部固件版本, 并提示是否需要升级. 

         既然是U盘协议, 那理论是就是当和U盘一样没啥区别, 这种解决方案是目前淘宝,京东卖的USB读卡器的主流方案, 即现在市面的USB读卡器都是基于U盘协议实现的, 所以我们正确称呼这种设备应该是U盘读卡器. 而且采用这种U盘读卡器可以制作操作系统的启动盘用于从U盘安装操作系统, 和普通U盘无异.

         U盘读卡器内部的主要的芯片解决方案是: RTS5301/5306E, GL3225/3226/3227/3233等, 这些芯片内部都需要运行一个固件, 固件主要实现了USB mass storage 协议和控制SD/MMC控制器的读写. 而且目前这些芯片大部分都是USB3.0/3.1接口协议, SD/TF卡接口支持SD4.0, USH-II接口规范等, 支持的标准都比较新. 

         第三: USB读卡器, 这个USB读卡器和上述第二部分描述的U盘读卡器是不同的, 是完全不同的东西. 首先这个USB读卡器不是走U盘Mass storage 协议, 所以这种设备或芯片就不是U盘类装置了, 那他是如何实现的呢? 

         在进一步阐述之前, 我们先提一下笔记本自带的SD卡插槽, 这里以联想ThinkPad为例, 联想的ThinkPad笔记本目前都采用Realtek的RTS5240/5260一类(更早的型号有RTS5227/5229)的PCIE转SD/MMC/SDHC/SDXC芯片, 这类芯片是相当于基于PCIE的SD/MMC/SDHC/SDXC控制器, 当TF插入时由扫卡行为触发然后挂在为MMC设备, 最后MMC设备映射成盘符, 此时不管是Windows系统还是Ubuntu 系统, 在操作系统界面都可以看到一个类似SD卡的图标符号, 注意这个和第二部U盘读卡器的U盘符号不同, 说明系统识别到的是SD卡, 真正的SD卡, 不是U盘.  

         接下来我们接着说USB读卡器, 其实就是和PCIE的类似, SD/TF卡插入到这种USB读卡器, 在电脑上首先加载的是USB读卡器芯片的驱动, 而芯片的驱动和操作系统的MMC系统的驱动建立适配关系, 然后调用操作系统的扫卡API函数执行扫卡, 当然所有的SD/MMC的CMD指令最终是在USB读卡器的芯片驱动通过USB通信发送到芯片, 芯片再由硬件去解析CMD并完成对SD卡的读写控制, 也就是说这类芯片内部没有固件, 是纯硬件实现的, 它就是一个USB<->MMC/SD/SDXC/SDHC的协议转换芯片, USB总线通信也不需要Mass storage协议, 走普通的芯片厂商的固定标准普通USB协议即可完成通信, 所有的SD/MMC读写操作和USB交互最终都是在USB->MMC/SD转换芯片的驱动实现. 所以整个操作系统是在真正的操作SD卡/TF卡, 而不是当作U盘处理, 所以这类芯片制作的USB读卡器不是U盘协议, 当然也无法被用于系统安装盘之类的设备, 因为不具备U盘协议, 而且只有在系统正常启动和加载对应的设备驱动后, SD/TF/MMC卡才能被正确识别. 

        这种USB读卡设备主要的芯片也不多, 有VUB300和Realtek的RTS5129/5139/5179/5170等. Realtek这种芯片都是USB2.0协议接口, 很多都是7-8年的产品, 现在很少或是基本没有推广, 而PCIE-SD/MMC的主控芯片都是在笔记本上使用. 

        综上所述, 第一种U盘和第二种U盘读卡器是目前的市场主流, 支持USB3.0/3.1. 支持SD4.0/UHS-I/UHS-II等更高标准. 而普通USB读卡器芯片(非U盘协议), 已经基本逐步被历史淘汰, 市场上也基本很难或者几乎不可能买到此类读卡器.

        今天分享到此....

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值