iKuai爱快流控路由

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2839|回复: 1
打印 上一主题 下一主题

[爱快技术] U盘, USB读卡器, U盘读卡器三者技术分析区别

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-29 16:19:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近研究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盘协议), 已经基本逐步被历史淘汰, 市场上也基本很难或者几乎不可能买到此类读卡器.

        今天分享到此....


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 支持支持 反对反对
沙发
发表于 2020-1-10 17:31:46 | 只看该作者
%E4%B8%8D%E8%81%8A%E4%BA%86%F0%9F%A4%A3
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|论坛规章制度|iKuai Inc. ( 京ICP备13042604号 )

GMT+8, 2024-10-2 12:30

Powered by Discuz! X3.3

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表