Re: [問題] unbuffered UART 收資料速度

看板ASM作者 (我愛ASM)時間12年前 (2012/08/01 22:38), 編輯推噓1(106)
留言7則, 2人參與, 最新討論串2/2 (看更多)
: → dexders:我速度是用57600 UART是採用interrupt方式 現在只要收到一 08/01 21:45 : → dexders:個byte就塞進enpoint buffer裡面然後arm endpoint 漏掉的 08/01 21:46 : → dexders:資料比之前少 但是還是會有遺漏 可能是因為 arm endpoint 08/01 21:46 : → dexders:需要SYNCDELAY吧...... 目前還找不到辦法 08/01 21:47 57600bps收1byte需要174us,1ms不過給你收5個byte。全速USB HID每次(1ms)最大可發64byte相對來說真是夠慢的。 你應該確認一下每單次可發多少資料,假設你用HID來傳輸,要 確認每次封包可發多少,就算單次發32bytes也綽綽有餘了。這 個要看USB的標頭擋設定,如果預設是8或16 bytes就悶了!!XD 開兩個buffer A和B,檢查如果USB正在傳輸A buffer資料,UART 資料就往B buffer塞,反之亦然。 -- 不要問我從哪來,我只是一個浪跡天涯的工程師.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.232.60.48

08/02 00:20, , 1F
我記得我是設定512byte bulk傳輸 不過要再確認一下
08/02 00:20, 1F

08/02 00:20, , 2F
thanks!
08/02 00:20, 2F

08/02 09:17, , 3F
cy7c68013a的bulk endpoint都至少有double buffering
08/02 09:17, 3F

08/02 09:19, , 4F
最多可quad buffering而且都是硬體做的
08/02 09:19, 4F

08/02 09:22, , 5F
處理57600 uart資料應該夠快
08/02 09:22, 5F

08/02 15:26, , 6F
我是模擬成composite devices, endpoint 2,4,6,8都用上了
08/02 15:26, 6F

08/02 15:26, , 7F
virtual comport能用的buffer剩不多
08/02 15:26, 7F
文章代碼(AID): #1G6JzfIv (ASM)
文章代碼(AID): #1G6JzfIv (ASM)