AT89C51讀寫(xiě)U盤(pán),誰(shuí)有完整的電路圖和程序? 我想測(cè)試一下,在這里找的話(huà),我不知道找哪個(gè)好,程序太多了! 個(gè)人信息保護(hù),已隱藏
AT89C51程序空間不夠,最好用AT89C55 網(wǎng)上下載: 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庫(kù)及示例程序 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庫(kù)及示例程序
想問(wèn)一下沁恒公司: 你們公司的CH375B芯片工作在主機(jī)方式下,是不是好多手機(jī)的USB芯片不支持讀寫(xiě)呀? 郁悶! 好多手機(jī)都不能枚舉哦!
可以的. 有部分手機(jī)從枚舉上來(lái)說(shuō)比較特殊,需要特殊的處理
是不是有些U盤(pán)采用了CBI傳輸協(xié)議? 而CH375B沒(méi)有內(nèi)置CBI傳輸協(xié)議? 這可怎么辦呀?
這方面的程序應(yīng)該怎樣編寫(xiě)呀? 請(qǐng)各位仙人指點(diǎn)? 謝謝!
怎么沒(méi)有人回答呀!
(1)目前大部分U盤(pán)都是用BulkOnly協(xié)議,具體是什么協(xié)議要通過(guò)接口描述符才能確認(rèn),其中第8個(gè)字節(jié)為:0x50,則表示BulkOnly協(xié)議;0x00和0x01則表示CBI協(xié)議 (2)CH375沒(méi)有內(nèi)置CBI協(xié)議固件,若遇到這種U盤(pán),則只能自己去寫(xiě)程序?qū)崿F(xiàn)。、
如果是CBI協(xié)議的U盤(pán)! 那么獲取設(shè)備的描述符是不是和BulkOnly協(xié)議獲取設(shè)備描述符的方法及發(fā)送的命令一樣呀? 樓上講的“接口描述符”是不是指“設(shè)備描述符”?發(fā)送0x46這條命令呢?
(1)獲取描述符的過(guò)程完全一樣,只是數(shù)據(jù)傳輸?shù)倪^(guò)程不一樣。 (2)也是發(fā)送這個(gè)命令,只是接口描述符是包含在配置描述符中的,您需要看一下USB1.1協(xié)議,了解描述符的結(jié)構(gòu)。
當(dāng)U盤(pán)插入計(jì)算機(jī)時(shí),計(jì)算機(jī)檢測(cè)到這一事件,先(最先)發(fā)送一個(gè)字節(jié)的數(shù)據(jù)!(用示波器觀察到的) 然后是不是等待U盤(pán)回復(fù)? 計(jì)算機(jī)最先發(fā)送的這一個(gè)字節(jié)的數(shù)據(jù)是不是我們常說(shuō)的SOF包呢? 但我個(gè)人理解是這樣的:SOF包是一個(gè)連續(xù)的數(shù)據(jù)包吧? 還有一個(gè)問(wèn)題! 一般來(lái)講,CH375B內(nèi)置了相關(guān)的BulkOnly協(xié)議,協(xié)議是自動(dòng)處理的。 怎么控制CH375B的USB數(shù)據(jù)線UD+與UD-發(fā)送任意的數(shù)據(jù)呢?(發(fā)送的任意數(shù)據(jù)就好比與單片機(jī)的IO口一樣,任意由軟件控制)
(1)SOF包可不只一個(gè)字節(jié),每隔1mS發(fā)送一次,U盤(pán)對(duì)SOF包不會(huì)有應(yīng)答;其實(shí)USB信號(hào),用戶(hù)不需要去關(guān)心 (2)UD+、UD-是差分信號(hào),CH375內(nèi)部會(huì)自動(dòng)把數(shù)字信號(hào)轉(zhuǎn)換為差分信號(hào) (3)對(duì)用戶(hù)來(lái)說(shuō),只要弄明白如何通過(guò)CH375向U盤(pán)發(fā)送U盤(pán)命令包即可,沒(méi)有必要涉及信號(hào)層
各位大哥: 請(qǐng)教些問(wèn)題! 用CH375B工作于串行方式下讀寫(xiě)U盤(pán)時(shí),當(dāng)單片機(jī)發(fā)送命令到接收到CH375B發(fā)送的數(shù)據(jù)時(shí)間有多長(zhǎng)? 這個(gè)時(shí)間會(huì)不會(huì)可能在3MS以上》
串口方式下,需要多少時(shí)間取決于波特率,如果是9600,約是1mS,即波特率越高,時(shí)間越短
謝謝SCM大哥! 波特率為9600,是1MS ,這也就是說(shuō):CH375B的操作時(shí)間遠(yuǎn)遠(yuǎn)比工作在11.0592M晶振下的單片機(jī)速度要快4倍以上,對(duì)吧?
(1)這個(gè)1mS是指單片機(jī)以9600的波特率,把一個(gè)字節(jié)命令碼發(fā)送給CH375所需要的時(shí)間,不包含CH375返回?cái)?shù)據(jù)的時(shí)間,因?yàn)閷?duì)于不同的命令碼,CH375需要處理的數(shù)據(jù)量是不同的,所需時(shí)間也就不同 (2)“快4倍以上”?不好這么說(shuō),11.0592M晶振情況下,不同類(lèi)型的單片機(jī),速度也不同