用CH375做了個數(shù)據(jù)采集系統(tǒng),下位機(jī)定時中斷采集數(shù)據(jù),立刻通過CH375上傳數(shù)據(jù),上位機(jī)用VB6.0做接收程序。當(dāng)采樣率在1kHz以下時,收發(fā)正常。當(dāng)采樣率較大時,如20kHz,則1秒采集的數(shù)據(jù)要20s左右才能上傳完畢。測試發(fā)現(xiàn)每上傳一個數(shù)據(jù)包大約需要1毫秒的時間,無法再縮短。請問是什么原因?是否需要修改驅(qū)動程序?是否有現(xiàn)成的支持快速傳輸?shù)尿?qū)動程序提供(請發(fā)個人信息保護(hù),已隱藏)。謝謝!
如果1MS一個包的話,這個速度基本上也就是62K左右,速度太慢了. 首先上傳之前一定要等待上包數(shù)據(jù)結(jié)束.用端點2進(jìn)行傳輸,每次傳輸字節(jié)盡量為64個,滿包傳輸. 可以測試一下,CH375只往上傳數(shù)據(jù),看看速度能有多少,其他功能先不去理會,就一直傳輸數(shù)據(jù). 首先排除你程序中其他功能對CH375的影響.優(yōu)化的方法很多,關(guān)鍵還要看你寫入CH375數(shù)據(jù)的速度有多快,假如讀寫子函數(shù)本身很多延時的話速度慢是必然的.上下位機(jī)分開優(yōu)化.結(jié)合硬件考慮速度是否達(dá)到最大.不考慮其他對CH375的影響,CH375速度能達(dá)到500KB以上
謝謝回復(fù)。 我在主貼上看到這樣一段話“由于WINDOWS要提前安排USB幀調(diào)度,所以兩次USB傳輸之間的間隔總是會大于1mS,例如傳兩個64字節(jié)的包可能需要2mS,而傳一個256字節(jié)的包可能只需要1mS?!笔遣皇怯捎谶@個原因造成我的數(shù)據(jù)不能及時被上位機(jī)接收?我是不是需要把上位機(jī)的接收緩沖區(qū)調(diào)整成4096B,即下位機(jī)傳64個包上位機(jī)接收1次就可以解決這個問題?請教如何做到這一點?謝謝!
每幀可以包含多個事務(wù),在批量傳輸里最大可能的是19個64字節(jié)的事務(wù).你可以算一下基本符合全速.如果你把緩沖區(qū)調(diào)整成4096B速度肯定會快很多.當(dāng)然下位機(jī)也應(yīng)該配合起來,雙方有一個慢都不可以.
想問的就是下位機(jī)要怎樣配合?因為下位機(jī)每次只能傳64B。是不是應(yīng)該每次上傳64B后先不使用UNLOCK_USB命令釋放緩沖區(qū),等19個包傳完后再UNLOCK_USB?謝謝你的耐心解答!
不是這么復(fù)雜,我的意思是下位機(jī)也要盡可能的快的上傳.一定要按照原來的流程去寫,不要修改.下位機(jī)的流程不需要改變.最大每次只能傳64個字節(jié),傳輸完畢后,會有中斷通知然后接著穿下面64個字節(jié).
收回剛才的問題。是因為我每次沒傳夠64B,所以才不能一次接收多個包。謝謝解答!
恩,批量傳輸正常情況下盡量傳滿包,非滿包認(rèn)為結(jié)束.這樣會耽誤速度.
傳輸速度過慢就是因為每次是非滿包,20KHz的采樣率,通過批量傳輸實現(xiàn),速度肯定是夠的,下位機(jī)采用雙緩沖方式,一個緩沖區(qū)滿64B啟動上傳,另一個繼續(xù)用來緩存數(shù)據(jù)。
CH375來讀寫U盤 U盤為FAT16格式 有一個問題:用CH375來讀寫U盤時,讀出一個扇區(qū)后,得到FAT表的地址、大小、數(shù)量,并且得到文件目錄表的地址等信息。在讀文件目錄表的時候,讀到第14個扇區(qū)就不能正常讀,舍去這個扇區(qū)不讀,其他扇區(qū)都能正常讀取512個字節(jié)的值。不知道為什么? 例如:某個U盤,F(xiàn)AT為FAT16,保留扇區(qū)=8,F(xiàn)AT大小為F8,數(shù)量為2,那第一個FAT的扇區(qū)號為00H 00H 00H 08H 第二個FAT的扇區(qū)號為00H 00H 01H 00H,文件目錄表的起始扇區(qū)號為00H 00H 01H F8H,當(dāng)讀到00 00 02 05扇區(qū)的時候,不能得到512個字節(jié)的值,DISK_READ命令只能到0x1F的返回值 試了幾個U盤都這樣,希望指點一下,謝謝
(1)讀寫U盤的物理扇區(qū),與U盤的文件系統(tǒng)沒什么關(guān)系 (2)U盤的初始化DISK_INIT、DISK_SIZE都成功了?下載CH375EVT.ZIP,用MISCELL下的例程試試
請問,我用52單片機(jī)通過CH375芯片與PC機(jī)進(jìn)行通信,CH375與單片機(jī)采用的并行口方式,兩個晶振都起振,可插到電腦上沒有反應(yīng)。這是怎么回事呢?請指教一下,謝謝!
對CH375進(jìn)行模式設(shè)置了嗎?設(shè)置為模式2 和CH375通訊有沒有成功?發(fā)先測試命令.關(guān)于測試命令詳細(xì)參考CH375DS1,CHECK_EXIST
我是新手 請教一個問題: 我想在我的設(shè)計的電路系統(tǒng)上增加USB與PC通信功能,我不想更換單片機(jī),要想實現(xiàn)其功能該如何設(shè)計接口電路?
單片機(jī)必須具備并口或SPI口,我們有款芯片符合要求: CH372:并口操作 CH374:并口/SPI操作 相關(guān)的電路設(shè)計,下載CH372DS1.PDF,CH374DS1.PDF,里面有電路說明