随着计算机技术的快速发展,usb移动存储设备的使用已经非常普遍,因此在一些需要转存数据的设备、仪器上使用usb移动存储设备接口的芯片便相继产生了,ch375就是其中之一,它是一个usb总线的通用接口芯片,支持host主机方式和slave设备方式。
在本地端,ch375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/dsp/mcu等控制器的系统总线上。在usb主机方式下,ch375还提供了串行通信方式,通过串行输入、串行输出和中断输出与单片机/dsp/mcu等相连接。ch375的usb主机方式支持各种常用的usb全速设备,外部单片机/dsp/mcu可以通过ch375按照相应的usb协议与usb设备通信。
ch375芯片内部结构
1 内部结构
ch375芯片内部集成了pll倍频器、主从usb接口sie、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。
2 内部物理端点
ch375芯片内部具有7个物理端点。
端点0是默认端点,支持上传和下传,上传和下传缓冲区各是8b;端点1包括上传端点和下传端点,上传和下传缓冲区各是8b,上传端点的端点号是81h,下传端点的端点号是01h;端点2包括上传端点和下传端点,上传和下传缓冲区各是64b,上传端点的端点号是82h,下传端点的端点号是02h。
主机端点包括输出端点和输入端点,输出和输入缓冲区各是64b,主机端点与端点2合用同一组缓冲区,主机端点的输出缓冲区就是端点2的上传缓冲区,主机端点的输入缓冲区就是端点2的下传缓冲区。
其中,ch375的端点0、端点1、端点2只用于usb设备方式,在usb主机方式下只需要用到主机端点。
软件接口
对于usb存储设备的应用,ch375直接提供了数据块的读写接口,以512b的物理扇区为基本读写单位,从而将usb存储设备简化为一种外部数据存储器,单片机可以自由读写usb存储设备中的数据,也可以自由定义其数据结构。
ch375以c语言子程序库提供了usb存储设备的文件级接口,这些应用层接口api包含了常用的文件级操作,可以移植并嵌入到各种常用的单片机程序中。
ch375的u盘文件级子程序库具有以下特性:支持常用的fat12、fat16 和fat32 文件系统,磁盘容量可达100gb以上,支持多级子目录,支持8.3格式的大写字母文件名,支持文件打开、新建、删除、读写以及搜索等。
ch375的文件级接口api子程序需要大约600b的随机存储器ram 作为缓冲区。所有api在调用后都有操作状态返回,但不一定有应答数据。有关api参数的说明请参考ch375数据手册。
ch375主机usb-host的电路设计注意事项
某些usb设备带电插入时常出现如下问题。
● ch375复位或者单片机复位(尤其是采用up 监控电路的单片机系统)。
● ch375或者单片机突然工作不正常,失去控制。
● ch375芯片的工作电流突然增大并且持续如此,时间长了芯片发热烫手。
出现上述问题时可参考如下解决方法。
● 给usb插座单独供电,这样,即使usb设备刚插上时存在电容充电过程,也不会影响单片机和ch375。变通方法是,将5v主电源分别通过两个独立的限流电感后(或者在pcb中电源线分开走),一组提供给ch375和单片机等,另一组提供给usb插座。
● 在usb插座前串接限流电阻或者电感,并在usb插座电源上并联储能用的电解电容。如果用电感也可以限制电流突变,防止电源电压突降,但是用电感在usb设备拔出后,容易在usb插座中产生过冲高压,所以必须接储能电容。(注意,在第一版ch375评估板的原理图中已经标出usb插座的限流电阻r1为1ω,建议将其换为阻值5ω的电阻或者保险电阻)
● 其他临时的解决方法(不推荐):①在usb设备与usb插座之间加入usb延长线。②在主电源上并联较大的储能电容,在u盘刚插入时提供足够的瞬时电能,减少对电源电压的影响。
● 参考目前计算机端的解决方法:usb端口的电源供给是通过保险电阻或者限流电感提供的,这些能够限制瞬时电流。对于计算机前面板的usb端口,由于本身通过一段较长的连接导线,自然减弱了对主电源的影响,而且计算机的5v电源功率很大,连续供电电流都在20a以上,所以不易受影响。
高压陶瓷电容作用
华为全面完成5.5G关键技术测试 2024年或迎来5.5G时代
FRAM车规级是满足汽车电子无延迟要求的优先存储器选择
自动驾驶:小鹏在展翅,蔚来有未来
连接器的常用类型及未来发展趋势介绍
CH375芯片内部结构及设计注意事项
用这个简单的双IC电路收听UHF和SHF(GHz)频段
云服务市场高速增长 竞争格局趋向集中化
物联网爆发还看NB-IoT 工信部推动NB-IoT标准化
减震台:分析天平防震台
电动车和燃油车的优劣势
Linux28岁生日到了!开发者“诞生贴”下致谢Linux之父Linus
浅谈字节跳动开源8比特混合精度Transformer引擎
VadaTech在他的PCIe FPGA扩展卡上加上了FMC连接器
Linux环境下的Java(JDBC)链接openGauss数据库实践
华为搜索能替代谷歌搜索吗?
没有5G的iPhone11最终会怎样
分时共享及网约车出行服务平台——骆驼出行引领共享汽车市场潮流
SD卡座二合一与TF卡座的使用特点
【服务器数据恢复】Linux Ext4文件系统执行fsck检查一致性后文件挂载报错的数据恢复案例