发现usb转串口的一个致命bug

[复制链接]
3056|2
 楼主| aweyfan 发表于 2008-12-11 17:22 | 显示全部楼层 |阅读模式
做了一个stk500 isp下载器 ,用pdiusbd12 做的cdc类,比pl2303之类要稳定的多
下载avr芯片速度很快,几秒搞定
但下载s5x时,发现写入时间够喝一壶了,读速度正常

监视avrstudio 通讯协议,发现编程s5X时是字节写入,而读倒是用页方式,avr 读写全是用页方式 看来s5x是后娘养的

即使用字节写,s5x也不应该这么慢,谁是幕后黑手呢

google发现了这个
帧:时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包含了一系列总线动作,USB将1帧分为好几份,每一份中是一个USB的传输动作

也就是说在这些采用应答机制串口软件,每一次通讯应答不管传多少数据至少要2ms,avrstudio写1字节就要2ms,8k的s52写完至少要10几秒

对那些用usb转串口,抱怨速度慢的像蜗牛的,没有什么好的解决办法,只能指望应用程序的作者,修改通讯协议,每次多传点数据了

ps:usb转串口 实际可以做到几Mbps 
xwj 发表于 2008-12-11 18:03 | 显示全部楼层

告诉你一个概念:微帧

USB2.0中规定一个微帧可是125us哦
每个微帧最多可以传输13个512字节的高速数据包
simon21ic 发表于 2008-12-11 20:55 | 显示全部楼层

这个是bug?

完全是STK500的协议问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

368

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部