音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

STR9 USB BULK速度怎樣提高?

作者:sparkman 欄目:MCU技術(shù)
STR9 USB BULK速度怎樣提高?
我用STR9 USB HID DEMO修改成BULK傳輸程序后,已經(jīng)能用了?墒撬俣戎挥130KB/S,離理論速度1.5M/s還差得遠(yuǎn)。
我已經(jīng)嘗試了很多辦法,發(fā)現(xiàn)問題不在PC的驅(qū)動(dòng)上,因?yàn)榧词共挥抿?qū)動(dòng),使用USB HOUND也達(dá)不到高速。另外,問題也不在MCU處理速度上,48MHZ和96Mhz的主頻下傳輸速度都一樣。還有,單緩沖雙緩沖也沒有速度上的區(qū)別。DMA應(yīng)該也不能解決問題,因?yàn)榧词共桓戮彌_區(qū)的內(nèi)容(DMA就是自動(dòng)干這個(gè)的),速度也一樣。
另外,理論上說全速設(shè)備的端口描述的MaxPacket大小應(yīng)該是64,32……,可是我把它設(shè)置到256還能用,這是速度明顯比設(shè)置到64快得多(64的速度只有30KB/S)。但是不能設(shè)置成更大了,更大就會(huì)出錯(cuò),不能正常傳輸。這一點(diǎn)我一直不理解。

特請(qǐng)教專家,USB BULK速度上不去會(huì)是什么原因?怎樣解決?
謝謝!


2樓: >>參與討論
starm
關(guān)注這個(gè)問題, 期望專家釋疑.
 
3樓: >>參與討論
浪淘沙
USB BULK的速度受多種因素影響
關(guān)于你的BULK傳輸慢的問題,我認(rèn)為主要原因應(yīng)在主機(jī)方面;通常若主機(jī)軟件要求傳輸數(shù)據(jù)是較小的長(zhǎng)度時(shí),下層的USB驅(qū)動(dòng)不能及時(shí)地發(fā)出數(shù)據(jù)包,造成大量的帶寬損失。以發(fā)送1MB數(shù)據(jù)舉例說明:

方法一:
for (i=0;i<16;i++)
  USB_Bulk_Send(Buffer, 65536); 一次發(fā)送調(diào)用發(fā)送64KB數(shù)據(jù)

方法二:
for (i=0;i<16384;i++)
  USB_Bulk_Send(Buffer, 64); 一次發(fā)送調(diào)用只發(fā)送64B數(shù)據(jù)

上述方法一比方法二快很多,你所得出的130KB/s估計(jì)是使用方法二,每次只發(fā)送64或128或256字節(jié)。

至于你把MaxPacket大小設(shè)為256也可以用,這絕對(duì)是主機(jī)USB驅(qū)動(dòng)的BUG,這個(gè)問題是出在你的USB HOUND上面。

4樓: >>參與討論
pumac
應(yīng)該是pc端問題
上位機(jī)的數(shù)據(jù)buffer如果加到很大,比如32K,速度會(huì)有明顯提高

5樓: >>參與討論
ijk
STR9 USB BULK速度最快
  STR9 USB BULK速度最快應(yīng)該能達(dá)到500~600kB/s,或許還能更快些。STR7的DEMO板上用外部RAM模擬了1個(gè)U盤,大概就能達(dá)到上面的速度。
  130kB/s還有很多的提升空間。就看怎么想辦法了

6樓: >>參與討論
sparkman
510KB/s了
謝謝各位,我修改驅(qū)動(dòng),把BULKUSB_MAX_TRANSFER_SIZE  增加到1023,
同樣固件的MaxPacket也加大到1023,速度就上去了。
不過我還不明白為什么。按理說全速的MaxPacket理論上不能超過64的。


7樓: >>參與討論
浪淘沙
全速的MaxPacket不能超過64,問題是你的驅(qū)動(dòng)是否遵循這個(gè)原則
這絕對(duì)是主機(jī)驅(qū)動(dòng)的問題!

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)問一下有關(guān)str710ucosii的問題
幫忙看下這段程序哪里問題
現(xiàn)在遇到極為棘手的問題,煩請(qǐng)各路賜教。
請(qǐng)教710定時(shí)器
非常急,誰可以幫忙提供STDV7的最新補(bǔ)丁, 支持ST7LITEUS2,的補(bǔ)丁,
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)