一、芯片概述
CH376是文件管理控制芯片,用于单片机系统读写U 盘或者SD 卡中的文件。
CH376 支持USB 设备方式和USB 主机方式,并且内置了USB 通讯协议的基本固件,内置了处理
Mass-Storage海量存储设备的专用通讯协议的固件,内置了SD卡的通讯接口固件,内置了FAT16和FAT32 以及FAT12 文件系统的管理固件,支持常用的USB 存储设备(包括U 盘/USB 硬盘/USB 闪存盘/USB读卡器)和SD卡(包括标准容量SD 卡和高容量HC-SD 卡以及协议兼容的MMC卡和TF卡)。
CH376 支持三种通讯接口:8 位并口、SPI 接口或者异步串口,单片机/DSP/MCU/MPU 等控制器可以通过上述任何一种通讯接口控制CH376芯片,存取U 盘或者SD卡中的文件或者与计算机通讯。
CH376的USB 设备方式与CH372芯片完全兼容,CH376 的USB 主机方式与CH375 芯片基本兼容。
二、特点
●支持1.5Mbps 低速和12Mbps 全速USB 通讯,兼容USB V2.0,外围元器件只需要晶体和电容。
● 支持USB-HOST主机接口和USB-DEVICE设备接口,支持动态切换主机方式与设备方式。
● 支持USB 设备的控制传输、批量传输、中断传输。
● 自动检测USB 设备的连接和断开,提供设备连接和断开的事件通知。
● 提供6MHz的SPI 主机接口,支持SD卡以及与其协议兼容的MMC卡和TF卡等。
● 内置USB 控制传输的协议处理器,简化常用的控制传输。
● 内置固件处理海量存储设备的专用通讯协议,支持Bulk-Only传输协议和SCSI、UFI、RBC或
等效命令集的USB 存储设备(包括U盘/USB硬盘/USB 闪存盘/USB读卡器)。
● 内置FAT16和FAT32以及FAT12文件系统的管理固件,支持容量高达32GB的U 盘和SD 卡。
● 提供文件管理功能:打开、新建或删除文件、枚举和搜索文件、创建子目录、支持长文件名。
● 提供文件读写功能:以字节为最小单位或者以扇区为单位对多级子目录下的文件进行读写。
● 提供磁盘管理功能:初始化磁盘、查询物理容量、查询剩余空间、物理扇区读写。
● 提供2MB 速度的8 位被动并行接口,支持连接到单片机的并行数据总线。
● 提供2MB/24MHz速度的SPI 设备接口,支持连接到单片机的SPI 串行总线。
● 提供最高3Mbps速度的异步串口,支持连接到单片机的串行口,支持通讯波特率动态调整。
● 支持5V 电源电压和3.3V电源电压以及3V 电源电压,支持低功耗模式。
● USB 设备方式完全兼容CH372 芯片;USB 主机方式基本兼容CH375 芯片。
● 提供SOP-28 和SSOP20 无铅封装,兼容RoHS, SOP28 封装的引脚基本兼容CH375 芯片。
三、参考设计
如果需要将CH376配置为8位并口通讯方式PARALLEL,那么TXD 应该接GND,其余引脚悬空。
如果需要将CH376配置为SPI串行通讯方式SPI,那么RD#和WR#应该接GND,其余引脚悬空。
如果需要将CH376配置为异步串口通讯方式UART/SERIAL,那么所有引脚应该悬空,默认的串口
通讯波特率由SDI/D6、SCK/D5、BZ/D4 三个引脚设定。如果需要动态修改CH376 串口的通讯波特率,那么建议由单片机的I/O 引脚控制CH376 的RSTI 引脚,便于在必要时复位CH376 以恢复到默认的通讯波特率。由于RSTI 引脚内置有下拉电阻,所以由MCS51 等单片机的准双向I/O 引脚驱动时可能需要另加一个阻值约几KΩ的上拉电阻。
由于INT#引脚和TXD 引脚在CH376 复位期间只能提供微弱的高电平输出电流,在进行较远距离
的连接时,为了避免INT#或者TXD 在CH376 复位期间受到干扰而导致单片机误操作,可以在INT#引脚或者TXD 引脚上加阻值为2KΩ~5KΩ的上拉电阻,以维持较稳定的高电平。在CH376 芯片复位完成后,INT#引脚和TXD 引脚将能够提供4mA 的高电平输出电流或者4mA的低电平吸入电流。
为了节约引脚,单片机可以不连接CH376芯片的INT#引脚,获知中断通知的方法如下:
① 8 位并口方式下通过查询CH376 的状态端口(即命令端口)获取接口状态,位7 是中断标志
PARA_STATE_INTB,低有效,等效于查询INT#引脚,位7为0 时说明有中断请求;
② SPI 接口方式下通过查询SDO 引脚获知中断(上电或者复位后要先通过CMD_SET_SDO_INT 命令设置SDO引脚在SCS片选无效时兼做中断请求输出),SDO为低电平时说明有中断请求;
③ 串口方式下CH376在产生中断通知(INT#变为低电平)的同时,会通过串口直接发出中断状
态码,单片机接收到中断状态码说明有中断请求。
四、应用笔记
1.创建、读、写TXT文件
(1)首先要用2F命令设置将要操作的文件名
(2)然后使用34命令新建文件,新建文件会自动打开文件
(3)然后使用3C或者4C命令进行字节写或者扇区写,往指定文件写入数据,往TXT文件里写入数字是以ASCII码的格式写入,汉字是以UTF-8的格式写入,如果需要连续写入则需要使用3D或者57命令继续写入。
(4)最后使用36命令关闭文件并更新长度
2.创建、读、写CSV文件
(1)(2)步和TXT文件类似
(3)读写命令不变,但是EXCEL的格式有换行,换列的字符换行位0x0D,0x0A;换列为0x2C,0x20,其他格式类似
(4)最后使用36命令关闭文件并更新长度
五、实例代码
可以联系我获取操作实例代码,为CH32V307操作376读写U盘。