单片机通过CH375读写U盘文件的问题解答

AT89C51读写U盘,谁有完整的电路图和程序? 我想测试一下,在这里找的话,我不知道找哪个好,程序太多了! 个人信息保护,已隐藏


AT89C51程序空间不够,最好用AT89C55 网上下载: CH375: (1)EV375PCB.ZIP:http://wch.cn/download/list.asp?id=40,原理图,PCB (2)CH375EVT.ZIP:http://wch.cn/download/list.asp?id=32,51库及示例程序 CH374: (1)CH374PCB.ZIP.ZIP:http://wch.cn/download/list.asp?id=87,原理图,PCB (2)CH374EVT.ZIP:http://wch.cn/download/list.asp?id=89,51库及示例程序


想问一下沁恒公司:      你们公司的CH375B芯片工作在主机方式下,是不是好多手机的USB芯片不支持读写呀?  郁闷!      好多手机都不能枚举哦!  


可以的. 有部分手机从枚举上来说比较特殊,需要特殊的处理


是不是有些U盘采用了CBI传输协议?  而CH375B没有内置CBI传输协议?  这可怎么办呀?

 这方面的程序应该怎样编写呀?     请各位仙人指点?   谢谢!


怎么没有人回答呀!   


(1)目前大部分U盘都是用BulkOnly协议,具体是什么协议要通过接口描述符才能确认,其中第8个字节为:0x50,则表示BulkOnly协议;0x00和0x01则表示CBI协议 (2)CH375没有内置CBI协议固件,若遇到这种U盘,则只能自己去写程序实现。、


如果是CBI协议的U盘!   那么获取设备的描述符是不是和BulkOnly协议获取设备描述符的方法及发送的命令一样呀?  楼上讲的“接口描述符”是不是指“设备描述符”?发送0x46这条命令呢?


(1)获取描述符的过程完全一样,只是数据传输的过程不一样。 (2)也是发送这个命令,只是接口描述符是包含在配置描述符中的,您需要看一下USB1.1协议,了解描述符的结构。


当U盘插入计算机时,计算机检测到这一事件,先(最先)发送一个字节的数据!(用示波器观察到的)   然后是不是等待U盘回复? 计算机最先发送的这一个字节的数据是不是我们常说的SOF包呢?  但我个人理解是这样的:SOF包是一个连续的数据包吧?  还有一个问题!  一般来讲,CH375B内置了相关的BulkOnly协议,协议是自动处理的。   怎么控制CH375B的USB数据线UD+与UD-发送任意的数据呢?(发送的任意数据就好比与单片机的IO口一样,任意由软件控制)  


(1)SOF包可不只一个字节,每隔1mS发送一次,U盘对SOF包不会有应答;其实USB信号,用户不需要去关心 (2)UD+、UD-是差分信号,CH375内部会自动把数字信号转换为差分信号 (3)对用户来说,只要弄明白如何通过CH375向U盘发送U盘命令包即可,没有必要涉及信号层


 各位大哥:     请教些问题!     用CH375B工作于串行方式下读写U盘时,当单片机发送命令到接收到CH375B发送的数据时间有多长?   这个时间会不会可能在3MS以上》


串口方式下,需要多少时间取决于波特率,如果是9600,约是1mS,即波特率越高,时间越短


谢谢SCM大哥!  波特率为9600,是1MS ,这也就是说:CH375B的操作时间远远比工作在11.0592M晶振下的单片机速度要快4倍以上,对吧?


(1)这个1mS是指单片机以9600的波特率,把一个字节命令码发送给CH375所需要的时间,不包含CH375返回数据的时间,因为对于不同的命令码,CH375需要处理的数据量是不同的,所需时间也就不同 (2)“快4倍以上”?不好这么说,11.0592M晶振情况下,不同类型的单片机,速度也不同


只有登录才能回复,可以选择微信账号登录