没有合适的资源?快使用搜索试试~ 我知道了~
这个文档时通过单片机对SD卡进行读写的文档,有一部分代码,也有所有初始化指令操作的方法,希望对想要研究这个东东的朋友们可以得到帮助;另:我之前也做过这个开发,其中硬件电路是很重要的,请在开发以前确保硬件电路的安全,以免走弯路谢谢
资源推荐
资源详情
资源评论
因此在一些需要转存数据的设备,仪器上使用 USB 移动存储设备接口的芯片便相继产生了,
CH375 就是其中之一,它是一个 USB 总线的通用接口芯片,支持 HOST 主机方式和
SLAVE 设备方式。
3.2 特点
2)全速设备接口,完全兼容CH372 芯片,支持动态切换主机与设备方式。
3)主机端点输入和输出缓冲区各64 字节,支持常用的12Mbps 全速USB 设备。
4)支持USB 设备的控制传输、批量传输、中断传输。
7 ) 内 置 固 件 处 理 海 量 存 储 设 备 的 专 用 通 讯 协 议 , 支 持 Bulk-Only 传 输 协 议 和
SCSI、UFI、RBC
或等效命令集的USB 存储设备(包括USB 硬盘/USB 闪存盘/U 盘)。
8)通过U 盘文件级子程序库实现单片机读写USB 存储设备中的文件。
9)并行接口包含8 位数据总线,4 线控制:读选通、写选通、片选输入、中断输出。
10)串行接口包含串行输入、串行输出、中断输出,支持通讯波特率动态调整。
11)支持5V 电源电压和3.3V 电源电压,CH375A 芯片还支持低功耗模式。
12)采用SOP-28 封装,可以提供SOP28 到DIP28 的转换板。
28,12.23
-
图1 CH375各引脚说明
3.3 功能说明
CH375 芯片可以工作于USB-HOST 主机方式或者USB 设备方式。CH375的USB 主机方
式支持并行接口和串行接口。在USB主机方式下,CH375支持各种常用的USB全速设备,外部
单片机需要编写固件程序按照相应的 USB协议与USB 设备通讯。但是对于 USB存储设备,
CH375 内置了相关协议,通常情况下,外部单片机不需要编写固件程序,就可以直接通讯 。
CH375 芯片在本地端提供了通用的被动并行接口和点对点的串行接口。
图2 CH375芯片的电器参数
3.4 CH375工作于串口模式下
串行接口只能用于USB 主机方式,CH375 芯片的USB 设备方式不支持串口。串口信号线
包括:串行数据输入引脚RXD、串行数据输出引脚TXD、中断输出引脚INT#。通过串行接口,
CH375 可以用最少的连线与单片机、DSP、MCU 进行较远距离的点对点连接。
CH375芯片的RXD 和TXD可以分别连接到单片机的串行数据输出引脚和串行数据输入引
脚。INT#输出的中断请求是低电平有效,用于通知单片机。 CH375 的串行数据格式是1个起
始位、9个数据位、1个停止位,其中前8个数据位是一个字节数据,最后1个数据位是命令标
志位。第9位为0时,前8位的数据被写入CH375芯片中,第9位为1时,前8位被作为命令码写
入 CH375 芯 片 中 。 CH375 的 串 行 通 讯 波 特 率 默 认 是 9600bps , 单 片 机 可 以 随 时 通 过
SET_BAUDRATE 命令选择合适的通讯波特率。
3.5 其它功能简介
在CH375 芯片的复位期间,TXD引脚用于选择通讯接口。如果CH375 在复位期间检测到
TXD引脚为低电平则启用并行接口,否则启用串行接口。如果启用串行接口,那么复位完成后
TXD引脚将用于串行数据输出,并且CH375 芯片只能工作于USB 主机方式。
CH375芯片的ACT#引脚用于状态指示。在内置固件的USB设备方式下,当USB 设备尚未
配置或者取消配置后,该引脚输出高电平;当USB 设备配置完成后,该引脚输出低电平。对于
CH375A 芯片,在USB主机方式下,当USB 设备断开后,该引脚输出高电平;当USB设备连
接后,该引脚输出低电平。CH375 的ACT#引脚可以外接串了限流电阻的发光二级管LED,用
于指示相关的状态。
CH375 芯片的UD+和UD-引脚是USB 信号线,工作于USB 设备方式时,应该直接连接
到USB总线上;工作于USB 主机方式时,可以直接连接到USB设备。如果为了芯片安全而串接
保险电阻或者电感,那么交直流等效串联电阻应该在5Ω之内。
CH375芯片内置了电源上电复位电路,一般情况下,不需要外部提供复位。RSTI 引脚用
于从外部输入异步复位信号;当RSTI 引脚为高电平时,CH375芯片被复位;当RSTI 引脚恢复
为低电平后,CH375会继续延时复位20mS 左右,然后进入正常工作状态。为了在电源上电
期间可靠复位并且减少外部干扰,可以在RSTI引脚与VCC 之间跨接一个容量为0.47uF 左右的
电容。RST引脚和RST#引脚是复位状态输出引脚,分别是高电平有效和低电平有效;当
CH375电源上电复位或者被外部强制复位以及复位延时期间,RST 引脚和RST#引脚分别输出
高电平和低电平;CH375复位完成后,RST 引脚和RST#引脚分别恢复到低电平和高电平。
RST 和RST#引脚可以用于向外部单片机提供上电复位信号。
CH375芯片正常工作时需要外部为其提供12MHz 的时钟信号。一般情况下,时钟信号由
CH375内置的反相器通过晶体稳频振荡产生。外围电路只需要在XI 和XO 引脚之间连接一个标
称频率为12MHz的晶体,并且分别为XI 和XO 引脚对地连接一个高频振荡电容。如果从外部直
接输入12MHz时钟信号,那么应该从XI 引脚输入,而XO 引脚悬空。
CH375芯片支持5V电源电压或者3.3V 电源电压。当使用5V 工作电压时,CH375 芯片
的VCC引脚输入外部5V 电源,并且V3 引脚应该外接容量为0.01uF 左右的电源退耦电容。当
使用3.3V 工作电压时,CH375 芯片的V3引脚应该与VCC引脚相连接,同时输入外部的3.3V
电源,并且与CH375 芯片相连接的其它电路的工作电压不能超过3.3V。
3.6 内部结构
CH375 芯片内部集成了PLL 倍频器、主从USB 接口SIE、数据缓冲区、被动并行接口、异
步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。PLL 倍频器用于将外
部输入的12MHz 时钟倍频到48MHz,作为USB 接口SIE 时钟。
主从USB 接口SIE是USB主机方式和USB设备方式的一体式SIE,用于完成物理的USB数据
接收和发送,自动处理位跟踪和同步、NRZI编码和解码、位填充、并行数据与串行数据之间的
转换、CRC数据校验、事务握手、出错重试、USB 总线状态检测等。
数据缓冲区用于缓冲USB 接口SIE 收发的数据。
被动并行接口用于与外部单片机/DSP/MCU 交换数据。
异步串行接口用于代替被动并行接口与外部单片机/DSP/MCU 交换数据。
命令解释器用于分析并执行外部单片机/DSP/MCU 提交的各种命令。
控制传输的协议处理器用于自动处理常用的控制传输的多个阶段,简化外部固件编程。
通用的固件程序包含两组:一组用于USB 设备方式,自动处理USB默认端点0 的各种标准事
务等;另一组用于USB 主机方式,自动处理Mass-Storage 海量存储设备的专用通讯协议。
CH375 芯片内部具有7 个物理端点:
端点0 是默认端点,支持上传和下传,上传和下传缓冲区各是8 个字节;
端点1包括上传端点和下传端点,上传和下传缓冲区各是8个字节,上传端点的端点号是
81H,下传端点的端点号是01H;
端点2 包括上传端点和下传端点,上传和下传缓冲区各是64 个字节,上传端点的端点号是
82H,下传端点的端点号是02H;
主机端点包括输出端点和输入端点,输出和输入缓冲区各是64 个字节,主机端点与端点2合
用同一组缓冲区,主机端点的输出缓冲区就是端点 2 的上传缓冲区,主机端点的输入缓冲区就
是端点2 的下传缓冲区。
CH375 的端点0、1、2 只用于USB 设备方式,在USB 主机方式下只需要用到主机端点。
在USB 主机方式下,CH375 支持各种常用的USB 全速设备。USB 设备的端点号可以是0~
15,两个方向最多支持31 个端点,USB 设备的包长度可以是0~64 字节。
内置固件可以处理Mass-Storage 海量存储设备的通讯协议,要求USB 存储设备支持
Bulk-Only传输协议,支持SCSI、UFI、RBC或者等效的命令集,并且数据端点的最大包长度
是64 字节,但是默认端点0 的最大包长度可以是8、16、32 或者64 字节。如果USB 存储设
备 不 符 合 上 述 要 求 , 则 需 要 外 部 单 片 机 通 过 控 制 传 输 以 及 ISSUE_TOKEN 命 令 或 者
ISSUE_TKN_X命令自行处理相关通讯协议。
图3 CH375芯片内部中断逻辑图
3.7 本地端的单片机软件
CH375芯片占用两个地址位,当A0 引脚为高电平时选择命令端口,可以写入命令;当A0
引脚为低电平时选择数据端口,可以读写数据。
单片机通过8 位并口对CH375 芯片进行读写,所有操作都是由一个命令码、若干个输入数据
和若干个输出数据组成,部分命令不需要输入数据,部分命令没有输出数据。命令操作步骤如
下:
①、在A0=1 时向命令端口写入命令代码;
②、如果该命令具有输入数据,则在A0=0 时依次写入输入数据,每次一个字节;
③、如果该命令具有输出数据,则在A0=0 时依次读取输出数据,每次一个字节;
④、命令完成,可以暂停或者转到①继续执行下一个命令。
CH375芯片专门用于处理USB 通讯,在检测到USB 总线的状态变化时或者命令执行完成
后,CH375 以中断方式通知单片机进行处理。
3.8 单片机读写 U 盘文件
图 4 单
片 机 读 写
U 盘文件
一 般 情
况 下 , 单
片 机 或 嵌
入 式 系 统
处 理 USB
存储设备的文件系统需要实现上图左边的4个层次,右边是USB 存储设备的内部结构层次。由
于CH375 不仅是一个通用的USB-HOST 硬件接口芯片,还内置了相关的固件程序,包含了上
图左边的3 个层次(标为灰色部分),所以实际的单片机程序只需要处理 FAT 文件系统层,并
且即使这一层也可以由CH375 的U 盘文件级子程序库实现。
如果不需要处理文件系统,也就是不处理上图左边的最顶层,那么CH375 直接提供了数据
块的读写接口,以512字节的物理扇区为基本读写单位,从而将USB存储设备简化为一种外部
数据存储器,单片机可以自由读写USB 存储设备中的数据,也可以自由定义其数据结构。由于
计算机将USB 存储设备组织为文件系统,为了方便单片机通过USB移动存储设备与计算机之间
交换数据,单片机也可以将USB 存储设备组织为文件系统,也就是处理上图左边的最顶层。
CH375以C语言子程序库提供了USB存储设备的文件级接口,这些应用层接口API包含了常
用的文件级操作,可以移植并嵌入到各种常用的单片机程序中。
CH375 的U 盘文件级子程序库具有以下特性:支持常用的FAT12、FAT16 和FAT32 文件系
统,磁盘容量可达100GB 以上,支持多级子目录,支持8.3 格式的大写字母和中文文件名,
可以支持小写字母或者长文件名,支持文件打开、新建、删除、读写以及搜索等。
CH375 的文件级子程序库需要大约600 字节的随机存储器RAM 作为缓冲区。以普通的
MCS-51 单片机为例,文件系统的全部子程序有4KB 到8KB 代码,并且需要大约80 字节的内
部RAM 和512 字节的外部RAM 作为缓冲区。
四,串口版U盘读写模块的说明
模块具有两个外部接口:P1 是USB 插座,可以直接插入U 盘或者通过USB 延长线连接U盘,
当进行程序升级或者重新配置时应该通过USB 对连线连接计算机的USB 端口;P2 是16 脚的
双排针或者插座,用于连接单片机系统。
图5 串口版U盘模块正反外观图
在串口方式下,单片机与模块的P2 端口相连接,只需要使用高8 脚(第9 脚到第16脚),
剩余35页未读,继续阅读
资源评论
petter8824
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Arduino和M5Atom的WiFi CO2监测系统.zip
- (源码)基于Keras的YoloV3目标检测系统.zip
- (源码)基于Spring Boot和MyBatis Plus的手机资产管理系统.zip
- 微信开发者工具(微信小游戏开发引擎)findChildByName全局查找封装
- (源码)基于Python和RealsenseD455的脑外科手术机器人系统.zip
- (源码)基于Java Web的订单管理系统.zip
- (源码)基于Python和Django框架的Jcrontab任务管理系统.zip
- (源码)基于RePlugin插件化框架的动态功能接入系统.zip
- (源码)基于ASP.NET Core的学生教师管理系统.zip
- (源码)基于C++的机房预约管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功