作者MasterChang (我愛ASM)
看板ASM
標題Re: [問題] unbuffered UART 收資料速度
時間Wed Aug 1 22:38:30 2012
: → 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
→ dexders:我記得我是設定512byte bulk傳輸 不過要再確認一下 08/02 00:20
→ dexders:thanks! 08/02 00:20
推 ksmrt0123:cy7c68013a的bulk endpoint都至少有double buffering 08/02 09:17
→ ksmrt0123:最多可quad buffering而且都是硬體做的 08/02 09:19
→ ksmrt0123:處理57600 uart資料應該夠快 08/02 09:22
→ dexders:我是模擬成composite devices, endpoint 2,4,6,8都用上了 08/02 15:26
→ dexders:virtual comport能用的buffer剩不多 08/02 15:26