作者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
1F:→ dexders:我记得我是设定512byte bulk传输 不过要再确认一下 08/02 00:20
2F:→ dexders:thanks! 08/02 00:20
3F:推 ksmrt0123:cy7c68013a的bulk endpoint都至少有double buffering 08/02 09:17
4F:→ ksmrt0123:最多可quad buffering而且都是硬体做的 08/02 09:19
5F:→ ksmrt0123:处理57600 uart资料应该够快 08/02 09:22
6F:→ dexders:我是模拟成composite devices, endpoint 2,4,6,8都用上了 08/02 15:26
7F:→ dexders:virtual comport能用的buffer剩不多 08/02 15:26