我用ch375a芯片做u盤的數(shù)據(jù)讀寫設計有這么幾個問題想請教各位前輩 1.當我向ch375a發(fā)送64個數(shù)據(jù)后再發(fā)送一個DISK_WR_GO命令后,如果單片機發(fā)現(xiàn)ch375a有中斷信號那么請問對這個中斷信號的應答是不是一定的時間限制比如說在多少時間內應完成對該中斷信號的應答(發(fā)送GET_STATUS命令)?,再就是當我將該中斷信號取出發(fā)現(xiàn)前一步寫操作成功那么請問對單片機什么時候進行下一次的64個數(shù)據(jù)的寫操作有沒有時間上的限制,有的話是多少?2.我在閱讀公司提供的資料時發(fā)現(xiàn)有一個命令操作碼為0x50資料上介紹說為對USB存儲器執(zhí)行BulkOnly傳輸協(xié)議的命令,請問在使用ch375a芯片的內嵌BulkOnly傳輸協(xié)議時是不是要先調用這一個命令,如不是那嗎這條命令的作用時什么。3.ch375a可以完成對u盤的自動配置,請問它是不是可以對任一種u盤進行配置,如果可以對u盤進行配置那么時是不是在配置成功后即可以對u盤進行數(shù)據(jù)存儲操作?最近一直在調試電路板,遇到這么幾個問題,懇請各位前輩給我指導一下。[Emot]10[/Emot]
各位前輩給指導一下啊 小弟第一次做usb 謝謝各位了
對u盤進行配置的問題,建議你可以找一些介紹 USB 協(xié)議的資料看一下! 傳輸數(shù)據(jù)的問題,你可以參考一下 MC51 單片機的相關示例程序!
謝謝,那對于一個問題,當中斷信號產(chǎn)生后我可不可以等一段較長時間(比如4ms以上)以后再去響應這個中斷信號,也就是說等一段較長時間再去發(fā)送下一組64個數(shù)據(jù)。
實際在發(fā)送數(shù)據(jù)的時候,在每一個64字節(jié)之間打斷的時間不能超過2MS,否則的話U盤會掛起。
我程序是用c語言寫的 對dpyr賦值 然后對指定的了dptr進行讀寫操作, 讀寫后數(shù)的據(jù)放在一個緩沖數(shù)組里。執(zhí)行的時候發(fā)現(xiàn)每一個hc[] = *dpyr要用掉40us多的時間(搞不清楚怎么這么慢,我看果編譯后的匯編源碼,很復雜),在發(fā)完一組64字節(jié)數(shù)據(jù)后,要從外部ram中取出下一組要發(fā)送的64字節(jié)數(shù)據(jù),如果等到64個字節(jié)全部從外部ram中取出的話要得掉4000多us,單片機用的是at89s52 晶振是11.0592mhz,這樣就不符合2ms的要求。有什么方法可以解決嗎 嵌入?yún)R編 或是 用高頻的晶振 ?如果直接用匯編寫是不是速度更塊一些
實際程序你在寫數(shù)據(jù)的時候,是首先將數(shù)據(jù)從外部RAM取出來,取出來之后在將數(shù)據(jù)寫到CH375去的,整個的時間大概在10US左右(寫一個字節(jié)),所以不存在你說的先取64字節(jié)在將64字節(jié)寫下去這個一說。